readlink: fix cygwin 1.5.x bug with return type
[gnulib.git] / ChangeLog
1 2009-09-23  Eric Blake  <ebb9@byu.net>
2
3         readlink: fix cygwin 1.5.x bug with return type
4         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
5         * lib/unistd.in.h (readlink): Use ssize_t.
6         * lib/readlink.c (readlink): Likewise.
7         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8         * modules/unistd (Makefile.am): Substitute it.
9         * lib/unistd.in.h (readlink): Declare replacement.
10         * doc/posix-functions/readlink.texi (readlink): Document this.
11
12         symlink: use throughout gnulib
13         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
14         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
15         symlink is not used.
16         * modules/symlinkat (Depends-on): Add symlink.
17         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18         * modules/canonicalize-tests (Depends-on): Likewise.
19         * modules/lstat-tests (Depends-on): Likewise.
20         * modules/openat-tests (Depends-on): Likewise.
21         * modules/remove-tests (Depends-on): Likewise.
22         * modules/rmdir-tests (Depends-on): Likewise.
23         * modules/unlink-tests (Depends-on): Likewise.
24         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
25         * tests/test-canonicalize.c (symlink): Likewise.
26         * tests/test-fstatat.c (symlink): Likewise.
27         * tests/test-lstat.c (symlink): Likewise.
28         * tests/test-remove.c (symlink): Likewise.
29         * tests/test-rmdir.c (symlink): Likewise.
30         * tests/test-unlink.c (symlink): Likewise.
31         * tests/test-unlinkat.c (symlink): Likewise.
32
33         symlink: new module, for Solaris 9 bug
34         * modules/symlink: New file.
35         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
36         * lib/symlink.c: Likewise.
37         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38         * modules/unistd (Makefile.am): Substitute them.
39         * lib/unistd.in.h (symlink): Declare replacement.
40         * MODULES.html.sh (File system functions): Mention it.
41         * doc/posix-functions/symlink.texi (symlink): Likewise.
42         * modules/symlink-tests: New test.
43         * tests/test-symlink.c: Likewise.
44
45 2009-09-23  Bruno Haible  <bruno@clisp.org>
46
47         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
48         when needed.
49         Test case: gnulib-tool --import --with-tests atexit inttypes.
50         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
51
52 2009-09-23  Bruno Haible  <bruno@clisp.org>
53
54         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
55         subcommand, not in a subshell.
56
57 2009-09-22  Eric Blake  <ebb9@byu.net>
58
59         unistd: sort replacement declarations
60         * lib/unistd.in.h: Sort declarations.
61
62         open, openat: minor optimization
63         * lib/open.c (open): If open succeeded, len is non-zero.
64         * lib/openat.c (rpl_openat): Likewise.
65
66         link-follow: ensure correct result
67         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
68         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
69         distinguish between possible failures.
70
71 2009-09-21  Eric Blake  <ebb9@byu.net>
72
73         fts: avoid compiler warning
74         * lib/fts.c (dirent_inode_sort_may_be_useful)
75         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
76
77 2009-09-19  Bruno Haible  <bruno@clisp.org>
78
79         * lib/progreloc.c (canonicalize_file_name): New declaration.
80
81 2009-09-19  Eric Blake  <ebb9@byu.net>
82
83         link: fix quoting
84         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
85
86         openat: fix openat bugs on Solaris 9
87         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
88         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
89         * modules/openat (Depends-on): Add open.
90         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
91         * modules/fcntl-h (Makefile.am): Substitute it.
92         * lib/fcntl.in.h (openat): Declare replacement.
93         * doc/posix-functions/openat.texi (openat): Document this.
94
95         openat: move fstatat and unlinkat into correct files
96         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
97         compiled.
98         * lib/openat.c (fstatat, unlinkat): Move...
99         * lib/fstatat.c (fstatat): ...into correct files.
100         * lib/unlinkat.c (unlinkat): Likewise.
101
102         openat: fix unlinkat bugs on Solaris 9
103         * lib/unlinkat.c (unlinkat): New file.
104         * modules/openat (Depends-on): Add unlink.
105         (Files): Distribute it.
106         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
107         trailing slash behavior is broken.
108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
109         * modules/unistd (Makefile.am): Substitute it.
110         * lib/unistd.in.h (unlinkat): Declare replacement.
111         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
112
113         openat: fix fstatat bugs on Solaris 9
114         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
115         stat.
116         * doc/posix-functions/fstatat.texi (fstatat): Document this.
117
118         test-unlinkat: enhance test, to expose Solaris 9 bug
119         * tests/test-unlink.c (main): Factor guts...
120         * tests/test-unlink.h (test_rmdir_func): ...into new file.
121         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
122         * tests/test-rmdir.c (main): Adjust caller.
123         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
124         (unlinker): New helper function.
125         (rmdirat): Enhance check.
126         * modules/rmdir-tests (Depends-on): Add stdbool.
127         * modules/unlink-tests (Depends-on): Likewise.
128         (Files): Add test-unlink.h.
129         * modules/openat-tests (Files): Likewise.
130         (Depends-on): Add unlinkdir.
131
132         test-fstatat: new test, to expose Solaris 9 bugs
133         * tests/test-stat.c (main): Factor guts...
134         * tests/test-stat.h (test_stat_func): ...into new file.
135         * tests/test-lstat.c (main): Factor guts...
136         * tests/test-lstat.h (test_lstat_func): ...into new file.
137         * tests/test-fstatat.c: New file.
138         * modules/stat-tests (Files): Add test-stat.h.
139         * modules/lstat-tests (Files): Add test-lstat.h.
140         (Depends-on): Add stdbool.
141         * modules/openat-tests (Depends-on): Add pathmax.
142         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
143         (Makefile.am): Run new test.
144
145         remove: new module, for mingw and Solaris 9 bugs
146         * modules/remove: New file.
147         * lib/remove.c: Likewise.
148         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
150         * modules/stdio (Makefile.am): Use them.
151         * lib/stdio.in.h (remove): Declare replacement.
152         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
153         * doc/posix-functions/remove.texi (remove): Likewise.
154         * modules/remove-tests: New test.
155         * tests/test-remove.c: Likewise.
156
157         unlink: new module, for Solaris 9 bug
158         * modules/unlink: New file.
159         * lib/unlink.c: Likewise.
160         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
162         * modules/unistd (Makefile.am): Use them.
163         * lib/unistd.in.h (stat): Declare replacement.
164         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
165         * doc/posix-functions/unlink.texi (unlink): Likewise.
166         * modules/unlink-tests: New test.
167         * tests/test-unlink.c: Likewise.
168
169         lstat: fix Solaris 9 bug
170         * lib/lstat.c (lstat): Also check for trailing slash on
171         non-symlink, non-directories.  Use stat module to simplify logic.
172         * doc/posix-functions/lstat.texi (lstat): Document it.
173         * modules/lstat-tests (Depends-on): Add errno, same-inode.
174         (configure.ac): Check for symlink.
175         * tests/test-lstat.c (main): Add more tests.
176
177         stat: add as dependency to other modules
178         * modules/chown (Depends-on): Add stat.
179         * modules/euidaccess (Depends-on): Likewise.
180         * modules/fchdir (Depends-on): Likewise.
181         * modules/isdir (Depends-on): Likewise.
182         * modules/link (Depends-on): Likewise.
183         * modules/lstat (Depends-on): Likewise.
184         * modules/mkdir-p (Depends-on): Likewise.
185         * modules/modechange (Depends-on): Likewise.
186         * modules/open (Depends-on): Likewise.
187         * modules/readlink (Depends-on): Likewise.
188         * modules/same (Depends-on): Likewise.
189
190         stat: fix Solaris 9 bug
191         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
192         slash.
193         * lib/stat.c (rpl_stat): Work around it.
194         * doc/posix-functions/stat.texi (stat): Update documentation.
195
196         stat: new module, for mingw bug
197         * modules/stat: New file.
198         * lib/stat.c: Likewise.
199         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
200         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
201         * modules/sys_stat (Makefile.am): Use them.
202         * lib/sys_stat.in.h (stat): Declare replacement.
203         * lib/openat.c (fstatat): Deal with lstat and stat being function
204         macros.
205         * modules/openat (Depends-on): Add inline.
206         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
207         * doc/posix-functions/stat.texi (stat): Likewise.
208         * modules/stat-tests: New test.
209         * tests/test-stat.c: Likewise.
210
211 2009-09-19  Jim Meyering  <meyering@redhat.com>
212
213         syntax-check: detect unnecessary inclusion of canonicalize.h
214         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
215
216 2009-09-19  Eric Blake  <ebb9@byu.net>
217
218         canonicalize-lgpl: adjust clients to use correct header
219         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
220         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
221         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
222         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
223         * lib/progreloc.c (includes): Likewise.
224
225 2009-09-19  Jim Meyering  <meyering@redhat.com>
226
227         test-posixtm.c: correct a comment
228         * tests/test-posixtm.c: Correct first-line comment.
229         Spotted by Eric Blake.
230
231 2009-09-16  Jim Meyering  <meyering@redhat.com>
232
233         posixtm-tests: make T const-correct; add a test case
234         * tests/test-posixtm.c (T): Declare const.
235         Add a test for -(2^31+1).
236         Remove useless can-succeed-only-in-2002 test.
237
238         posixtm-tests: adjust the sole failing test
239         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
240         expected output matches what mktime now produces.  Cross-checked via
241         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
242
243         posixtm: move #ifdef'd tests into a new module
244         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
245         * tests/test-posixtm.c: ... this new file.
246         * modules/posixtm-tests: New module.
247
248 2009-09-19  Eric Blake  <ebb9@byu.net>
249
250         openat: simplify use of at-func.c
251         * lib/at-func.c (includes): Include prerequisites here, to
252         simplify requirements on client files.
253         * lib/openat-priv.h: Add double-inclusion guard.
254         * lib/faccessat.c (includes): Simplify.
255         * lib/fchmodat.c (includes): Likewise.
256         * lib/fchownat.c (includes): Likewise.
257         * lib/mkdirat.c (includes): Likewise.
258         * lib/mkfifoat.c (includes): Likewise.
259         * lib/symlinkat.c (includes): Likewise.
260
261         openat: allow return of fd 0
262         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
263         * modules/save-cwd (Depends-on): Replace fcntl-safer with
264         unistd-safer.
265         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
266         <fcntl.h>; this module does not leak fds.
267         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
268         must be allowed to return 0, leaving openat_safer to add the
269         safety.
270         (openat_permissive): Avoid writing to just-opened fd 2 if
271         restoring the current directory fails.
272         * lib/openat-die.c (openat_restore_fail): Add comment.
273         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
274         (save_cwd): Guarantee safe fd, but without use of open_safer.
275         * tests/test-openat.c: New test.
276         * modules/openat-tests (Files, Makefile.am): Distribute and build
277         new file.
278
279         relocatable-prog-wrapper: fix build
280         * modules/relocatable-prog-wrapper (Files): Update name of
281         canonicalize m4 file, broken on 2009-09-17.
282         Reported by emad hajjar <aleppos@hotmail.com>.
283
284 2009-09-19  Bruno Haible  <bruno@clisp.org>
285
286         * lib/safe-alloc.h: Use the standard header with GPL copyright.
287         * lib/safe-alloc.c: Likewise.
288         Reported by Ian Beckwith <ianb@erislabs.net>.
289
290 2009-09-18  Bruno Haible  <bruno@clisp.org>
291
292         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
293         Reported by <erobles@sensacd.com.mx>.
294
295 2009-09-17  Eric Blake  <ebb9@byu.net>
296
297         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
298         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
299         slashes when checking if last component is missing.
300         * tests/test-canonicalize.c (main): Test this.
301
302         canonicalize, canonicalize-lgpl: honor // if distinct from /
303         * modules/canonicalize (Files): Add double-slash-root.m4.
304         * modules/canonicalize-lgpl (Files): Likewise.
305         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
306         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
307         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
308         fallback definition.
309         (canonicalize_filename_mode): Use it to protect //.
310         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
311         (__realpath): Likewise.
312         * tests/test-canonicalize.c (main): Test this.
313         * tests/test-canonicalize-lgpl.c (main): Likewise.
314         * modules/canonicalize-tests (Depends-on): Add same-inode.
315         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
316
317         canonicalize-lgpl: fix glibc bug with trailing slash
318         * m4/canonicalize-lgpl.m4: Move contents...
319         * m4/canonicalize.m4: ...here.
320         (gl_CANONICALIZE_LGPL): Factor realpath check...
321         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
322         glibc 2.3.5 bug, fixed 2005-04-27.
323         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
324         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
325         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
326         * modules/canonicalize-lgpl (Files): Manage file rename.
327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
328         * modules/stdlib (Makefile.am): Substitute witness.
329         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
330         is needed.
331         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
332         replacement is required.
333         * lib/canonicalize.c (canonicalize_file_name): Likewise.
334         * doc/glibc-functions/canonicalize_file_name.texi
335         (canonicalize_file_name): Document this.
336         * doc/posix-functions/realpath.texi (realpath): Likewise.
337
338         canonicalize-lgpl: reject non-directory with trailing slash
339         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
340         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
341         catches failures in glibc 2.3.5.
342         * tests/test-canonicalize.c (main): Likewise.
343
344         canonicalize-lgpl: use native realpath if it works
345         * lib/canonicalize-lgpl.c (realpath): Guard with
346         FUNC_REALPATH_WORKS.
347         * lib/stdlib.in.h (realpath): Make declaration optional based on
348         HAVE_REALPATH.
349         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
350         native realpath works.
351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
352         * modules/stdlib (Makefile.am): Substitute witness.
353
354         canonicalize, canonicalize-lgpl: use <stdlib.h>
355         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
356         (Include): Mention <stdlib.h>.
357         (configure.ac): Mention functions we provide.
358         * modules/canonicalize (configure.ac): Likewise.
359         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
360         realpath if canonicalize_file_name is missing.
361         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
362         * modules/stdlib (Makefile.am): Substitute witnesses.
363         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
364         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
365         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
366         * NEWS: Document this.
367         * doc/glibc-functions/canonicalize_file_name.texi
368         (canonicalize_file_name): Likewise.
369         * doc/posix-functions/realpath.texi (realpath): Likewise.
370         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
371
372         test-canonicalize: consolidate into single C program
373         * tests/test-canonicalize.sh: Delete; move setup into...
374         * tests/test-canonicalize.c (main): ...the program, making it
375         easier to run in debugger.  Add some tests.
376         * modules/canonicalize-tests (Files): Remove unused file.
377         (Depends-on): Add progname.
378         (configure.ac, Makefile.am): Simplify.
379
380         test-canonicalize-lgpl: consolidate into single C program
381         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
382         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
383         easier to run in debugger.  Add some tests.
384         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
385         (configure.ac, Makefile.am): Simplify.
386
387         canonicalize: avoid resolvepath
388         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
389         unnecessary checks.
390         * lib/canonicalize.c (includes): Simplify.
391         (canonicalize_file_name): Drop resolvepath implementation.
392         * modules/canonicalize (Depends-on): Drop filenamecat.
393
394         canonicalize: don't lose errno
395         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
396         over calls to free.
397
398         canonicalize: simplify errno handling
399         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
400         assignment.
401
402         canonicalize, canonicalize-lgpl: update module dependencies
403         * modules/canonicalize (Depends-on): Add extensions, lstat,
404         pathmax, stdlib.
405         (Files): Drop pathmax.h.
406         (configure.ac): Adjust macro name.
407         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
408         lstat, stdlib, sys_stat.
409         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
410         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
411         extensions.
412         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
413         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
414         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
415         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
416         declaration, if available.
417         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
418         we can rely on the readlink module.
419         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
420         (includes): Use <unistd.h> unconditionally.
421
422 2009-09-17  Eric Blake  <ebb9@byu.net>
423
424         maint: make Include sections of modules consistent
425         * modules/alloca: Use only header name; no need to list #include.
426         * modules/alloca-opt: Likewise.
427         * modules/arpa_inet: Likewise.
428         * modules/canon-host: Likewise.
429         * modules/configmake: Likewise.
430         * modules/dirent: Likewise.
431         * modules/eealloc: Likewise.
432         * modules/environ: Likewise.
433         * modules/fchdir: Likewise.
434         * modules/fcntl: Likewise.
435         * modules/fcntl-h: Likewise.
436         * modules/gethrxtime: Likewise.
437         * modules/gettime: Likewise.
438         * modules/ignore-value: Likewise.
439         * modules/inet_ntop: Likewise.
440         * modules/inet_pton: Likewise.
441         * modules/inttypes: Likewise.
442         * modules/isnand-nolibm: Likewise.
443         * modules/isnanf-nolibm: Likewise.
444         * modules/mbchar: Likewise.
445         * modules/mbfile: Likewise.
446         * modules/mbiter: Likewise.
447         * modules/mbuiter: Likewise.
448         * modules/netdb: Likewise.
449         * modules/netinet_in: Likewise.
450         * modules/nproc: Likewise.
451         * modules/pagealign_alloc: Likewise.
452         * modules/poll: Likewise.
453         * modules/printf-frexp: Likewise.
454         * modules/pthread: Likewise.
455         * modules/putenv: Likewise.
456         * modules/random_r: Likewise.
457         * modules/relocatable-prog: Likewise.
458         * modules/search: Likewise.
459         * modules/select: Likewise.
460         * modules/selinux-h: Likewise.
461         * modules/settime: Likewise.
462         * modules/signal: Likewise.
463         * modules/size_max: Likewise.
464         * modules/socklen: Likewise.
465         * modules/ssize_t: Likewise.
466         * modules/stdarg: Likewise.
467         * modules/stdbool: Likewise.
468         * modules/stddef: Likewise.
469         * modules/stdint: Likewise.
470         * modules/stdio: Likewise.
471         * modules/stdlib: Likewise.
472         * modules/string: Likewise.
473         * modules/strings: Likewise.
474         * modules/sys_file: Likewise.
475         * modules/sys_ioctl: Likewise.
476         * modules/sys_select: Likewise.
477         * modules/sys_socket: Likewise.
478         * modules/sys_stat: Likewise.
479         * modules/sys_time: Likewise.
480         * modules/sys_times: Likewise.
481         * modules/sys_utsname: Likewise.
482         * modules/sys_wait: Likewise.
483         * modules/sysexits: Likewise.
484         * modules/time: Likewise.
485         * modules/times: Likewise.
486         * modules/tmpfile: Likewise.
487         * modules/trim: Likewise.
488         * modules/unistd: Likewise.
489         * modules/wchar: Likewise.
490         * modules/wctype: Likewise.
491
492 2009-09-17  Bruno Haible  <bruno@clisp.org>
493
494         Make getdate.y compile on QNX and NetBSD 5 / i386.
495         * m4/getdate.m4 (gl_GETDATE): Conditionally define
496         TIME_T_FITS_IN_LONG_INT.
497         * lib/getdate.y (long_time_t): New type.
498         (relative_time): Change type of 'seconds' field to long_time_t.
499         (get_date): Update types of local variables. Check against overflow
500         during conversion from long_time_t to time_t.
501         Reported by Matt Kraai <kraai@ftbfs.org>
502         and Hasso Tepper <hasso@netbsd.org>.
503
504 2009-09-17  Bruno Haible  <bruno@clisp.org>
505
506         * modules/COPYING: Update copyright years.
507         * modules/README: Likeiwse.
508         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
509         Reported by Ian Beckwith <ianb@erislabs.net>.
510
511 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
512
513         * users.txt: Update references for gnuit package.
514
515 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
516
517         * m4/getdelim.m4: Fix typo in copyright line.
518
519 2009-09-17  Bruno Haible  <bruno@clisp.org>
520
521         * lib/atoll.c: Use the standard header with GPL copyright.
522         * lib/argz.in.h: Likewise.
523         * lib/glob.c: Likewise.
524         * lib/glob-libc.h: Likewise.
525         * lib/random_r.c: Likewise.
526         * lib/siglist.h: Likewise.
527         * lib/strsignal.c: Likewise.
528         Reported by Ian Beckwith <ianb@erislabs.net>.
529
530 2009-09-17  Eric Blake  <ebb9@byu.net>
531
532         rmdir: ensure correct dependency order
533         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
534
535 2009-09-17  Bruno Haible  <bruno@clisp.org>
536
537         Disable assertion that fails on NetBSD 5 / i386.
538         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
539         Reported by Sam Steingold <sds@gnu.org>
540         and Hasso Tepper <hasso@netbsd.org>.
541
542 2009-09-16  Eric Blake  <ebb9@byu.net>
543
544         unlinkdir: port to mingw
545         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
546         on which no one can unlink a directory.
547
548         stdlib: sort witness names
549         * modules/stdlib (Makefile.am): Sort replacements.
550         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
551         * lib/stdlib.in.h: Likewise.
552
553         parse-duration-tests: avoid link failure
554         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
555         LIBINTL.
556         Reported by Tom G. Christensen.
557
558         openat-tests: ensure unlinkat behaves like rmdir
559         * tests/test-rmdir.c (main): Factor guts...
560         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
561         * modules/rmdir-tests (Files): Ship new file.
562         * modules/openat-tests: New test.
563         * tests/test-unlinkat.c: Likewise.
564
565         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
566         * modules/rmdir-errno (Status, Notice): Now obsolete.
567
568         rmdir: work around cygwin 1.5.x and mingw bugs
569         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
570         * lib/rmdir.c (rmdir): Work around it.
571         * modules/rmdir (Status, Notice): No longer obsolete.
572         (Files): Add dos.m4.
573         (Depends-on): Add unistd.
574         (configure.ac): Set witnesses.
575         (License): Relax to LGPLv2+.
576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
577         * modules/unistd (Makefile.am): Substitute witnesses.
578         * lib/unistd.in.h (rmdir): Declare replacement.
579         * doc/posix-functions/rmdir.texi (rmdir): Document this.
580         * modules/rmdir-tests: New tests.
581         * tests/test-rmdir.c: Likewise.
582
583 2009-09-15  Eric Blake  <ebb9@byu.net>
584
585         fchdir: improve use of replacement functions
586         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
587         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
588         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
589         REPLACE_CLOSEDIR.
590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
591         * modules/sys_stat (Makefile.am): Substitute correct witness.
592         * modules/dirent (Makefile.am): Likewise.
593         * modules/unistd (Makefile.am): Likewise.
594         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
595         * lib/unistd.in.h (dup): Likewise.
596         * lib/sys_stat.in.h (fstat): Likewise.
597
598         maint: ignore gnulib-tool temp files
599         * .gitignore: Ignore files created during gnulib-tool --test.
600
601 2009-09-13  Jim Meyering  <meyering@redhat.com>
602
603         posixtm: don't reject a time that specify "60" as the number of seconds
604         * lib/posixtm.c (posixtime): The code to reject invalid dates
605         would also reject a time specified with the .60 suffix.
606         But POSIX allows that, in order to accommodate leap seconds.
607         So don't reject it.
608         (main): Adjust tests accordingly.
609         * modules/posixtm (Depends-on): Add stpcpy.
610
611 2009-09-11  Jim Meyering  <meyering@redhat.com>
612
613         announce-gen: include [$release_type] in emitted Subject:
614         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
615         e.g., [stable] in the emitted Subject: line.
616
617 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
618
619         Remove obsolete macros from several modules.
620         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
621         obsolete Autoconf macros with their modern counterparts.
622         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
623         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
624         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
625         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
626         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
627         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
629         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
630         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
631         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
632         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
633         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
634         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
635         * m4/sockets.m4 (gl_SOCKETS): Likewise.
636         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
637         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
638         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
639         * m4/time_r.m4 (gl_TIME_R): Likewise.
640         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
641         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
642         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
643
644         Fix copyright header in build-aux scripts.
645         * build-aux/git-version-gen: Fix copyright header to match GPLv3
646         recommendation.
647         * build-aux/ncftpput-ftp: Likewise.
648         * build-aux/update-copyright: Likewise.
649
650 2009-09-09  Eric Blake  <ebb9@byu.net>
651
652         test-link: allow Linux choice of errno
653         * tests/test-link.c (main): Relax test for alternate error.
654
655         strndup: fix improper m4 caching
656         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
657         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
658         (gl_PREREQ_STRNDUP): Delete.
659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
660         * modules/string (Makefile.am): Substitute it.
661         * lib/string.in.h (strndup): Modernize prototype.
662
663         getcwd: port to mingw
664         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
665         different from the POSIX assumptions made throughout the getcwd
666         module; fortunately, the mingw getcwd does not need replacement.
667         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
668         * modules/getcwd-tests: New test.
669         * tests/test-getcwd.c: Likewise.
670
671         link: fix platform bugs
672         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
673         * lib/link.c (link): Work around them.  Fix related mingw bug.
674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
675         * modules/unistd (Makefile.am): Substitute it.
676         * lib/unistd.in.h (link): Declare replacement.
677         * doc/posix-functions/link.texi (link): Document this.
678         * modules/link (Depends-on): Add strdup-posix, sys_stat.
679
680         test-link: consolidate into single C program, test more cases
681         * tests/test-link.sh: Delete.
682         * tests/test-link.c: Test more error conditions.  Exposes bugs on
683         at least Cygwin and Solaris.
684         * modules/link-tests (Files): Remove unused file.
685         (Depends-on): Add errno, sys_stat.
686         (Makefile.am): Simplify.
687
688 2009-09-08  Bruno Haible  <bruno@clisp.org>
689
690         Work around towlower, towupper bug on mingw.
691         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
692         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
693         * doc/posix-functions/towlower.texi: Mention the mingw bug.
694         * doc/posix-functions/towupper.texi: Likewise.
695         Reported by Eric Blake.
696
697 2009-09-08  Jim Meyering  <meyering@redhat.com>
698
699         build: don't try to run autoheader if we don't use it
700         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
701         is not used in configure.ac.
702
703 2009-09-08  Eric Blake  <ebb9@byu.net>
704
705         euidaccess: fix compilation error
706         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
707
708         rawmemchr: relax license
709         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
710         okay.
711         Reported by Jim Meyering.
712
713         mkfifoat: new module
714         * modules/mkfifoat: New file.
715         * lib/mkfifoat.c: Likewise.
716         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
717         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
718         * modules/sys_stat (Makefile.am): Use them.
719         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
720         * MODULES.html.sh (File system functions): Mention module.
721         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
722         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
723         * modules/mkfifoat-tests: New test.
724         * tests/test-mkfifoat.c: Likewise.
725
726         strchrnul: relax license
727         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
728         okay.
729         Reported by Jim Meyering.
730
731 2009-09-08  Eric Blake  <ebb9@byu.net>
732
733         fstatat: fix compilation on Solaris
734         * lib/fstatat.c (includes): Add fcntl.h.
735         Reported by Pádraig Brady.
736
737 2009-09-07  Eric Blake  <ebb9@byu.net>
738
739         rename: modernize replacement
740         * modules/rename (Depends-on): Add stdio.
741         (configure.ac): Declare witness.
742         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
743         stdio take care of replacement.
744         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
745         * modules/stdio (Makefile.am): Substitute them.
746         * lib/stdio.in.h (rename): Declare replacement.
747         * lib/rename.c (includes): Allow cross-compilation to non-windows
748         machines.
749         * doc/posix-functions/rename.texi (rename): Improve
750         documentation.
751
752         stdio: sort witness names
753         * modules/stdio (Makefile.am): Sort replacements.
754         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
755         * lib/stdio.in.h: Likewise.
756
757         getcwd: minor cleanups
758         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
759         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
760
761         openat: provide more convenience names
762         * modules/faccessat (configure.ac): Add C witness.
763         * lib/unistd.in.h (readlinkat): Fix typo.
764         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
765         convenience wrappers.
766         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
767         wrappers in syntax checks.
768
769 2009-09-06  Eric Blake  <ebb9@byu.net>
770
771         doc: fix comments in recent patches
772         * lib/faccessat.c: Mention correct function.
773         * lib/fchmodat.c: Likewise.
774         * lib/fchownat.c: Likewise.
775         * lib/symlinkat.c: Likewise.
776         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
777         constants.
778
779         faccessat, symlinkat: continue cleanup of previous patch
780         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
781         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
782         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
784         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
785         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
786         set.
787
788 2009-09-06  Bruno Haible  <bruno@clisp.org>
789
790         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
791         (fstatat): Declare if GNULIB_FSTATAT is set.
792         (mkdirat): Declare if GNULIB_MKDIRAT is set.
793         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
794         (unlinkat): Declare if GNULIB_UNLINKAT is set.
795         * modules/fcntl-h (Files): Remove m4/openat.m4.
796         * modules/sys_stat (Files): Remove m4/openat.m4.
797         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
798         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
799         * modules/unistd (Files): Remove m4/openat.m4.
800         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
801         GNULIB_OPENAT.
802         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
803         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
804         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
805         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
806         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
807         gl_OPENAT_DEFAULTS.
808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
809         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
810         Don't require gl_OPENAT_DEFAULTS.
811         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
812         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
813         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
814         (gl_OPENAT_DEFAULTS): Remove macro.
815
816 2009-09-06  Bruno Haible  <bruno@clisp.org>
817
818         * modules/openat (configure.ac): Remove unneeded witness.
819
820 2009-09-06  Bruno Haible  <bruno@clisp.org>
821
822         Set errno to ENOSYS when a function is entirely unsupported.
823         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
824         EOPNOTSUPP.
825         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
826         * modules/chown (Depends-on): Remove errno.
827
828 2009-09-06  Bruno Haible  <bruno@clisp.org>
829
830         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
831
832 2009-09-06  Bruno Haible  <bruno@clisp.org>
833
834         * lib/sys_stat.in.h: Fix preprocessor command indentation.
835
836 2009-09-06  Ben Pfaff  <blp@gnu.org>
837             Bruno Haible  <bruno@clisp.org>
838
839         Work around a glibc bug in strtok_r.
840         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
841         Undefine if UNDEFINE_STRTOK_R is set.
842         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
843         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
844         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
845         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
846         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
847         UNDEFINE_STRTOK_R.
848         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
849
850 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
851
852         exclude: minor fix
853         * lib/exclude.c: Include wctype.h
854
855 2009-09-06  Akim Demaille  <demaille@gostai.com>
856
857         bootstrap: improve error message
858         * build-aux/bootstrap (find_tool): Upon failure, report the list
859         of candidates.
860         Honor the initial value of the envvar.
861
862 2009-09-05  Eric Blake  <ebb9@byu.net>
863
864         symlinkat: new module
865         * modules/symlinkat: New file.
866         * lib/symlinkat.c: Likewise.
867         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
869         * modules/unistd (Makefile.am): Use them.
870         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
871         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
872         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
873         * MODULES.html.sh (File system functions): Mention module.
874         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
875         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
876         * modules/symlinkat-tests: New test.
877         * tests/test-symlinkat.c: Likewise.
878
879         test-openat-safer: add more checks
880         * tests/test-openat-safer.c (main): Check more code paths.
881
882 2009-09-05  Jim Meyering  <meyering@redhat.com>
883
884         syntax-check: detect unnecessary inclusion of openat.h
885         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
886
887 2009-09-05  Bruno Haible  <bruno@clisp.org>
888
889         Support towlower, towupper.
890         * doc/posix-functions/towlower.texi: Mention module wctype.
891         * doc/posix-functions/towupper.texi: Likewise.
892         * lib/wctype.in.h (towlower, towupper): New functions.
893         * tests/test-wctype.c: Include stdio.h, stdlib.h.
894         (ASSERT): New macro.
895         (e): New variable.
896         (main): Test also towlower, towupper. Test WEOF argument.
897         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
898
899 2009-09-05  Bruno Haible  <bruno@clisp.org>
900
901         Fix conversion behaviour when the input is invalid.
902         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
903         mark occurring in first pass of indirect conversion.
904         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
905         input.
906         Found by clang's static analyzer.
907
908 2009-09-05  Bruno Haible  <bruno@clisp.org>
909
910         * tests/test-striconveh.c (main): Test indirect conversion on platforms
911         where direct conversion is possible.
912
913 2009-09-04  Eric Blake  <ebb9@byu.net>
914
915         openat: fail with ENOENT on empty name
916         * lib/openat-proc.c (openat_proc_name): Special-case the empty
917         buffer.
918
919         link-follow: fix logic bug in prior patch
920         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
921         reversed sense of yes and no in prior patch.  Avoid confusing
922         compilation failure with desired semantics.
923
924         link-follow: accomodate mingw and cross-compilation
925         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
926         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
927         cross-compilation results to -1, to make linkat easier to
928         implement when cross-compiling.  Trivially support mingw.
929         * modules/link-follow (configure.ac): Call new name.
930         * NEWS: Mention this.
931
932 2009-09-03  Eric Blake  <ebb9@byu.net>
933
934         faccessat: compile replacement
935         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
936         needed.
937
938         fts: fix compilation error
939         * lib/fts.c (includes): Re-add "openat.h", for
940         openat_needs_fchdir.
941
942         faccessat: new module
943         * modules/faccessat: New file.
944         * lib/faccessat.c: Likewise.
945         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
947         * modules/unistd (Makefile.am): Use it.
948         * lib/unistd.in.h (faccessat): Declare it.
949         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
950         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
951         * MODULES.html.sh (File system functions): Mention it.
952         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
953         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
954
955         euidaccess: prefer POSIX over non-standard implementation
956         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
957         * lib/euidaccess.c (euidaccess): Use it if available.
958
959         openat: make template easier to use
960         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
961         AT_FUNC_F2 to be undefined.
962         (VALIDATE_FLAG): New macro; use it to reject bad flags.
963         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
964         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
965         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
966         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
967         Likewise.
968         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
969         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
970         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
971         Likewise.
972
973         openat: declare in POSIX headers
974         * NEWS: Mention this.
975         * modules/openat (configure.ac): Declare witnesses.
976         (Depends-on): Add fcntl-h, sys_stat, unistd.
977         (Include): Mention correct headers.
978         * modules/fcntl-h (Depends-on): Add link-warning.
979         (Files): Add openat.m4.
980         (Makefile.am): Substitute witnesses.
981         * modules/sys_stat (Files, Makefile.am): Likewise.
982         * modules/unistd (Files, Makefile.am): Likewise.
983         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
984         (gl_OPENAT_DEFAULTS): New macro.
985         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
987         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
988         (SYS_STAT_H): Remove unused variable.
989         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
990         * lib/fcntl--.h (includes): Remove unneeded header.
991         * lib/openat-safer.c (includes): Likewise.
992         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
993         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
994         appropriate headers.
995         (__OPENAT_PREFIX): Delete.
996         * lib/fcntl.in.h (openat): Provide declaration.
997         (AT_FDCWD): Fix Solaris bug.
998         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
999         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
1000         * lib/fchmodat.c (includes):  Adjust to find declaration.
1001         * lib/fchownat.c (includes): Likewise.
1002         * lib/mkdirat.c (includes): Likewise.
1003         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
1004         still visible.
1005
1006 2009-09-02  Eric Blake  <ebb9@byu.net>
1007
1008         errno: use consistently
1009         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
1010         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
1011         * lib/canonicalize.c (ELOOP): Likewise.
1012         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
1013         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
1014         * lib/lchown.c (EOPNOTSUPP): Likewise.
1015         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
1016         * lib/savewd.c (ESTALE): Likewise.
1017         * lib/settime.c (ENOSYS): Likewise.
1018         * lib/utimens.c (ENOSYS): Likewise.
1019         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
1020         * lib/chdir-safer.c (ELOOP): Likewise.
1021         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
1022         * modules/c-stack (Depends-on): Add errno.
1023         * modules/canonicalize (Depends-on): Likewise.
1024         * modules/chdir-safer (Depends-on): Likewise.
1025         * modules/fdopendir (Depends-on): Likewise.
1026         * modules/inet_ntop (Depends-on): Likewise.
1027         * modules/inet_pton (Depends-on): Likewise.
1028         * modules/lchown (Depends-on): Likewise.
1029         * modules/openat (Depends-on): Likewise.
1030         * modules/savewd (Depends-on): Likewise.
1031         * modules/settime (Depends-on): Likewise.
1032         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
1033
1034         fts: avoid leaking fds
1035         * modules/fts (Depends-on): Add cloexec.
1036         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
1037         flag.
1038
1039         fts: make directory fds more robust
1040         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
1041         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
1042
1043         backupfile, chdir-long, fts, savedir: make safer
1044         * lib/backupfile.c (includes): Use "dirent--.h", since
1045         numbered_backup can write to stderr during readdir.
1046         * lib/savedir.c (includes): Likewise.
1047         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
1048         emulation can write to stderr on failure.
1049         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
1050         * lib/getcwd.c: Document why opendir_safer is unused.
1051         * lib/glob.c: Likewise.
1052         * lib/scandir.c: Likewise.
1053         * lib/openat-proc.c: Likewise, for open_safer.
1054         * modules/backupfile (Depends-on): Add dirent-safer.
1055         * modules/savedir (Depends-on): Likewise.
1056         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
1057         * modules/chdir-long (Depends-on): Add openat-safer.
1058
1059         openat-safer: new module
1060         * modules/openat-safer: New file.
1061         * lib/openat-safer.c: Likewise.
1062         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
1063         * lib/fcntl-safer.h (openat_safer): Declare.
1064         * lib/fcntl--.h (openat): Override.
1065         * MODULES.html.sh (File descriptor based I/O): Mention it.
1066         * lib/openat.h: Add double-inclusion guards.
1067         * lib/openat.c (includes): Only include "fcntl-safer.h", not
1068         "fcntl--.h", so we can implement openat.
1069         * modules/openat-safer-tests: New test.
1070         * tests/test-openat-safer.c: New file.
1071
1072         dirent-safer: new module
1073         * modules/dirent-safer: New file.
1074         * lib/dirent--.h: Likewise.
1075         * lib/dirent-safer.h: Likewise.
1076         * lib/opendir-safer.c: Likewise.
1077         * m4/dirent-safer.m4: Likewise.
1078         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
1079         * modules/dirent-safer-tests: New test.
1080         * tests/test-dirent-safer.c: New file.
1081         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
1082
1083         fdopendir: optimize on mingw
1084         * lib/unistd.in.h (_gl_directory_name): New prototype.
1085         * lib/fchdir.c (_gl_directory_name): Implement it.
1086         (fchdir): Use it to simplify implementation.
1087         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
1088         fchdir, when available, to avoid calling [f]chdir().
1089
1090         fdopendir: split into its own module
1091         * lib/openat.c (fdopendir): Move...
1092         * lib/fdopendir.c: ...into new file.
1093         * modules/fdopendir: New module.
1094         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
1095         * modules/openat (Depends-on): Add fdopendir.
1096         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
1097         fdopendir here.
1098         * modules/savedir (Depends-on): Only need fdopendir, not full
1099         openat.
1100         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
1101         * lib/openat.h (fdopendir): Drop prototype.
1102         * lib/dirent.in.h (fdopendir): Provide prototype.
1103         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
1104         * modules/dirent (Makefile.am): Substitute them.
1105         * MODULES.html.sh (File system functions): Mention it.
1106         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
1107         * modules/fdopendir-tests: New file.
1108         * tests/test-fdopendir.c: Likewise.
1109
1110         fchdir: use more consistent macro convention
1111         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
1112         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
1113         REPLACE_FCHDIR, rather than relying on config.h macros.
1114         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
1115         inside a single make-time REPLACE_FCHDIR block, rather than using
1116         the config.h FCHDIR_REPLACEMENT.
1117         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
1118         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
1119         Manage fstat replacement.
1120         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
1121         REPLACE_FCHDIR.
1122         * modules/sys_stat (Files): Add m4/unistd_h.m4.
1123         (Makefile.am): Substitute REPLACE_FCHDIR.
1124         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
1125         FCHDIR_REPLACEMENT.
1126         * lib/dup-safer.c (dup_safer): Likewise.
1127         * lib/dup2.c (rpl_dup2): Likewise.
1128         * lib/dup3.c (rpl_dup3): Likewise.
1129         * lib/open.c (rpl_open): Likewise.
1130
1131         fchdir: simplify error handling, and support dup3
1132         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
1133         stdbool, malloc-posix, realloc-posix.
1134         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
1135         (ensure_dirs_slot): Return false on allocation failure.
1136         (rpl_dup2): Delete.
1137         (_gl_register_dup): New function.
1138         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
1139         (_gl_register_fd): Close fd on allocation failure.
1140         * lib/fcntl.in.h (_gl_register_fd): Update signature.
1141         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
1142         prototype.
1143         (rpl_dup2_fchdir): Delete prototype.
1144         * lib/open.c (open): Update caller.
1145         * lib/dup2.c (dup2): Track fchdir metadata.
1146         * lib/dup3.c (dup3): Likewise.
1147         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
1148         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
1149
1150 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1151
1152         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
1153         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
1154         don't pass arguments to AC_OUTPUT.
1155
1156 2009-09-02  Bruno Haible  <bruno@clisp.org>
1157
1158         * modules/mkdtemp (License): Relicense under LGPLv2+.
1159         Reported by Paolo Bonzini.
1160
1161 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1162
1163         Replace uses of obsolete autoconf macros in Jim's modules.
1164         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
1165         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
1166         can evoke a warning from autoconf when run with -Wobsolete
1167         enabled.  They were declared obsolete for good reasons (see
1168         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
1169         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
1170         should not continue using the deprecated macros.
1171         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
1172         obsolete Autoconf macros with modern counterparts.
1173         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1174         * m4/dos.m4 (gl_AC_DOS): Likewise.
1175         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
1176         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
1177         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
1178         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
1179         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
1180         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
1181         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
1182         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
1183         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
1184         Likewise.
1185         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
1186         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
1187         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
1188         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
1189         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
1190         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
1191
1192 2009-09-01  Eric Blake  <ebb9@byu.net>
1193
1194         fchdir: fix off-by-one bug in previous patch
1195         * lib/fchdir.c (rpl_fstat): Use correct bounds.
1196         (_gl_unregister_fd): Delete useless if.
1197
1198 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
1199
1200         maint.mk: sort the list of syntax-check rules
1201         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
1202         easier to get a sense of progress when the rules are run sequentially
1203         and take a long time.
1204
1205 2009-09-01  Simon Josefsson  <simon@josefsson.org>
1206
1207         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
1208         * modules/netinet_in: Likewise.
1209         * modules/sys_file: Likewise.
1210         * modules/sys_ioctl: Likewise.
1211         * modules/sys_select: Likewise.
1212         * modules/sys_socket: Likewise.
1213         * modules/sys_stat: Likewise.
1214         * modules/sys_time: Likewise.
1215         * modules/sys_times: Likewise.
1216         * modules/sys_utsname: Likewise.
1217         * modules/sys_wait: Likewise.
1218
1219 2009-09-01  Jim Meyering  <meyering@redhat.com>
1220
1221         fts: help ensure that return values are not ignored
1222         * lib/fts_.h (__GNUC_PREREQ): Define.
1223         (__attribute_warn_unused_result__): Define.
1224         (fts_children, fts_close, fts_open, fts_read): Declare with
1225         __attribute_warn_unused_result__.
1226
1227         fts: fts_close now fails also when closing a dir file descriptor fails
1228         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
1229         and propagate to caller, along with errno.
1230
1231         announce-gen: correct formatting in --help output
1232         * build-aux/announce-gen (usage): Move the one-line description in
1233         --help output "up", to where it belongs, just after Usage:.
1234
1235 2009-08-31  Eric Blake  <ebb9@byu.net>
1236
1237         fchdir: port to mingw
1238         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
1239         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
1240         opened, then use a substitute.
1241         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
1242         replacement.
1243         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
1244         (_gl_register_fd): No need to check stat if open already filters
1245         all directories.
1246         (fchdir): Fix error condition to match POSIX.
1247         * modules/fchdir (Depends-on): Add sys_stat.
1248         * doc/posix-functions/open.texi (open): Document the limitation.
1249         * modules/fchdir-tests: New file.
1250         * tests/test-fchdir.c: Likewise.
1251
1252         canonicalize: allow cross-testing from cygwin to mingw
1253         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
1254         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
1255         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
1256         Likewise.
1257         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
1258         target does not support symlinks.
1259         * tests/test-canonicalize-lgpl.sh: Likewise.
1260
1261         chown: avoid compilation warning on mingw
1262         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
1263         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
1264         mingw.
1265         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
1266         * modules/chown (Depends-on): Add errno.
1267
1268 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1269
1270         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
1271         command.
1272
1273 2009-08-31  Jim Meyering  <meyering@redhat.com>
1274
1275         canonicalize: remove useless initialization
1276         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
1277         initialization of local, "end".
1278
1279 2009-08-30  Bruno Haible  <bruno@clisp.org>
1280
1281         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
1282         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
1283         ENOSYS.
1284
1285 2009-08-30  Bruno Haible  <bruno@clisp.org>
1286
1287         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
1288         /usr/xpg4/bin/tr when it exists.
1289         * tests/test-pipe-filter-gi1.sh: Likewise.
1290
1291 2009-08-30  Bruno Haible  <bruno@clisp.org>
1292
1293         Work around deficient /usr/bin/id program on Solaris.
1294         * tests/test-file-has-acl.sh (ID): New variable.
1295         * tests/test-set-mode-acl.sh (ID): Likewise.
1296         * tests/test-copy-acl.sh (ID): Likewise.
1297         * tests/test-copy-file.sh (ID): Likewise.
1298
1299 2009-08-30  Bruno Haible  <bruno@clisp.org>
1300
1301         New module 'xstriconveh'.
1302         * lib/xstriconveh.h: New file.
1303         * lib/xstriconveh.c: New file.
1304         * modules/xstriconveh: New file.
1305
1306 2009-08-30  Bruno Haible  <bruno@clisp.org>
1307
1308         Make it easier to use mem_cd_iconveh.
1309         * lib/striconveh.h (iconveh_t): New type.
1310         (iconveh_open, iconveh_close): New declarations.
1311         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
1312         with a single 'const iconveh_t *' argument.
1313         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
1314         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
1315         with a single 'const iconveh_t *' argument.
1316         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
1317         * tests/test-striconveh.c (main): Update.
1318         * NEWS: Mention the change.
1319
1320 2009-08-30  Bruno Haible  <bruno@clisp.org>
1321
1322         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
1323         problem.
1324
1325 2009-08-30  Bruno Haible  <bruno@clisp.org>
1326
1327         Work around iconv_open problem on Solaris.
1328         * lib/iconv_open-solaris.gperf: New file.
1329         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
1330         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
1331         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
1332         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
1333         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
1334         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
1335
1336 2009-08-29  Jim Meyering  <meyering@redhat.com>
1337
1338         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
1339         * top/maint.mk (cvs-check): Remove target; it was just an alias
1340         to the better-named vc-diff-check.
1341         (maintainer-distcheck): Remove rule.  It was used only from
1342         the (alpha/beta/major) target, and all of its commands but one
1343         were coreutils-specific.
1344         (vc-dist): Remove rule.
1345         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
1346         Run vc-diff-check, not vc-dist.
1347         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
1348
1349 2009-08-27  Bruno Haible  <bruno@clisp.org>
1350
1351         * tests/test-bitrotate.c (main): Remove test that uses a shift count
1352         of 0.
1353
1354 2009-08-27  Bruno Haible  <bruno@clisp.org>
1355
1356         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
1357         compilers.
1358         * doc/func.texi: Document the SunPRO C bug.
1359
1360 2009-08-27  Bruno Haible  <bruno@clisp.org>
1361
1362         Fix link error on Solaris.
1363         * tests/test-parse-duration.c (xstrdup): Remove function.
1364
1365 2009-08-26  Pádraig Brady  <P@draigbrady.com>
1366
1367         ignore-value: handle pointer types, too
1368         * lib/ignore-value.h (__attribute__): Remove definition.
1369         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
1370         of a more concise and more-often effective "(void) i" statement.
1371         (ignore_ptr): New function to suppress warnings from functions that
1372         return pointers, and to make it explicit that one function doesn't
1373         handle all cases.
1374
1375 2009-08-25  Bruno Haible  <bruno@clisp.org>
1376
1377         dup2: work around a Linux bug.
1378         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
1379         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
1380         * doc/posix-functions/dup2.texi: Mention the Linux bug.
1381         Reported by Simon Josefsson.
1382
1383 2009-08-25  Jim Meyering  <meyering@redhat.com>
1384
1385         libguestfs uses gnulib
1386         * users.txt: Add libguestfs.
1387
1388 2009-08-24  Eric Blake  <ebb9@byu.net>
1389
1390         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
1391         * lib/pipe2.c (includes): Add binary-io.h.
1392         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
1393
1394 2009-08-24  Bruno Haible  <bruno@clisp.org>
1395
1396         Tolerate declared but missing accept4 syscall.
1397         * lib/accept4.c (accept4): Invoke original accept4 function first, if
1398         available.
1399         * lib/sys_socket.in.h (accept4): If the function is already present,
1400         override it.
1401         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
1402         * modules/accept4 (Makefile.am): Compile accept4.c always.
1403         Reported by Paolo Bonzini and Eric Blake.
1404
1405 2009-08-23  Bruno Haible  <bruno@clisp.org>
1406
1407         New module 'accept4'.
1408         * lib/sys_socket.in.h (accept4): New declaration.
1409         * lib/accept4.c: New file.
1410         * m4/accept4.m4: New file.
1411         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
1412         GNULIB_ACCEPT4, HAVE_ACCEPT4.
1413         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
1414         HAVE_ACCEPT4.
1415         * modules/accept4: New file.
1416         * doc/glibc-functions/accept4.texi: Mention the new module.
1417
1418 2009-08-24  Jim Meyering  <meyering@redhat.com>
1419
1420         progname: also set global program_invocation_name, when possible
1421         Before this change, a libtool-enabled program that calls glibc's
1422         error function would report the program name as
1423         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
1424         * modules/progname (configure.ac): Check for a declaration of
1425         program_invocation_name.
1426         * lib/progname.c:  Include <errno.h>.
1427         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
1428         Set program_invocation_name.
1429
1430 2009-08-23  Bruno Haible  <bruno@clisp.org>
1431
1432         * lib/dup3.c: Include <string.h>.
1433
1434 2009-08-23  Bruno Haible  <bruno@clisp.org>
1435
1436         * lib/dup3.c (dup3): Test only once whether the system actually exists.
1437         * lib/pipe2.c (pipe2): Likewise.
1438         Suggested by Eric Blake.
1439
1440 2009-08-23  Bruno Haible  <bruno@clisp.org>
1441
1442         Tolerate declared but missing dup3 syscall.
1443         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
1444         * lib/unistd.in.h (dup3): If the function is already present,
1445         override it.
1446         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
1447         * modules/dup3 (Makefile.am): Compile dup3.c always.
1448         Reported by Paolo Bonzini.
1449
1450 2009-08-23  Bruno Haible  <bruno@clisp.org>
1451
1452         Tolerate declared but missing pipe2 syscall.
1453         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
1454         available.
1455         * lib/unistd.in.h (pipe2): If the function is already present,
1456         override it.
1457         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
1458         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
1459         Reported by Paolo Bonzini.
1460
1461 2009-08-23  Bruno Haible  <bruno@clisp.org>
1462
1463         * lib/pipe2.c (pipe2): Move #ifs inside function.
1464
1465 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
1466
1467         quotearg: document limitations of quote_these_too
1468         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
1469         those limitations are created.
1470         * lib/quotearg.h (set_char_quoting): Document that digits and
1471         letters that are special after backslash are not permitted.
1472         (quotearg_char): Cross-reference set_char_quoting documentation.
1473
1474 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
1475
1476         quotearg: implement custom_quoting_style
1477         * lib/quotearg.c: (struct quoting_options): Add left_quote and
1478         right_quote fields.
1479         (set_custom_quoting): New public function.
1480         (quotearg_buffer_restyled): Add left_quote and right_quote
1481         arguments, handle them very much like locale quoting, and update
1482         all uses.
1483         (quotearg_n_custom): New public function.
1484         (quotearg_n_custom_mem): New public function.
1485         (quotearg_custom): New public function.
1486         (quotearg_custom_mem): New public function.
1487         * lib/quotearg.h: Prototype and document new public functions.
1488         (enum quoting_style): For escape_quoting_style and
1489         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
1490         ignored even though they're otherwise like c_quoting_style.
1491         Add custom_quoting_style member and document with comparison to
1492         clocale_quoting_style.
1493         * tests/test-quotearg.c (custom_quotes): New array.
1494         (custom_results): New array.
1495         (main): Extend to test custom quoting.
1496
1497 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
1498
1499         quotearg: fix right quote escaping when it's in quote_these_too
1500         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
1501         quote, be sure to prepend only one backslash.
1502         * tests/test-quotearg.c (use_quote_double_quotes): New function.
1503         (main): Test it.
1504
1505 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
1506
1507         quotearg-tests: test escaping of embedded locale quotes
1508         * tests/test-quotearg.c (struct result_strings): Add member for
1509         new input.
1510         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
1511         (inputs): Add new input.
1512         (results_g): Add expected results.
1513         (flag_results): Likewise.
1514         (locale_results): Likewise.
1515         (compare_strings): Check those.
1516
1517 2009-08-23  Bruno Haible  <bruno@clisp.org>
1518
1519         Tests for module 'dup3'.
1520         * modules/dup3-tests: New file.
1521         * tests/test-dup3.c: New file.
1522
1523         New module 'dup3'.
1524         * lib/unistd.in.h (dup3): New declaration.
1525         * lib/dup3.c: New file.
1526         * m4/dup3.m4: New file.
1527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
1528         HAVE_DUP3.
1529         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
1530         * modules/dup3: New file.
1531         * doc/glibc-functions/dup3.texi: Mention the new module.
1532
1533 2009-08-23  Bruno Haible  <bruno@clisp.org>
1534
1535         Tweak the dup2 test.
1536         * tests/test-dup2.c (main): Create the test file empty. Verify that an
1537         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
1538         the test file is still empty. Fix argument order of lseek.
1539
1540 2009-08-23  Bruno Haible  <bruno@clisp.org>
1541
1542         Avoid test link errors when the modules getopt-gnu, gettext are used.
1543         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
1544         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1545
1546 2009-08-23  Bruno Haible  <bruno@clisp.org>
1547
1548         Fix getdtablesize() on mingw.
1549         * lib/getdtablesize.c (getdtablesize): Implement differently.
1550         * lib/unistd.in.h (getdtablesize): Improve comment.
1551
1552 2009-08-23  Bruno Haible  <bruno@clisp.org>
1553
1554         New module 'mkostemp'.
1555         Based on Ulrich Drepper's 2007-08-10 change in glibc.
1556         * lib/stdlib.in.h (mksotemp): New declaration.
1557         * lib/mkostemp.c: New file, from glibc with modifications.
1558         * lib/tempname.h (GT_FILE): Remove outdated comment.
1559         (gen_tempname): Add flags argument.
1560         * lib/tempname.c (__GT_BIGFILE): Remove macro.
1561         (__GT_FILE): Map to 1.
1562         (small_open, large_open): Remove macros.
1563         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
1564         * lib/mkstemp.c (mkstemp): Update.
1565         * lib/mkdtemp.c (mkdtemp): Likewise.
1566         * m4/mkostemp.m4: New file.
1567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
1568         HAVE_MKOSTEMP.
1569         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
1570         HAVE_MKOSTEMP.
1571         * modules/mkostemp: New file, based on modules/mkstemp.
1572         * doc/glibc-functions/mkostemp.texi: Mention the new module.
1573         * NEWS: Mention the change.
1574
1575 2009-08-23  Bruno Haible  <bruno@clisp.org>
1576
1577         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
1578         Reported by Eric Blake.
1579
1580 2009-08-23  Bruno Haible  <bruno@clisp.org>
1581
1582         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
1583         Reported by Eric Blake.
1584
1585 2009-08-23  Bruno Haible  <bruno@clisp.org>
1586
1587         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
1588         * modules/pipe2 (Depends-on): Likewise.
1589
1590 2009-08-23  Eric Blake  <ebb9@byu.net>
1591
1592         fcntl-h: add O_TTY_INIT support
1593         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
1594         * tests/test-fcntl-h.c (o): Test it.
1595         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
1596
1597         fcntl-h: rename from fcntl, in preparation for fcntl(2)
1598         * modules/fcntl: Move <fcntl.h> header replacement...
1599         * modules/fcntl-h: ...to new name, so as not to collide with
1600         like-named function.
1601         * tests/test-fcntl.c: Rename...
1602         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
1603         * modules/fcntl-tests: Rename...
1604         * modules/fcntl-h-tests: ...to this.  Update test file name.
1605         * modules/chdir-long (Depends-on): Update clients.
1606         * modules/chdir-safer (Depends-on): Likewise.
1607         * modules/fcntl-safer (Depends-on): Likewise.
1608         * modules/fts (Depends-on): Likewise.
1609         * modules/mkancesdirs (Depends-on): Likewise.
1610         * modules/mkdir-p (Depends-on): Likewise.
1611         * modules/open (Depends-on): Likewise.
1612         * modules/savewd (Depends-on): Likewise.
1613         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
1614         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
1615
1616 2009-08-22  Bruno Haible  <bruno@clisp.org>
1617
1618         * modules/binary-io (License): Relicense under LGPL.
1619         * modules/pipe2 (License): Likewise.
1620
1621 2009-08-22  Bruno Haible  <bruno@clisp.org>
1622
1623         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
1624         return value.
1625         * lib/pipe-filter-gi.c (filter_init): Likewise.
1626         Reported by Eric Blake.
1627
1628 2009-08-22  Bruno Haible  <bruno@clisp.org>
1629
1630         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
1631         * modules/pipe (Depends-on): Add pipe2.
1632
1633 2009-08-22  Bruno Haible  <bruno@clisp.org>
1634
1635         Tests for module 'pipe2'.
1636         * modules/pipe2-tests: New file.
1637         * tests/test-pipe2.c: New file.
1638
1639         New module 'pipe2'.
1640         * lib/unistd.in.h (pipe2): New declaration.
1641         * lib/pipe2.c: New file.
1642         * m4/pipe2.m4: New file.
1643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
1644         HAVE_PIPE2.
1645         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
1646         * modules/pipe2: New file.
1647         * doc/glibc-functions/pipe2.texi: Mention the new module.
1648
1649 2009-08-22  Bruno Haible  <bruno@clisp.org>
1650
1651         Reference some new glibc functions.
1652         * doc/glibc-functions/accept4.texi: New file.
1653         * doc/glibc-functions/dup3.texi: New file.
1654         * doc/glibc-functions/mkostemp.texi: New file.
1655         * doc/glibc-functions/pipe2.texi: New file.
1656         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
1657         (Glibc sys/socket.h): Refer to accept4.
1658         (Glibc unistd.h): Refer to dup3, pipe2.
1659         Reported by Eric Blake.
1660
1661 2009-08-22  Jim Meyering  <meyering@redhat.com>
1662             Bruno Haible  <bruno@clisp.org>
1663
1664         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
1665         This makes it so packages using automake-1.11's silent-rules option
1666         can print e.g., a single "GEN    configmake.h" line, rather than
1667         the 30+ statements that perform the job.  If you want to see the
1668         actual commands, you can still run "make V=1".
1669         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
1670         so that make output is abbreviated when those variables are defined
1671         appropriately.
1672         * modules/argz: Likewise.
1673         * modules/arpa_inet: Likewise.
1674         * modules/byteswap: Likewise.
1675         * modules/configmake: Likewise.
1676         * modules/dirent: Likewise.
1677         * modules/errno: Likewise.
1678         * modules/fcntl: Likewise.
1679         * modules/float: Likewise.
1680         * modules/fnmatch: Likewise.
1681         * modules/getopt-posix: Likewise.
1682         * modules/glob: Likewise.
1683         * modules/iconv_open: Likewise.
1684         * modules/inttypes: Likewise.
1685         * modules/localcharset: Likewise.
1686         * modules/locale: Likewise.
1687         * modules/math: Likewise.
1688         * modules/netdb: Likewise.
1689         * modules/netinet_in: Likewise.
1690         * modules/poll: Likewise.
1691         * modules/posix_spawnp-tests: Likewise.
1692         * modules/sched: Likewise.
1693         * modules/search: Likewise.
1694         * modules/selinux-h: Likewise.
1695         * modules/signal: Likewise.
1696         * modules/spawn: Likewise.
1697         * modules/stdarg: Likewise.
1698         * modules/stdbool: Likewise.
1699         * modules/stddef: Likewise.
1700         * modules/stdint: Likewise.
1701         * modules/stdio: Likewise.
1702         * modules/stdlib: Likewise.
1703         * modules/string: Likewise.
1704         * modules/strings: Likewise.
1705         * modules/sys_file: Likewise.
1706         * modules/sys_ioctl: Likewise.
1707         * modules/sys_select: Likewise.
1708         * modules/sys_socket: Likewise.
1709         * modules/sys_stat: Likewise.
1710         * modules/sys_time: Likewise.
1711         * modules/sys_times: Likewise.
1712         * modules/sys_utsname: Likewise.
1713         * modules/sys_wait: Likewise.
1714         * modules/sysexits: Likewise.
1715         * modules/time: Likewise.
1716         * modules/unistd: Likewise.
1717         * modules/wchar: Likewise.
1718         * modules/wctype: Likewise.
1719
1720 2009-08-22  Jim Meyering  <meyering@redhat.com>
1721
1722         announce-gen: detect write failure
1723         * build-aux/announce-gen: Add Coda at end.
1724         Remove equivalent-but-more-verbose block at top.
1725
1726 2009-08-19  Akim Demaille  <demaille@gostai.com>
1727
1728         bootstrap: --help to stdout.
1729         * bootstrap (usage): Don't send --help to stderr.
1730         Use a here doc instead of a long string.
1731
1732 2009-08-21  Eric Blake  <ebb9@byu.net>
1733
1734         test-popen-safer: split from test-popen
1735         * tests/test-popen.c (main): Move...
1736         * tests/test-popen.h: ...into new file.
1737         * tests/test-popen-safer2.c: New file.
1738         * modules/popen-tests (Files): Add test-popen.h.
1739         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
1740         Suggested by Bruno Haible.
1741
1742         test-fcntl-safer: split from test-open
1743         * tests/test-open.c (main): Move...
1744         * tests/test-open.h: ...into new file.
1745         * tests/test-fcntl-safer.c: New file.
1746         * modules/open-tests (Files): Add test-open.h.
1747         * modules/fcntl-safer-tests: New file.
1748         Suggested by Bruno Haible.
1749
1750         test-fopen-safer: split from test-fopen
1751         * tests/test-fopen.c (main): Move...
1752         * tests/test-fopen.h: ...into new file.
1753         * tests/test-fopen-safer.c: New file.
1754         * modules/fopen-tests (Files): Add test-fopen.h.
1755         * modules/fopen-safer-tests: New file.
1756         Suggested by Bruno Haible.
1757
1758 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
1759
1760         popen-safer: test O_CLOEXEC at run-time.
1761         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
1762
1763 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
1764
1765         fcntl: move more flags to the header
1766         * lib/cloexec.c: Do not define FD_CLOEXEC here.
1767         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
1768         * lib/fcntl.in.h: Do both things here.
1769
1770 2009-08-21  Jim Meyering  <meyering@redhat.com>
1771
1772         consistently remove $@-t before redirecting to it
1773         * modules/argz: Remove $@-t and $@ before redirecting to the former.
1774         * modules/alloca-opt: Likewise.
1775         * modules/byteswap: Likewise.
1776         * modules/fnmatch: Likewise.
1777         * modules/getopt-posix: Likewise.
1778         * modules/glob: Likewise.
1779         * modules/poll: Likewise.
1780         * modules/posix_spawnp-tests: Likewise.
1781         * modules/sys_socket: Likewise.
1782         * modules/sysexits: Likewise.
1783
1784 2009-08-21  Eric Blake  <ebb9@byu.net>
1785
1786         popen: simplify access to original popen
1787         * lib/popen.c (rpl_popen): No need to worry about popen being a
1788         macro.
1789         Reported by Bruno Haible.
1790
1791 2009-08-20  Eric Blake  <ebb9@byu.net>
1792
1793         build: avoid some compiler warnings
1794         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
1795         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
1796         type.
1797         (new_exclude_segment, excluded_file_pattern_p)
1798         (excluded_file_name_p): Reduce scope.
1799         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
1800         old-style declaration.
1801
1802 2009-08-20  Simon Josefsson  <simon@josefsson.org>
1803
1804         * tests/test-exclude1.sh: Handle Windows EOL.
1805         * tests/test-exclude2.sh: Likewise.
1806         * tests/test-exclude3.sh: Likewise.
1807         * tests/test-exclude4.sh: Likewise.
1808         * tests/test-exclude5.sh: Likewise.
1809         * tests/test-exclude6.sh: Likewise.
1810         * tests/test-exclude7.sh: Likewise.
1811
1812 2009-08-19  Akim Demaille  <demaille@gostai.com>
1813
1814         bootstrap: find sha1sum when named gsha1sum.
1815         * bootstrap (find_tool): New.
1816         ($SHA1SUM): New.
1817         Use it.
1818
1819 2009-08-20  Jim Meyering  <meyering@redhat.com>
1820
1821         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
1822         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
1823         expression that converts "." in a file name to "\." in the resulting
1824         regexp.  Start with a dummy statement, so that prior shell variable
1825         definitions are expanded portably.  Reported by Simon Josefsson.
1826
1827 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
1828
1829         Fix polling for writeability of a screen buffer.
1830         * lib/poll.c: Distinguish input and screen buffers for the
1831         Win32 implementation.
1832         * lib/select.c: Likewise.
1833
1834 2009-08-19  Eric Blake  <ebb9@byu.net>
1835
1836         popen-safer: prevent popen from clobbering std descriptors
1837         * modules/popen-safer: New file.
1838         * lib/popen-safer.c: Likewise.
1839         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
1840         * lib/stdio--.h (popen): Provide override.
1841         * lib/stdio-safer.h (popen_safer): Provide declaration.
1842         * tests/test-popen.c (includes): Partially test this.
1843         * modules/popen-safer-tests: New file, for more tests.
1844         * tests/test-popen-safer.c: Likewise.
1845         * MODULES.html.sh (file stream based Input/Output): Mention it.
1846
1847         tests: test some of the *-safer modules
1848         * modules/fopen-safer (Depends-on): Add fopen.
1849         * modules/fcntl-safer (Depends-on): Add fcntl.
1850         * modules/stdlib-safer (Depends-on): Add stdlib.
1851         (configure.ac): Set indicator.
1852         * modules/unistd-safer (configure.ac): Likewise.
1853         * modules/tmpfile-safer (configure.ac): Likewise.
1854         (Depends-on): Add tmpfile.
1855         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
1856         active.
1857         * tests/test-fopen.c (includes): Test safer versions when they are
1858         in use.
1859         * tests/test-open.c (includes): Likewise.
1860
1861         popen: fix cygwin 1.5 bug when stdin closed
1862         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
1863         * modules/popen: New file.
1864         * modules/popen-tests: Likewise.
1865         * tests/test-popen.c: Likewise.
1866         * m4/popen.m4: Likewise.
1867         * lib/popen.c: Likewise.
1868         * lib/stdio.in.h (popen): New declaration.
1869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
1870         * modules/stdio (Makefile.am): Likewise.
1871         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
1872
1873 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
1874
1875         maint.mk: give full control over update-copyright exclusions
1876         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
1877         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
1878         (update-copyright): Don't force inclusion of top-level
1879         ChangeLog.  Don't force exclusion of all COPYING files, but make
1880         them the default exclusion instead.
1881
1882 2009-08-16  Bruno Haible  <bruno@clisp.org>
1883
1884         Fix test failures on Solaris 10.
1885         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
1886         tests when Solaris iconv() is used.
1887         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
1888         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
1889         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
1890         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
1891         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
1892
1893 2009-08-16  Bruno Haible  <bruno@clisp.org>
1894
1895         Fix test failures on Solaris 10.
1896         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
1897         'tr' program and pass it as first argument.
1898         * tests/test-pipe-filter-gi1.sh: Likewise.
1899         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
1900         program as first argument.
1901         * tests/test-pipe-filter-gi1.c (main): Likewise.
1902
1903 2009-08-16  Eric Blake  <ebb9@byu.net>
1904
1905         fpurge: fix previous commits
1906         * modules/fpurge (Makefile.am): Make replacement conditional,
1907         partially reverting 2007-04-29 change; missed in previous
1908         attempt.
1909         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
1910         is missing.
1911
1912 2009-08-16  Bruno Haible  <bruno@clisp.org>
1913
1914         Clarify fpurge's effect on the file position.
1915         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
1916         * tests/test-fpurge.c (main): Make a second pass for checking the file
1917         position.
1918
1919 2009-08-16  Bruno Haible  <bruno@clisp.org>
1920
1921         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
1922         declaration of fpurge is missing.
1923         * tests/test-fpurge.c (main): Check that the file has not more contents
1924         than expected. Close the file before removing it.
1925
1926 2009-08-15  Eric Blake  <ebb9@byu.net>
1927
1928         fpurge: don't wrap working cygwin implementation
1929         * lib/fpurge.c (fpurge): Fix comment typo.
1930         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
1931         1.7 to avoid replacement.
1932         * tests/test-fpurge.c (main): Enhance test.
1933
1934 2009-08-15  Eric Blake  <ebb9@byu.net>
1935         and Jim Meyering  <meyering@redhat.com>
1936
1937         test-update-copyright: skip if perl is insufficient
1938         * tests/test-update-copyright.sh: Failure to run maintainer tool
1939         should not cause testsuite failure on cygwin 1.5.
1940
1941 2009-08-14  Eric Blake  <ebb9@byu.net>
1942
1943         doc: mention more functions added in cygwin 1.7.0
1944         * doc/posix-headers/limits.texi (limits.h): Update for recent
1945         cygwin additions.
1946         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
1947         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
1948         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
1949         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
1950         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
1951
1952 2009-08-14  Eric Blake  <ebb9@byu.net>
1953
1954         maint.mk: simplify update-copyright rule
1955         * top/maint.mk (update-copyright-local): Delete, and document how
1956         to do it in cfg.mk instead.
1957         (update-copyright-exclude-regexp): Delete, and document how to do
1958         it in .x-update-copyright instead.
1959         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
1960         exclude ChangeLog.
1961
1962 2009-08-14  Bruno Haible  <bruno@clisp.org>
1963
1964         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
1965
1966 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
1967
1968         maint.mk: support update-copyright-env
1969         * top/maint.mk (update-copyright-env): Define place-holder.
1970         (update-copyright): Expand $(update-copyright-env) before
1971         invoking update-copyright.
1972
1973 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
1974
1975         update-copyright: implement forced reformatting
1976         * build-aux/update-copyright: Implement and document
1977         UPDATE_COPYRIGHT_FORCE.
1978         * tests/test-update-copyright.sh: Test it.
1979
1980 2009-08-14  Eric Blake  <ebb9@byu.net>
1981         and Bruno Haible  <bruno@clisp.org>
1982
1983         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
1984         * tests/test-locale.c: Revert previous patch related to NULL.
1985         * tests/test-stdio.c: Likewise.
1986         * tests/test-stdlib.c: Likewise.
1987         * tests/test-string.c: Likewise.
1988         * tests/test-unistd.c: Likewise.
1989         * modules/time-tests (Depends-on): Add verify.
1990         * modules/wchar-tests (Depends-on): Likewise.
1991         * tests/test-time.c: Test for NULL compliance.
1992         * tests/test-wchar.c: Likewise.
1993         * modules/locale (Depends-on): Add stddef.
1994         * modules/stdio (Depends-on): Likewise.
1995         * modules/stdlib (Depends-on): Likewise.
1996         * modules/string (Depends-on): Likewise.
1997         * modules/time (Depends-on): Likewise.
1998         * modules/unistd (Depends-on): Likewise.
1999         * modules/wchar (Depends-on): Likewise.
2000         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
2001         * lib/stdlib.in.h (includes): Likewise.
2002         * lib/string.in.h (includes): Likewise.
2003         * lib/time.in.h (includes): Likewise.
2004         * lib/unistd.in.h (includes): Likewise.
2005         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
2006         replaced.
2007         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
2008         * m4/stddef_h.m4: New file.
2009         * modules/stddef: Likewise.
2010         * lib/stddef.in.h: Likewise.
2011         * modules/stddef-tests: Likewise.
2012         * tests/test-stddef.c: Likewise.
2013         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
2014         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
2015         * doc/posix-headers/locale.texi (locale.h): Likewise.
2016         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
2017         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
2018         * doc/posix-headers/string.texi (string.h): Likewise.
2019         * doc/posix-headers/time.texi (time.h): Likewise.
2020         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
2021         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
2022
2023 2009-08-14  Eric Blake  <ebb9@byu.net>
2024
2025         doc: improve git diff of texinfo files
2026         * .gitattributes: Add rule for *.texi files, with hint on how to
2027         use it.
2028         Copied from m4, and based on a report by Bruno Haible.
2029
2030 2009-08-14  Bruno Haible  <bruno@clisp.org>
2031
2032         Disable multithread support by default on Cygwin 1.5.x for real.
2033         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
2034
2035 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
2036
2037         update-copyright: much ado about intervals
2038         * build-aux/update-copyright: Implement and document
2039         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
2040         of copyright year intervals.
2041         Also, document UPDATE_COPYRIGHT_YEAR.
2042         * tests/test-update-copyright.sh: Test it.
2043
2044         update-copyright: convert 2-digit to 4-digit years
2045         * build-aux/update-copyright: Implement and document.
2046         * tests/test-update-copyright.sh: Update.
2047
2048 2009-08-14  Jim Meyering  <meyering@redhat.com>
2049
2050         test-exclude: avoid coreutils "make check" failure
2051         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
2052         just as in test-argmatch.c.
2053
2054 2009-08-13  Eric Blake  <ebb9@byu.net>
2055
2056         test-dup2: fix bad assumption
2057         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
2058         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
2059
2060         test-version-etc: fix CRLF portability issue
2061         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
2062         recognize \r.
2063         * tests/test-argp-version-etc-1.sh: Likewise.
2064
2065         getopt: update client modules
2066         * modules/argp (Depends-on): Use getopt-gnu.
2067         * modules/git-merge-changelog (Depends-on): Likewise.
2068         * modules/long-options (Depends-on): Likewise.
2069         * modules/xstrtol (Depends-on): Likewise.
2070
2071 2009-08-13  Simon Josefsson  <simon@josefsson.org>
2072
2073         * tests/test-version-etc.sh: Don't fail on different
2074         project/version.  Don't fail on CRLF differences.  Rewrite to use
2075         multiple -e instead of multiple sed forks, suggested by Eric Blake
2076         <ebb9@byu.net>.
2077         * tests/test-argp-version-etc-1.sh: Likewise.
2078
2079 2009-08-13  Simon Josefsson  <simon@josefsson.org>
2080
2081         * tests/test-version-etc.sh: Don't fail on different
2082         project/version.
2083
2084 2009-08-12  Bruno Haible  <bruno@clisp.org>
2085
2086         Tests for modules 'getopt-posix', 'getopt-gnu'.
2087         * modules/getopt-posix-tests: New file.
2088         * tests/test-getopt.c: New file.
2089         * tests/test-getopt.h: New file.
2090         * tests/test-getopt_long.h: New file.
2091
2092         New modules 'getopt-posix', 'getopt-gnu'.
2093         * modules/getopt-gnu: New file, renamed from modules/getopt.
2094         * modules/getopt-posix: New file.
2095         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
2096         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
2097         (gl_GETOPT): Remove macro.
2098         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
2099         Disable the test against BSD systems that declare optreset. Test
2100         against mingw bug. Test against lack of support of optional arguments
2101         on many platforms.
2102         * doc/glibc-headers/getopt.texi: Update module name and list of
2103         relevant platforms.
2104         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
2105         'getopt-gnu' and more portability problems.
2106         * NEWS: Mention the changes.
2107
2108 2009-08-12  Bruno Haible  <bruno@clisp.org>
2109
2110         Ensure that optarg etc. get declared by <unistd.h>.
2111         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
2112         AC_USE_SYSTEM_EXTENSIONS.
2113         * modules/getopt (Depends-on): Add 'extensions'.
2114
2115 2009-08-12  Bruno Haible  <bruno@clisp.org>
2116
2117         Avoid test link errors.
2118         * modules/pipe-filter-ii-tests (Makefile.am): Define
2119         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
2120         * modules/pipe-filter-gi-tests (Makefile.am): Define
2121         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
2122         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2123
2124 2009-08-12  Bruno Haible  <bruno@clisp.org>
2125
2126         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
2127         gl_GETOPT_SUBSTITUTE before.
2128         (gl_GETOPT): Use it.
2129         * m4/argp.m4 (gl_ARGP): Update.
2130         Reported by Sergey Poznyakoff.
2131
2132         * m4/getopt.m4: Reorder macros.
2133         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
2134         (gl_GETOPT_SUBSTITUTE): Remove macro.
2135
2136 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2137
2138         Minor improvement in gitlog-to-changelog
2139
2140         * build-aux/gitlog-to-changelog: New option `--format' makes
2141         output format string configurable.
2142
2143 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2144
2145         Optimize exclude: use hash tables for non-wildcard patterns.
2146
2147         * lib/exclude.c: Include hash.h and mbuiter.h
2148         (struct exclude_pattern, exclude_segment): New data types.
2149         (struct exclude): Rewrite.
2150         (fnmatch_pattern_has_wildcards): New function.
2151         (new_exclude_segment, free_exclude_segment): New functions.
2152         (excluded_file_pattern_p, excluded_file_name_p): New functions.
2153         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
2154         * lib/exclude.h (is_fnmatch_pattern): New prototype.
2155         * modules/exclude: Depend on hash and mbuiter.
2156
2157         * modules/exclude-tests: New file.
2158         * tests/test-exclude.c: New file.
2159         * tests/test-exclude1.sh: New file.
2160         * tests/test-exclude2.sh: New file.
2161         * tests/test-exclude3.sh: New file.
2162         * tests/test-exclude4.sh: New file.
2163         * tests/test-exclude5.sh: New file.
2164         * tests/test-exclude6.sh: New file.
2165         * tests/test-exclude7.sh: New file.
2166
2167 2009-08-12  Bruno Haible  <bruno@clisp.org>
2168
2169         Ensure that getopt() gets declared by <unistd.h>.
2170         * lib/unistd.in.h: Conditionally include getopt.h.
2171         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
2172         Set GNULIB_UNISTD_H_GETOPT.
2173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2174         GNULIB_UNISTD_H_GETOPT.
2175         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
2176
2177 2009-08-12  Bruno Haible  <bruno@clisp.org>
2178
2179         Clarify logic.
2180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
2181         gl_replace_getopt instead of GETOPT_H.
2182
2183 2009-08-12  Bruno Haible  <bruno@clisp.org>
2184
2185         * m4/getopt.m4: Add comments.
2186
2187 2009-08-12  Bruno Haible  <bruno@clisp.org>
2188
2189         Disable multithread support by default on Cygwin 1.5.x.
2190         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
2191         set gl_use_threads=no if not specified otherwise.
2192
2193 2009-08-11  Bruno Haible  <bruno@clisp.org>
2194
2195         Avoid compilation error on NetBSD 5.0.
2196         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
2197         * tests/test-stdio.c: Likewise.
2198         * tests/test-stdlib.c: Likewise.
2199         * tests/test-string.c: Likewise.
2200         * tests/test-unistd.c: Likewise.
2201         Reported by Greg Troxel <gdt@ir.bbn.com>
2202         at <https://savannah.gnu.org/support/?106973>.
2203
2204 2009-08-11  Bruno Haible  <bruno@clisp.org>
2205
2206         * modules/dup2-tests (Depends-on): Remove close.
2207
2208         Undo 2009-07-19 commit.
2209         * modules/acl-tests (Depends-on): Remove close.
2210         * modules/binary-io-tests (Depends-on): Likewise.
2211         * modules/closein-tests (Depends-on): Likewise.
2212         * modules/flock-tests (Depends-on): Likewise.
2213         * modules/fsync-tests (Depends-on): Likewise.
2214         * modules/lseek-tests (Depends-on): Likewise.
2215         * modules/pipe-tests (Depends-on): Likewise.
2216         * modules/posix_spawn-tests (Depends-on): Likewise.
2217         * modules/posix_spawnp-tests (Depends-on): Likewise.
2218         * modules/stat-time-tests (Depends-on): Likewise.
2219         * modules/yesno-tests (Depends-on): Likewise.
2220
2221 2009-08-10  Bruno Haible  <bruno@clisp.org>
2222
2223         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
2224
2225 2009-08-10  Bruno Haible  <bruno@clisp.org>
2226
2227         Fix a gcc warning.
2228         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
2229
2230 2009-08-10  Bruno Haible  <bruno@clisp.org>
2231
2232         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
2233         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
2234         not only the first time.
2235         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
2236         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
2237         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
2238         is 1, not only the the first time.
2239
2240 2009-08-10  Bruno Haible  <bruno@clisp.org>
2241
2242         Make it possible to use module 'gethostname' without module 'close'.
2243         * lib/unistd.in.h (close): Evoke a link error only if
2244         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
2245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2246         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2247         * modules/unistd (Makefile.am): Substitute
2248         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2249         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
2250         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
2251         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
2252         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2253         * modules/sys_ioctl (Makefile.am): Substitute
2254         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2255         * modules/socket (configure.ac): On native Windows, set
2256         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
2257         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
2258         Reported by Sam Steingold <sds@gnu.org>.
2259
2260 2009-08-10  Bruno Haible  <bruno@clisp.org>
2261
2262         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
2263         * modules/ioctl (configure.ac): Likewise.
2264
2265 2009-08-10  Bruno Haible  <bruno@clisp.org>
2266
2267         Avoid collision between gnulib wrapper and libintl wrapper.
2268         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
2269         already defined in intl/printf.c.
2270         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
2271         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
2272
2273 2009-08-09  Bruno Haible  <bruno@clisp.org>
2274
2275         Make <sys/select.h> really self-contained, also on Solaris 10.
2276         * lib/sys_select.in.h: Include <string.h>.
2277         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
2278         Solaris 10 problem.
2279         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
2280         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
2281         Reported by Jim Meyering.
2282
2283 2009-08-09  Bruno Haible  <bruno@clisp.org>
2284
2285         Avoid warnings from 'aclocal' that are due to a use of macro name
2286         AM_XGETTEXT_OPTION that is not defined in automake.
2287         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
2288         automake.
2289         * modules/error (configure.ac): Likewise.
2290         * modules/propername (configure.ac): Likewise.
2291         * modules/vasprintf (configure.ac): Likewise.
2292         * modules/verror (configure.ac): Likewise.
2293         * modules/xprintf (configure.ac): Likewise.
2294         * modules/xvasprintf (configure.ac): Likewise.
2295
2296 2009-08-08  Bruno Haible  <bruno@clisp.org>
2297
2298         Avoid compilation error in C++ mode.
2299         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
2300         Reported by Sam Steingold <sds@gnu.org>.
2301
2302 2009-08-08  Bruno Haible  <bruno@clisp.org>
2303
2304         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
2305         for the various Unix platforms.
2306         * doc/posix-headers/limits.texi: Update platforms list regarding
2307         HOST_NAME_MAX.
2308         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2309
2310 2009-08-07  Jim Meyering  <meyering@redhat.com>
2311
2312         selinux-at: fix typo in a comment
2313         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
2314         Spotted by Paolo Bonzini.
2315
2316         selinux-at: remove redundant m4 code, add documentation
2317         * modules/selinux-at (configure.ac): Remove redundant code.
2318         LIB_SELINUX is already set via the dependent module, selinux-h.
2319         (Include): Add quotes around selinux-at.h.
2320         * lib/selinux-at.h: Add documentation.
2321         Reported by Bruno Haible in
2322         http://marc.info/?l=gnulib-bug&m=124958988300749
2323
2324 2009-08-07  Bruno Haible  <bruno@clisp.org>
2325
2326         Avoid link error on MacOS X 10.3 and 10.4.
2327         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
2328         on non-ELF systems.
2329         * lib/argp-pv.c (argp_program_version): Likewise.
2330         Reported by Simon Josefsson.
2331
2332 2009-08-07  Simon Josefsson  <simon@josefsson.org>
2333
2334         * tests/test-version-etc.sh: Use $EXEEXT.
2335
2336 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
2337
2338         update-copyright: update documentation to point to maint.mk
2339         * build-aux/update-copyright: Here.
2340
2341 2009-08-06  Jim Meyering  <meyering@redhat.com>
2342
2343         maint.mk: support update-copyright-local
2344         * top/maint.mk (update-copyright-local): Define place-holder.
2345         (update-copyright): Depend on $(update-copyright-local).
2346
2347 2009-08-06  Jim Meyering  <meyering@redhat.com>
2348
2349         selinux-at: new module
2350         Initially written for coreutils, this module will soon be
2351         used by findutils, too.
2352         * MODULES.html.sh [Misc]: Add selinux-at.
2353         * lib/selinux-at.h: New file, from coreutils.
2354         * lib/selinux-at.c: Likewise.
2355         * modules/selinux-at: Likewise.
2356         (License): Change from LGPL to GPL, since it depends
2357         on the GPL'd openat module.
2358
2359         doc: update README
2360         * README: Remove references to cogito.
2361         Remove cvs-repo-updating instructions from 2007.
2362         Don't imply that CVS is better if you have limited disk space.
2363
2364 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2365
2366         update-copyright: support C-style comments
2367         * build-aux/update-copyright: Implement and document.
2368         * tests/test-update-copyright.sh: Test.
2369
2370 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2371
2372         update-copyright: support omitted "(C)"
2373         * build-aux/update-copyright: Implement and document.  Also,
2374         allow variable whitespace before "(C)".
2375         * tests/test-update-copyright.sh: Test.
2376
2377 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2378
2379         update-copyright: don't trip on non-FSF copyright statements
2380         * build-aux/update-copyright: Fix so that the first correctly
2381         formatted FSF copyright statement is recognized no matter what
2382         appears before it.  Update documentation.
2383         * tests/test-update-copyright.sh: Test that.
2384
2385 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2386
2387         update-copyright: clean up code a little
2388         * build-aux/update-copyright: Append "_re" to the name of any
2389         variable holding a regular expression.
2390         Replace "old" and "new" with "stmt" in variable names.
2391         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
2392         handled correctly.
2393         Format code more consistently.
2394
2395 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
2396
2397         update-copyright-tests: improve portability
2398         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
2399         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
2400
2401 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
2402
2403         update-copyright: support @copyright{} and &copy;
2404         * build-aux/update-copyright: Implement and document.
2405         * tests/test-update-copyright.sh: Test.
2406
2407 2009-08-04  Jim Meyering  <meyering@redhat.com>
2408
2409         update-copyright-tests: correctly test EOL=\r\n handling
2410         * tests/test-update-copyright.sh: Put \r at the end of some lines
2411         for the dos-eol tests.  Based on a patch by Joel E. Denny.
2412
2413         maint.mk: make update-copyright exclusion list more configurable
2414         * top/maint.mk (update-copyright): Default to excluding COPYING,
2415         but allow an override, in case someone does want to update that file.
2416
2417         maint.mk: don't update copyright date in COPYING
2418         * top/maint.mk (update-copyright): Exclude COPYING.
2419
2420         maint.mk: add a copyright-updating rule
2421         * top/maint.mk (update-copyright): New rule.
2422         Derived from coreutils/Makefile.am.
2423
2424         update-copyright: rename some variables
2425         * build-aux/update-copyright: Rename a few variables for clarity.
2426         Tweak syntax.  List Joel E. Denny as coauthor.
2427
2428 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
2429
2430         update-copyright: fix bug for 2-digit last year and add tests
2431         * build-aux/update-copyright: Fix bug.
2432         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
2433         specified.
2434         * modules/update-copyright-tests: New
2435         * tests/test-update-copyright.sh: New.
2436
2437 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
2438
2439         update-copyright: handle leading tabs in line prefix
2440         * build-aux/update-copyright: Count leading tabs as 8 spaces
2441         when computing margin.  This helps with the formatting of
2442         ChangeLogs, for example.
2443         Fix documentation a little.
2444
2445 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
2446
2447         update-copyright: support EOL=\r\n
2448         * build-aux/update-copyright: Implement that.
2449
2450 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
2451
2452         update-copyright: automatically format copyright statements
2453         * build-aux/update-copyright: Implement that.
2454         Also, be a little more predictable and safer by always failing
2455         when the full copyright format is not perfectly recognized as an
2456         unbroken whole.  Discussed at
2457         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
2458         Rewrite documentation.
2459
2460 2009-08-03  Bruno Haible  <bruno@clisp.org>
2461
2462         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
2463
2464 2009-08-02  Bruno Haible  <bruno@clisp.org>
2465
2466         Tests for module 'uname'.
2467         * modules/uname-tests: New file.
2468         * tests/test-uname.c: New file.
2469
2470         New module 'uname'.
2471         * lib/uname.c: New file.
2472         * m4/uname.m4: New file.
2473         * modules/uname: New file.
2474         * doc/posix-functions/uname.texi: Mention the new module.
2475
2476 2009-08-02  Bruno Haible  <bruno@clisp.org>
2477
2478         Tests for module 'sys_utsname'.
2479         * modules/sys_utsname-tests: New file.
2480         * tests/test-sys_utsname.c: New file.
2481
2482         New module 'sys_utsname'.
2483         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
2484         * m4/sys_utsname_h.m4: New file.
2485         * modules/sys_utsname: New file.
2486         * doc/posix-headers/sys_utsname.texi: Mention the new module.
2487
2488 2009-08-02  Bruno Haible  <bruno@clisp.org>
2489
2490         Implicitly initialize the sockets library.
2491         * lib/gethostname.c: Include sockets.h.
2492         (rpl_gethostname): Invoke gl_sockets_startup.
2493         * lib/socket.c: Include sockets.h.
2494         (rpl_socket): Invoke gl_sockets_startup.
2495         * modules/gethostname (Depends-on): Add sockets.
2496         * modules/socket (Depends-on): Likewise.
2497         * tests/test-poll.c: Don't include sockets.h.
2498         (main): Don't invoke gl_sockets_startup.
2499         * tests/test-select.c: Don't include sockets.h.
2500         (main): Don't invoke gl_sockets_startup.
2501
2502 2009-08-02  Bruno Haible  <bruno@clisp.org>
2503
2504         Allow multiple calls to gl_sockets_startup.
2505         * lib/sockets.c (initialized_sockets_version): New variable.
2506         (gl_sockets_startup): Do nothing if already called for this or a higher
2507         version.
2508         (gl_sockets_cleanup): Reset initialized_sockets_version.
2509
2510 2009-08-03  Simon Josefsson  <simon@josefsson.org>
2511
2512         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
2513         different project/version.
2514
2515 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
2516             Bruno Haible  <bruno@clisp.org>
2517
2518         Tests for module 'pipe-filter-gi'.
2519         * modules/pipe-filter-gi-tests: New file.
2520         * tests/test-pipe-filter-gi1.sh: New file.
2521         * tests/test-pipe-filter-gi1.c: New file.
2522         * tests/test-pipe-filter-gi2.sh: New file.
2523         * tests/test-pipe-filter-gi2-main.c: New file.
2524         * tests/test-pipe-filter-gi2-child.c: New file.
2525
2526         New module 'pipe-filter-gi'.
2527         * lib/pipe-filter-gi.c: New file.
2528         * modules/pipe-filter-gi: New file.
2529
2530 2009-08-02  Bruno Haible  <bruno@clisp.org>
2531             Paolo Bonzini  <bonzini@gnu.org>
2532
2533         Tests for module 'pipe-filter-ii'.
2534         * modules/pipe-filter-ii-tests: New file.
2535         * tests/test-pipe-filter-ii1.sh: New file.
2536         * tests/test-pipe-filter-ii1.c: New file.
2537         * tests/test-pipe-filter-ii2.sh: New file.
2538         * tests/test-pipe-filter-ii2-main.c: New file.
2539         * tests/test-pipe-filter-ii2-child.c: New file.
2540
2541         New module 'pipe-filter-ii'.
2542         * lib/pipe-filter.h: New file.
2543         * lib/pipe-filter-ii.c: New file.
2544         * lib/pipe-filter-aux.h: New file.
2545         * modules/pipe-filter-ii: New file.
2546
2547 2009-08-02  Simon Josefsson  <simon@josefsson.org>
2548
2549         * lib/gc-libgcrypt.c: Change copyright to FSF.
2550         * lib/gc-gnulib.c: Likewise.
2551
2552 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
2553
2554         * lib/gethostname.c: Include limits.h.
2555
2556 2009-08-02  Simon Josefsson  <simon@josefsson.org>
2557             Bruno Haible  <bruno@clisp.org>
2558
2559         Ensure HOST_NAME_MAX as part of the gethostname module.
2560         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
2561         define also HOST_NAME_MAX.
2562         * tests/test-gethostname.c: Include <limits.h>.
2563         (main): Check also HOST_NAME_MAX.
2564         * doc/posix-headers/limits.texi: Document the mingw problem.
2565
2566 2009-08-02  Bruno Haible  <bruno@clisp.org>
2567
2568         * lib/gethostname.c (gethostname): Fix handling of large len argument.
2569         Add comments.
2570
2571 2009-03-31  Simon Josefsson  <simon@josefsson.org>
2572
2573         * lib/gethostname.c: Add Windows wrapper.
2574         * m4/gethostname.m4: Look for gethostname in -lws2_32.
2575         * modules/gethostname: Depend on sys_socket & errno, for also
2576         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
2577         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
2578
2579 2009-07-31  Jim Meyering  <meyering@redhat.com>
2580
2581         getloadavg: fix symbol name in comment
2582         * lib/getloadavg.c: Correct a typo I introduced when adding
2583         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
2584         Matt Kraai spotted the problem.
2585
2586 2009-07-29  Matt Kraai  <mkraai@beckman.com>
2587
2588         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
2589         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
2590         code also if ! defined N_NAME_POINTER.
2591         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
2592         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
2593         but the n_name member is a 12-byte array.
2594
2595 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
2596
2597         update-copyright: generalize comment handling
2598         * build-aux/update-copyright: Handle copyright statements
2599         within more comment styles.
2600         Document usage.
2601         Report any file with an external copyright holder or parse failure.
2602
2603 2009-07-29  Jim Meyering  <meyering@redhat.com>
2604
2605         mktime: correct setting of REPLACE_MKTIME
2606         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
2607
2608         update-copyright: new module
2609         * modules/update-copyright: New file.
2610         * build-aux/update-copyright: New file.
2611         * MODULES.html.sh (maint+release support): Add update-copyright.
2612
2613 2009-07-27  Bruno Haible  <bruno@clisp.org>
2614
2615         Fix compilation error when <ctime> is used and mktime is replaced.
2616         * lib/time.in.h (mktime): New declaration.
2617         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
2618         REPLACE_MKTIME instead of defining mktime in config.h.
2619         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
2620         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
2621         Reported by Ross McFarland <rwmcfa1@neces.com>.
2622
2623 2009-07-27  Bruno Haible  <bruno@clisp.org>
2624
2625         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
2626         Reported by Matt Kraai <mkraai@beckman.com>.
2627
2628 2009-07-25  Jim Meyering  <meyering@redhat.com>
2629
2630         maint.mk: avoid warnings about missing files
2631         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
2632         diagnostic when .prev-version does not exist.
2633         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
2634         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
2635         nonexistent cfg.mk.
2636         Suggestions from Simon Josefsson.
2637
2638 2009-07-25  Bruno Haible  <bruno@clisp.org>
2639
2640         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
2641         defined as macros. Needed on QNX 6.4.1.
2642         Reported by Matt Kraai <mkraai@beckman.com>.
2643
2644 2009-07-23  Jim Meyering  <meyering@redhat.com>
2645
2646         maint.mk: invoke "make dist" with a working value of XZ_OPT
2647         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
2648
2649 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
2650
2651         Make fseeko.c compile on QNX.
2652         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
2653
2654 2009-07-22  Peter Simons  <simons@cryp.to>
2655
2656         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
2657         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
2658         * lib/md4.h: Likewise.
2659         * lib/md5.h: Likewise.
2660         * lib/sha1.h: Likewise.
2661         * lib/sha256.h: Likewise.
2662         * lib/sha512.h: Likewise.
2663
2664         tests-sha1: don't assign literal string to 'char *' variable
2665         * tests/test-sha1.c (main): Declare locals with "const" to match
2666         attributes of the right hand side.
2667
2668 2009-07-21  Eric Blake  <ebb9@byu.net>
2669
2670         dup2: fix more mingw problems
2671         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
2672         fd to itself.
2673         * doc/posix-functions/dup2.texi (dup2): Document the bug.
2674         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
2675         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
2676         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
2677         care of mingw bugs.
2678
2679 2009-07-21  Jim Meyering  <meyering@redhat.com>
2680
2681         vc-list-files: avoid failure when /bin/sh is dash
2682         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
2683         On some Debian based systems, /bin/sh is a symlink to dash, and running
2684         this command would omit the "/" following each 'tests' prefix:
2685           dash -x build-aux/vc-list-files -C . tests
2686         That is because bash and dash work differently:
2687           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
2688           bash ok
2689           dash odd
2690
2691 2009-07-21  Eric Blake  <ebb9@byu.net>
2692
2693         dup2-tests: test previous patch
2694         * modules/dup2-tests: New file.
2695         * tests/test-dup2.c: Likewise.
2696         * tests/test-open.c (main): Avoid unspecified behavior.
2697         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
2698         test.
2699
2700         dup2: work around mingw and cygwin 1.5 bug
2701         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
2702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2703         * modules/unistd (Makefile.am): Substitute it.
2704         * lib/unistd.in.h (dup2): Declare the replacement.
2705         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
2706         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
2707         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
2708         * modules/execute (Depends-on): Add dup2.
2709         * modules/fseterr (Depends-on): Likewise.
2710         * modules/pipe (Depends-on): Likewise.
2711         * modules/posix_spawn-internal (Depends-on): Likewise.
2712
2713 2009-07-21  Bruno Haible  <bruno@clisp.org>
2714
2715         * modules/.gitattributes: New file.
2716
2717 2009-07-20  Bruno Haible  <bruno@clisp.org>
2718
2719         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
2720         (main): Use it.
2721
2722 2009-07-20  Eric Blake  <ebb9@byu.net>
2723
2724         test-pipe: make a bit more robust.
2725         * tests/test-pipe.c (myerr): Allow error messages regardless of
2726         what we do to stderr.
2727         (test_pipe): Rearrange to avoid deadlock.
2728         (child_main): Try a larger read, to ensure we avoided deadlock.
2729         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
2730         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
2731         if misused.
2732
2733 2009-07-19  Jim Meyering  <meyering@redhat.com>
2734
2735         fts: avoid false-positive cycle-detection
2736         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
2737         for each new command line argument.
2738
2739 2009-07-19  Bruno Haible  <bruno@clisp.org>
2740
2741         Fix build error on mingw with the modules sys_select and unistd.
2742         * modules/acl-tests (Depends-on): Add close.
2743         * modules/binary-io-tests (Depends-on): Likewise.
2744         * modules/closein-tests (Depends-on): Likewise.
2745         * modules/flock-tests (Depends-on): Likewise.
2746         * modules/fsync-tests (Depends-on): Likewise.
2747         * modules/lseek-tests (Depends-on): Likewise.
2748         * modules/pipe-tests (Depends-on): Likewise.
2749         * modules/posix_spawn-tests (Depends-on): Likewise.
2750         * modules/posix_spawnp-tests (Depends-on): Likewise.
2751         * modules/stat-time-tests (Depends-on): Likewise.
2752         * modules/yesno-tests (Depends-on): Likewise.
2753
2754 2009-07-19  Bruno Haible  <bruno@clisp.org>
2755
2756         Unify conditionals.
2757         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
2758         macros, not at the compiler macros.
2759         * lib/pipe.c: Likewise.
2760         * lib/execute.c: Likewise.
2761         * lib/spawni.c: Likewise.
2762
2763 2009-07-19  Bruno Haible  <bruno@clisp.org>
2764
2765         Fix handling of closed stdin/stdout/stderr on mingw.
2766         * lib/w32spawn.h: Include unistd.h.
2767         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
2768         file descriptor with O_NOINHERIT flag.
2769         (fd_safer_noinherit): New function, based on fd-safer.c.
2770         (dup_safer_noinherit): New function, based on dup-safer.c.
2771         (undup_safer_noinherit): New function.
2772         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
2773         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
2774         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
2775         instead of fd_safer.
2776         * tests/test-pipe.c: Include <windows.h>.
2777         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
2778
2779         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
2780         from main.
2781         (test_pipe): Pass an extra argument for disambiguation.
2782         (main): Invoke parent_main or child_main.
2783
2784         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
2785         consistently.
2786
2787 2009-07-18  Eric Blake  <ebb9@byu.net>
2788
2789         test-pipe: fix mingw build
2790         * tests/test-pipe.c (main): Avoid fcntl on mingw.
2791
2792 2009-07-18  Bruno Haible  <bruno@clisp.org>
2793
2794         * modules/pipe-tests (Makefile.am): Fix typo.
2795
2796 2009-07-18  Eric Blake  <ebb9@byu.net>
2797
2798         error: fix mingw build
2799         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
2800         Reported by Bruno Haible.
2801
2802         error: avoid undefined use of stdout
2803         * lib/error.c (error, error_at_line): Check that fd 1 is open
2804         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
2805         is handling faults and the close_stdout module wants to report the
2806         detection of closed stdout as an error.
2807
2808 2009-07-17  Eric Blake  <ebb9@byu.net>
2809
2810         pipe: be robust in face of closed fds
2811         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
2812         should cause child to misbehave.
2813         * modules/pipe-tests: New module.
2814         * tests/test-pipe.c: New file.
2815         * tests/test-pipe.sh: New file.
2816         Reported by Akim Demaille.
2817
2818 2009-07-14  Bruno Haible  <bruno@clisp.org>
2819
2820         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
2821         Reported by anonymous kc.
2822
2823 2009-07-07  Jim Meyering  <meyering@redhat.com>
2824
2825         maint.mk: don't look for translatable strings in *.m4 or *.mk
2826         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
2827         when searching for translatable strings.
2828
2829 2009-07-05  Jim Meyering  <meyering@redhat.com>
2830
2831         remove superfluous parentheses in STREQ definition
2832         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
2833         * lib/getugroups.c (STREQ): Likewise.
2834         * lib/fnmatch.c (STREQ): Likewise.
2835         Spotted by Bruno Haible.
2836
2837 2009-07-04  Jim Meyering  <meyering@redhat.com>
2838
2839         argv-iter: new module
2840         * MODULES.html.sh: Add argv-iter.
2841         * lib/argv-iter.c, lib/argv-iter.h: New files.
2842         * modules/argv-iter: New file.
2843         * modules/argv-iter-tests: New file.
2844         * tests/test-argv-iter.c: Test it.
2845
2846 2009-07-04  Bruno Haible  <bruno@clisp.org>
2847
2848         Fix assertion.
2849         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
2850         contains more exact copies of a given entry than file2, leave the extra
2851         copies unpaired rather than aborting.
2852         Reported by Eric Blake.
2853
2854 2009-07-02  Bruno Haible  <bruno@clisp.org>
2855
2856         Speedup git-merge-changelog for git cherry-pick.
2857         * lib/git-merge-changelog.c (struct entries_mapping): New type.
2858         (entries_mapping_get): New function, extracted from compute_mapping.
2859         (entries_mapping_reverse_get): New function.
2860         (compute_mapping): Add a 'full' argument. Return the result in a
2861         'struct entries_mapping'.
2862         (main): Update. Access the mappings through entries_mapping_get.
2863         Reported by Eric Blake.
2864
2865 2009-07-02  Bruno Haible  <bruno@clisp.org>
2866
2867         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
2868         best_i.
2869
2870 2009-07-02  Bruno Haible  <bruno@clisp.org>
2871
2872         Speed up approximate search for matching ChangeLog entries.
2873         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
2874         argument. Call fstrcmp_bounded instead of fstrcmp.
2875         (compute_mapping, try_split_merged_entry, main): Update callers.
2876
2877 2009-07-02  Bruno Haible  <bruno@clisp.org>
2878
2879         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
2880
2881 2009-06-30  Bruno Haible  <bruno@clisp.org>
2882
2883         Reduce the number of uc_is_cased calls.
2884         * lib/unicase.h (casing_suffix_context_t): Add
2885         'first_char_except_ignorable' field.
2886         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
2887         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
2888         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
2889         Update initializer.
2890         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
2891         case-ignorable characters.
2892         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
2893         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
2894         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
2895         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
2896         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
2897
2898 2009-06-30  Bruno Haible  <bruno@clisp.org>
2899
2900         Tests for module 'unicase/ignorable'.
2901         * modules/unicase/ignorable-tests: New file.
2902         * tests/unicase/test-ignorable.c: New file, generated by
2903         gen-uni-tables.
2904
2905         Tests for module 'unicase/cased'.
2906         * modules/unicase/cased-tests: New file.
2907         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
2908         * tests/unicase/test-predicate-part1.h: New file, derived from
2909         tests/unictype/test-predicate-part1.h.
2910         * tests/unicase/test-predicate-part2.h: New file, same as
2911         tests/unictype/test-predicate-part2.h.
2912
2913         Fix evaluation of "Before C" condition of FINAL_SIGMA.
2914         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
2915         (output_casing_properties): New function.
2916         (main): Call it.
2917         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
2918         * lib/unicase/cased.c: Include unictype/bitmap.h.
2919         (uc_is_cased): Define through a bitmap lookup.
2920         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
2921         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
2922         (uc_is_case_ignorable): Define through a bitmap lookup.
2923         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
2924         lib/unictype/bitmap.h.
2925         (Depends-on): Add inline. Clean up.
2926         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
2927         lib/unictype/bitmap.h.
2928         (Depends-on): Add inline. Clean up.
2929         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
2930         recognition.
2931         * tests/unicase/test-u16-tolower.c (main): Likewise.
2932         * tests/unicase/test-u32-tolower.c (main): Likewise.
2933
2934 2009-06-30  Bruno Haible  <bruno@clisp.org>
2935
2936         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
2937         * lib/unicase/u16-casemap.c: Likewise.
2938         * lib/unicase/u32-casemap.c: Likewise.
2939
2940 2009-06-29  Bruno Haible  <bruno@clisp.org>
2941
2942         Define u32_casefold as a wrapper around u32_ct_casefold.
2943         * lib/unicase/u32-casefold.c: Update.
2944         * modules/unicase/u32-casefold (Depends-on): Add
2945         unicase/u32-ct-casefold, unicase/empty-prefix-context,
2946         unicase/empty-suffix-context. Clean up.
2947
2948         Define u16_casefold as a wrapper around u16_ct_casefold.
2949         * lib/unicase/u16-casefold.c: Update.
2950         * modules/unicase/u16-casefold (Depends-on): Add
2951         unicase/u16-ct-casefold, unicase/empty-prefix-context,
2952         unicase/empty-suffix-context. Clean up.
2953
2954         Define u8_casefold as a wrapper around u8_ct_casefold.
2955         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
2956         * lib/unicase/u8-casefold.c: Update.
2957         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
2958         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
2959
2960         Define u32_totitle as a wrapper around u32_ct_totitle.
2961         * lib/unicase/u32-totitle.c: Update.
2962         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
2963         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
2964
2965         Define u16_totitle as a wrapper around u16_ct_totitle.
2966         * lib/unicase/u16-totitle.c: Update.
2967         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
2968         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
2969
2970         Define u8_totitle as a wrapper around u8_ct_totitle.
2971         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
2972         functions.
2973         (FUNC): Delegate to U_CT_TOTITLE.
2974         * lib/unicase/u8-totitle.c: Update.
2975         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
2976         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
2977
2978         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
2979         invocation.
2980         * modules/unicase/u32-tolower (Depends-on): Add
2981         unicase/empty-prefix-context, unicase/empty-suffix-context.
2982
2983         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
2984         invocation.
2985         * modules/unicase/u16-tolower (Depends-on): Add
2986         unicase/empty-prefix-context, unicase/empty-suffix-context.
2987
2988         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
2989         * modules/unicase/u8-tolower (Depends-on): Add
2990         unicase/empty-prefix-context, unicase/empty-suffix-context.
2991
2992         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
2993         invocation.
2994         * modules/unicase/u32-toupper (Depends-on): Add
2995         unicase/empty-prefix-context, unicase/empty-suffix-context.
2996
2997         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
2998         invocation.
2999         * modules/unicase/u16-toupper (Depends-on): Add
3000         unicase/empty-prefix-context, unicase/empty-suffix-context.
3001
3002         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
3003         * modules/unicase/u8-toupper (Depends-on): Add
3004         unicase/empty-prefix-context, unicase/empty-suffix-context.
3005
3006         New module 'unicase/u32-ct-casefold'.
3007         * lib/unicase/u32-ct-casefold.c: New file.
3008         * modules/unicase/u32-ct-casefold: New file.
3009
3010         New module 'unicase/u16-ct-casefold'.
3011         * lib/unicase/u16-ct-casefold.c: New file.
3012         * modules/unicase/u16-ct-casefold: New file.
3013
3014         New module 'unicase/u8-ct-casefold'.
3015         * lib/unicase/u8-ct-casefold.c: New file.
3016         * lib/unicase/u-ct-casefold.h: New file, derived from
3017         lib/unicase/u-casefold.h.
3018         * modules/unicase/u8-ct-casefold: New file.
3019
3020         New module 'unicase/u32-ct-totitle'.
3021         * lib/unicase/u32-ct-totitle.c: New file.
3022         * modules/unicase/u32-ct-totitle: New file.
3023
3024         New module 'unicase/u16-ct-totitle'.
3025         * lib/unicase/u16-ct-totitle.c: New file.
3026         * modules/unicase/u16-ct-totitle: New file.
3027
3028         New module 'unicase/u8-ct-totitle'.
3029         * lib/unicase/u8-ct-totitle.c: New file.
3030         * lib/unicase/u-ct-totitle.h: New file, derived from
3031         lib/unicase/u-totitle.h.
3032         * modules/unicase/u8-ct-totitle: New file.
3033
3034         New module 'unicase/u32-ct-tolower'.
3035         * lib/unicase/u32-ct-tolower.c: New file.
3036         * modules/unicase/u32-ct-tolower: New file.
3037
3038         New module 'unicase/u16-ct-tolower'.
3039         * lib/unicase/u16-ct-tolower.c: New file.
3040         * modules/unicase/u16-ct-tolower: New file.
3041
3042         New module 'unicase/u8-ct-tolower'.
3043         * lib/unicase/u8-ct-tolower.c: New file.
3044         * modules/unicase/u8-ct-tolower: New file.
3045
3046         New module 'unicase/u32-ct-toupper'.
3047         * lib/unicase/u32-ct-toupper.c: New file.
3048         * modules/unicase/u32-ct-toupper: New file.
3049
3050         New module 'unicase/u16-ct-toupper'.
3051         * lib/unicase/u16-ct-toupper.c: New file.
3052         * modules/unicase/u16-ct-toupper: New file.
3053
3054         New module 'unicase/u8-ct-toupper'.
3055         * lib/unicase/u8-ct-toupper.c: New file.
3056         * modules/unicase/u8-ct-toupper: New file.
3057
3058         Add context arguments to u*_casemap functions.
3059         * lib/unicase/unicasemap.h: Include unicase.h.
3060         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
3061         suffix_context arguments.
3062         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
3063         functions.
3064         (FUNC): Add prefix_context and suffix_context arguments. Use
3065         uc_is_cased and uc_is_case_ignorable.
3066         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
3067         * lib/unicase/u16-casemap.c: Likewise.
3068         * lib/unicase/u32-casemap.c: Likewise.
3069         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
3070         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
3071         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
3072         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
3073         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
3074         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
3075
3076         New module 'unicase/u32-suffix-context'.
3077         * lib/unicase/u32-suffix-context.c: New file.
3078         * modules/unicase/u32-suffix-context: New file.
3079
3080         New module 'unicase/u16-suffix-context'.
3081         * lib/unicase/u16-suffix-context.c: New file.
3082         * modules/unicase/u16-suffix-context: New file.
3083
3084         New module 'unicase/u8-suffix-context'.
3085         * lib/unicase/u8-suffix-context.c: New file.
3086         * lib/unicase/u-suffix-context.h: New file.
3087         * modules/unicase/u8-suffix-context: New file.
3088
3089         New module 'unicase/empty-suffix-context'.
3090         * lib/unicase/empty-suffix-context.c: New file.
3091         * modules/unicase/empty-suffix-context: New file.
3092
3093         New module 'unicase/u32-prefix-context'.
3094         * lib/unicase/u32-prefix-context.c: New file.
3095         * modules/unicase/u32-prefix-context: New file.
3096
3097         New module 'unicase/u16-prefix-context'.
3098         * lib/unicase/u16-prefix-context.c: New file.
3099         * modules/unicase/u16-prefix-context: New file.
3100
3101         New module 'unicase/u8-prefix-context'.
3102         * lib/unicase/u8-prefix-context.c: New file.
3103         * lib/unicase/u-prefix-context.h: New file.
3104         * lib/unicase/context.h: New file.
3105         * modules/unicase/u8-prefix-context: New file.
3106
3107         New module 'unicase/empty-prefix-context'.
3108         * lib/unicase/empty-prefix-context.c: New file.
3109         * modules/unicase/empty-prefix-context: New file.
3110
3111         New module 'unicase/ignorable'.
3112         * lib/unicase/ignorable.c: New file.
3113         * modules/unicase/ignorable: New file.
3114
3115         New module 'unicase/cased'.
3116         * lib/unicase/caseprop.h: New file.
3117         * lib/unicase/cased.c: New file.
3118         * modules/unicase/cased: New file.
3119
3120         New functions for case mapping of substrings.
3121         * lib/unicase.h (casing_prefix_context_t): New type.
3122         (unicase_empty_prefix_context): New variable.
3123         (u8_casing_prefix_context, u16_casing_prefix_context,
3124         u32_casing_prefix_context, u8_casing_prefixes_context,
3125         u16_casing_prefixes_context, u32_casing_prefixes_context): New
3126         declarations.
3127         (casing_suffix_context_t): New type.
3128         (unicase_empty_suffix_context): New variable.
3129         (u8_casing_suffix_context, u16_casing_suffix_context,
3130         u32_casing_suffix_context, u8_casing_suffixes_context,
3131         u16_casing_suffixes_context, u32_casing_suffixes_context,
3132         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
3133         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
3134         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
3135         declarations.
3136
3137 2009-06-28  Jim Meyering  <meyering@redhat.com>
3138
3139         boostrap: indent only with spaces
3140         * build-aux/bootstrap: Indent only with spaces, never TABs.
3141
3142         bootstrap: split long lines
3143         * build-aux/bootstrap: Keep line length < 80.
3144
3145         bootstrap: sync from coreutils
3146         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
3147         just as autoreconf does.  Verify a list of prerequisite
3148         package-name,version-number pairs if defined in bootstrap.conf.
3149         Refer to README-prereq, if prerequisites are not satisfied.
3150
3151 2009-06-27  Eric Blake  <ebb9@byu.net>
3152
3153         tests: add test for bogus NULL definition
3154         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
3155         * tests/test-stdlib.c: Likewise.
3156         * tests/test-string.c: Likewise.
3157         * tests/test-locale.c: Likewise.
3158         * tests/test-unistd.c: Likewise.
3159         * modules/stdio-tests (Depends-on): Add verify.
3160         * modules/stdlib-tests (Depends-on): Likewise.
3161         * modules/string-tests (Depends-on): Likewise.
3162         * modules/locale-tests (Depends-on): Likewise.
3163         * modules/unistd-tests (Depends-on): Likewise.
3164
3165 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
3166
3167         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
3168         self-explaining comment.
3169         * m4/selinux-selinux-h: Update serial.
3170         (gl_LIBSELINUX): New macro, adding a warning for missing development
3171         packages to code extracted from...
3172         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
3173         Add warning for missing development packages here, too.
3174
3175 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
3176
3177         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
3178
3179 2009-06-25  Eric Blake  <ebb9@byu.net>
3180
3181         version-etc: fix regression
3182         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
3183         gcc.
3184         (version_etc): Use it, to catch bugs with trailing NULL.
3185         * lib/version-etc.c (version_etc_arn): Delete unused argument.
3186         (version_etc_va): Fix logic bug.
3187         * modules/version-etc-tests: Add test.
3188         * tests/test-version-etc.c: New file.
3189         * tests/test-version-etc.sh: Likewise.
3190
3191 2009-06-25  Sam Steingold  <sds@gnu.org>
3192
3193         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
3194         mbtowc declaration.
3195
3196 2009-06-25  Eric Blake  <ebb9@byu.net>
3197
3198         fpurge: migrate into <stdio.h>
3199         * lib/fpurge.h: Delete...
3200         * lib/stdio.in.h (fpurge): ...and declare here, instead.
3201         * lib/fpurge.c (fpurge): Change declaring header.
3202         * modules/fpurge (Files): Drop deleted file.
3203         (Depends-on): Add stdio.
3204         (configure.ac): Set witness.
3205         * modules/stdio (Makefile.am): Support fpurge macros.
3206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
3207         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
3208         * lib/fflush.c: Update client.
3209         * tests/test-fpurge.c: Likewise.
3210         * NEWS: Mention the change.
3211
3212 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
3213
3214        * lib/argp-version-etc.c (program_authors): Add const
3215        qualifier.
3216        * lib/version-etc.c: Fix typos in the comments.
3217        * modules/argp-version-etc: Depends on version-etc.
3218
3219 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
3220
3221         argp-version-etc: new module.
3222
3223         * lib/argp-version-etc.c: New file.
3224         * lib/argp-version-etc.h: New file.
3225         * modules/argp-version-etc: New file.
3226         * modules/argp-version-etc-tests: New file.
3227         * tests/test-argp-version-etc.c: New test.
3228         * tests/test-argp-version-etc-1.sh: New test.
3229
3230 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
3231
3232         Provide additional interfaces and documentation for version-etc
3233         module.
3234
3235         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
3236         interfaces.
3237         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
3238         prototypes.
3239
3240 2009-06-24  Bruno Haible  <bruno@clisp.org>
3241
3242         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
3243         HAVE_LIB${NAME} macro.
3244         Reported by Sam Steingold <sds@gnu.org>.
3245
3246 2009-06-23  Simon Josefsson  <simon@josefsson.org>
3247
3248         * modules/hash-tests (test_hash_LDADD): Link to libintl when
3249         needed.
3250
3251 2009-06-21  Bruno Haible  <bruno@clisp.org>
3252
3253         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
3254         work.
3255         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
3256         together with LIB${NAME}, LTLIB${NAME}.
3257         Reported by Sam Steingold <sds@gnu.org>.
3258
3259 2009-06-20  Jim Meyering  <meyering@redhat.com>
3260
3261         tests: make sc_require_test_exit_idiom more generic
3262         * top/maint.mk (Exit_witness_file): New overridable variable.
3263         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
3264         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
3265
3266 2009-06-19  Jim Meyering  <meyering@redhat.com>
3267
3268         hash: reverse order of src/dst parameters in an internal interface
3269         * lib/hash.c (transfer_entries): Reverse order of parameters to
3270         put DST before SRC.  Adjust callers.
3271
3272         tests: test-hash: avoid wholesale duplication
3273         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
3274         Instead, use a loop and add a single conditional.
3275
3276         tests: test-hash: allow seed selection via a command line argument
3277         * tests/test-hash.c (get_seed): New function.
3278         (main): Use it.
3279
3280 2009-06-19  Eric Blake  <ebb9@byu.net>
3281
3282         hash: avoid memory leak on allocation failure
3283         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
3284         failure.  Factor repeated algorithm...
3285         (transfer_entries): ...into new helper routine.
3286         (hash_delete): React to hash_rehash return value.
3287
3288         hash: reduce memory pressure in hash_rehash no-op case
3289         * lib/hash.c (next_prime): Avoid overflow.
3290         (hash_initialize): Factor bucket size computation...
3291         (compute_bucket_size): ...into new helper function.
3292         (hash_rehash): Use new function and open coding to reduce memory
3293         pressure, and avoid a memory leak in USE_OBSTACK code.
3294         Reported by Jim Meyering.
3295
3296 2009-06-18  Eric Blake  <ebb9@byu.net>
3297
3298         hash: make rotation more obvious
3299         * modules/hash (Depends-on): Add bitrotate and stdint.
3300         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
3301         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
3302         (SIZE_MAX): Rely on headers for definition.
3303         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
3304         (raw_hasher): Use rotr_sz.
3305         Suggested by Jim Meyering.
3306
3307         hash: fix memory leak in last patch
3308         * lib/hash.c (hash_rehash): Avoid memory leak.
3309
3310         hash: avoid no-op rehashing
3311         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
3312
3313         hash: provide default callback functions
3314         * lib/hash.c (raw_hasher, raw_comparator): New functions.
3315         (hash_initialize): Use them as defaults.
3316         * tests/test-hash.c (main): Test this.
3317
3318         hash: minor optimization
3319         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
3320         when possible.
3321         (hash_initialize): Document this promise.
3322         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
3323         * tests/test-hash.c (hash_compare_strings): Test this.
3324
3325 2009-06-18  Bruno Haible  <bruno@clisp.org>
3326
3327         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
3328         going to be replaced anyway.
3329
3330 2009-06-18  Bruno Haible  <bruno@clisp.org>
3331
3332         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
3333         in one place.
3334         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
3335         be replaced anyway.
3336
3337 2009-06-18  Eric Blake  <ebb9@byu.net>
3338
3339         hash: check for resize before insertion
3340         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
3341         threshold before insertion, so that a pathological hash_rehash
3342         that fills every bucket can still trigger another rehash.
3343
3344 2009-06-18  Jim Meyering  <meyering@redhat.com>
3345
3346         hash-tests: add a loop around the small tests
3347         * tests/test-hash.c (main): Repeat small tests with selected
3348         small initial table sizes.
3349
3350 2009-06-17  Eric Blake  <ebb9@byu.net>
3351
3352         hash: minor cleanups
3353         * lib/hash.h (hash_entry): Make opaque, by moving...
3354         * lib/hash.c (hash_entry): ...here.
3355         (hash_insert): Clarify restrictions on what can be inserted.
3356         (hash_get_next): Clarify when it is safe to remove an element
3357         during traversal.
3358         (check_tuning): Skip verification when tuning is known safe.
3359         (hash_initialize): Clarify restrictions on tuning.
3360
3361 2009-06-17  Jim Meyering  <jim@meyering.net>
3362         and Eric Blake  <ebb9@byu.net>
3363
3364         hash-tests: new module
3365         * modules/hash-tests: New file.
3366         * tests/test-hash.c: New file.
3367
3368 2009-06-17  Eric Blake  <ebb9@byu.net>
3369
3370         strstr-simple: document new module
3371         * MODULES.html.sh: Document new module.
3372
3373         strstr, strcasestr: replace on platforms with broken memchr
3374         * modules/strstr: Split into...
3375         * modules/strstr-simple: ...new module that does not care about
3376         performance, but does care about glibc bug.
3377         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
3378         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
3379         if platform memchr is broken, per Debian bug 521737.
3380         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
3381         memchr.
3382         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
3383         * doc/posix-functions/strstr.texi (strstr): Document the fix.
3384         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
3385         * modules/mountlist (Depends-on): Add strstr-simple.
3386         * modules/gen-uni-tables (Depends-on): Likewise.
3387         * modules/argz (Depends-on): Add strstr.
3388
3389 2009-06-17  Bruno Haible  <bruno@clisp.org>
3390
3391         * modules/posix_spawn-internal (Depends-on): Add errno.
3392
3393 2009-06-17  Bruno Haible  <bruno@clisp.org>
3394
3395         Define missing ESTALE on Interix 3.5.
3396         * lib/errno.in.h (ESTALE): Assign a value if missing.
3397         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
3398         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
3399         missing.
3400         * doc/posix-headers/errno.texi: Mention the Interix bug.
3401         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
3402
3403 2009-06-15  Eric Blake  <ebb9@byu.net>
3404
3405         memchr, memchr2: add valgrind exception
3406         * lib/memchr.valgrind: New file.
3407         * lib/memchr2.valgrind: New file.
3408         * modules/memchr (Files): Distribute valgrind file.
3409         * modules/memchr2 (Files): Likewise.
3410
3411         docs: memchr is no longer obsolete
3412         * MODULES.html.sh: Move memchr from obsolete to string.h section.
3413         * lib/string.in.h (memchr): Simplify logic.
3414
3415 2009-06-14  Jim Meyering  <meyering@redhat.com>
3416
3417         link-follow: fix the "checking..." message to not mention trailing slash
3418         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
3419         never considered trailing slashes.
3420
3421 2009-06-14  Bruno Haible  <bruno@clisp.org>
3422
3423         * m4/memchr.m4: Mention also the bug on IA-64.
3424         * doc/posix-functions/memchr.texi: Likewise.
3425
3426 2009-06-12  Eric Blake  <ebb9@byu.net>
3427
3428         memchr: detect broken x86_64 and alpha implementations
3429         * modules/memchr-tests (Depends-on): Move mmap detection...
3430         * modules/memchr (Depends-on): ...here.
3431         (configure.ac): Set indicator.
3432         * lib/string.in.h (memchr): Declare replacement.
3433         * modules/string (Makefile.am): Trigger replacement.
3434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
3435         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
3436         bugs.
3437         * doc/posix-functions/memchr.texi (memchr): Document the bug.
3438         * modules/getpagesize (License): Relax license.
3439
3440 2009-06-11  Bruno Haible  <bruno@clisp.org>
3441
3442         * lib/idpriv.h: Add more references.
3443
3444 2009-06-08  Bruno Haible  <bruno@clisp.org>
3445
3446         Tests for module 'idpriv-droptemp'.
3447         * modules/idpriv-droptemp-tests: New file.
3448         * tests/test-idpriv-droptemp.sh: New file.
3449         * tests/test-idpriv-droptemp.su.sh: New file.
3450         * tests/test-idpriv-droptemp.c: New file.
3451
3452         New module 'idpriv-droptemp'.
3453         * lib/idpriv-droptemp.c: New file.
3454         * modules/idpriv-droptemp: New file.
3455
3456 2009-06-08  Bruno Haible  <bruno@clisp.org>
3457
3458         Tests for module 'idpriv-drop'.
3459         * modules/idpriv-drop-tests: New file.
3460         * tests/test-idpriv-drop.sh: New file.
3461         * tests/test-idpriv-drop.su.sh: New file.
3462         * tests/test-idpriv-drop.c: New file.
3463
3464         New module 'idpriv-drop'.
3465         * lib/idpriv.h: New file.
3466         * lib-idpriv-drop.c: New file.
3467         * m4/idpriv.m4: New file.
3468         * modules/idpriv-drop: New file.
3469
3470 2009-06-08  Bruno Haible  <bruno@clisp.org>
3471
3472         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
3473         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
3474         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
3475         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
3476         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
3477         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
3478         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
3479
3480 2009-06-08  Eric Blake  <ebb9@byu.net>
3481
3482         test-strstr: use memory fence, when possible
3483         * tests/test-strstr.c (main): Use memory fence, in order to be
3484         more likely to trigger Debian bug 521737.
3485         * modules/strstr-tests (Files): Pull in additional files.
3486
3487         memchr: no longer obsolete, for wider field testing
3488         * modules/memchr (Status, Notice): Delete, this module is no
3489         longer obsolete.
3490         * modules/vasnprintf (Depends-on): Add memchr.
3491
3492 2009-06-07  Jim Meyering  <meyering@redhat.com>
3493
3494         hash: declare some functions with the warn_unused_result attribute
3495         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
3496
3497 2009-06-07  Bruno Haible  <bruno@clisp.org>
3498
3499         * tests/test-alignof.c: Don't test int64_t if it does not exist.
3500         Reported by Eric Blake.
3501
3502 2009-06-06  Eric Blake  <ebb9@byu.net>
3503
3504         test-alignof: fix typo with long double
3505         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
3506         compiler error.
3507
3508 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
3509
3510         Escape non-texinfo { and }s.
3511         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
3512         markup error.
3513
3514 2009-06-04  Jim Meyering  <meyering@redhat.com>
3515
3516         gitlog-to-changelog: don't infloop on an empty commit log
3517         * build-aux/gitlog-to-changelog: Warn about an empty log message.
3518         Reported by Boris Petersen <transacid@centerim.org>.
3519
3520 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
3521
3522         version-etc: extend for packagers
3523         Add three new configure options, intended for packagers:
3524           --with-packager="packager name"
3525           --with-packager-version="packager-specific version"
3526           --with-packager-bug-reports="packager bug reporting"
3527         An example with coreutils:
3528           $ ./configure \
3529             --with-packager=Gentoo \
3530             --with-packager-bug-report=http://bugs.gentoo.org/ \
3531             --with-packager-version="patchset 1.6"
3532           $ ./src/ls --version | head -n3
3533           ls (GNU coreutils) 7.1-dirty
3534           Packaged by Gentoo (patchset 1.6)
3535           Copyright (C) 2009 Free Software Foundation, Inc.
3536         Note that the bug reporting info via --help doesn't show up because
3537         coreutils uses its own custom emit_bug_reporting_address() implementation
3538         in src/system.h.  If it didn't, it'd look like:
3539           $ ./src/ls --help | tail -n4
3540           Report bugs to <bug-coreutils@gnu.org>.
3541           Report Gentoo bugs to <http://bugs.gentoo.org/>.
3542           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
3543           General help using GNU software: <http://www.gnu.org/gethelp/>.
3544         * lib/version-etc.c: Print new information, if provided.
3545         * m4/version-etc.m4: New file.
3546         * modules/version-etc (Files): Add m4/version-etc.m4.
3547         (configure.ac): Add gl_VERSION_ETC.
3548
3549 2009-05-31  Bruno Haible  <bruno@clisp.org>
3550
3551         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
3552         and 'int64_t'.
3553         * modules/alignof-tests (Dependencies): Add stdint.
3554         Reported by Eric Blake.
3555
3556 2009-05-31  Bruno Haible  <bruno@clisp.org>
3557
3558         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
3559         restriction due to compiler bugs.
3560         Reported by Eric Blake.
3561
3562 2009-05-31  Simon Josefsson  <simon@josefsson.org>
3563             Bruno Haible  <bruno@clisp.org>
3564
3565         Fix test-alignof failure.
3566         * lib/alignof.h (alignof_slot): New macro.
3567         (alignof_type): New macro, with the same semantics as the previous
3568         'alignof'.
3569         (alignof): Alias to alignof_slot.
3570         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
3571         check that the results are usable as constant expressions.
3572
3573 2009-05-31  Bruno Haible  <bruno@clisp.org>
3574
3575         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
3576         * tests/test-memchr.c (main): Check that memchr does not read past the
3577         first occurrence of the byte.
3578         * tests/test-strstr.c (main): Update comment.
3579         Suggested by Eric Blake.
3580
3581 2009-05-30  Bruno Haible  <bruno@clisp.org>
3582
3583         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
3584         detail how to use dumpbin.
3585         Reported by David Byron <dbyron@dbyron.com>.
3586
3587 2009-06-02  Simon Josefsson  <simon@josefsson.org>
3588
3589         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
3590
3591 2009-06-02  Simon Josefsson  <simon@josefsson.org>
3592
3593         * m4/manywarnings.m4: Add GCC 4.4 warnings.
3594
3595 2009-05-28  Bruno Haible  <bruno@clisp.org>
3596
3597         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
3598         build-aux/ files.
3599
3600 2009-05-28  Simon Josefsson  <simon@josefsson.org>
3601
3602         * gnulib-tool (func_import): Transform license on build-aux/ files too.
3603
3604 2009-05-27  Simon Josefsson  <simon@josefsson.org>
3605
3606         * gnulib-tool (sed_transform_main_lib_file)
3607         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
3608         regexps.
3609
3610 2009-05-26  Simon Josefsson  <simon@josefsson.org>
3611
3612         * tests/test-strstr.c: Add another self-test.
3613         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
3614         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
3615
3616 2009-05-23  Bruno Haible  <bruno@clisp.org>
3617
3618         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
3619         change.
3620
3621 2009-05-21  Bruno Haible  <bruno@clisp.org>
3622
3623         Simplify use of mode_t varargs.
3624         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
3625         uses 'mode_t' or 'int'.
3626         * lib/openat.c (openat): Likewise.
3627         * lib/open-safer.c (open_safer): Likewise.
3628         * m4/mode_t.m4: New file.
3629         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
3630         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
3631         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
3632         * modules/open (Files): Add m4/mode_t.m4.
3633         * modules/openat (Files): Likewise.
3634         * modules/fcntl-safer (Files): Likewise.
3635         Suggested by Eric Blake.
3636
3637 2009-05-21  Pádraig Brady  <P@draigbrady.com>
3638
3639         * doc/glibc-functions/fallocate.texi: New file.
3640         * doc/gnulib.texi: Include it.
3641
3642 2009-05-21  Eric Blake  <ebb9@byu.net>
3643             Bruno Haible  <bruno@clisp.org>
3644
3645         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
3646         invocations.
3647         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
3648
3649 2009-05-21  Eric Blake  <ebb9@byu.net>
3650             Bruno Haible  <bruno@clisp.org>
3651
3652         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
3653         include_next. Fix of 2008-11-20 commit.
3654         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
3655         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
3656         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
3657         NEXT_MATH_H.
3658         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
3659         instead of NEXT_MATH_H.
3660
3661 2009-05-21  Bruno Haible  <bruno@clisp.org>
3662
3663         Avoid redefinition warnings for SIZE_MAX.
3664         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
3665         Reported by Simon Josefsson.
3666
3667 2009-05-21  Bruno Haible  <bruno@clisp.org>
3668
3669         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
3670         AC_CACHE_VAL.
3671
3672 2009-05-20  Bruno Haible  <bruno@clisp.org>
3673
3674         Make zeroptr.h work on mingw.
3675         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
3676         mprotect.
3677         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
3678         * modules/memchr2-tests (configure.ac): Likewise.
3679         * modules/memcmp-tests (configure.ac): Likewise.
3680         * modules/memmem-tests (configure.ac): Likewise.
3681         * modules/memrchr-tests (configure.ac): Likewise.
3682         Reported by Simon Josefsson.
3683
3684 2009-05-20  Simon Josefsson  <simon@josefsson.org>
3685
3686         * tests/test-glob.c: Include string.h for strcmp prototype.
3687
3688 2009-05-20  Simon Josefsson  <simon@josefsson.org>
3689
3690         * modules/getdelim (Depends-on): Add explicit stdint, although it
3691         was implicitly already pulled in via realloc-posix.
3692         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
3693
3694 2009-05-20  Simon Josefsson  <simon@josefsson.org>
3695
3696         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
3697         G. Christensen" <tgc@jupiterrise.com>.
3698         * m4/sys_socket_h.m4: Check for sa_family_t.
3699         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
3700         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
3701         * tests/test-sys_socket.c: Check that sa_family_t works.
3702
3703 2009-05-18  Eric Blake  <ebb9@byu.net>
3704
3705         maint.mk: allow gnulib_dir in VPATH build
3706         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
3707
3708 2009-05-15  Jim Meyering  <meyering@redhat.com>
3709
3710         maint.mk: Give gnulib_dir a default definition.
3711         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
3712         Thus, most packages no longer need to specify this variable in cfg.mk
3713
3714 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
3715
3716         rename.m4: fix typos that would make non-mingw cross-configure fail
3717         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
3718
3719 2009-05-13  Eric Blake  <ebb9@byu.net>
3720
3721         mmap-anon: avoid out-of-order autoconf expansion
3722         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
3723         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
3724         * modules/memchr-tests (Depends-on): Add extensions.
3725         * modules/memchr2-tests (Depends-on): Add extensions.
3726         * modules/memcmp-tests (Depends-on): Add extensions.
3727         * modules/memmem-tests (Depends-on): Add extensions.
3728         * modules/memrchr-tests (Depends-on): Add extensions.
3729
3730 2009-05-13  Bruno Haible  <bruno@clisp.org>
3731
3732         Make some tests ISO C 99 compliant.
3733         * tests/zerosize-ptr.h: New file.
3734         * tests/test-memchr.c: Include zerosize-ptr.h.
3735         (main): Use a zero-size object pointer instead of NULL.
3736         * tests/test-memchr2.c: Include zerosize-ptr.h.
3737         (main): Use a zero-size object pointer instead of NULL.
3738         * tests/test-memcmp.c: Include zerosize-ptr.h.
3739         (main): Use a zero-size object pointer instead of NULL.
3740         * tests/test-memmem.c: Include zerosize-ptr.h.
3741         (main): Use a zero-size object pointer instead of NULL.
3742         * tests/test-memrchr.c: Include zerosize-ptr.h.
3743         (main): Use a zero-size object pointer instead of NULL.
3744         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
3745         m4/mmap-anon.m4.
3746         (Depends-on): Add getpagesize.
3747         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
3748         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
3749         m4/mmap-anon.m4.
3750         (Depends-on): Add getpagesize.
3751         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
3752         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
3753         m4/mmap-anon.m4.
3754         (Depends-on): Add getpagesize.
3755         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
3756         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
3757         m4/mmap-anon.m4.
3758         (Depends-on): Add getpagesize.
3759         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
3760         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
3761         m4/mmap-anon.m4.
3762         (Depends-on): Add getpagesize.
3763         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
3764
3765 2009-05-12  Bruno Haible  <bruno@clisp.org>
3766
3767         Tests for module 'alignof'.
3768         * modules/alignof-tests: New file.
3769         * tests/test-alignof.c: New file.
3770
3771 2009-05-12  Bruno Haible  <bruno@clisp.org>
3772
3773         Fix alignof macro.
3774         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
3775         vendor compilers that are always correct.
3776
3777 2009-05-12  Bruno Haible  <bruno@clisp.org>
3778
3779         Make the MAP_ANONYMOUS detection work on HP-UX 11.
3780         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
3781         not whether its fully works.
3782
3783 2009-05-12  Bruno Haible  <bruno@clisp.org>
3784
3785         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
3786
3787 2009-05-12  Jim Meyering  <meyering@redhat.com>
3788
3789         * top/maint.mk: Adjust backslash alignment.
3790
3791 2009-05-11  Simon Josefsson  <simon@josefsson.org>
3792
3793         * top/maint.mk: Make $(srcdir)/build-aux configurable.
3794
3795 2009-05-11  Eric Blake  <ebb9@byu.net>
3796
3797         argp: avoid undefined behavior
3798         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
3799         macros.
3800
3801 2009-05-08  Simon Josefsson  <simon@josefsson.org>
3802
3803         * tests/test-vc-list-files-git.sh: Do git config of user.email and
3804         user.name to prevent git commit from complaining.
3805
3806 2009-05-10  Bruno Haible  <bruno@clisp.org>
3807
3808         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
3809         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
3810         it rewrites every file name only once.
3811         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
3812
3813 2009-05-08  Bruno Haible  <bruno@clisp.org>
3814
3815         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
3816         instead of 'max'.
3817
3818 2009-05-08  Simon Josefsson  <simon@josefsson.org>
3819
3820         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
3821         sockaddr_storage test.
3822
3823 2009-05-07  Simon Josefsson  <simon@josefsson.org>
3824
3825         * modules/sys_socket (Makefile.am): Substitute
3826         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
3827         * m4/sys_socket_h.m4: Check for sockaddr_storage.
3828         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
3829         * tests/test-sys_socket.c: Check sockaddr_storage.
3830
3831 2009-05-08  Bruno Haible  <bruno@clisp.org>
3832
3833         New module 'alignof'.
3834         * lib/alignof.h: New file.
3835         * modules/alignof: New file.
3836
3837 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
3838             Bruno Haible  <bruno@clisp.org>
3839
3840         Fix test-file-has-acl on FreeBSD.
3841         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
3842         mask is implicitly added.
3843         * tests/test-file-has-acl.c: Include <signal.h>.
3844         (main): Terminate the test after 5 seconds.
3845         * modules/acl-tests (configure.ac): Check for alarm function.
3846
3847 2009-05-04  Bruno Haible  <bruno@clisp.org>
3848
3849         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
3850         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
3851         * modules/errno (configure.ac): Drop AC_REQUIRE.
3852         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
3853         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
3854
3855 2009-05-04  Simon Josefsson  <simon@josefsson.org>
3856
3857         * modules/glob-tests: New module.
3858         * tests/test-glob.c: Add.
3859
3860 2009-05-04  Simon Josefsson  <simon@josefsson.org>
3861
3862         * modules/fnmatch-tests: New module.
3863         * tests/test-fnmatch.c: Add.
3864
3865 2009-05-04  Eric Blake  <ebb9@byu.net>
3866
3867         maint: make the new no-submodule-changes rule VPATH-safe
3868         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
3869
3870 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
3871             Bruno Haible  <bruno@clisp.org>
3872
3873         acl: Fix infinite loop on FreeBSD.
3874         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
3875         of return value from acl_get_entry.
3876         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
3877         Likewise.
3878
3879 2009-05-03  Bruno Haible  <bruno@clisp.org>
3880
3881         * lib/acl-internal.h (acl_entries): Clarify return value.
3882         * lib/acl_entries.c (acl_entries): Likewise.
3883
3884 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
3885
3886         Bug fix in acl module.
3887         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
3888
3889 2009-05-03  Bruno Haible  <bruno@clisp.org>
3890
3891         Create gperf-generated file in the source dir, not in the build dir.
3892         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
3893         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
3894         * modules/unicase/locale-language (unicase/locale-languages.h):
3895         Likewise.
3896         * modules/unicase/special-casing (unicase/special-casing-table.h):
3897         Likewise.
3898         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
3899         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
3900         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
3901         Reported by Ralf Wildenhues.
3902
3903 2009-05-03  Bruno Haible  <bruno@clisp.org>
3904
3905         * modules/fnmatch (Description, configure.ac): Taken from
3906         fnmatch-posix.
3907         * modules/fnmatch-posix: Turn into a symbolic reference to the
3908         'fnmatch' module, and deprecate.
3909         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
3910
3911 2009-05-03  Bruno Haible  <bruno@clisp.org>
3912
3913         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
3914         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
3915         Reported by Ralf Wildenhues.
3916
3917 2009-05-04  Simon Josefsson  <simon@josefsson.org>
3918
3919         * m4/fnmatch.m4: Fix fnmatch re-define.
3920
3921 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
3922
3923         priv-set: new module and tests; adapt write-any-file
3924         * lib/priv-set.c: New file.
3925         * lib/priv-set.h: New file.
3926         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
3927         * lib/write-any-file.c: Simplify by using priv-set module.
3928         * m4/priv-set.m4: New file.
3929         * modules/priv-set: New file.
3930         * modules/unlinkdir: Add dependency on priv-set module.
3931         * modules/write-any-file: Likewise.
3932
3933         Tests for module 'priv-set'.
3934         * modules/priv-set-tests: New file.
3935         * tests/test-priv-set.c: New file.
3936
3937 2009-05-03  Jim Meyering  <meyering@redhat.com>
3938             Bruno Haible  <bruno@clisp.org>
3939
3940         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
3941         use the converted UTF-8 variant of the name instead.
3942
3943 2009-05-03  Jim Meyering  <meyering@redhat.com>
3944
3945         tests: tighten some getdate tests
3946         * tests/test-getdate.c (main): Tighten tests: require equality,
3947         not just greater than.  Set TZ envvar to UTC0.
3948
3949 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
3950
3951         getdate: correctly interpret "next monday" when run on a Monday
3952         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
3953         that e.g., "next tues" (when run on a tuesday) results in a date
3954         that is one week in the future, and not today's date.
3955         I.e., add a week when the wday is the same as the current one.
3956         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
3957         and earlier by Martin Bernreuther and Jan Minář.
3958         * tests/test-getdate.c (main): Check that "next DAY" is always in
3959         the future and that "last DAY" is always in the past.
3960
3961 2009-05-02  Jim Meyering  <meyering@redhat.com>
3962
3963         build: ensure that a release build fails when a submodule is unclean
3964         * top/maint.mk (no-submodule-changes): New rule.
3965         (alpha beta major): Depend on it.
3966
3967 2009-05-02  Bruno Haible  <bruno@clisp.org>
3968
3969         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
3970         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
3971         shell variable gl_fnmatch_required to detect which variant is
3972         requested.
3973         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
3974         gl_FUNC_FNMATCH_POSIX.
3975         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
3976         exclude fnmatch-posix.
3977
3978 2009-05-02  Bruno Haible  <bruno@clisp.org>
3979
3980         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
3981         * modules/mbsrtowcs (License): Change to LGPLv2+.
3982         * modules/strnlen1 (License): Likewise.
3983         Reported by Simon Josefsson.
3984
3985 2009-05-02  Bruno Haible  <bruno@clisp.org>
3986
3987         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
3988         "cross".
3989         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
3990         gnulib-tool was called with option --source-base=lib.
3991
3992 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3993
3994         Use automake *-local hooks without commands, for extensibility.
3995         * modules/localcharset (Makefile.am): Rename install-exec-local
3996         rule to install-exec-localcharset, and make it a prerequisite of
3997         install-exec-local.  Likewise, rename the uninstall-local rule to
3998         uninstall-localcharset, and make it a prerequisite of the former.
3999
4000 2009-05-01  Bruno Haible  <bruno@clisp.org>
4001
4002         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
4003         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
4004         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
4005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
4006         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
4007         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
4008         m4/locale-zh.m4, m4/codeset.m4.
4009
4010         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
4011         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
4012         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
4013         m4/locale-zh.m4.
4014
4015         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
4016         REPLACE_WCRTOMB if mbstate_t must be replaced.
4017         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
4018         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
4019
4020 2009-05-01  Bruno Haible  <bruno@clisp.org>
4021
4022         Avoid compiler warnings when redefining macros defined by <libintl.h>.
4023         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
4024         dngettext, dcngettext, textdomain, bindtextdomain,
4025         bind_textdomain_codeset): Undefine before redefining.
4026
4027 2009-04-30  Bruno Haible  <bruno@clisp.org>
4028
4029         Fix bug introduced on 2009-04-25.
4030         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
4031         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
4032         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
4033         is defined.
4034         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
4035         is defined.
4036         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
4037         is defined.
4038         Reported by Elbert_Pol <elbert.pol@gmail.com>.
4039
4040 2009-04-28  Bruno Haible  <bruno@clisp.org>
4041
4042         Comment tweaks.
4043         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
4044         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
4045         * lib/unicase.h (u*_casexfrm): Likewise.
4046         Reported by Paolo Bonzini.
4047
4048 2009-04-28  Bruno Haible  <bruno@clisp.org>
4049
4050         Fix a compilation error.
4051         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
4052         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
4053         Reported by Jim Meyering.
4054
4055 2009-04-27  Bruno Haible  <bruno@clisp.org>
4056
4057         New module 'libunistring'.
4058         * modules/libunistring: New file.
4059         * m4/libunistring.m4: New file.
4060         * MODULES.html.sh (Unicode string functions): Add it.
4061
4062 2009-04-27  Eric Blake  <ebb9@byu.net>
4063
4064         maint.mk: allow package-specific header to provide <config.h>
4065         * top/maint.mk (sc_require_config_h): New variable.
4066         (sc_require_config_h, sc_require_config_h_first): Use it.
4067
4068 2009-04-27  Simon Josefsson  <simon@josefsson.org>
4069
4070         * top/maint.mk (sc_avoid_if_before_free): Except
4071         useless-if-before-free script.
4072
4073 2009-04-27  Eric Blake  <ebb9@byu.net>
4074
4075         maintainer-makefile: depend on all required helper scripts
4076         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
4077         useless-if-before-free.
4078         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
4079         version, rather than assuming gnulib checkout is available.
4080         Reported by Simen Josefsson.
4081
4082 2009-04-26  Bruno Haible  <bruno@clisp.org>
4083
4084         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
4085         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
4086         "../" or "..".
4087
4088 2009-04-26  Bruno Haible  <bruno@clisp.org>
4089
4090         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
4091         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
4092         AC_LIB_HAVE_LINKFLAGS.
4093
4094 2009-04-26  Bruno Haible  <bruno@clisp.org>
4095
4096         Simplify calling convention of u*_conv_from_encoding.
4097         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
4098         u32_conv_from_encoding): Expect a resultbuf argument and return the
4099         result directly as a pointer.
4100         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
4101         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
4102         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
4103         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
4104         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
4105         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
4106         Update.
4107         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
4108         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
4109         * lib/vasnprintf.c (VASNPRINTF): Update.
4110         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
4111         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
4112         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
4113         * NEWS: Mention the change.
4114
4115 2009-04-26  Bruno Haible  <bruno@clisp.org>
4116
4117         Simplify calling convention of u*_conv_to_encoding.
4118         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
4119         u32_conv_to_encoding): Expect a resultbuf argument and return the
4120         result directly as a pointer.
4121         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
4122         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
4123         freeing scaled_offsets if mem_iconveha failed.
4124         * lib/unicase/u-casexfrm.h (FUNC): Update.
4125         * lib/uninorm/u-normxfrm.h (FUNC): Update.
4126         * lib/vasnprintf.c (VASNPRINTF): Update.
4127         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
4128         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
4129         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
4130         * NEWS: Mention the change.
4131
4132 2009-04-26  Bruno Haible  <bruno@clisp.org>
4133
4134         Avoid test failures on AIX and OSF/1.
4135         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
4136         malloc(0).
4137         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
4138         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
4139         Likewise.
4140         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
4141         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
4142         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
4143         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
4144         * doc/posix-functions/malloc.texi: Document the portability problem
4145         related to malloc(0).
4146
4147 2009-04-26  Bruno Haible  <bruno@clisp.org>
4148
4149         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
4150         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
4151         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
4152
4153 2009-04-25  Bruno Haible  <bruno@clisp.org>
4154
4155         Avoid link error when creating a namespace clean library.
4156         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
4157         as macro with arguments if already defined as an alias.
4158         * lib/signbitf.c (gl_signbitf): Don't undefine.
4159         * lib/signbitd.c (gl_signbitd): Don't undefine.
4160         * lib/signbitl.c (gl_signbitl): Don't undefine.
4161
4162 2009-04-25  Jim Meyering  <meyering@redhat.com>
4163
4164         vc-list-files: fix another quoting bug
4165         * build-aux/vc-list-files: Avoid sed backslash expansion
4166         of pathological directory names.
4167
4168 2009-04-25  Eric Blake  <ebb9@byu.net>
4169
4170         vc-list-files: fix shell quoting error
4171         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
4172         timestamp.
4173
4174 2009-04-25  Jim Meyering  <meyering@redhat.com>
4175
4176         vc-list-files: restore lost functionality with subdir argument
4177         * build-aux/vc-list-files: When given a non-"." sub-directory
4178         argument, substitute the $dir/ prefix back onto each resulting name.
4179         Otherwise, coreutils' root_tests check would fail.
4180
4181 2009-04-24  Eric Blake  <ebb9@byu.net>
4182
4183         vc-list-files: ignore git symlinks
4184         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
4185         than ls-files, to ignore git symlinks.
4186
4187         maint.mk: import improvements from m4
4188         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
4189         (move_if_change): Delete unused macro.
4190         (news-date-check, vc-diff-check): Support VPATH builds.
4191         (announcement): Likewise.  Split --bootstrap-tools list...
4192         (boostrap-tools): ...into separate list, which can be overridden
4193         in cfg.mk.
4194         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
4195         requiring dependency on useless-if-before-free module.
4196         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
4197         Support VPATH builds.
4198
4199 2009-04-24  Jim Meyering  <meyering@redhat.com>
4200
4201         maint.mk: remove coreutils-specific rules and variables
4202         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
4203         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
4204         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
4205
4206         maint.mk: remove obsolete rule
4207         * top/maint.mk (rel-check): Remove rule.
4208         (WGET, WGETFLAGS): Remove now-unused variables.
4209
4210 2009-04-24  Simon Josefsson  <simon@josefsson.org>
4211
4212         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
4213         consistency.
4214
4215         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
4216         '$(PATH_SEPARATOR)' instead of ':'.
4217
4218 2009-04-24  Simon Josefsson  <simon@josefsson.org>
4219
4220         * lib/getopt1.c (main): Use 'const' for static array.
4221
4222 2009-04-24  Simon Josefsson  <simon@josefsson.org>
4223
4224         * top/maint.mk: Sync with coreutils.
4225         * NEWS: Explain incompatibilities.
4226
4227 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4228             Bruno Haible  <bruno@clisp.org>
4229
4230         Fix cross-compilation results.
4231         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
4232         statement, as third argument of AC_TRY_RUN.
4233         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4234         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
4235         Likewise.
4236         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4237         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4238         Likewise.
4239         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4240         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
4241         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
4242
4243 2009-04-20  Bruno Haible  <bruno@clisp.org>
4244
4245         Avoid test failure on mingw.
4246         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
4247
4248 2009-04-20  Bruno Haible  <bruno@clisp.org>
4249
4250         Avoid compilation error on mingw.
4251         * modules/localename-tests (Depends-on): Add locale.
4252
4253 2009-04-19  Bruno Haible  <bruno@clisp.org>
4254
4255         Support for building a shared library on Windows platforms.
4256         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
4257         (main): Test the presence of UNINORM_NFC here.
4258         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
4259         (main): Test the presence of UNINORM_NFD here.
4260         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
4261         (main): Test the presence of UNINORM_NFKC here.
4262         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
4263         (main): Test the presence of UNINORM_NFKD here.
4264
4265 2009-04-19  Bruno Haible  <bruno@clisp.org>
4266
4267         Avoid a compiler warning.
4268         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
4269         Change type of variable 'sequence'.
4270
4271 2009-04-19  Bruno Haible  <bruno@clisp.org>
4272
4273         * modules/configmake (Makefile.am): When the contents of configmake.h
4274         does not change, arrange to preserve its modification time.
4275
4276 2009-04-17  Simon Josefsson  <simon@josefsson.org>
4277
4278         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
4279         gettext domain.
4280
4281 2009-04-16  Jim Meyering  <meyering@redhat.com>
4282
4283         useless-if-before-free: improve conversion code
4284         * build-aux/useless-if-before-free: Adjust code-in-comment to match
4285         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
4286
4287 2009-04-14  Bruno Haible  <bruno@clisp.org>
4288
4289         * modules/fcntl (Depends-on): Add extensions.
4290         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
4291
4292 2009-04-12  Ben Pfaff  <blp@gnu.org>
4293
4294         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
4295         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
4296
4297 2009-03-20  Ben Pfaff  <blp@gnu.org>
4298
4299         Make rename replace existing destinations on Windows.
4300         * m4/rename.m4: Add test for Mingw.
4301         * lib/rename.c: Add rename replacement that uses MoveFileEx with
4302         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
4303         * doc/posix-functions/rename.texi: Document.
4304
4305 2009-04-10  Bruno Haible  <bruno@clisp.org>
4306
4307         New include file "iconveh.h".
4308         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
4309         * lib/striconveh.h: Include it.
4310         (enum iconv_ilseq_handler): Remove definition.
4311         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
4312         striconveh.h.
4313         * lib/striconveha.c: Include striconveh.h.
4314         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
4315         * modules/striconveh (Files): Add lib/iconveh.h.
4316         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
4317         lib/striconveh.h.
4318
4319 2009-04-10  Bruno Haible  <bruno@clisp.org>
4320
4321         * lib/uniconv.h: Update comment.
4322
4323 2009-04-10  Bruno Haible  <bruno@clisp.org>
4324
4325         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
4326         always.
4327         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
4328         * lib/unistr/u16-mbtouc-aux.c: Likewise.
4329         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
4330         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
4331         "unistring-notinline.h", so that the function gets defined always.
4332         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
4333         * lib/unistr/u8-uctomb.c: Likewise.
4334         * lib/unistr/u16-mbtouc.c: Likewise.
4335         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
4336         * lib/unistr/u16-uctomb.c: Likewise.
4337         * lib/unistr/u32-mbtouc.c: Likewise.
4338         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
4339         * lib/unistr/u32-uctomb.c: Likewise.
4340
4341 2009-04-10  Bruno Haible  <bruno@clisp.org>
4342
4343         Mark 'utime' obsolete.
4344         * modules/utime (Status, Notice): New sections.
4345         Suggested by Jim Meyering.
4346
4347         Fix cross-compile guess for utime test.
4348         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
4349         autoconf.
4350         * doc/posix-functions/utime.texi: Give more precisions.
4351         Reported by Jan <ipif@ymail.com>.
4352
4353 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
4354
4355         filevercmp: correct today's change
4356         * lib/filevercmp.c: Also handle coreutils' test inputs.
4357         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
4358
4359         Fix regression in 'filevercmp' module. Thanks Sven Joachim
4360         for reporting it.
4361         * lib/filevercmp.c: Special handle for "", "." and "..".
4362         * tests/test-filevercmp.c: Enlarge the set suite.
4363
4364 2009-04-07  Jim Meyering  <meyering@redhat.com>
4365
4366         useless-if-before-free: show how to remove braced useless free, too
4367         * build-aux/useless-if-before-free: still only in a comment, though.
4368
4369 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
4370
4371         maint.mk: import changes to syntax-check macros from coreutils
4372         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
4373         Use them in the relevant macros.
4374
4375 2009-04-06  Bruno Haible  <bruno@clisp.org>
4376
4377         Fix unportable use of bit-fields.
4378         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
4379         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
4380         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
4381
4382 2009-04-06  Bruno Haible  <bruno@clisp.org>
4383
4384         Avoid test failures on AIX and OSF/1.
4385         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
4386         that malloc(0) = NULL.
4387         * tests/unicase/test-u8-tolower.c (check): Likewise.
4388         * tests/unicase/test-u8-totitle.c (check): Likewise.
4389         * tests/unicase/test-u8-toupper.c (check): Likewise.
4390         * tests/unicase/test-u16-casefold.c (check): Likewise.
4391         * tests/unicase/test-u16-tolower.c (check): Likewise.
4392         * tests/unicase/test-u16-totitle.c (check): Likewise.
4393         * tests/unicase/test-u16-toupper.c (check): Likewise.
4394         * tests/unicase/test-u32-casefold.c (check): Likewise.
4395         * tests/unicase/test-u32-tolower.c (check): Likewise.
4396         * tests/unicase/test-u32-totitle.c (check): Likewise.
4397         * tests/unicase/test-u32-toupper.c (check): Likewise.
4398         * tests/uninorm/test-u8-nfc.c (check): Likewise.
4399         * tests/uninorm/test-u8-nfd.c (check): Likewise.
4400         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
4401         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
4402         * tests/uninorm/test-u16-nfc.c (check): Likewise.
4403         * tests/uninorm/test-u16-nfd.c (check): Likewise.
4404         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
4405         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
4406         * tests/uninorm/test-u32-nfc.c (check): Likewise.
4407         * tests/uninorm/test-u32-nfd.c (check): Likewise.
4408         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
4409         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
4410
4411 2009-04-05  Bruno Haible  <bruno@clisp.org>
4412
4413         Work around an autoconf limitation.
4414         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
4415         comment line if it would be longer than 3 KB.
4416
4417 2009-04-05  Bruno Haible  <bruno@clisp.org>
4418
4419         Avoid test failure with libiconv-1.13.
4420         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
4421         of the expected test results.
4422
4423 2009-04-05  Bruno Haible  <bruno@clisp.org>
4424
4425         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
4426         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
4427         that it should be installed.
4428
4429 2009-04-05  Bruno Haible  <bruno@clisp.org>
4430
4431         * gnulib-tool: New option --copy-file.
4432         (func_usage): Document it.
4433         (func_dest_tmpfilename): Moved out of func_import.
4434         (func_add_file, func_update_file): New functions, extracted from
4435         func_import.
4436         (func_import): Update.
4437
4438 2009-04-05  Karl Berry  <karl@gnu.org>
4439
4440         * README: prominently mention gnulib-tool.
4441         Rearrange sections so getting the code is near the top.
4442
4443 2009-04-05  Bruno Haible  <bruno@clisp.org>
4444
4445         * lib/unicase.h: Mention u*_cmp2.
4446         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
4447         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
4448         * lib/unicase/ulc-casecmp.c: Likewise.
4449         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
4450         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
4451         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
4452         unistr/u8-cmp.
4453         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
4454         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
4455         unistr/u16-cmp.
4456         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
4457         unistr/u32-cmp.
4458
4459         * lib/uninorm.h: Mention u*_cmp2.
4460         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
4461         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
4462         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
4463         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
4464         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
4465         unistr/u8-cmp.
4466         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
4467         unistr/u16-cmp.
4468         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
4469         unistr/u32-cmp.
4470
4471         New module 'unistr/u32-cmp2'.
4472         * lib/unistr/u32-cmp2.c: New file.
4473         * modules/unistr/u32-cmp2: New file.
4474
4475         New module 'unistr/u16-cmp2'.
4476         * lib/unistr/u16-cmp2.c: New file.
4477         * modules/unistr/u16-cmp2: New file.
4478
4479         New module 'unistr/u8-cmp2'.
4480         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
4481         * lib/unistr/u8-cmp2.c: New file.
4482         * lib/unistr/u-cmp2.h: New file.
4483         * modules/unistr/u8-cmp2: New file.
4484
4485 2009-04-05  Bruno Haible  <bruno@clisp.org>
4486
4487         * lib/unictype.h (uc_property_is_valid): New macro.
4488         * tests/unictype/test-pr_byname.c (main): Use it.
4489
4490         * lib/unistr.h: Doc fixes.
4491         * lib/uniconv.h: Doc fixes.
4492         * lib/unictype.h: Doc fixes.
4493
4494 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
4495
4496         Port coreutils 7.2 to Solaris 8.
4497
4498         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
4499         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
4500         for Solaris 8.  This is a bit of a hack, as it means it's the
4501         caller's responsibility to add -lnsl if needed, but most likely it
4502         won't be needed since only getaddrinfo uses this and getaddrinfo
4503         isn't needed on Solaris 8.
4504
4505         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
4506         problem to Solaris 8 encountered with coreutils 7.2, which
4507         resulted in a message "fnmatch.c:292: warning: passing argument 4
4508         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
4509         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
4510
4511 2009-04-03  Simon Josefsson  <simon@josefsson.org>
4512
4513         * m4/ld-version-script.m4: Add FIXME comment.
4514
4515 2009-04-02  Simon Josefsson  <simon@josefsson.org>
4516
4517         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
4518         SOVERSION variable.
4519
4520 2009-04-02  Bruno Haible  <bruno@clisp.org>
4521
4522         * Makefile (info, html, dvi, pdf): Combine the rules.
4523         Suggested by Jim Meyering.
4524
4525 2009-04-01  Bruno Haible  <bruno@clisp.org>
4526
4527         * Makefile (info, html, dvi, pdf): New targets.
4528         Reported by Reuben Thomas <rrt@sc3d.org>.
4529
4530 2009-04-01  Bruno Haible  <bruno@clisp.org>
4531
4532         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
4533         can be put into PATH.
4534         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
4535
4536 2009-04-01  Bruno Haible  <bruno@clisp.org>
4537
4538         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
4539
4540 2009-04-01  Bruno Haible  <bruno@clisp.org>
4541
4542         Rename module 'visibility'.
4543         * modules/lib-symbol-visibility: Renamed from modules/visibility.
4544         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
4545         * doc/gnulib.texi: Update.
4546         * MODULES.html.sh (Misc): Update.
4547         * NEWS: Mention the change.
4548
4549 2009-04-01  Simon Josefsson  <simon@josefsson.org>
4550
4551         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
4552         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
4553         Eric Blake <ebb9@byu.net> for review.
4554         * MODULES.html.sh: Add lib-msvc-compat.
4555         * doc/gnulib.texi: Link to new section.
4556         * m4/ld-output-def.m4: New file.
4557         * doc/ld-output-def.texi: New file.
4558
4559 2009-04-01  Simon Josefsson  <simon@josefsson.org>
4560
4561         Rename ld-version-script to lib-symbol-versions.  Suggested by
4562         Bruno Haible <bruno@clisp.org>.
4563         * modules/ld-version-script: Renamed to lib-symbol-versions.
4564         * doc/ld-version-script.texi: Fix module name.
4565         * MODULES.html.sh: Add lib-symbol-versions.
4566
4567 2009-03-31  Simon Josefsson  <simon@josefsson.org>
4568
4569         * modules/u64-tests: New file.
4570         * tests/test-u64.c: New file.
4571
4572 2009-03-04  Simon Josefsson  <simon@josefsson.org>
4573
4574         * MODULES.html.sh: Mention u64.
4575         * modules/u64: New module.
4576         * modules/crypto/sha512: Depend on u64 module instead of providing
4577         u64.h.
4578
4579 2009-03-27  Eric Blake  <ebb9@byu.net>
4580
4581         test-strerror: make debugging EAI_SYSTEM easier
4582         * modules/getaddrinfo-tests (Depends-on): Add strerror.
4583         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
4584         failure was EAI_SYSTEM.
4585
4586 2009-03-25  Bruno Haible  <bruno@clisp.org>
4587
4588         Fix a problem with --enable-relocatable on Solaris 7.
4589         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
4590         since 2008-02-24.
4591
4592 2009-03-25  Eric Blake  <ebb9@byu.net>
4593
4594         test-sockets: avoid gcc warning
4595         * tests/test-sockets.c (main): Silence compiler warning.
4596
4597 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
4598
4599         New modules nproc, pthread, contributed by Glen Lenker.
4600
4601         * MODULES.html.sh: Add pthread, nproc.
4602         * lib/nproc.c: New file.
4603         * lib/nproc.h: New file.
4604         * lib/pthread.in.h: New file.
4605         * m4/pthread.m4: New file.
4606         * modules/nproc: New file.
4607         * modules/pthread: New file.
4608
4609 2009-03-24  Simon Josefsson  <simon@josefsson.org>
4610
4611         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
4612         New variable.
4613
4614 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
4615
4616         filevercmp: handle simple~ and numbered.~3~ backup suffixes
4617         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
4618         * tests/test-filevercmp.c: Add tests for backup suffixes.
4619
4620 2009-03-24  Simon Josefsson  <simon@josefsson.org>
4621
4622         * modules/stdlib (Depends-on): Add stdint, needed when defining
4623         struct random_data on, for example, HP-UX 10.20.  Reported by
4624         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4625
4626 2009-03-24  Simon Josefsson  <simon@josefsson.org>
4627
4628         * lib/readline.c (readline): Call fflush on stdout after printing
4629         prompt.
4630
4631 2009-03-20  Bruno Haible  <bruno@clisp.org>
4632
4633         Remove dependency from 'close' module to -lws2_32 on native Windows.
4634         * lib/close-hook.h: New file.
4635         * lib/close-hook.c: New file.
4636         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
4637         w32sock.h.
4638         (_gl_close_fd_maybe_socket): Remove function.
4639         (rpl_close): Invoke execute_all_close_hooks instead of
4640         _gl_close_fd_maybe_socket.
4641         * lib/sockets.c: Include close-hook.h, w32sock.h.
4642         (close_fd_maybe_socket): New function, essentially from lib/close.c.
4643         (close_sockets_hook): New variable.
4644         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
4645         (gl_sockets_cleanup): Unregister it.
4646         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
4647         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
4648         * modules/close-hook: New file.
4649         * modules/close (Files): Remove lib/w32sock.h.
4650         (Depends-on): Add close-hook.
4651         (Link): Remove section.
4652         * modules/sockets (Files): Add lib/w32sock.h.
4653         (Depends-on): Add close-hook.
4654         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
4655         invocation.
4656         * NEWS: Mention that LIB_CLOSE is gone.
4657
4658 2009-03-23  Eric Blake  <ebb9@byu.net>
4659
4660         signal-tests: test previous patch
4661         * tests/test-signal.c: New file.
4662         * modules/signal-tests: Likewise.
4663
4664         signal.h: always support 'volatile sig_atomic_t'
4665         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
4666         (gl_SIGNAL_H_DEFAULTS): Add a default.
4667         * modules/signal (Makefile.am): Substitute if needed.
4668         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
4669         users can blindly add volatile.
4670         * doc/posix-headers/signal.texi (signal.h): Document it.
4671         Reported by Matthew Woehlke.
4672
4673 2009-03-23  Jim Meyering  <meyering@redhat.com>
4674
4675         pathmax: PATH_MAX: use pathconf only when available
4676         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
4677         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
4678         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
4679         This avoids a link failure in a PSP cross-compilation environment
4680         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
4681
4682         * lib/vasnprintf.c (divide): Fix typo in comment.
4683
4684 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4685
4686         * gnulib-tool (func_filter_filelist): Fix comment.
4687
4688 2009-03-20  Bruno Haible  <bruno@clisp.org>
4689
4690         Make sockets.h self-contained.
4691         * lib/sockets.c: Include sockets.h first.
4692         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
4693
4694 2009-03-19  Eric Blake  <ebb9@byu.net>
4695
4696         doc: mention more functions added in cygwin 1.7.0
4697         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
4698         addition.
4699         * doc/posix-functions/log2f.texi: Likewise.
4700
4701 2009-03-19  Jim Meyering  <meyering@redhat.com>
4702
4703         fsusage: avoid syntax error due to statement-before-declaration
4704         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
4705         after all declarations.  Reported by Matthew Woehlke in
4706         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
4707
4708 2009-03-18  Eric Blake  <ebb9@byu.net>
4709
4710         build-aux/compile: sync from automake
4711         * build-aux/compile: New file, from automake.
4712         * config/srclist.txt: Mention build-aux/compile.
4713
4714 2009-03-17  Bruno Haible  <bruno@clisp.org>
4715
4716         * lib/git-merge-changelog.c: Fix typo in comment.
4717         Reported by Reuben Thomas <rrt@sc3d.org>.
4718
4719 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
4720
4721         * m4/regex.m4: update and improve help for
4722         --without-included-regex.
4723
4724 2009-03-17  Simon Josefsson  <simon@josefsson.org>
4725
4726         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
4727         failure on missing include files.
4728
4729 2009-03-17  Eric Blake  <ebb9@byu.net>
4730
4731         doc: mention more functions added in cygwin 1.7.0
4732         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
4733         addition.
4734         * doc/posix-functions/fwscanf.texi: Likewise.
4735         * doc/posix-functions/swprintf.texi: Likewise.
4736         * doc/posix-functions/swscanf.texi: Likewise.
4737         * doc/posix-functions/vfwprintf.texi: Likewise.
4738         * doc/posix-functions/vfwscanf.texi: Likewise.
4739         * doc/posix-functions/vswprintf.texi: Likewise.
4740         * doc/posix-functions/vswscanf.texi: Likewise.
4741         * doc/posix-functions/vwprintf.texi: Likewise.
4742         * doc/posix-functions/vwscanf.texi: Likewise.
4743         * doc/posix-functions/wcscasecmp.texi: Likewise.
4744         * doc/posix-functions/wcsdup.texi: Likewise.
4745         * doc/posix-functions/wcsftime.texi: Likewise.
4746         * doc/posix-functions/wcsncasecmp.texi: Likewise.
4747         * doc/posix-functions/wprintf.texi: Likewise.
4748         * doc/posix-functions/wscanf.texi: Likewise.
4749         * doc/glibc-functions/gethostbyname2.texi: Likewise.
4750
4751 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4752
4753         maint.mk: really add $(AM_MAKEFLAGS)
4754         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
4755         was inadvertently omitted in the last commit.
4756         Spotted by Bruno Haible.
4757
4758         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
4759         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
4760         $(AM_MAKEFLAGS)' rather than plain `make'.
4761
4762         gnulib-tool: execute $MAKE not make
4763         * gnulib-tool: Default $MAKE to 'make'.
4764         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
4765         than make.  Initialize $MAKE in the do-autobuild script.
4766
4767         gnulib-tool: use $MAKE not make in generated files
4768         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
4769         make, in generated files.  Initialize $MAKE in the do-autobuild
4770         script.
4771
4772         * top/GNUmakefile (_have-git-version-gen): Fix typo.
4773
4774         GNUmakefile: disable parallelism only for multiple, recursive targets
4775         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
4776         additions in the Makefile.
4777         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
4778         by Automake.
4779         (.NOTPARALLEL): Only disable parallel builds if multiple targets
4780         are listed on the command line and at least one of them is
4781         listed in $(ALL_RECURSIVE_TARGETS).
4782
4783 2009-03-14  Bruno Haible  <bruno@clisp.org>
4784
4785         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
4786         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
4787         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
4788         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
4789         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
4790         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
4791         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
4792         unistr/u8-uctomb.
4793         * modules/unistr/u8-strchr (Depends-on): Likewise.
4794         * modules/unistr/u8-strrchr (Depends-on): Likewise.
4795         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
4796         unistr/u16-uctomb.
4797         * modules/unistr/u16-strchr (Depends-on): Likewise.
4798         * modules/unistr/u16-strrchr (Depends-on): Likewise.
4799
4800 2009-03-12  Bruno Haible  <bruno@clisp.org>
4801
4802         Work around select() bug on Interix 3.5.
4803         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
4804         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
4805         * m4/select.m4: New file.
4806         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
4807         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
4808         * modules/select (Files): Add m4/select.m4.
4809         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
4810         * modules/nanosleep (Depends-on): Add select.
4811         * modules/poll (Depends-on): Likewise.
4812         * doc/posix-functions/select.texi: Mention the Interix bug.
4813         Reported by Markus Duft <mduft@gentoo.org>.
4814
4815         * lib/select.c: Renamed from lib/winsock-select.c.
4816         * modules/select (Files): Add lib/select.c, remove
4817         lib/winsock-select.c.
4818         (configure.ac): Update.
4819
4820 2009-03-12  Jim Meyering  <meyering@redhat.com>
4821
4822         avoid gcc warnings about unused macro definitions
4823         * lib/readtokens.c (STREQ): Remove unused definition.
4824         * lib/xmalloc.c (SIZE_MAX): Likewise.
4825         * lib/openat-die.c (N_): Likewise.
4826         * lib/mountlist.c (SIZE_MAX): Remove definition.
4827         Instead, include <stdint.h>.
4828         * lib/readutmp.c: Likewise.
4829         * modules/readutmp (Depends-on): Add stdint.
4830         * modules/mountlist (Depends-on): Add stdint.
4831         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
4832
4833 2009-03-10  Bruno Haible  <bruno@clisp.org>
4834
4835         Tests for module 'mbmemcasecoll'.
4836         * modules/mbmemcasecoll-tests: New file.
4837         * tests/test-mbmemcasecoll1.sh: New file.
4838         * tests/test-mbmemcasecoll2.sh: New file.
4839         * tests/test-mbmemcasecoll3.sh: New file.
4840         * tests/test-mbmemcasecoll.c: New file.
4841
4842         New module 'mbmemcasecoll'.
4843         * lib/mbmemcasecoll.h: New file.
4844         * lib/mbmemcasecoll.c: New file.
4845         * modules/mbmemcasecoll: New file.
4846
4847         * tests/test-mbmemcasecmp.h: New file, extracted from
4848         tests/test-mbmemcasecmp.c.
4849         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
4850         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
4851         (main): Update.
4852         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
4853
4854 2009-03-09  Bruno Haible  <bruno@clisp.org>
4855
4856         Tests for module 'mbmemcasecmp'.
4857         * modules/mbmemcasecmp-tests: New file.
4858         * tests/test-mbmemcasecmp1.sh: New file.
4859         * tests/test-mbmemcasecmp2.sh: New file.
4860         * tests/test-mbmemcasecmp3.sh: New file.
4861         * tests/test-mbmemcasecmp.c: New file.
4862
4863         New module 'mbmemcasecmp'.
4864         * lib/mbmemcasecmp.h: New file.
4865         * lib/mbmemcasecmp.c: New file.
4866         * modules/mbmemcasecmp: New file.
4867
4868 2009-03-09  Bruno Haible  <bruno@clisp.org>
4869
4870         Tests for module 'unicase/ulc-casecoll'.
4871         * modules/unicase/ulc-casecoll-tests: New file.
4872         * tests/unicase/test-ulc-casecoll1.sh: New file.
4873         * tests/unicase/test-ulc-casecoll2.sh: New file.
4874         * tests/unicase/test-ulc-casecoll.c: New file.
4875
4876         New module 'unicase/ulc-casecoll'.
4877         * lib/unicase.h (ulc_casecoll): New declaration.
4878         * lib/unicase/ulc-casecoll.c: New file.
4879         * modules/unicase/ulc-casecoll: New file.
4880
4881         New module 'unicase/ulc-casexfrm'.
4882         * lib/unicase.h (ulc_casexfrm): New declaration.
4883         * lib/unicase/ulc-casexfrm.c: New file.
4884         * modules/unicase/ulc-casexfrm: New file.
4885
4886 2009-03-09  Bruno Haible  <bruno@clisp.org>
4887
4888         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
4889         invocations.
4890
4891         * m4/mbscasecmp.m4: Remove file.
4892         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
4893         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
4894
4895         * m4/mbscasestr.m4: Remove file.
4896         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
4897         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
4898
4899         * m4/mbschr.m4: Remove file.
4900         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
4901         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
4902
4903         * m4/mbscspn.m4: Remove file.
4904         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
4905         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
4906
4907         * m4/mbslen.m4: Remove file.
4908         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
4909         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
4910
4911         * m4/mbsncasecmp.m4: Remove file.
4912         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
4913         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
4914
4915         * m4/mbsnlen.m4: Remove file.
4916         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
4917         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
4918
4919         * m4/mbspbrk.m4: Remove file.
4920         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
4921         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
4922
4923         * m4/mbspcasecmp.m4: Remove file.
4924         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
4925         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
4926
4927         * m4/mbsrchr.m4: Remove file.
4928         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
4929         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
4930
4931         * m4/mbssep.m4: Remove file.
4932         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
4933         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
4934
4935         * m4/mbsspn.m4: Remove file.
4936         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
4937         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
4938
4939         * m4/mbsstr.m4: Remove file.
4940         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
4941         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
4942
4943         * m4/mbstok_r.m4: Remove file.
4944         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
4945         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
4946
4947         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
4948
4949         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
4950         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
4951
4952         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
4953
4954 2009-03-08  Bruno Haible  <bruno@clisp.org>
4955
4956         Tests for module 'unicase/ulc-casecmp'.
4957         * modules/unicase/ulc-casecmp-tests: New file.
4958         * tests/unicase/test-ulc-casecmp1.sh: New file.
4959         * tests/unicase/test-ulc-casecmp2.sh: New file.
4960         * tests/unicase/test-ulc-casecmp.c: New file.
4961
4962         New module 'unicase/ulc-casecmp'.
4963         * lib/unicase.h (ulc_casecmp): New declaration.
4964         * lib/unicase/ulc-casecmp.c: New file.
4965         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
4966         'const SRC_UNIT *'.
4967         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
4968         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
4969         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
4970         * modules/unicase/ulc-casecmp: New file.
4971
4972         Tests for module 'unicase/u32-is-cased'.
4973         * modules/unicase/u32-is-cased-tests: New file.
4974         * tests/unicase/test-u32-is-cased.c: New file.
4975
4976         Tests for module 'unicase/u16-is-cased'.
4977         * modules/unicase/u16-is-cased-tests: New file.
4978         * tests/unicase/test-u16-is-cased.c: New file.
4979
4980         Tests for module 'unicase/u8-is-cased'.
4981         * modules/unicase/u8-is-cased-tests: New file.
4982         * tests/unicase/test-u8-is-cased.c: New file.
4983         * tests/unicase/test-is-cased.h: New file.
4984
4985         New module 'unicase/u32-is-cased'.
4986         * lib/unicase/u32-is-cased.c: New file.
4987         * modules/unicase/u32-is-cased: New file.
4988
4989         New module 'unicase/u16-is-cased'.
4990         * lib/unicase/u16-is-cased.c: New file.
4991         * modules/unicase/u16-is-cased: New file.
4992
4993         New module 'unicase/u8-is-cased'.
4994         * lib/unicase/u8-is-cased.c: New file.
4995         * lib/unicase/u-is-cased.h: New file.
4996         * modules/unicase/u8-is-cased: New file.
4997
4998         Tests for module 'unicase/u32-is-casefolded'.
4999         * modules/unicase/u32-is-casefolded-tests: New file.
5000         * tests/unicase/test-u32-is-casefolded.c: New file.
5001
5002         Tests for module 'unicase/u16-is-casefolded'.
5003         * modules/unicase/u16-is-casefolded-tests: New file.
5004         * tests/unicase/test-u16-is-casefolded.c: New file.
5005
5006         Tests for module 'unicase/u8-is-casefolded'.
5007         * modules/unicase/u8-is-casefolded-tests: New file.
5008         * tests/unicase/test-u8-is-casefolded.c: New file.
5009         * tests/unicase/test-is-casefolded.h: New file.
5010
5011         New module 'unicase/u32-is-casefolded'.
5012         * lib/unicase/u32-is-casefolded.c: New file.
5013         * modules/unicase/u32-is-casefolded: New file.
5014
5015         New module 'unicase/u16-is-casefolded'.
5016         * lib/unicase/u16-is-casefolded.c: New file.
5017         * modules/unicase/u16-is-casefolded: New file.
5018
5019         New module 'unicase/u8-is-casefolded'.
5020         * lib/unicase/u8-is-casefolded.c: New file.
5021         * modules/unicase/u8-is-casefolded: New file.
5022
5023         Tests for module 'unicase/u32-is-titlecase'.
5024         * modules/unicase/u32-is-titlecase-tests: New file.
5025         * tests/unicase/test-u32-is-titlecase.c: New file.
5026
5027         Tests for module 'unicase/u16-is-titlecase'.
5028         * modules/unicase/u16-is-titlecase-tests: New file.
5029         * tests/unicase/test-u16-is-titlecase.c: New file.
5030
5031         Tests for module 'unicase/u8-is-titlecase'.
5032         * modules/unicase/u8-is-titlecase-tests: New file.
5033         * tests/unicase/test-u8-is-titlecase.c: New file.
5034         * tests/unicase/test-is-titlecase.h: New file.
5035
5036         New module 'unicase/u32-is-titlecase'.
5037         * lib/unicase/u32-is-titlecase.c: New file.
5038         * modules/unicase/u32-is-titlecase: New file.
5039
5040         New module 'unicase/u16-is-titlecase'.
5041         * lib/unicase/u16-is-titlecase.c: New file.
5042         * modules/unicase/u16-is-titlecase: New file.
5043
5044         New module 'unicase/u8-is-titlecase'.
5045         * lib/unicase/u8-is-titlecase.c: New file.
5046         * modules/unicase/u8-is-titlecase: New file.
5047
5048         Tests for module 'unicase/u32-is-lowercase'.
5049         * modules/unicase/u32-is-lowercase-tests: New file.
5050         * tests/unicase/test-u32-is-lowercase.c: New file.
5051
5052         Tests for module 'unicase/u16-is-lowercase'.
5053         * modules/unicase/u16-is-lowercase-tests: New file.
5054         * tests/unicase/test-u16-is-lowercase.c: New file.
5055
5056         Tests for module 'unicase/u8-is-lowercase'.
5057         * modules/unicase/u8-is-lowercase-tests: New file.
5058         * tests/unicase/test-u8-is-lowercase.c: New file.
5059         * tests/unicase/test-is-lowercase.h: New file.
5060
5061         New module 'unicase/u32-is-lowercase'.
5062         * lib/unicase/u32-is-lowercase.c: New file.
5063         * modules/unicase/u32-is-lowercase: New file.
5064
5065         New module 'unicase/u16-is-lowercase'.
5066         * lib/unicase/u16-is-lowercase.c: New file.
5067         * modules/unicase/u16-is-lowercase: New file.
5068
5069         New module 'unicase/u8-is-lowercase'.
5070         * lib/unicase/u8-is-lowercase.c: New file.
5071         * modules/unicase/u8-is-lowercase: New file.
5072
5073         Tests for module 'unicase/u32-is-uppercase'.
5074         * modules/unicase/u32-is-uppercase-tests: New file.
5075         * tests/unicase/test-u32-is-uppercase.c: New file.
5076
5077         Tests for module 'unicase/u16-is-uppercase'.
5078         * modules/unicase/u16-is-uppercase-tests: New file.
5079         * tests/unicase/test-u16-is-uppercase.c: New file.
5080
5081         Tests for module 'unicase/u8-is-uppercase'.
5082         * modules/unicase/u8-is-uppercase-tests: New file.
5083         * tests/unicase/test-u8-is-uppercase.c: New file.
5084         * tests/unicase/test-is-uppercase.h: New file.
5085
5086         New module 'unicase/u32-is-uppercase'.
5087         * lib/unicase/u32-is-uppercase.c: New file.
5088         * modules/unicase/u32-is-uppercase: New file.
5089
5090         New module 'unicase/u16-is-uppercase'.
5091         * lib/unicase/u16-is-uppercase.c: New file.
5092         * modules/unicase/u16-is-uppercase: New file.
5093
5094         New module 'unicase/u8-is-uppercase'.
5095         * lib/unicase/u8-is-uppercase.c: New file.
5096         * modules/unicase/u8-is-uppercase: New file.
5097
5098         New module 'unicase/u32-is-invariant'.
5099         * lib/unicase/u32-is-invariant.c: New file.
5100         * modules/unicase/u32-is-invariant: New file.
5101
5102         New module 'unicase/u16-is-invariant'.
5103         * lib/unicase/u16-is-invariant.c: New file.
5104         * modules/unicase/u16-is-invariant: New file.
5105
5106         New module 'unicase/u8-is-invariant'.
5107         * lib/unicase/u8-is-invariant.c: New file.
5108         * lib/unicase/invariant.h: New file.
5109         * lib/unicase/u-is-invariant.h: New file.
5110         * modules/unicase/u8-is-invariant: New file.
5111
5112         Tests for module 'unicase/u32-casecoll'.
5113         * modules/unicase/u32-casecoll-tests: New file.
5114         * tests/unicase/test-u32-casecoll.c: New file.
5115
5116         Tests for module 'unicase/u16-casecoll'.
5117         * modules/unicase/u16-casecoll-tests: New file.
5118         * tests/unicase/test-u16-casecoll.c: New file.
5119
5120         Tests for module 'unicase/u8-casecoll'.
5121         * modules/unicase/u8-casecoll-tests: New file.
5122         * tests/unicase/test-u8-casecoll.c: New file.
5123
5124         New module 'unicase/u32-casecoll'.
5125         * lib/unicase/u32-casecoll.c: New file.
5126         * modules/unicase/u32-casecoll: New file.
5127
5128         New module 'unicase/u16-casecoll'.
5129         * lib/unicase/u16-casecoll.c: New file.
5130         * modules/unicase/u16-casecoll: New file.
5131
5132         New module 'unicase/u8-casecoll'.
5133         * lib/unicase/u8-casecoll.c: New file.
5134         * lib/unicase/u-casecoll.h: New file.
5135         * modules/unicase/u8-casecoll: New file.
5136
5137         New module 'unicase/u32-casexfrm'.
5138         * lib/unicase/u32-casexfrm.c: New file.
5139         * modules/unicase/u32-casexfrm: New file.
5140
5141         New module 'unicase/u16-casexfrm'.
5142         * lib/unicase/u16-casexfrm.c: New file.
5143         * modules/unicase/u16-casexfrm: New file.
5144
5145         New module 'unicase/u8-casexfrm'.
5146         * lib/unicase/u8-casexfrm.c: New file.
5147         * lib/unicase/u-casexfrm.h: New file.
5148         * modules/unicase/u8-casexfrm: New file.
5149
5150         Tests for module 'unicase/u32-casecmp'.
5151         * modules/unicase/u32-casecmp-tests: New file.
5152         * tests/unicase/test-u32-casecmp.c: New file.
5153
5154         Tests for module 'unicase/u16-casecmp'.
5155         * modules/unicase/u16-casecmp-tests: New file.
5156         * tests/unicase/test-u16-casecmp.c: New file.
5157
5158         Tests for module 'unicase/u8-casecmp'.
5159         * modules/unicase/u8-casecmp-tests: New file.
5160         * tests/unicase/test-u8-casecmp.c: New file.
5161         * tests/unicase/test-casecmp.h: New file.
5162
5163         New module 'unicase/u32-casecmp'.
5164         * lib/unicase/u32-casecmp.c: New file.
5165         * modules/unicase/u32-casecmp: New file.
5166
5167         New module 'unicase/u16-casecmp'.
5168         * lib/unicase/u16-casecmp.c: New file.
5169         * modules/unicase/u16-casecmp: New file.
5170
5171         New module 'unicase/u8-casecmp'.
5172         * lib/unicase/u8-casecmp.c: New file.
5173         * lib/unicase/u-casecmp.h: New file.
5174         * modules/unicase/u8-casecmp: New file.
5175
5176         Tests for module 'unicase/u32-casefold'.
5177         * modules/unicase/u32-casefold-tests: New file.
5178         * tests/unicase/test-u32-casefold.c: New file.
5179
5180         Tests for module 'unicase/u16-casefold'.
5181         * modules/unicase/u16-casefold-tests: New file.
5182         * tests/unicase/test-u16-casefold.c: New file.
5183
5184         Tests for module 'unicase/u8-casefold'.
5185         * modules/unicase/u8-casefold-tests: New file.
5186         * tests/unicase/test-u8-casefold.c: New file.
5187
5188         New module 'unicase/u32-casefold'.
5189         * lib/unicase/u32-casefold.c: New file.
5190         * modules/unicase/u32-casefold: New file.
5191
5192         New module 'unicase/u16-casefold'.
5193         * lib/unicase/u16-casefold.c: New file.
5194         * modules/unicase/u16-casefold: New file.
5195
5196         New module 'unicase/u8-casefold'.
5197         * lib/unicase/u8-casefold.c: New file.
5198         * lib/unicase/u-casefold.h: New file.
5199         * modules/unicase/u8-casefold: New file.
5200
5201         New module 'unicase/tocasefold'.
5202         * lib/unicase/casefold.h: New file.
5203         * lib/unicase/tocasefold.c: New file.
5204         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
5205         * modules/unicase/tocasefold: New file.
5206
5207         Tests for module 'unicase/u32-totitle'.
5208         * modules/unicase/u32-totitle-tests: New file.
5209         * tests/unicase/test-u32-totitle.c: New file.
5210
5211         Tests for module 'unicase/u16-totitle'.
5212         * modules/unicase/u16-totitle-tests: New file.
5213         * tests/unicase/test-u16-totitle.c: New file.
5214
5215         Tests for module 'unicase/u8-totitle'.
5216         * modules/unicase/u8-totitle-tests: New file.
5217         * tests/unicase/test-u8-totitle.c: New file.
5218
5219         New module 'unicase/u32-totitle'.
5220         * lib/unicase/u32-totitle.c: New file.
5221         * modules/unicase/u32-totitle: New file.
5222
5223         New module 'unicase/u16-totitle'.
5224         * lib/unicase/u16-totitle.c: New file.
5225         * modules/unicase/u16-totitle: New file.
5226
5227         New module 'unicase/u8-totitle'.
5228         * lib/unicase/u8-totitle.c: New file.
5229         * lib/unicase/u-totitle.h: New file.
5230         * modules/unicase/u8-totitle: New file.
5231
5232         Tests for module 'unicase/u32-tolower'.
5233         * modules/unicase/u32-tolower-tests: New file.
5234         * tests/unicase/test-u32-tolower.c: New file.
5235
5236         Tests for module 'unicase/u16-tolower'.
5237         * modules/unicase/u16-tolower-tests: New file.
5238         * tests/unicase/test-u16-tolower.c: New file.
5239
5240         Tests for module 'unicase/u8-tolower'.
5241         * modules/unicase/u8-tolower-tests: New file.
5242         * tests/unicase/test-u8-tolower.c: New file.
5243
5244         New module 'unicase/u32-tolower'.
5245         * lib/unicase/u32-tolower.c: New file.
5246         * modules/unicase/u32-tolower: New file.
5247
5248         New module 'unicase/u16-tolower'.
5249         * lib/unicase/u16-tolower.c: New file.
5250         * modules/unicase/u16-tolower: New file.
5251
5252         New module 'unicase/u8-tolower'.
5253         * lib/unicase/u8-tolower.c: New file.
5254         * modules/unicase/u8-tolower: New file.
5255
5256         Tests for module 'unicase/u32-toupper'.
5257         * modules/unicase/u32-toupper-tests: New file.
5258         * tests/unicase/test-u32-toupper.c: New file.
5259
5260         Tests for module 'unicase/u16-toupper'.
5261         * modules/unicase/u16-toupper-tests: New file.
5262         * tests/unicase/test-u16-toupper.c: New file.
5263
5264         Tests for module 'unicase/u8-toupper'.
5265         * modules/unicase/u8-toupper-tests: New file.
5266         * tests/unicase/test-u8-toupper.c: New file.
5267
5268         New module 'unicase/u32-toupper'.
5269         * lib/unicase/u32-toupper.c: New file.
5270         * modules/unicase/u32-toupper: New file.
5271
5272         New module 'unicase/u16-toupper'.
5273         * lib/unicase/u16-toupper.c: New file.
5274         * modules/unicase/u16-toupper: New file.
5275
5276         New module 'unicase/u8-toupper'.
5277         * lib/unicase/u8-toupper.c: New file.
5278         * modules/unicase/u8-toupper: New file.
5279
5280         New module 'unicase/u32-casemap'.
5281         * lib/unicase/u32-casemap.c: New file.
5282         * modules/unicase/u32-casemap: New file.
5283
5284         New module 'unicase/u16-casemap'.
5285         * lib/unicase/u16-casemap.c: New file.
5286         * modules/unicase/u16-casemap: New file.
5287
5288         New module 'unicase/u8-casemap'.
5289         * lib/unicase/unicasemap.h: New file.
5290         * lib/unicase/u8-casemap.c: New file.
5291         * lib/unicase/u-casemap.h: New file.
5292         * modules/unicase/u8-casemap: New file.
5293
5294         New module 'unicase/special-casing'.
5295         * lib/unicase/special-casing.h: New file.
5296         * lib/unicase/special-casing.c: New file.
5297         * lib/unicase/special-casing-table.gperf: New file, generated by
5298         gen-uni-tables.c.
5299         * modules/unicase/special-casing: New file.
5300
5301         Tests for module 'unicase/locale-language'.
5302         * modules/unicase/locale-language-tests: New file.
5303         * tests/unicase/test-locale-language.sh: New file.
5304         * tests/unicase/test-locale-language.c: New file.
5305
5306         New module 'unicase/locale-language'.
5307         * lib/unicase/locale-language.c: New file.
5308         * lib/unicase/locale-languages.gperf: New file.
5309         * modules/unicase/locale-language: New file.
5310
5311         Generate more tables for case conversion and case folding.
5312         * lib/gen-uni-tables.c (SCC_*): New enum items.
5313         (struct special_casing_rule): New type.
5314         (casing_rules, num_casing_rules, allocated_casing_rules): New
5315         variables.
5316         (add_casing_rule, fill_casing_rules): New functions.
5317         (struct casefold_rule): New type.
5318         (casefolding_rules, num_casefolding_rules,
5319         allocated_casefolding_rules): New variables.
5320         (fill_casefolding_rules): New function.
5321         (unicode_casefold): New variable.
5322         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
5323         sort_casing_rules, output_casing_rules): New functions.
5324         (main): Accept to more arguments: SpecialCasing.txt and
5325         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
5326         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
5327         Output mapping for casefolding.
5328
5329         * lib/unicase.h: Include stdbool.h, uninorm.h.
5330         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
5331         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
5332         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
5333         arguments.
5334         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
5335         resultp arguments.
5336         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
5337         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
5338         resultp arguments.
5339         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
5340         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
5341         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
5342         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
5343         declarations.
5344         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
5345
5346 2009-03-08  Bruno Haible  <bruno@clisp.org>
5347
5348         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
5349         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
5350         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
5351         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
5352
5353 2009-03-07  Bruno Haible  <bruno@clisp.org>
5354
5355         Adjust u*_normcmp, u*_normcoll API.
5356         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
5357         u16_normcoll, u32_normcoll): Change failure conventions.
5358         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
5359         errno and return -1.
5360         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
5361
5362 2009-03-07  Bruno Haible  <bruno@clisp.org>
5363
5364         Tests for module 'uninorm/u32-normcoll'.
5365         * modules/uninorm/u32-normcoll-tests: New file.
5366         * tests/uninorm/test-u32-normcoll.c: New file.
5367
5368         Tests for module 'uninorm/u16-normcoll'.
5369         * modules/uninorm/u16-normcoll-tests: New file.
5370         * tests/uninorm/test-u16-normcoll.c: New file.
5371
5372         Tests for module 'uninorm/u8-normcoll'.
5373         * modules/uninorm/u8-normcoll-tests: New file.
5374         * tests/uninorm/test-u8-normcoll.c: New file.
5375
5376 2009-03-07  Bruno Haible  <bruno@clisp.org>
5377
5378         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
5379         tests/uninorm/test-u32-normcmp.c.
5380         * tests/uninorm/test-u32-normcmp.c: Include it.
5381         (test_nonascii): New function, extracted from main. Add some more
5382         tests.
5383         (main): Invoke test_ascii and test_nonascii.
5384         * modules/uninorm/u32-normcmp-tests (Files): Add
5385         tests/uninorm/test-u32-normcmp.h.
5386         (Depends-on): Remove uninorm/u32-normcmp.
5387
5388         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
5389         tests/uninorm/test-u16-normcmp.c.
5390         * tests/uninorm/test-u16-normcmp.c: Include it.
5391         (test_nonascii): New function, extracted from main. Add some more
5392         tests.
5393         (main): Invoke test_ascii and test_nonascii.
5394         * modules/uninorm/u16-normcmp-tests (Files): Add
5395         tests/uninorm/test-u16-normcmp.h.
5396         (Depends-on): Remove uninorm/u16-normcmp.
5397
5398         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
5399         tests/uninorm/test-u8-normcmp.c.
5400         * tests/uninorm/test-u8-normcmp.c: Include it.
5401         (test_nonascii): New function, extracted from main. Add some more
5402         tests.
5403         (main): Invoke test_ascii and test_nonascii.
5404         * modules/uninorm/u8-normcmp-tests (Files): Add
5405         tests/uninorm/test-u8-normcmp.h.
5406         (Depends-on): Remove uninorm/u8-normcmp.
5407
5408 2009-03-07  Bruno Haible  <bruno@clisp.org>
5409
5410         New module 'uninorm/u32-normcoll'.
5411         * lib/uninorm/u32-normcoll.c: New file.
5412         * modules/uninorm/u32-normcoll: New file.
5413
5414         New module 'uninorm/u16-normcoll'.
5415         * lib/uninorm/u16-normcoll.c: New file.
5416         * modules/uninorm/u16-normcoll: New file.
5417
5418         New module 'uninorm/u8-normcoll'.
5419         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
5420         declarations.
5421         * lib/uninorm/u8-normcoll.c: New file.
5422         * lib/uninorm/u-normcoll.h: New file.
5423         * modules/uninorm/u8-normcoll: New file.
5424
5425         New module 'uninorm/u32-normxfrm'.
5426         * lib/uninorm/u32-normxfrm.c: New file.
5427         * modules/uninorm/u32-normxfrm: New file.
5428
5429         New module 'uninorm/u16-normxfrm'.
5430         * lib/uninorm/u16-normxfrm.c: New file.
5431         * modules/uninorm/u16-normxfrm: New file.
5432
5433         New module 'uninorm/u8-normxfrm'.
5434         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
5435         declarations.
5436         * lib/uninorm/u8-normxfrm.c: New file.
5437         * lib/uninorm/u-normxfrm.h: New file.
5438         * modules/uninorm/u8-normxfrm: New file.
5439
5440 2009-03-07  Bruno Haible  <bruno@clisp.org>
5441
5442         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
5443         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
5444         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
5445
5446 2009-03-07  Bruno Haible  <bruno@clisp.org>
5447
5448         New module 'memxfrm'.
5449         * lib/memxfrm.h: New file.
5450         * lib/memxfrm.c: New file.
5451         * modules/memxfrm: New file.
5452
5453 2009-03-07  Bruno Haible  <bruno@clisp.org>
5454
5455         New module 'memcmp2'.
5456         * lib/memcmp2.h: New file.
5457         * lib/memcmp2.c: New file.
5458         * modules/memcmp2: New file.
5459
5460 2009-03-07  Bruno Haible  <bruno@clisp.org>
5461
5462         Tests for module 'uninorm/decomposing-form'.
5463         * modules/uninorm/decomposing-form-tests: New file.
5464         * tests/uninorm/test-decomposing-form.c: New file.
5465
5466         New module 'uninorm/decomposing-form'.
5467         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
5468         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
5469         Add 'decomposing_variant' field.
5470         * lib/uninorm/decomposing-form.c: New file.
5471         * lib/uninorm/nfc.c (uninorm_nfc): Update.
5472         * lib/uninorm/nfd.c (uninorm_nfd): Update.
5473         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
5474         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
5475         * modules/uninorm/decomposing-form: New file.
5476         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
5477         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
5478
5479 2009-03-07  Bruno Haible  <bruno@clisp.org>
5480
5481         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
5482         strings.
5483
5484 2009-03-06  Bruno Haible  <bruno@clisp.org>
5485
5486         Tests for module 'uninorm/u32-normcmp'.
5487         * tests/uninorm/test-u32-normcmp.c: New file.
5488         * modules/uninorm/u32-normcmp-tests: New file.
5489
5490         Tests for module 'uninorm/u16-normcmp'.
5491         * tests/uninorm/test-u16-normcmp.c: New file.
5492         * modules/uninorm/u16-normcmp-tests: New file.
5493
5494         Tests for module 'uninorm/u8-normcmp'.
5495         * tests/uninorm/test-u8-normcmp.c: New file.
5496         * modules/uninorm/u8-normcmp-tests: New file.
5497
5498         New module 'uninorm/u32-normcmp'.
5499         * lib/uninorm/u32-normcmp.c: New file.
5500         * modules/uninorm/u32-normcmp: New file.
5501
5502         New module 'uninorm/u16-normcmp'.
5503         * lib/uninorm/u16-normcmp.c: New file.
5504         * modules/uninorm/u16-normcmp: New file.
5505
5506         New module 'uninorm/u8-normcmp'.
5507         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
5508         declarations.
5509         * lib/uninorm/u8-normcmp.c: New file.
5510         * lib/uninorm/u-normcmp.h: New file.
5511         * modules/uninorm/u8-normcmp: New file.
5512
5513 2009-03-06  Bruno Haible  <bruno@clisp.org>
5514
5515         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
5516         Reported by Eric Blake.
5517
5518 2009-03-06  Eric Blake  <ebb9@byu.net>
5519             Bruno Haible  <bruno@clisp.org>
5520
5521         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
5522         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
5523         condition.
5524         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
5525         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
5526         condition.
5527         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
5528
5529 2009-03-06  Eric Blake  <ebb9@byu.net>
5530
5531         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
5532         to avoid compiler warnings.
5533         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
5534
5535 2009-03-05  Bruno Haible  <bruno@clisp.org>
5536
5537         * tests/test-ftell.c (main): Disable test beyond end of file on
5538         FreeMiNT.
5539         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
5540
5541 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
5542
5543         * lib/filevercmp.c: Move hidden files up in ordering.
5544         * tests/test-filevercmp.c: Add tests for hidden files.
5545
5546 2009-03-04  Bruno Haible  <bruno@clisp.org>
5547
5548         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
5549         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
5550         AM_CFLAGS.
5551         Reported by Simon Josefsson.
5552
5553 2009-03-03  Bruno Haible  <bruno@clisp.org>
5554
5555         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
5556         Reported by Simon Josefsson.
5557
5558         * doc/ld-version-script.texi: Update node reference.
5559
5560 2009-03-03  Bruno Haible  <bruno@clisp.org>
5561
5562         * modules/visibility (License): Change to 'unlimited'.
5563         Suggested by Simon Josefsson.
5564
5565 2009-03-03  Jim Meyering  <meyering@redhat.com>
5566
5567         unlinkdir: cannot_unlink_dir may modify process state
5568         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
5569         it's neither thread-safe nor appropriate for use in a library.
5570
5571 2009-03-03  Eric Blake  <ebb9@byu.net>
5572
5573         test-closein: silence test under Darwin
5574         * tests/test-closein.sh: Ignore stderr from cat, since we don't
5575         care if it dies from EPIPE or EBADF.
5576
5577 2009-03-03  Bruno Haible  <bruno@clisp.org>
5578
5579         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
5580         earlier.
5581         * doc/visibility.texi: Fix @node and @section.
5582
5583 2009-03-03  Simon Josefsson  <simon@josefsson.org>
5584
5585         * doc/gnulib.texi: Link to sections for ld version script and
5586         visibility.
5587         * doc/visibility.texi: Add @node and @section.
5588         * modules/ld-version-script: New module.
5589         * m4/ld-version-script.m4: New file.
5590         * doc/ld-version-script.texi: New file.
5591
5592 2009-03-02  David Lutterkort  <lutter@redhat.com>
5593
5594         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
5595         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5596
5597 2009-03-02  Bruno Haible  <bruno@clisp.org>
5598
5599         * doc/visibility.texi: Mention libtool's -export-symbols option.
5600
5601 2009-03-02  Jim Meyering  <meyering@redhat.com>
5602
5603         announce-gen: new option: --no-print-checksums
5604         * build-aux/announce-gen (usage): Describe it.
5605         (print_checksums): Print a newline here, not in the [*] footnote.
5606         (main): Honor it.
5607
5608 2009-03-01  Bruno Haible  <bruno@clisp.org>
5609
5610         Use socklen_t in the native Windows replacements prototypes.
5611         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
5612         instead of 'int'.
5613         * lib/getsockopt.c (rpl_getsockopt): Likewise.
5614         * lib/setsockopt.c (rpl_setsockopt): Likewise.
5615         * modules/getsockopt (Depends-on): Add socklen.
5616         * modules/setsockopt (Depends-on): Add socklen.
5617
5618 2009-03-01  Bruno Haible  <bruno@clisp.org>
5619
5620         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
5621         least 4.2.
5622
5623 2009-03-01  Eric Blake  <ebb9@byu.net>
5624             Bruno Haible  <bruno@clisp.org>
5625
5626         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
5627         error messages.
5628         * lib/wait-process.c (wait_subprocess): Omit error message about
5629         deadly signal sent to the child of termsigp != NULL.
5630
5631 2009-03-01  Eric Blake  <ebb9@byu.net>
5632
5633         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
5634
5635 2009-03-01  Bruno Haible  <bruno@clisp.org>
5636
5637         Avoid a gcc warning.
5638         * tests/test-sched.c (b): Make global.
5639         Reported by Eric Blake.
5640
5641 2009-01-19  Martin Lambers  <marlam@marlam.de>
5642
5643         Provide POSIX semantics for socket timeout options on W32.
5644         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
5645         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
5646         * modules/setsockopt: Depend on sys_time module for struct timeval.
5647         * modules/getsockopt: Depend on sys_time module for struct timeval.
5648
5649 2009-03-01  Simon Josefsson  <simon@josefsson.org>
5650
5651         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
5652         __USE_GNU, for consistency with netdb.in.h.
5653         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
5654
5655 2009-03-01  Bruno Haible  <bruno@clisp.org>
5656
5657         More support for FreeMiNT.
5658         * lib/fseeko.c (rpl_fseeko): Complete last commit.
5659         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
5660
5661 2009-03-01  Bruno Haible  <bruno@clisp.org>
5662
5663         More support for FreeMiNT.
5664         * lib/fpurge.c (fpurge): Correct last commit.
5665         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
5666
5667 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5668
5669         Fix unportable awk script in vc-list-files.
5670         * build-aux/vc-list-files: In the replacement awk script, use
5671         substr with a second argument of 1, not zero.
5672         Report by Simon Josefsson.
5673
5674 2009-02-28  Bruno Haible  <bruno@clisp.org>
5675
5676         More support for FreeMiNT.
5677         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
5678         to FreeMiNT today.
5679         * lib/fwriting.c (fwriting): Likewise.
5680         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
5681
5682 2009-02-28  Bruno Haible  <bruno@clisp.org>
5683
5684         * tests/test-freadseek.c (main): Disable test beyond end of file on
5685         FreeMiNT.
5686         * tests/test-ftello.c (main): Likewise.
5687         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
5688
5689 2009-02-28  Bruno Haible  <bruno@clisp.org>
5690
5691         Add tentative support for FreeMiNT.
5692         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
5693         * lib/fpurge.c (fpurge): Likewise.
5694         * lib/freadable.c (freadable): Likewise.
5695         * lib/freading.c (freading): Likewise.
5696         * lib/freadptr.c (freadptr): Likewise.
5697         * lib/freadseek.c (freadptrinc): Likewise.
5698         * lib/fseeko.c (rpl_fseeko): Likewise.
5699         * lib/fseterr.c (fseterr): Likewise.
5700         * lib/fwritable.c (fwritable): Likewise.
5701         * lib/fwriting.c (fwriting): Likewise.
5702         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
5703         Hourihane.
5704         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
5705
5706 2009-02-28  Bruno Haible  <bruno@clisp.org>
5707
5708         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
5709         SIGCHLD.
5710         Reported by Jim Meyering.
5711
5712 2009-02-28  Bruno Haible  <bruno@clisp.org>
5713
5714         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
5715         Mention the results of these tests on various platforms.
5716         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
5717         order.
5718         * doc/posix-functions/printf.texi: Likewise.
5719         * doc/posix-functions/snprintf.texi: Likewise.
5720         * doc/posix-functions/sprintf.texi: Likewise.
5721         * doc/posix-functions/vfprintf.texi: Likewise.
5722         * doc/posix-functions/vprintf.texi: Likewise.
5723         * doc/posix-functions/vsnprintf.texi: Likewise.
5724         * doc/posix-functions/vsprintf.texi: Likewise.
5725         * doc/glibc-functions/obstack_printf.texi: Likewise.
5726         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
5727
5728 2009-02-28  Bruno Haible  <bruno@clisp.org>
5729
5730         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
5731         Reported by Loïc Minier <lool@dooz.org>.
5732
5733 2009-02-27  Bruno Haible  <bruno@clisp.org>
5734
5735         * gnulib-tool (func_import): Make the sed expression used to create the
5736         sed script for updating the .gitignore file POSIX compliant.
5737         Reported by Eric Blake.
5738
5739 2009-02-27  Bruno Haible  <bruno@clisp.org>
5740
5741         * gnulib-tool (sed): Don't alias as "sed --posix".
5742         Reported by Eric Blake.
5743
5744 2009-02-27  Bruno Haible  <bruno@clisp.org>
5745
5746         Avoid test link errors.
5747         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
5748         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
5749         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
5750         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
5751         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5752
5753 2009-02-27  Bruno Haible  <bruno@clisp.org>
5754
5755         Avoid spurious "(cached)" in configure output.
5756         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
5757         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
5758         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
5759         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
5760         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
5761         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
5762         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
5763         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
5764         Reported by Eric Blake.
5765
5766 2009-02-27  Eric Blake  <ebb9@byu.net>
5767
5768         printf: fix regression in previous patch
5769         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
5770
5771 2009-02-27  Bruno Haible  <bruno@clisp.org>
5772
5773         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
5774         value.
5775         * lib/stdint.in.h: Likewise.
5776         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
5777
5778 2009-02-27  Eric Blake  <ebb9@byu.net>
5779
5780         doc: mention more functions added in cygwin 1.7.0
5781         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
5782         addition.
5783         * doc/posix-functions/open_wmemstream.texi: Likewise.
5784         * doc/posix-functions/wcsnlen.texi: Likewise.
5785         * doc/posix-functions/wcsnrtombs.texi: Likewise.
5786         * doc/posix-functions/wcstod.texi: Likewise.
5787         * doc/posix-functions/wcstof.texi: Likewise.
5788         * doc/posix-functions/wcstoimax.texi: Likewise.
5789         * doc/posix-functions/wcstok.texi: Likewise.
5790         * doc/posix-functions/wcstoumax.texi: Likewise.
5791
5792         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
5793         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
5794         * doc/posix-functions/fprintf.texi: Update.
5795         * doc/posix-functions/printf.texi: Update.
5796         * doc/posix-functions/snprintf.texi: Update.
5797         * doc/posix-functions/sprintf.texi: Update.
5798         * doc/posix-functions/vfprintf.texi: Update.
5799         * doc/posix-functions/vprintf.texi: Update.
5800         * doc/posix-functions/vsnprintf.texi: Update.
5801         * doc/posix-functions/vsprintf.texi: Update.
5802         * doc/glibc-functions/obstack_printf.texi: Update.
5803         * doc/glibc-functions/obstack_vprintf.texi: Update.
5804
5805 2009-02-26  Eric Blake  <ebb9@byu.net>
5806
5807         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
5808         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
5809         compilation bug by using runtime conversion.
5810         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
5811         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
5812         * modules/ceill-tests (Files): Use nan.h.
5813         * modules/floorl-tests (Files): Likewise.
5814         * modules/frexpl-tests (Files): Likewise.
5815         * modules/isnanl-tests (Files): Likewise.
5816         * modules/ldexpl-tests (Files): Likewise.
5817         * modules/roundl-tests (Files): Likewise.
5818         * modules/truncl-tests (Files): Likewise.
5819         * tests/test-ceill.c (main): Use a working NaN.
5820         * tests/test-floorl.c (main): Likewise.
5821         * tests/test-frexpl.c (main): Likewise.
5822         * tests/test-isnan.c (test_long_double): Likewise.
5823         * tests/test-isnanl.h (main): Likewise.
5824         * tests/test-ldexpl.h (main): Likewise.
5825         * tests/test-roundl.h (main): Likewise.
5826         * tests/test-truncl.h (main): Likewise.
5827         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
5828
5829 2009-02-26  Eric Blake  <ebb9@byu.net>
5830             Bruno Haible  <bruno@clisp.org>
5831
5832         Work around a *printf bug with %ls on Solaris.
5833         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
5834         precision is specified, sprintf stops converting the wide string
5835         argument when the number of bytes that have been produced by this
5836         conversion equals or exceeds the precision.
5837         * doc/posix-functions/fprintf.texi: Update.
5838         * doc/posix-functions/printf.texi: Update.
5839         * doc/posix-functions/snprintf.texi: Update.
5840         * doc/posix-functions/sprintf.texi: Update.
5841         * doc/posix-functions/vfprintf.texi: Update.
5842         * doc/posix-functions/vprintf.texi: Update.
5843         * doc/posix-functions/vsnprintf.texi: Update.
5844         * doc/posix-functions/vsprintf.texi: Update.
5845         * doc/glibc-functions/obstack_printf.texi: Update.
5846         * doc/glibc-functions/obstack_vprintf.texi: Update.
5847
5848 2009-02-26  Eric Blake  <ebb9@byu.net>
5849
5850         stdlib: favor compiler check of random.h
5851         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
5852         to avoid an ObjC random.h installed by Swarm.
5853
5854 2009-02-26  Bruno Haible  <bruno@clisp.org>
5855
5856         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
5857         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
5858         Reported by Gary V. Vaughan <gary@gnu.org>.
5859
5860 2009-02-26  Bruno Haible  <bruno@clisp.org>
5861
5862         Fix *printf behaviour regarding the %ls directive.
5863         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
5864         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
5865         NEED_PRINTF_DIRECTIVE_LS.
5866         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
5867         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
5868         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
5869         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
5870         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
5871         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
5872         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
5873         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
5874         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
5875         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
5876         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
5877         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
5878         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
5879         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
5880         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
5881         * doc/posix-functions/fprintf.texi: Update.
5882         * doc/posix-functions/printf.texi: Update.
5883         * doc/posix-functions/snprintf.texi: Update.
5884         * doc/posix-functions/sprintf.texi: Update.
5885         * doc/posix-functions/vfprintf.texi: Update.
5886         * doc/posix-functions/vprintf.texi: Update.
5887         * doc/posix-functions/vsnprintf.texi: Update.
5888         * doc/posix-functions/vsprintf.texi: Update.
5889         * doc/glibc-functions/obstack_printf.texi: Update.
5890         * doc/glibc-functions/obstack_vprintf.texi: Update.
5891         Reported by Eric Blake.
5892
5893 2009-02-25  Bruno Haible  <bruno@clisp.org>
5894
5895         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
5896         with known value.
5897         Reported by Gary V. Vaughan <gary@gnu.org>.
5898
5899 2009-02-25  Bruno Haible  <bruno@clisp.org>
5900
5901         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
5902         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
5903         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
5904         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
5905         Reported by Gary V. Vaughan <gary@gnu.org>.
5906
5907 2009-02-25  Bruno Haible  <bruno@clisp.org>
5908
5909         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
5910         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
5911         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
5912         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
5913         Reported by Gary V. Vaughan <gary@gnu.org>.
5914
5915 2009-02-25  Eric Blake  <ebb9@byu.net>
5916
5917         tests: skip fseek/ftell tests if ungetc is broken
5918         * m4/ungetc.m4: New file.
5919         * modules/fseek-tests: Split test, so ungetc dependency is
5920         separate from rest of test.
5921         * modules/fseeko-tests: Likewise.
5922         * modules/ftell-tests: Likewise.
5923         * modules/ftello-tests: Likewise.
5924         * tests/test-fseek.c (main): Isolate ungetc dependency.
5925         * tests/test-fseeko.c (main): Likewise.
5926         * tests/test-ftell.c (main): Likewise.
5927         * tests/test-ftello.c (main): Likewise.
5928         * tests/test-fseek2.sh: New file.
5929         * tests/test-fseeko2.sh: Likewise.
5930         * tests/test-ftell2.sh: Likewise.
5931         * tests/test-ftello2.sh: Likewise.
5932
5933 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
5934
5935         test-getaddrinfo: fix usage of skip return code 77
5936         * tests/test-gettaddrinfo.c: Return skip code 77 only
5937         for first occurance of skip (4x77 is not 77)
5938
5939 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
5940
5941         strtod: avoid C99 decl-after-statement
5942         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
5943
5944 2009-02-24  Eric Blake  <ebb9@byu.net>
5945
5946         strtod: detect HP-UX 11.31 bug
5947         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
5948         Reported by Gary V. Vaughan.
5949
5950 2009-02-23  Bruno Haible  <bruno@clisp.org>
5951
5952         Fix invalid read past end of memory block.
5953         * lib/vasnprintf.c (DCHAR_SET): Define.
5954         (local_wcslen): Define only when needed.
5955         (local_strnlen, local_wcsnlen): New functions.
5956         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
5957         directives that involve a conversion ourselves.
5958         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
5959         wcsnlen, mbrtowc, wcrtomb.
5960         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
5961         * tests/test-vasprintf-posix.c (test_function): Likewise.
5962         * tests/test-snprintf-posix.h (test_function): Likewise.
5963         * tests/test-sprintf-posix.h (test_function): Likewise.
5964         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5965
5966 2009-02-22  Bruno Haible  <bruno@clisp.org>
5967
5968         Implement new clarified decomposition of Hangul syllables.
5969         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
5970         of type LTV, return only a pairwise decomposition.
5971         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
5972         Likewise.
5973         * tests/uninorm/test-decomposition.c (main): Updated expected result.
5974         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
5975         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
5976
5977 2009-02-22  Bruno Haible  <bruno@clisp.org>
5978
5979         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
5980         zero-length results and shrink excess allocated memory.
5981         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
5982         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
5983         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
5984         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
5985         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
5986         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
5987         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
5988         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
5989         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
5990         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
5991         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
5992         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
5993
5994 2009-02-21  Bruno Haible  <bruno@clisp.org>
5995
5996         * doc/gnulib.texi: Include safe-alloc.texi earlier.
5997         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
5998         spaces after a period. Put a space between a macro name and its
5999         argument list. Trivial rewordings.
6000         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
6001         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
6002         (main): Return 0 explicitly.
6003
6004 2009-02-21  Bruno Haible  <bruno@clisp.org>
6005
6006         Tests for module 'uninorm/filter'.
6007         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
6008         * modules/uninorm/filter-tests: New file.
6009
6010         New module 'uninorm/filter'.
6011         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
6012         uninorm_filter_flush, uninorm_filter_free): New declarations.
6013         * lib/uninorm/uninorm-filter.c: New file.
6014         * modules/uninorm/filter: New file.
6015
6016 2009-02-21  Bruno Haible  <bruno@clisp.org>
6017
6018         Tests for module 'uninorm/nfkc'.
6019         * tests/uninorm/test-nfkc.c: New file.
6020         * tests/uninorm/test-u8-nfkc.c: New file.
6021         * tests/uninorm/test-u16-nfkc.c: New file.
6022         * tests/uninorm/test-u32-nfkc.c: New file.
6023         * tests/uninorm/test-u32-nfkc-big.sh: New file.
6024         * tests/uninorm/test-u32-nfkc-big.c: New file.
6025         * modules/uninorm/nfkc-tests: New file.
6026
6027         New module 'uninorm/nfkc'.
6028         * lib/uninorm/nfkc.c: New file.
6029         * modules/uninorm/nfkc: New file.
6030
6031         Tests for module 'uninorm/nfkd'.
6032         * tests/uninorm/test-nfkd.c: New file.
6033         * tests/uninorm/test-u8-nfkd.c: New file.
6034         * tests/uninorm/test-u16-nfkd.c: New file.
6035         * tests/uninorm/test-u32-nfkd.c: New file.
6036         * tests/uninorm/test-u32-nfkd-big.sh: New file.
6037         * tests/uninorm/test-u32-nfkd-big.c: New file.
6038         * modules/uninorm/nfkd-tests: New file.
6039
6040         New module 'uninorm/nfkd'.
6041         * lib/uninorm/nfkd.c: New file.
6042         * modules/uninorm/nfkd: New file.
6043
6044         Tests for module 'uninorm/nfc'.
6045         * tests/uninorm/test-nfc.c: New file.
6046         * tests/uninorm/test-u8-nfc.c: New file.
6047         * tests/uninorm/test-u16-nfc.c: New file.
6048         * tests/uninorm/test-u32-nfc.c: New file.
6049         * tests/uninorm/test-u32-nfc-big.sh: New file.
6050         * tests/uninorm/test-u32-nfc-big.c: New file.
6051         * modules/uninorm/nfc-tests: New file.
6052
6053         New module 'uninorm/nfc'.
6054         * lib/uninorm/nfc.c: New file.
6055         * modules/uninorm/nfc: New file.
6056
6057         Tests for module 'uninorm/nfd'.
6058         * tests/uninorm/test-nfd.c: New file.
6059         * tests/uninorm/test-u8-nfd.c: New file.
6060         * tests/uninorm/test-u16-nfd.c: New file.
6061         * tests/uninorm/test-u32-nfd.c: New file.
6062         * tests/uninorm/test-u32-nfd-big.sh: New file.
6063         * tests/uninorm/test-u32-nfd-big.c: New file.
6064         * tests/uninorm/test-u32-normalize-big.h: New file.
6065         * tests/uninorm/test-u32-normalize-big.c: New file.
6066         * tests/uninorm/NormalizationTest.txt: New file, created from
6067         Unicode 5.1.0 NormalizationTest.txt.
6068         * modules/uninorm/nfd-tests: New file.
6069
6070         New module 'uninorm/nfd'.
6071         * lib/uninorm/nfd.c: New file.
6072         * modules/uninorm/nfd: New file.
6073
6074         New module 'uninorm/u32-normalize'.
6075         * lib/uninorm/u32-normalize.c: New file.
6076         * modules/uninorm/u32-normalize: New file.
6077
6078         New module 'uninorm/u16-normalize'.
6079         * lib/uninorm/u16-normalize.c: New file.
6080         * modules/uninorm/u16-normalize: New file.
6081
6082         New module 'uninorm/u8-normalize'.
6083         * lib/uninorm/u8-normalize.c: New file.
6084         * lib/uninorm/normalize-internal.h: New file.
6085         * lib/uninorm/u-normalize-internal.h: New file.
6086         * modules/uninorm/u8-normalize: New file.
6087
6088         New module 'uninorm/decompose-internal'.
6089         * lib/uninorm/decompose-internal.c: New file.
6090         * modules/uninorm/decompose-internal: New file.
6091
6092         Tests for module 'uninorm/composition'.
6093         * tests/uninorm/test-composition.c: New file.
6094         * modules/uninorm/composition-tests: New file.
6095
6096         New module 'uninorm/composition'.
6097         * lib/uninorm/composition.c: New file.
6098         * lib/uninorm/composition-table.gperf: New file, generated by
6099         gen-uni-tables.
6100         * modules/uninorm/composition: New file.
6101
6102         Tests for module 'uninorm/compat-decomposition'.
6103         * tests/uninorm/test-compat-decomposition.c: New file.
6104         * modules/uninorm/compat-decomposition-tests: New file.
6105
6106         New module 'uninorm/compat-decomposition'.
6107         * lib/uninorm/decompose-internal.h: New file.
6108         * lib/uninorm/compat-decomposition.c: New file.
6109         * modules/uninorm/compat-decomposition: New file.
6110
6111         Tests for module 'uninorm/canonical-decomposition'.
6112         * tests/uninorm/test-canonical-decomposition.c: New file.
6113         * modules/uninorm/canonical-decomposition-tests: New file.
6114
6115         New module 'uninorm/canonical-decomposition'.
6116         * lib/uninorm/canonical-decomposition.c: New file.
6117         * modules/uninorm/canonical-decomposition: New file.
6118
6119         Tests for module 'uninorm/decomposition'.
6120         * tests/uninorm/test-decomposition.c: New file.
6121         * modules/uninorm/decomposition-tests: New file.
6122
6123         New module 'uninorm/decomposition'.
6124         * lib/uninorm/decomposition.c: New file.
6125         * modules/uninorm/decomposition: New file.
6126
6127         New module 'uninorm/decomposition-table'.
6128         * lib/uninorm/decomposition-table.h: New file.
6129         * lib/uninorm/decomposition-table.c: New file.
6130         * lib/uninorm/decomposition-table1.h: New file, generated by
6131         gen-uni-tables.
6132         * lib/uninorm/decomposition-table2.h: New file, generated by
6133         gen-uni-tables.
6134         * modules/uninorm/decomposition-table: New file.
6135
6136         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
6137         (UC_DECOMP_*): New enumeration items.
6138         (get_decomposition): New function.
6139         (struct decomp_table): New type.
6140         (output_decomposition, output_decomposition_tables): New functions.
6141         (unicode_composition_exclusions): New variable.
6142         (fill_composition_exclusions, debug_output_composition_tables): New
6143         functions.
6144         (main): Accept one more argument. Invoke fill_composition_exclusions.
6145         Output decomposition and composition tables.
6146
6147         New module 'uninorm/base'.
6148         * lib/uninorm.h: New file.
6149         * lib/unictype.h: Update comment.
6150         * modules/uninorm/base: New file.
6151
6152 2009-02-21  David Lutterkort  <lutter@redhat.com>
6153
6154         Tests for module 'safe-alloc'.
6155         * tests/test-safe-alloc.c: New file.
6156         * modules/safe-alloc-tests: New file.
6157
6158         New module 'safe-alloc'.
6159         * lib/safe-alloc.h: New file.
6160         * lib/safe-alloc.c: New file.
6161         * m4/safe-alloc.m4: New file.
6162         * modules/safe-alloc: New file.
6163         * doc/safe-alloc.texi: New file.
6164         * doc/gnulib.texi: Include it.
6165         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
6166         safe-alloc.
6167
6168 2009-02-18  Bruno Haible  <bruno@clisp.org>
6169
6170         Fix link error on non-glibc systems.
6171         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
6172         variable.
6173         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6174
6175 2009-02-18  Jim Meyering  <meyering@redhat.com>
6176
6177         fts: avoid used-uninitialized error due to recent change
6178         * lib/fts.c (fts_read): Guard uses of the new member,
6179         parent->fts_n_dirs_remaining, since it's not relevant for
6180         the parent of a directory specified on the command-line.
6181
6182 2009-02-17  James Youngman  <jay@gnu.org>
6183             Bruno Haible  <bruno@clisp.org>
6184
6185         * m4/include_next.m4: Reformulate comment.
6186
6187 2009-02-16  Jim Meyering  <meyering@redhat.com>
6188
6189         fts: add #if guards so that the fts_lgpl module still builds
6190         * lib/fts.c: Guard just-added hash-table-using parts with
6191         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
6192         Reported by Simon Josefsson.
6193
6194 2009-02-15  Bruno Haible  <bruno@clisp.org>
6195
6196         * modules/array-mergesort-tests: New file.
6197         * tests/test-array-mergesort.c: New file.
6198
6199         New module 'array-mergesort'.
6200         * modules/array-mergesort: New file.
6201         * lib/array-mergesort.h: New file.
6202
6203 2009-02-15  Bruno Haible  <bruno@clisp.org>
6204
6205         Fix 2009-02-07 commit.
6206         * lib/gen-uni-tables.c (output_predicate, output_category,
6207         output_combclass, output_bidi_category, output_decimal_digit,
6208         output_digit, output_numeric, output_mirror, output_scripts,
6209         output_ident_category, output_simple_mapping): Fix format directives.
6210         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
6211
6212 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
6213
6214         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
6215         fixes are available from IBM.
6216
6217 2009-02-13  Jim Meyering  <meyering@redhat.com>
6218
6219         fts: arrange not to stat non-directories in more cases
6220         This makes GNU find (when it doesn't need to stat each file)
6221         *much* more efficient at traversing reiserfs file systems.
6222         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
6223         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
6224         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
6225         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
6226         (leaf_optimization_applies): New function.
6227         (LCO_hash, LCO_compare): New helper functions.
6228         (link_count_optimize_ok): New function.
6229         (fts_stat): Initialize new member (if dir).
6230         (fts_read): Decrement parent's fts_n_dirs_remaining count if
6231         we've just stat'ed a directory.  Skip the stat call when possible.
6232         ---
6233         Note this AFS-related exchange:
6234         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
6235         and note find's pioctl call in find/fstype.c.
6236         But that is necessary only if you want to enable the
6237         optimization for AFS, and for now, I don't.
6238
6239         fts: move a function definition "up" (no semantic change)
6240         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
6241         "up" to precede upcoming use of a related function.
6242
6243 2009-02-11  Jim Meyering  <meyering@redhat.com>
6244
6245         fts: correct internal computation of nlinks (optimization-related)
6246         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
6247         whether the current entry is a directory, so don't test it.
6248
6249 2009-02-10  Bruno Haible  <bruno@clisp.org>
6250
6251         Tests for module 'uniwbrk/ulc-wordbreaks'.
6252         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
6253         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
6254         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
6255
6256         Tests for module 'uniwbrk/u32-wordbreaks'.
6257         * modules/uniwbrk/u32-wordbreaks-tests: New file.
6258         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
6259
6260         Tests for module 'uniwbrk/u16-wordbreaks'.
6261         * modules/uniwbrk/u16-wordbreaks-tests: New file.
6262         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
6263
6264         Tests for module 'uniwbrk/u8-wordbreaks'.
6265         * modules/uniwbrk/u8-wordbreaks-tests: New file.
6266         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
6267
6268 2009-02-10  Bruno Haible  <bruno@clisp.org>
6269
6270         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
6271         property.
6272         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
6273         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
6274         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
6275
6276 2009-02-10  Simon Josefsson  <simon@josefsson.org>
6277
6278         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
6279         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
6280
6281 2009-02-10  Bruno Haible  <bruno@clisp.org>
6282
6283         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
6284         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
6285         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
6286         * lib/unilbrk/u8-possible-linebreaks.c: Update.
6287         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
6288         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
6289
6290 2009-02-09  Simon Josefsson  <simon@josefsson.org>
6291
6292         * lib/sockets.h (gl_fd_to_handle): New function.
6293
6294         * tests/test-sockets.c: Call gl_fd_to_handle.
6295
6296 2009-02-09  Bruno Haible  <bruno@clisp.org>
6297
6298         * doc/havelib.texi: Document the conventions on bi-arch systems.
6299
6300 2009-02-08  Bruno Haible  <bruno@clisp.org>
6301
6302         Document the AC_LIB_LINKFLAGS macro.
6303         * doc/havelib.texi: New file, mostly written on 2005-05-24.
6304         * doc/gnulib.texi: Include it.
6305
6306 2009-02-08  Bruno Haible  <bruno@clisp.org>
6307
6308         Fix wrong order of sections, compared to TOC.
6309         * doc/gnulib.texi: Include relocatable-maint.texi after the
6310         "Regular expressions" node, not before.
6311
6312 2009-02-08  Bruno Haible  <bruno@clisp.org>
6313
6314         Tests for module 'unicase/totitle'.
6315         * modules/unicase/totitle-tests: New file.
6316
6317         Tests for module 'unicase/tolower'.
6318         * modules/unicase/tolower-tests: New file.
6319
6320         Tests for module 'unicase/toupper'.
6321         * modules/unicase/toupper-tests: New file.
6322         * tests/unicase/test-mapping-part1.h: New file.
6323         * tests/unicase/test-mapping-part2.h: New file.
6324
6325         New module 'unicase/totitle'.
6326         * modules/unicase/totitle: New file.
6327         * lib/unicase/totitle.c: New file.
6328
6329         New module 'unicase/tolower'.
6330         * modules/unicase/tolower: New file.
6331         * lib/unicase/tolower.c: New file.
6332
6333         New module 'unicase/toupper'.
6334         * modules/unicase/toupper: New file.
6335         * lib/unicase/toupper.c: New file.
6336         * lib/unicase/simple-mapping.h: New file.
6337
6338         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
6339         (mapping_table): New structure.
6340         (output_simple_mapping): New function.
6341         (main): Invoke output_simple_mapping_test and output_simple_mapping.
6342         * modules/gen-uni-tables (Description): Update.
6343         * lib/unicase/toupper.h: New file, automatically generated by
6344         gen-uni-tables.
6345         * lib/unicase/tolower.h: New file, automatically generated by
6346         gen-uni-tables.
6347         * lib/unicase/totitle.h: New file, automatically generated by
6348         gen-uni-tables.
6349         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
6350         gen-uni-tables.
6351         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
6352         gen-uni-tables.
6353         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
6354         gen-uni-tables.
6355
6356         New module 'unicase/base'.
6357         * modules/unicase/base: New file.
6358         * lib/unicase.h: New file.
6359
6360 2009-02-08  Bruno Haible  <bruno@clisp.org>
6361
6362         New module 'uniwbrk/ulc-wordbreaks'.
6363         * modules/uniwbrk/ulc-wordbreaks: New file.
6364         * lib/uniwbrk/ulc-wordbreaks.c: New file.
6365
6366         New module 'uniwbrk/u32-wordbreaks'.
6367         * modules/uniwbrk/u32-wordbreaks: New file.
6368         * lib/uniwbrk/u32-wordbreaks.c: New file.
6369
6370         New module 'uniwbrk/u16-wordbreaks'.
6371         * modules/uniwbrk/u16-wordbreaks: New file.
6372         * lib/uniwbrk/u16-wordbreaks.c: New file.
6373
6374         New module 'uniwbrk/u8-wordbreaks'.
6375         * modules/uniwbrk/u8-wordbreaks: New file.
6376         * lib/uniwbrk/u8-wordbreaks.c: New file.
6377         * lib/uniwbrk/u-wordbreaks.h: New file.
6378
6379         New module 'uniwbrk/table'.
6380         * modules/uniwbrk/table: New file.
6381         * lib/uniwbrk/wbrktable.h: New file.
6382         * lib/uniwbrk/wbrktable.c: New file.
6383
6384         New module 'uniwbrk/wordbreak-property'.
6385         * modules/uniwbrk/wordbreak-property: New file.
6386         * lib/uniwbrk/wordbreak-property.c: New file.
6387
6388         * lib/gen-uni-tables.c (WBP_*): New enum items.
6389         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
6390         (unicode_org_wbp): New variable.
6391         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
6392         New functions.
6393         (wbp_table): New structure.
6394         (output_wbp, output_wbrk_tables): New functions.
6395         (main): Accept additional argument. Invoke fill_org_wbp,
6396         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
6397         output_wbrk_tables.
6398         * modules/gen-uni-tables (Description): Update.
6399         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
6400         gen-uni-tables.
6401
6402         New module 'uniwbrk/base'.
6403         * modules/uniwbrk/base: New file.
6404         * lib/uniwbrk.h: New file.
6405
6406 2009-02-08  Bruno Haible  <bruno@clisp.org>
6407
6408         Update to Unicode 5.1.0.
6409         * lib/gen-uni-tables.c (is_property_alphabetic): Include
6410         U+2185..U+2188.
6411         (is_property_default_ignorable_code_point): Don't include characters
6412         of category Cc or Cs and not-a-characters.
6413         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
6414         U+0D79, U+109E, U+109F, U+A60C.
6415         * lib/unictype/bidi_of.h: Regenerated.
6416         * lib/unictype/blocks.h: Regenerated.
6417         * lib/unictype/categ_C.h: Regenerated.
6418         * lib/unictype/categ_Cf.h: Regenerated.
6419         * lib/unictype/categ_Cn.h: Regenerated.
6420         * lib/unictype/categ_L.h: Regenerated.
6421         * lib/unictype/categ_Ll.h: Regenerated.
6422         * lib/unictype/categ_Lm.h: Regenerated.
6423         * lib/unictype/categ_Lo.h: Regenerated.
6424         * lib/unictype/categ_Lu.h: Regenerated.
6425         * lib/unictype/categ_M.h: Regenerated.
6426         * lib/unictype/categ_Mc.h: Regenerated.
6427         * lib/unictype/categ_Me.h: Regenerated.
6428         * lib/unictype/categ_Mn.h: Regenerated.
6429         * lib/unictype/categ_N.h: Regenerated.
6430         * lib/unictype/categ_Nd.h: Regenerated.
6431         * lib/unictype/categ_Nl.h: Regenerated.
6432         * lib/unictype/categ_No.h: Regenerated.
6433         * lib/unictype/categ_P.h: Regenerated.
6434         * lib/unictype/categ_Pd.h: Regenerated.
6435         * lib/unictype/categ_Pe.h: Regenerated.
6436         * lib/unictype/categ_Pf.h: Regenerated.
6437         * lib/unictype/categ_Pi.h: Regenerated.
6438         * lib/unictype/categ_Po.h: Regenerated.
6439         * lib/unictype/categ_Ps.h: Regenerated.
6440         * lib/unictype/categ_S.h: Regenerated.
6441         * lib/unictype/categ_Sk.h: Regenerated.
6442         * lib/unictype/categ_Sm.h: Regenerated.
6443         * lib/unictype/categ_So.h: Regenerated.
6444         * lib/unictype/categ_of.h: Regenerated.
6445         * lib/unictype/combining.h: Regenerated.
6446         * lib/unictype/ctype_alnum.h: Regenerated.
6447         * lib/unictype/ctype_alpha.h: Regenerated.
6448         * lib/unictype/ctype_graph.h: Regenerated.
6449         * lib/unictype/ctype_lower.h: Regenerated.
6450         * lib/unictype/ctype_print.h: Regenerated.
6451         * lib/unictype/ctype_punct.h: Regenerated.
6452         * lib/unictype/ctype_upper.h: Regenerated.
6453         * lib/unictype/decdigit.h: Regenerated.
6454         * lib/unictype/digit.h: Regenerated.
6455         * lib/unictype/mirror.h: Regenerated.
6456         * lib/unictype/numeric.h: Regenerated.
6457         * lib/unictype/pr_alphabetic.h: Regenerated.
6458         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
6459         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
6460         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
6461         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
6462         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
6463         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
6464         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
6465         * lib/unictype/pr_combining.h: Regenerated.
6466         * lib/unictype/pr_dash.h: Regenerated.
6467         * lib/unictype/pr_decimal_digit.h: Regenerated.
6468         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
6469         * lib/unictype/pr_deprecated.h: Regenerated.
6470         * lib/unictype/pr_diacritic.h: Regenerated.
6471         * lib/unictype/pr_extender.h: Regenerated.
6472         * lib/unictype/pr_format_control.h: Regenerated.
6473         * lib/unictype/pr_grapheme_base.h: Regenerated.
6474         * lib/unictype/pr_grapheme_extend.h: Regenerated.
6475         * lib/unictype/pr_grapheme_link.h: Regenerated.
6476         * lib/unictype/pr_id_continue.h: Regenerated.
6477         * lib/unictype/pr_id_start.h: Regenerated.
6478         * lib/unictype/pr_ideographic.h: Regenerated.
6479         * lib/unictype/pr_ignorable_control.h: Regenerated.
6480         * lib/unictype/pr_lowercase.h: Regenerated.
6481         * lib/unictype/pr_math.h: Regenerated.
6482         * lib/unictype/pr_numeric.h: Regenerated.
6483         * lib/unictype/pr_other_alphabetic.h: Regenerated.
6484         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
6485         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
6486         * lib/unictype/pr_other_id_continue.h: Regenerated.
6487         * lib/unictype/pr_other_lowercase.h: Regenerated.
6488         * lib/unictype/pr_other_math.h: Regenerated.
6489         * lib/unictype/pr_punctuation.h: Regenerated.
6490         * lib/unictype/pr_sentence_terminal.h: Regenerated.
6491         * lib/unictype/pr_soft_dotted.h: Regenerated.
6492         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
6493         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
6494         * lib/unictype/pr_unified_ideograph.h: Regenerated.
6495         * lib/unictype/pr_uppercase.h: Regenerated.
6496         * lib/unictype/pr_xid_continue.h: Regenerated.
6497         * lib/unictype/pr_xid_start.h: Regenerated.
6498         * lib/unictype/pr_zero_width.h: Regenerated.
6499         * lib/unictype/scripts.h: Regenerated.
6500         * lib/unictype/scripts_byname.gperf: Regenerated.
6501         * lib/unictype/sy_java_ident.h: Regenerated.
6502         * lib/unilbrk/lbrkprop1.h: Regenerated.
6503         * lib/unilbrk/lbrkprop2.h: Regenerated.
6504         * tests/unictype/test-categ_C.c: Regenerated.
6505         * tests/unictype/test-categ_Cf.c: Regenerated.
6506         * tests/unictype/test-categ_Cn.c: Regenerated.
6507         * tests/unictype/test-categ_L.c: Regenerated.
6508         * tests/unictype/test-categ_Ll.c: Regenerated.
6509         * tests/unictype/test-categ_Lm.c: Regenerated.
6510         * tests/unictype/test-categ_Lo.c: Regenerated.
6511         * tests/unictype/test-categ_Lu.c: Regenerated.
6512         * tests/unictype/test-categ_M.c: Regenerated.
6513         * tests/unictype/test-categ_Mc.c: Regenerated.
6514         * tests/unictype/test-categ_Me.c: Regenerated.
6515         * tests/unictype/test-categ_Mn.c: Regenerated.
6516         * tests/unictype/test-categ_N.c: Regenerated.
6517         * tests/unictype/test-categ_Nd.c: Regenerated.
6518         * tests/unictype/test-categ_Nl.c: Regenerated.
6519         * tests/unictype/test-categ_No.c: Regenerated.
6520         * tests/unictype/test-categ_P.c: Regenerated.
6521         * tests/unictype/test-categ_Pd.c: Regenerated.
6522         * tests/unictype/test-categ_Pe.c: Regenerated.
6523         * tests/unictype/test-categ_Pf.c: Regenerated.
6524         * tests/unictype/test-categ_Pi.c: Regenerated.
6525         * tests/unictype/test-categ_Po.c: Regenerated.
6526         * tests/unictype/test-categ_Ps.c: Regenerated.
6527         * tests/unictype/test-categ_S.c: Regenerated.
6528         * tests/unictype/test-categ_Sk.c: Regenerated.
6529         * tests/unictype/test-categ_Sm.c: Regenerated.
6530         * tests/unictype/test-categ_So.c: Regenerated.
6531         * tests/unictype/test-ctype_alnum.c: Regenerated.
6532         * tests/unictype/test-ctype_alpha.c: Regenerated.
6533         * tests/unictype/test-ctype_graph.c: Regenerated.
6534         * tests/unictype/test-ctype_lower.c: Regenerated.
6535         * tests/unictype/test-ctype_print.c: Regenerated.
6536         * tests/unictype/test-ctype_punct.c: Regenerated.
6537         * tests/unictype/test-ctype_upper.c: Regenerated.
6538         * tests/unictype/test-decdigit.h: Regenerated.
6539         * tests/unictype/test-digit.h: Regenerated.
6540         * tests/unictype/test-numeric.h: Regenerated.
6541         * tests/unictype/test-pr_alphabetic.c: Regenerated.
6542         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
6543         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
6544         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
6545         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
6546         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
6547         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
6548         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
6549         * tests/unictype/test-pr_combining.c: Regenerated.
6550         * tests/unictype/test-pr_dash.c: Regenerated.
6551         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
6552         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
6553         * tests/unictype/test-pr_deprecated.c: Regenerated.
6554         * tests/unictype/test-pr_diacritic.c: Regenerated.
6555         * tests/unictype/test-pr_extender.c: Regenerated.
6556         * tests/unictype/test-pr_format_control.c: Regenerated.
6557         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
6558         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
6559         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
6560         * tests/unictype/test-pr_id_continue.c: Regenerated.
6561         * tests/unictype/test-pr_id_start.c: Regenerated.
6562         * tests/unictype/test-pr_ideographic.c: Regenerated.
6563         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
6564         * tests/unictype/test-pr_lowercase.c: Regenerated.
6565         * tests/unictype/test-pr_math.c: Regenerated.
6566         * tests/unictype/test-pr_numeric.c: Regenerated.
6567         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
6568         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
6569         Regenerated.
6570         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
6571         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
6572         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
6573         * tests/unictype/test-pr_other_math.c: Regenerated.
6574         * tests/unictype/test-pr_punctuation.c: Regenerated.
6575         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
6576         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
6577         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
6578         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
6579         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
6580         * tests/unictype/test-pr_uppercase.c: Regenerated.
6581         * tests/unictype/test-pr_xid_continue.c: Regenerated.
6582         * tests/unictype/test-pr_xid_start.c: Regenerated.
6583         * tests/unictype/test-pr_zero_width.c: Regenerated.
6584
6585         Update to Unicode 5.1.0.
6586         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
6587         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
6588         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
6589         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
6590         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
6591         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
6592         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
6593         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
6594         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
6595         (nonspacing_table_ind): Update.
6596         * tests/uniwidth/test-uc_width2.sh: Update expected result.
6597
6598         Update to Unicode 5.1.0.
6599         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
6600         code transform.
6601         * lib/uniname/uniname.c (unicode_character_name,
6602         unicode_name_character): Add the range 0x1Fxxx to the code transform.
6603         * lib/uniname/uninames.h: Regenerated.
6604         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
6605
6606 2009-02-07  Bruno Haible  <bruno@clisp.org>
6607
6608         Merge gen-ctype and gen-lbrk into a single program.
6609         * lib/gen-uni-tables.c: New file, incorporating
6610         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
6611         Add directory prefixes to the names of the generated files.
6612         * lib/unictype/gen-ctype.c: Remove file.
6613         * lib/unilbrk/gen-lbrk.c: Remove file.
6614         * modules/gen-uni-tables: New file.
6615         * modules/unictype/gen-ctype: Remove file.
6616         * modules/unilbrk/gen-lbrk: Remove file.
6617
6618 2009-02-07  Bruno Haible  <bruno@clisp.org>
6619
6620         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
6621
6622         New module 'unistr/u32-strcoll'.
6623         * modules/unistr/u32-strcoll: New file.
6624         * lib/unistr/u32-strcoll.c: New file.
6625
6626         New module 'unistr/u16-strcoll'.
6627         * modules/unistr/u16-strcoll: New file.
6628         * lib/unistr/u16-strcoll.c: New file.
6629
6630         New module 'unistr/u8-strcoll'.
6631         * modules/unistr/u8-strcoll: New file.
6632         * lib/unistr/u8-strcoll.c: New file.
6633         * lib/unistr/u-strcoll.h: New file.
6634
6635 2009-02-07  Bruno Haible  <bruno@clisp.org>
6636
6637         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
6638         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
6639         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
6640         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
6641         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
6642         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
6643
6644 2009-02-07  Bruno Haible  <bruno@clisp.org>
6645
6646         Make 64-bit clean.
6647         * lib/unictype/gen-ctype.c (output_predicate, output_category,
6648         output_combclass, output_bidi_category, output_decimal_digit,
6649         output_digit, output_numeric, output_mirror, output_scripts,
6650         output_ident_category): Use proper width specifier in format strings.
6651
6652 2009-02-07  Bruno Haible  <bruno@clisp.org>
6653
6654         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
6655         failure behaviour.
6656
6657 2009-02-07  Jim Meyering  <meyering@redhat.com>
6658
6659         regex: avoid compilation failure with upcoming gcc-4.4
6660         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
6661         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
6662         "... error: integer overflow in preprocessor expression".
6663
6664 2009-02-05  Ben Pfaff  <blp@gnu.org>
6665
6666         Fix link errors on Windows when close module is used.
6667         * modules/close: Add $(LIB_CLOSE) to Link section.
6668         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
6669         $(LIB_CLOSE) on Windows.
6670
6671 2009-02-05  Jim Meyering  <meyering@redhat.com>
6672
6673         still avoid unused-parameter warnings, but do it cleanly
6674         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
6675         (get_fs_usage): Cast to void instead.
6676         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
6677         (dev_from_mount_options, read_file_system_list): Cast to void.
6678         Prompted by Bruno Haible.
6679
6680 2009-02-04  Jim Meyering  <meyering@redhat.com>
6681
6682         fsusage.c: correct copyright year
6683         * lib/fsusage.c: Reflect year in which the change is pushed into
6684
6685         avoid misc. warnings
6686         * lib/fsusage.c (UNUSED_PARAM): Define.
6687         (get_fs_usage): Mark parameter "disk" as unused.
6688         * lib/getugroups.c (getgrent): Use "void" in prototype.
6689         * lib/mountlist.c: Mark unused parameters.
6690         (read_file_system_list): Declare a local with "const".
6691         * lib/nanosleep.c (getnow): Declare static.
6692         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
6693
6694         dirfd: set errno upon failure
6695         * lib/dirfd.c: Include <errno.h>.
6696         Set errno to ENOTSUP when returning -1.
6697         * modules/dirfd (Depends-on): Add errno.
6698         Suggested by John Kodis <kodis@comcast.net>.
6699
6700 2009-02-01  Bruno Haible  <bruno@clisp.org>
6701
6702         Don't assume sizeof (long) >= sizeof (void *).
6703         * lib/memcmp.c: Include stdint.h.
6704         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
6705         srcp2 to 'const byte *'.
6706         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
6707         types to uintptr_t.
6708         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
6709         * modules/memcmp (Depends-on): Add stdint.
6710         Reported by Ozkan Sezer <sezeroz@gmail.com>.
6711
6712 2009-01-30  Eric Blake  <ebb9@byu.net>
6713
6714         fix more require-before-expand issues
6715         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
6716         expand, AC_PROG_AWK.
6717         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
6718
6719 2009-01-28  Eric Blake  <ebb9@byu.net>
6720
6721         version-etc: use consistent URL formatting
6722         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
6723         Improve formatting.  Use fputs for string without %.
6724
6725 2009-01-28  Jim Meyering  <meyering@redhat.com>
6726
6727         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
6728         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
6729         "underquoted definition of NAME" from autoconf-2.59.
6730
6731 2009-01-28  Bruno Haible  <bruno@clisp.org>
6732
6733         * doc/gnulib.texi: Add "Obsolete modules" to index.
6734
6735 2009-01-28  Jim Meyering  <meyering@redhat.com>
6736
6737         useless-if-before-free: recognize more variants
6738         * build-aux/useless-if-before-free: Also recognize e.g.,
6739         if (NULL != p) free (p);
6740
6741 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
6742
6743         test-getaddrinfo: skip (don't fail) this test when there's no network
6744         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
6745         on the presumption that it means you lack network access.
6746
6747 2009-01-26  Jim Meyering  <meyering@redhat.com>
6748
6749         fflush: avoid warnings on modern systems
6750         * lib/fflush.c (rpl_fflush): Move declarations of locals,
6751         pos and result, into scopes where they're used.
6752
6753 2009-01-26  Eric Blake  <ebb9@byu.net>
6754
6755         Silence warning reintroduced by recent extensions patch.
6756         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
6757         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
6758         autoconf.
6759
6760         Backport improved autoconf semantics of AC_DEFUN_ONCE.
6761         * m4/00gnulib.m4: New file.
6762         * gnulib-tool (func_get_filelist): Always use it.
6763         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
6764         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
6765
6766 2009-01-25  Bruno Haible  <bruno@clisp.org>
6767
6768         Make test-quotearg work on MacOS X and AIX.
6769         * tests/test-quotearg.sh: New file.
6770         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
6771         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
6772         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
6773         include <libintl.h>.
6774         (fake_locale): Remove variable.
6775         (gettext, dgettext, dcgettext): Remove functions.
6776         (main): Instead of setting a fake locale, set a real locale. Call
6777         textdomain and bindtextdomain.
6778         * modules/quotearg-tests (Files): Add the new files.
6779         (Depends-on): Add gettext, setenv, unsetenv.
6780         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
6781         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
6782         Augment TESTS_ENVIRONMENT.
6783
6784 2009-01-25  Bruno Haible  <bruno@clisp.org>
6785
6786         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
6787         fr_FR.ISO8859-1 locale on MacOS X.
6788         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
6789         ja_JP.eucJP locale on MacOS X.
6790         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
6791         zh_CN.GB18030 locale on MacOS X.
6792
6793 2009-01-25  Bruno Haible  <bruno@clisp.org>
6794
6795         Avoid link errors on MacOS X 10.3.
6796         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
6797         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
6798
6799 2009-01-25  Bruno Haible  <bruno@clisp.org>
6800
6801         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
6802         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
6803         * modules/pipe (Files): Remove m4/posix_spawn.m4.
6804         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
6805         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
6806         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
6807         posix_spawnattr_init, posix_spawnattr_setsigmask,
6808         posix_spawnattr_setflags, posix_spawnattr_destroy.
6809
6810         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
6811         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
6812         * modules/execute (Files): Remove m4/posix_spawn.m4.
6813         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
6814         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
6815         posix_spawnattr_init, posix_spawnattr_setsigmask,
6816         posix_spawnattr_setflags, posix_spawnattr_destroy.
6817
6818 2009-01-25  Bruno Haible  <bruno@clisp.org>
6819
6820         * lib/glthread/threadlib.c: Include <stdlib.h>.
6821
6822 2009-01-25  Bruno Haible  <bruno@clisp.org>
6823
6824         * lib/glthread/threadlib.c (dummy): New declaration.
6825
6826 2009-01-25  Bruno Haible  <bruno@clisp.org>
6827
6828         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
6829         multibyte characters also for the GB18030 encoding. Don't crash when
6830         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
6831
6832 2009-01-25  Bruno Haible  <bruno@clisp.org>
6833
6834         Avoid redefining 'struct random_data' on OSF/1 5.1.
6835         * lib/stdlib.in.h: Include <random.h> if it exists.
6836         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
6837         HAVE_RANDOM_H. Include <random.h> when testing whether
6838         'struct random_data' exists.
6839         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
6840
6841 2009-01-25  Bruno Haible  <bruno@clisp.org>
6842
6843         Don't install charset.alias on MacOS X >= 10.3.
6844         * lib/localcharset.c (DARWIN7): New macro.
6845         (get_charset_aliases): Hardcode the result for Darwin7.
6846         * modules/localcharset (install-exec-local): Don't install
6847         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
6848
6849 2009-01-25  Bruno Haible  <bruno@clisp.org>
6850
6851         Don't install charset.alias on mingw and Cygwin.
6852         * modules/localcharset (install-exec-local): Don't install
6853         charset.alias on mingw and Cygwin, if the file does not yet exist.
6854         The result for these platforms is hardcoded in localcharset.c.
6855
6856 2009-01-25  Bruno Haible  <bruno@clisp.org>
6857
6858         Make it possible again to use AC_GNU_SOURCE together with gnulib.
6859         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
6860         before requiring AC_USE_SYSTEM_EXTENSIONS.
6861
6862 2009-01-25  Jim Meyering  <meyering@redhat.com>
6863
6864         c-strtod: avoid warnings
6865         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
6866         "assignment discards qualifiers from pointer target type" warnings.
6867
6868 2009-01-24  Bruno Haible  <bruno@clisp.org>
6869
6870         Add support for non-UTF-8 locales on MacOS X.
6871         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
6872         canonical encodings. For Darwin 7 and newer, don't map traditional
6873         encodings to UTF-8.
6874         Reported by Vincent Lefevre <vincent@vinc17.org>
6875         at <http://savannah.gnu.org/bugs/?25235>.
6876
6877 2009-01-24  Bruno Haible  <bruno@clisp.org>
6878
6879         * doc/gnulib.texi (Obsolete modules): New section.
6880         Reported by Mike Frysinger <vapier@gentoo.org>.
6881
6882 2009-01-24  Bruno Haible  <bruno@clisp.org>
6883
6884         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
6885         (%.dvi): New rule.
6886
6887 2009-01-24  Bruno Haible  <bruno@clisp.org>
6888
6889         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
6890         Reported by Eric Blake.
6891
6892 2009-01-24  Bruno Haible  <bruno@clisp.org>
6893
6894         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
6895         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
6896         Reported by Gary V. Vaughan <gary@gnu.org>.
6897
6898 2009-01-24  Bruno Haible  <bruno@clisp.org>
6899
6900         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
6901
6902 2009-01-23  Bruno Haible  <bruno@clisp.org>
6903
6904         Make c-strtod, c-strtold usable in libraries.
6905         * lib/c-strtod.c: Include string.h instead of xalloc.h.
6906         (C_STRTOD): Call strdup instead of xstrdup.
6907         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
6908         * modules/c-strtold (Depends-on): Likewise.
6909         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
6910         * NEWS: Mention the change.
6911         Reported by Michael Gold <mgold@ncf.ca>.
6912
6913 2009-01-23  Jim Meyering  <meyering@redhat.com>
6914
6915         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
6916         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
6917         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
6918
6919 2009-01-23  Simon Josefsson  <simon@josefsson.org>
6920
6921         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
6922         GNU CoreUtils.
6923         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
6924         * modules/version-etc (Description): Update.
6925
6926 2009-01-22  Bruno Haible  <bruno@clisp.org>
6927
6928         Cache the C locale object.
6929         * lib/c-strtod.c (c_locale_cache): New variable.
6930         (c_locale): New function.
6931         (C_STRTOD): Use it, and don't call freelocale.
6932         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
6933         Suggested by Paolo Bonzini.
6934
6935 2009-01-21  Bruno Haible  <bruno@clisp.org>
6936
6937         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
6938         conditions other than overflow.
6939
6940 2009-01-21  Bruno Haible  <bruno@clisp.org>
6941
6942         * lib/c-strtod.c: Include errno.h.
6943         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
6944         value from STRTOD_L and STRTOD.
6945
6946 2009-01-21  Bruno Haible  <bruno@clisp.org>
6947         and Jim Meyering  <meyering@redhat.com>
6948
6949         nanosleep: skip configure test (fail it) for apple universal builds
6950         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
6951         universal builds, assume that nanosleep does not work.
6952         * modules/nanosleep (Depends-on): Add multiarch.
6953
6954         mktime: skip configure test (fail it) for apple universal builds
6955         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
6956         universal builds, assume that mktime does not work.
6957         * modules/mktime (Depends-on): Add multiarch.
6958
6959 2009-01-21  Eric Blake  <ebb9@byu.net>
6960
6961         multiarch: avoid expand-before-require warning
6962         * modules/multiarch (configure.ac): Require, rather than expand,
6963         gl_MULTIARCH.
6964         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
6965         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
6966         enforce that all clients require it.  Partial reversion of
6967         2008-12-29 patch.
6968
6969         error: avoid expand-before-require warning
6970         * modules/errno (configure.ac): Require, rather than expand,
6971         gl_HEADER_ERRNO_H.
6972         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
6973         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
6974         enforce that all clients require it.
6975
6976         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
6977         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
6978         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
6979         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
6980
6981 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
6982
6983         Revert:
6984         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
6985
6986         regex: do not depend on obsolete modules.
6987         * modules/regex: Remove memcmp and memmove.
6988
6989 2009-01-20  Bruno Haible  <bruno@clisp.org>
6990
6991         Make the 'link' module link on Windows NT 4.
6992         * lib/link.c (_WIN32_WINNT): Don't define.
6993         (CreateHardLinkFuncType): New type.
6994         (CreateHardLinkFunc, initialized): New variables.
6995         (initialize): New function.
6996         (link): Invoke CreateHardLink indirectly through the function pointer.
6997
6998 2009-01-20  Bruno Haible  <bruno@clisp.org>
6999
7000         Fix compilation failure on mingw.
7001         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
7002
7003 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
7004
7005         * doc/c-strtod.texi: Mention a couple of restrictions.
7006
7007 2009-01-20  Jim Meyering  <meyering@redhat.com>
7008
7009         gettimeofday: move more declarations out of functions
7010         * lib/gettimeofday.c: Move extern declarations of tzset and
7011         gmtime out of containing functions.  Prompted by Bruno Haible.
7012
7013 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
7014
7015         regex: do not depend on obsolete modules.
7016         * modules/regex: Remove memcmp and memmove.
7017
7018 2009-01-19  Bruno Haible  <bruno@clisp.org>
7019
7020         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
7021         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
7022         gl_BIGENDIAN, not AC_C_BIGENDIAN.
7023         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
7024         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
7025
7026 2009-01-19  Bruno Haible  <bruno@clisp.org>
7027
7028         * tests/test-link.c: Include <errno.h>.
7029         (main): Exit with code 77 when a hard link cannot be created due to
7030         the file system.
7031         * tests/test-link.sh: Skip test when a hard link cannot be created due
7032         to the file system.
7033         Suggested by Eric Blake.
7034
7035 2009-01-19  Martin Lambers  <marlam@marlam.de>
7036
7037         * modules/link-tests: New file.
7038         * tests/test-link.sh: New file.
7039         * tests/test-link.c: New file.
7040
7041 2009-01-19  Eric Blake  <ebb9@byu.net>
7042
7043         doc: mention another function added in cygwin 1.7.0
7044         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
7045         Another new function in cygwin 1.7.
7046
7047 2009-01-19  Bruno Haible  <bruno@clisp.org>
7048
7049         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
7050         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
7051         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
7052         gl_BIGENDIAN, not AC_C_BIGENDIAN.
7053         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7054         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
7055         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7056         * m4/md4.m4 (gl_MD4): Likewise.
7057         * m4/md5.m4 (gl_MD5): Likewise.
7058         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
7059         * m4/sha1.m4 (gl_SHA1): Likewise.
7060         * m4/sha256.m4 (gl_SHA256): Likewise.
7061         * m4/sha512.m4 (gl_SHA512): Likewise.
7062
7063 2009-01-19  Bruno Haible  <bruno@clisp.org>
7064
7065         * modules/uniname/uniname-tests (Depends-on): Add progname.
7066         * tests/uniname/test-uninames.c: Include progname.h.
7067         (main): Call set_program_name.
7068
7069         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
7070         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
7071         (main): Call set_program_name.
7072
7073         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
7074         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
7075         (main): Call set_program_name.
7076
7077         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
7078         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
7079         (main): Call set_program_name.
7080
7081         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
7082         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
7083         (main): Call set_program_name.
7084
7085         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
7086         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
7087         (main): Call set_program_name.
7088
7089         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
7090         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
7091         (main): Call set_program_name.
7092
7093         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
7094         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
7095         (main): Call set_program_name.
7096
7097         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
7098         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
7099         (main): Call set_program_name.
7100
7101 2009-01-19  Eric Blake  <ebb9@byu.net>
7102
7103         test-unistd: test previous patch
7104         * tests/test-unistd.c: Test *_FILENO macros.
7105
7106         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
7107         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
7108         Guarantee a definition.
7109         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
7110         * modules/unistd-safer (Depends-on): Add dependency on unistd.
7111         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
7112         * lib/dup-safer.c (STDERR_FILENO): Likewise.
7113         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
7114         Likewise.
7115         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
7116         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
7117         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
7118         Likewise.
7119         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
7120         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
7121         (STDERR_FILENO): Likewise.
7122         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
7123         (STDERR_FILENO): Likewise.
7124         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
7125         (STDERR_FILENO): Likewise.
7126         Reported by Elbert Pol.
7127
7128 2009-01-19  Eric Blake  <ebb9@byu.net>
7129
7130         doc: mention more functions added in cygwin 1.7.0
7131         * doc/posix-functions/abort.texi (abort): Update wording related
7132         to cygwin.
7133         * doc/posix-functions/daylight.texi (daylight): Likewise.
7134         * doc/posix-functions/optarg.texi (optarg): Likewise.
7135         * doc/posix-functions/optarg.texi (opterr): Likewise.
7136         * doc/posix-functions/optarg.texi (optind): Likewise.
7137         * doc/posix-functions/optarg.texi (optopt): Likewise.
7138         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
7139         worked in 1.5.x, and was withdrawn in 1.7.
7140         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
7141         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
7142         cygwin versions.
7143         * doc/posix-functions/perror.texi (perror): Likewise.
7144         * doc/posix-functions/printf.texi (printf): Likewise.
7145         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
7146         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
7147         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
7148         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
7149         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7150         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
7151         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
7152         Likewise.
7153         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
7154         Likewise.
7155         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
7156         this function.
7157         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
7158         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
7159         Likewise.
7160         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
7161         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
7162         * doc/posix-functions/confstr.texi (confstr): Likewise.
7163         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
7164         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
7165         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
7166         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
7167         * doc/posix-functions/fputws.texi (fputws): Likewise.
7168         * doc/posix-functions/fwide.texi (fwide): Likewise.
7169         * doc/posix-functions/getwc.texi (getwc): Likewise.
7170         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
7171         * doc/posix-functions/putwc.texi (putwc): Likewise.
7172         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
7173         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
7174         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
7175         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
7176         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
7177         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
7178         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
7179         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
7180         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
7181         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
7182         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
7183
7184 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
7185
7186         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
7187         * lib/ioctl.c: Include <sys/ioctl.h>.
7188
7189 2009-01-19  Simon Josefsson  <simon@josefsson.org>
7190
7191         * modules/getdate-tests (Depends-on): Add progname.
7192         * tests/test-getdate.c: Use progname module, to avoid link errors
7193         on non-glibc systems.
7194
7195 2009-01-18  Simon Josefsson  <simon@josefsson.org>
7196
7197         * modules/filenamecat-tests (Depends-on): Add progname.
7198         * modules/fstrcmp-tests (Depends-on): Likewise.
7199
7200         * tests/test-filenamecat.c: Use progname module, to avoid link
7201         errors on non-glibc systems.
7202         * tests/test-fstrcmp.c: Likewise.
7203
7204 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
7205
7206         gettimeofday: avoid warning: nested extern declaration of 'localtime'
7207         * lib/gettimeofday.c: Move extern declaration out of function.
7208
7209 2009-01-18  Bruno Haible  <bruno@clisp.org>
7210
7211         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
7212         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
7213         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
7214
7215 2009-01-18  Bruno Haible  <bruno@clisp.org>
7216
7217         * lib/strftime.c (MEMPCPY): Remove unused macro.
7218         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
7219
7220 2009-01-18  Martin Lambers  <marlam@marlam.de>
7221
7222         New module 'link'.
7223         * lib/unistd.in.h (link): New declaration.
7224         * lib/link.c: New file.
7225         * m4/link.m4: New file.
7226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
7227         HAVE_LINK.
7228         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
7229         * modules/link: New file.
7230         * doc/posix-functions/link.texi: Mention the new module.
7231
7232 2009-01-18  Bruno Haible  <bruno@clisp.org>
7233
7234         * tests/test-avltree_list.c (main): Call set_program_name.
7235         * tests/test-avltree_oset.c (main): Likewise.
7236         * tests/test-obstack-printf.c: Include progname.h.
7237         (main): Call set_program_name.
7238         * tests/test-quotearg.c: Include progname.h.
7239         (main): Call set_program_name.
7240         * tests/test-xmemdup0.c: Include progname.h.
7241         (main): Call set_program_name.
7242
7243 2009-01-18  Bruno Haible  <bruno@clisp.org>
7244
7245         New module 'alphasort'.
7246         * lib/dirent.in.h (alphasort): New declaration.
7247         * lib/alphasort.c: New file, from glibc with modifications.
7248         * m4/alphasort.m4: New file.
7249         * modules/alphasort: New file.
7250         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
7251         HAVE_ALPHASORT.
7252         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
7253         HAVE_ALPHASORT.
7254         * doc/posix-functions/alphasort.texi: Mention the new module and the
7255         portability problems.
7256
7257 2009-01-18  Bruno Haible  <bruno@clisp.org>
7258
7259         New module 'scandir'.
7260         * lib/dirent.in.h (scandir): New declaration.
7261         * lib/scandir.c: New file, from glibc with modifications.
7262         * m4/scandir.m4: New file.
7263         * modules/scandir: New file.
7264         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
7265         HAVE_SCANDIR.
7266         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
7267         HAVE_SCANDIR.
7268         * doc/posix-functions/scandir.texi: Mention the new module and the
7269         portability problems.
7270
7271 2009-01-17  Bruno Haible  <bruno@clisp.org>
7272
7273         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
7274         Update documentation.
7275         (func_remove_suffix): Escape all dots in the suffix. Update
7276         documentation.
7277         (func_filter_filelist): Update documentation.
7278         Reported by Ralf Wildenhues.
7279
7280 2009-01-17  Bruno Haible  <bruno@clisp.org>
7281
7282         * modules/dprintf-posix-tests: New file.
7283         * tests/test-dprintf-posix.sh: New file.
7284         * tests/test-dprintf-posix.c: New file.
7285
7286         New modules 'dprintf', 'dprintf-posix'.
7287         * lib/stdio.in.h (dprintf): New declaration.
7288         * lib/dprintf.c: New file.
7289         * m4/dprintf.m4: New file.
7290         * m4/dprintf-posix.m4: New file.
7291         * modules/dprintf: New file.
7292         * modules/dprintf-posix: New file.
7293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
7294         HAVE_DPRINTF, REPLACE_DPRINTF.
7295         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
7296         HAVE_DPRINTF, REPLACE_DPRINTF.
7297         * doc/posix-functions/dprintf.texi: Mention the new modules.
7298
7299 2009-01-17  Bruno Haible  <bruno@clisp.org>
7300
7301         * modules/vdprintf-posix-tests: New file.
7302         * tests/test-vdprintf-posix.sh: New file.
7303         * tests/test-vdprintf-posix.c: New file.
7304
7305         New modules 'vdprintf', 'vdprintf-posix'.
7306         * lib/stdio.in.h (vdprintf): New declaration.
7307         * lib/vdprintf.c: New file.
7308         * m4/vdprintf.m4: New file.
7309         * m4/vdprintf-posix.m4: New file.
7310         * modules/vdprintf: New file.
7311         * modules/vdprintf-posix: New file.
7312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
7313         HAVE_VDPRINTF, REPLACE_VDPRINTF.
7314         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
7315         HAVE_VDPRINTF, REPLACE_VDPRINTF.
7316         * doc/posix-functions/vdprintf.texi: Mention the new modules.
7317
7318 2009-01-17  Bruno Haible  <bruno@clisp.org>
7319
7320         Fix replacement of fopen on mingw.
7321         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
7322         mingw.
7323
7324 2009-01-17  Bruno Haible  <bruno@clisp.org>
7325
7326         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
7327         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
7328
7329 2009-01-17  Bruno Haible  <bruno@clisp.org>
7330
7331         Avoid test-fflush2.sh failure on mingw.
7332         * tests/test-fflush2.c: Include binary-io.h.
7333         (main): Put standard input into binary mode.
7334         * modules/fflush-tests (Depends-on): Add binary-io.
7335
7336 2009-01-17  Bruno Haible  <bruno@clisp.org>
7337
7338         * lib/wchar.in.h: In another particular situation, include only the
7339         system's <wchar.h> file.
7340         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
7341         Reported by Albert Chin-A-Young <china@thewrittenword.com>
7342         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
7343
7344 2009-01-17  Bruno Haible  <bruno@clisp.org>
7345
7346         Support for stripping executables in --enable-relocatable.
7347         * build-aux/install-reloc: Expect one more argument, or an environment
7348         variable RELOC_STRIP_PROG. If set, strip the destination program and
7349         its wrapper.
7350         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
7351         RELOC_STRIP_PROG.
7352         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
7353         to set RELOCATABLE_STRIP.
7354         * NEWS: Mention the new Makefile requirement.
7355
7356 2009-01-17  Bruno Haible  <bruno@clisp.org>
7357
7358         * build-aux/install-reloc: Remove debugging information left over by
7359         C compiler on MacOS X.
7360
7361 2009-01-17  Bruno Haible  <bruno@clisp.org>
7362
7363         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
7364         * lib/progreloc.c (find_executable): Fix type of pointer passed to
7365         _NSGetExecutablePath.
7366
7367 2009-01-16  Jim Meyering  <meyering@redhat.com>
7368
7369         strerror: avoid warnings about discarding "const"
7370         * lib/strerror.c (rpl_strerror): Instead of returning a const
7371         string from each and every "case", use a variable, and add a single
7372         cast after the switch.
7373
7374 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
7375
7376         * lib/arpa_inet.in.h: Add extern "C" block for C++.
7377
7378 2009-01-16  Bruno Haible  <bruno@clisp.org>
7379
7380         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
7381         array initializer syntax that also works in C++ mode.
7382         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7383
7384 2009-01-16  Jim Meyering  <meyering@redhat.com>
7385
7386         poll: suppress a warning
7387         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
7388         to ignore "...unsigned expression < 0 is always false" warnings.
7389
7390 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
7391
7392         poll: remove declarations of unused variables
7393         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
7394         sockbuf and optlen.
7395
7396 2009-01-15  Bruno Haible  <bruno@clisp.org>
7397
7398         Make fflush-after-ungetc POSIX compliant on BSD systems.
7399         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
7400         (clear_ungetc_buffer): Implement also for other systems.
7401         (rpl_fflush): On glibc systems, invoke
7402         clear_ungetc_buffer_preserving_position. Otherwise, invoke
7403         clear_ungetc_buffer after fetching the stream's position, not before.
7404
7405 2009-01-15  Bruno Haible  <bruno@clisp.org>
7406
7407         Make fflush-after-ungetc POSIX compliant on glibc systems.
7408         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
7409         after ungetc.
7410         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
7411         (rpl_fflush): On glibc systems, simply call the system's fflush
7412         function after clearing the ungetc buffer.
7413         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
7414         Instead, lseek only to the end of file, then use the system's fseeko
7415         for the rest. On glibc systems, reset the EOF indicator bit.
7416
7417 2009-01-15  Jim Meyering  <meyering@redhat.com>
7418
7419         openmp.m4: revert quote-adding change, for portability to older autoconf
7420         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
7421         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
7422         Simon Josefsson noticed the problem when using autoconf-2.61.
7423
7424 2009-01-15  Bruno Haible  <bruno@clisp.org>
7425
7426         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
7427         * tests/test-fflush2.c (ASSERT): Always fail.
7428         (main): Add two tests for fflush() after ungetc(), taking into account
7429         the Austin Group's clarification.
7430         Suggested by Eric Blake.
7431
7432 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
7433
7434         mktime.m4: remove K&R-style function prototypes
7435         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
7436         for the Sun C++ compiler.
7437
7438 2009-01-14  Bruno Haible  <bruno@clisp.org>
7439
7440         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
7441         while including <wchar.h>.
7442         * lib/wchar.in.h: In two particular situations on HP-UX, include only
7443         the system's <wchar.h> file.
7444         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7445
7446 2009-01-14  Bruno Haible  <bruno@clisp.org>
7447
7448         * m4/csharp.m4: Don't mention gettext on the serial number line.
7449         * m4/csharpexec.m4: Likewise.
7450         * m4/eaccess.m4: Likewise.
7451         * m4/javaexec.m4: Likewise.
7452         * m4/sig_atomic_t.m4: Likewise.
7453         * m4/tmpdir.m4: Likewise.
7454         * m4/intldir.m4: Bump gettext version.
7455         * m4/lib-ld.m4: Likewise.
7456
7457 2009-01-14  Bruno Haible  <bruno@clisp.org>
7458
7459         * lib/progname.c (set_program_name): Add more comments.
7460         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
7461
7462 2009-01-14  Simon Josefsson  <simon@josefsson.org>
7463
7464         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
7465         were sys/stat.h does not define it.
7466
7467 2009-01-14  Jim Meyering  <meyering@redhat.com>
7468
7469         many *.m4 files: improve m4 quoting
7470         99% of this change was performed by running the following commands:
7471         git ls-files | grep '\.m4$' | xargs perl -pi \
7472           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
7473           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
7474           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
7475           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
7476         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
7477         The remainder were to add Copyright dates, increment serial numbers,
7478         undo some changes in comments, exclude m4/intl.m4, and add quotes
7479         around the "1" in ",1" where the unusual spacing prohibited the
7480         above regexps from doing the job.  For more details, see
7481         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
7482         * m4/acl.m4: Modified.
7483         * m4/afs.m4: Likewise.
7484         * m4/alloca.m4: Likewise.
7485         * m4/argp.m4: Likewise.
7486         * m4/argz.m4: Likewise.
7487         * m4/atexit.m4: Likewise.
7488         * m4/bison-i18n.m4: Likewise.
7489         * m4/bison.m4: Likewise.
7490         * m4/byteswap.m4: Likewise.
7491         * m4/c-stack.m4: Likewise.
7492         * m4/c-strtod.m4: Likewise.
7493         * m4/calloc.m4: Likewise.
7494         * m4/canonicalize-lgpl.m4: Likewise.
7495         * m4/chown.m4: Likewise.
7496         * m4/clock_time.m4: Likewise.
7497         * m4/codeset.m4: Likewise.
7498         * m4/copy-file.m4: Likewise.
7499         * m4/csharp.m4: Likewise.
7500         * m4/csharpcomp.m4: Likewise.
7501         * m4/csharpexec.m4: Likewise.
7502         * m4/d-ino.m4: Likewise.
7503         * m4/d-type.m4: Likewise.
7504         * m4/dirfd.m4: Likewise.
7505         * m4/double-slash-root.m4: Likewise.
7506         * m4/eaccess.m4: Likewise.
7507         * m4/eealloc.m4: Likewise.
7508         * m4/environ.m4: Likewise.
7509         * m4/errno_h.m4: Likewise.
7510         * m4/euidaccess.m4: Likewise.
7511         * m4/execute.m4: Likewise.
7512         * m4/fatal-signal.m4: Likewise.
7513         * m4/fchdir.m4: Likewise.
7514         * m4/fcntl_h.m4: Likewise.
7515         * m4/fileblocks.m4: Likewise.
7516         * m4/filenamecat.m4: Likewise.
7517         * m4/findprog.m4: Likewise.
7518         * m4/flexmember.m4: Likewise.
7519         * m4/fnmatch.m4: Likewise.
7520         * m4/fopen.m4: Likewise.
7521         * m4/fpending.m4: Likewise.
7522         * m4/fprintf-posix.m4: Likewise.
7523         * m4/free.m4: Likewise.
7524         * m4/frexp.m4: Likewise.
7525         * m4/frexpl.m4: Likewise.
7526         * m4/fsusage.m4: Likewise.
7527         * m4/ftruncate.m4: Likewise.
7528         * m4/gc-camellia.m4: Likewise.
7529         * m4/gc-random.m4: Likewise.
7530         * m4/gc.m4: Likewise.
7531         * m4/getaddrinfo.m4: Likewise.
7532         * m4/getcwd-abort-bug.m4: Likewise.
7533         * m4/getcwd-path-max.m4: Likewise.
7534         * m4/getdate.m4: Likewise.
7535         * m4/getdomainname.m4: Likewise.
7536         * m4/getgroups.m4: Likewise.
7537         * m4/gethostname.m4: Likewise.
7538         * m4/gethrxtime.m4: Likewise.
7539         * m4/getline.m4: Likewise.
7540         * m4/getloadavg.m4: Likewise.
7541         * m4/getndelim2.m4: Likewise.
7542         * m4/getpass.m4: Likewise.
7543         * m4/gettext.m4: Likewise.
7544         * m4/gettime.m4: Likewise.
7545         * m4/gettimeofday.m4: Likewise.
7546         * m4/gnulib-common.m4: Likewise.
7547         * m4/group-member.m4: Likewise.
7548         * m4/host-os.m4: Likewise.
7549         * m4/iconv.m4: Likewise.
7550         * m4/iconv_open.m4: Likewise.
7551         * m4/inet_ntop.m4: Likewise.
7552         * m4/inet_pton.m4: Likewise.
7553         * m4/inline.m4: Likewise.
7554         * m4/intldir.m4: Likewise.
7555         * m4/intlmacosx.m4: Likewise.
7556         * m4/intmax.m4: Likewise.
7557         * m4/intmax_t.m4: Likewise.
7558         * m4/inttypes.m4: Likewise.
7559         * m4/inttypes_h.m4: Likewise.
7560         * m4/inttypes-pri.m4: Likewise.
7561         * m4/isapipe.m4: Likewise.
7562         * m4/isnand.m4: Likewise.
7563         * m4/isnanf.m4: Likewise.
7564         * m4/isnanl.m4: Likewise.
7565         * m4/javacomp.m4: Likewise.
7566         * m4/javaexec.m4: Likewise.
7567         * m4/jm-winsz1.m4: Likewise.
7568         * m4/jm-winsz2.m4: Likewise.
7569         * m4/lchown.m4: Likewise.
7570         * m4/lcmessage.m4: Likewise.
7571         * m4/ldexpl.m4: Likewise.
7572         * m4/lib-ld.m4: Likewise.
7573         * m4/lib-link.m4: Likewise.
7574         * m4/libsigsegv.m4: Likewise.
7575         * m4/link-follow.m4: Likewise.
7576         * m4/localcharset.m4: Likewise.
7577         * m4/locale-fr.m4: Likewise.
7578         * m4/locale-ja.m4: Likewise.
7579         * m4/locale-tr.m4: Likewise.
7580         * m4/locale-zh.m4: Likewise.
7581         * m4/lock.m4: Likewise.
7582         * m4/longlong.m4: Likewise.
7583         * m4/ls-mntd-fs.m4: Likewise.
7584         * m4/lstat.m4: Likewise.
7585         * m4/malloc.m4: Likewise.
7586         * m4/mathl.m4: Likewise.
7587         * m4/mbrtowc.m4: Likewise.
7588         * m4/mbstate_t.m4: Likewise.
7589         * m4/mbswidth.m4: Likewise.
7590         * m4/memchr.m4: Likewise.
7591         * m4/memcmp.m4: Likewise.
7592         * m4/memcpy.m4: Likewise.
7593         * m4/memmem.m4: Likewise.
7594         * m4/memmove.m4: Likewise.
7595         * m4/mempcpy.m4: Likewise.
7596         * m4/memrchr.m4: Likewise.
7597         * m4/memset.m4: Likewise.
7598         * m4/minmax.m4: Likewise.
7599         * m4/mkdir-slash.m4: Likewise.
7600         * m4/mkdtemp.m4: Likewise.
7601         * m4/mktime.m4: Likewise.
7602         * m4/mmap-anon.m4: Likewise.
7603         * m4/mountlist.m4: Likewise.
7604         * m4/nanosleep.m4: Likewise.
7605         * m4/nls.m4: Likewise.
7606         * m4/nocrash.m4: Likewise.
7607         * m4/open.m4: Likewise.
7608         * m4/openat.m4: Likewise.
7609         * m4/openmp.m4: Likewise.
7610         * m4/pathmax.m4: Likewise.
7611         * m4/perl.m4: Likewise.
7612         * m4/physmem.m4: Likewise.
7613         * m4/pipe.m4: Likewise.
7614         * m4/po.m4: Likewise.
7615         * m4/poll.m4: Likewise.
7616         * m4/posixtm.m4: Likewise.
7617         * m4/posixver.m4: Likewise.
7618         * m4/printf-frexp.m4: Likewise.
7619         * m4/printf-frexpl.m4: Likewise.
7620         * m4/printf-posix.m4: Likewise.
7621         * m4/printf-posix-rpl.m4: Likewise.
7622         * m4/printf.m4: Likewise.
7623         * m4/progtest.m4: Likewise.
7624         * m4/putenv.m4: Likewise.
7625         * m4/readline.m4: Likewise.
7626         * m4/readlink.m4: Likewise.
7627         * m4/readutmp.m4: Likewise.
7628         * m4/realloc.m4: Likewise.
7629         * m4/regex.m4: Likewise.
7630         * m4/relocatable.m4: Likewise.
7631         * m4/relocatable-lib.m4: Likewise.
7632         * m4/rename-dest-slash.m4: Likewise.
7633         * m4/rename.m4: Likewise.
7634         * m4/rmdir-errno.m4: Likewise.
7635         * m4/rmdir.m4: Likewise.
7636         * m4/roundf.m4: Likewise.
7637         * m4/roundl.m4: Likewise.
7638         * m4/rpmatch.m4: Likewise.
7639         * m4/save-cwd.m4: Likewise.
7640         * m4/selinux-selinux-h.m4: Likewise.
7641         * m4/setenv.m4: Likewise.
7642         * m4/settime.m4: Likewise.
7643         * m4/sig2str.m4: Likewise.
7644         * m4/sig_atomic_t.m4: Likewise.
7645         * m4/signalblocking.m4: Likewise.
7646         * m4/signbit.m4: Likewise.
7647         * m4/sigpipe.m4: Likewise.
7648         * m4/sockets.m4: Likewise.
7649         * m4/sockpfaf.m4: Likewise.
7650         * m4/st_dm_mode.m4: Likewise.
7651         * m4/stat-time.m4: Likewise.
7652         * m4/stdbool.m4: Likewise.
7653         * m4/stdint.m4: Likewise.
7654         * m4/stdint_h.m4: Likewise.
7655         * m4/stpcpy.m4: Likewise.
7656         * m4/stpncpy.m4: Likewise.
7657         * m4/strcase.m4: Likewise.
7658         * m4/strchrnul.m4: Likewise.
7659         * m4/strcspn.m4: Likewise.
7660         * m4/strdup.m4: Likewise.
7661         * m4/strftime.m4: Likewise.
7662         * m4/strndup.m4: Likewise.
7663         * m4/strnlen.m4: Likewise.
7664         * m4/strpbrk.m4: Likewise.
7665         * m4/strptime.m4: Likewise.
7666         * m4/strsep.m4: Likewise.
7667         * m4/strtod.m4: Likewise.
7668         * m4/strtoimax.m4: Likewise.
7669         * m4/strtok_r.m4: Likewise.
7670         * m4/strtol.m4: Likewise.
7671         * m4/strtoll.m4: Likewise.
7672         * m4/strtoul.m4: Likewise.
7673         * m4/strtoull.m4: Likewise.
7674         * m4/strtoumax.m4: Likewise.
7675         * m4/strverscmp.m4: Likewise.
7676         * m4/threadlib.m4: Likewise.
7677         * m4/timegm.m4: Likewise.
7678         * m4/tm_gmtoff.m4: Likewise.
7679         * m4/tmpdir.m4: Likewise.
7680         * m4/tmpfile.m4: Likewise.
7681         * m4/tzset.m4: Likewise.
7682         * m4/uintmax_t.m4: Likewise.
7683         * m4/unlinkdir.m4: Likewise.
7684         * m4/unlocked-io.m4: Likewise.
7685         * m4/uptime.m4: Likewise.
7686         * m4/userspec.m4: Likewise.
7687         * m4/utimbuf.m4: Likewise.
7688         * m4/utime.m4: Likewise.
7689         * m4/utimes-null.m4: Likewise.
7690         * m4/utimes.m4: Likewise.
7691         * m4/vararrays.m4: Likewise.
7692         * m4/vasnprintf.m4: Likewise.
7693         * m4/vfprintf-posix.m4: Likewise.
7694         * m4/vprintf-posix.m4: Likewise.
7695         * m4/wait-process.m4: Likewise.
7696         * m4/wchar_t.m4: Likewise.
7697         * m4/wint_t.m4: Likewise.
7698         * m4/write-any-file.m4: Likewise.
7699         * m4/yield.m4: Likewise.
7700
7701 2009-01-13  Bruno Haible  <bruno@clisp.org>
7702
7703         Avoid test-copy-file.sh failures when ACL support insufficient.
7704         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
7705         TESTS_ENVIRONMENT.
7706         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
7707         Reported by Jim Meyering.
7708
7709 2009-01-13  Bruno Haible  <bruno@clisp.org>
7710
7711         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
7712         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
7713         * modules/unistdio/u8-printf-parse (Files): Likewise.
7714         * modules/unistdio/u32-printf-parse (Files): Likewise.
7715         * modules/unistdio/ulc-printf-parse (Files): Likewise.
7716
7717 2009-01-13  Simon Josefsson  <simon@josefsson.org>
7718
7719         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
7720         and m4/inttypes_h.m4 too.
7721
7722 2009-01-12  Eric Blake  <ebb9@byu.net>
7723
7724         tests: IRIX 6.2 cc can't compile -0.0 into .data
7725         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
7726         rather than at compile-time.
7727         * tests/test-floorl.c (minus_zero): Likewise.
7728         * tests/test-frexpl.c (minus_zero): Likewise.
7729         * tests/test-isnan.c (minus_zerol): Likewise.
7730         * tests/test-isnanl.h (minus_zero): Likewise.
7731         * tests/test-ldexpl.c (minus_zero): Likewise.
7732         * tests/test-roundl.c (minus_zero): Likewise.
7733         * tests/test-signbit.c (minus_zerol): Likewise.
7734         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
7735         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
7736         * tests/test-truncl.c (minus_zero): Likewise.
7737         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
7738         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
7739         Reported by Tom G. Christensen and Nelson H. F. Beebe.
7740
7741 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
7742
7743         regex: fix glibc bug 9697
7744         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
7745         handling.
7746
7747 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
7748
7749         regex: fix glibc bug 697
7750         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
7751         being NULL also if there are no backreferences.
7752
7753 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
7754
7755         regex: merge glibc changes
7756         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
7757         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
7758         re_string_skip_chars, re_string_reconstruct): Likewise.
7759         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
7760
7761 2009-01-07  Jim Meyering  <meyering@redhat.com>
7762
7763         poll: filter through cppi
7764         * lib/poll.c: Indent cpp directives to reflect nesting.
7765
7766 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
7767
7768         poll: don't return uninitialized
7769         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
7770
7771 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
7772
7773         avoid compile failure on AIX 6.1
7774         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
7775         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
7776
7777 2009-01-04  Jim Meyering  <meyering@redhat.com>
7778
7779         remove duplicate inclusion of <stdio.h>
7780         * tests/test-fprintf-posix.c: Likewise.
7781         * tests/test-printf-posix.c: Likewise.
7782         * tests/test-snprintf-posix.c: Likewise.
7783         * tests/test-sprintf-posix.c: Likewise.
7784         * tests/test-vasprintf-posix.c: Likewise.
7785         * tests/test-vfprintf-posix.c: Likewise.
7786         * tests/test-vprintf-posix.c: Likewise.
7787         * tests/test-vsnprintf-posix.c: Likewise.
7788         * tests/test-vsprintf-posix.c: Likewise.
7789
7790 2009-01-03  Jim Meyering  <meyering@redhat.com>
7791
7792         gnulib-tool: fix sed-based filtering
7793         * gnulib-tool (func_filter_filelist): Remove extra backslash
7794         in sed_fff_filter definition.
7795
7796 2009-01-02  Jim Meyering  <meyering@redhat.com>
7797
7798         strftime: avoid compilation failure on Solaris 2.6
7799         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
7800         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
7801         Don't #define mbrlen or mbsinit, since now they're guaranteed to
7802         be available.  Reported by Tom G. Christensen.  Details in
7803         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
7804
7805 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7806             Bruno Haible  <bruno@clisp.org>
7807
7808         Speed up gnulib-tool by doing more string processing through shell
7809         built-ins.
7810         * gnulib-tool (fast_func_append): New variable.
7811         (func_remove_prefix, func_remove_suffix): New functions.
7812         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
7813         (func_filter_filelist): New function.
7814         (func_get_dependencies): Use func_remove_suffix instead of sed.
7815         (func_get_automake_snippet): Use func_filter_filelist instead of a
7816         subshell and sed invocation.
7817
7818 2009-01-01  Bruno Haible  <bruno@clisp.org>
7819
7820         Fix a security bug.
7821         * gnulib-tool (func_import, import, update): Don't allow the characters
7822         '"', '$', '`', '\' in macro arguments that become part of commands that
7823         are evaluated.
7824
7825 2009-01-01  Bruno Haible  <bruno@clisp.org>
7826
7827         * gnulib-tool (func_reset_sigpipe): Add more comments.
7828
7829 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7830
7831         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
7832         func_emit_tests_Makefile_am, func_import): Abort loops early if we
7833         already know the answer.
7834
7835 2009-01-01  Jim Meyering  <meyering@redhat.com>
7836
7837         * lib/version-etc.c (version_etc_va): Update copyright year.
7838
7839 2008-12-30  Bruno Haible  <bruno@clisp.org>
7840
7841         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
7842         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
7843         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
7844
7845 2008-12-29  Eric Blake  <ebb9@byu.net>
7846
7847         multiarch: avoid autoconf AC_REQUIRE bug
7848         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
7849         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
7850         2.63 and older.
7851         Reported by Bruno Haible, and analyzed in
7852         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
7853
7854 2008-12-29  Bruno Haible  <bruno@clisp.org>
7855
7856         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
7857         files in subdirectories correctly.
7858         Reported by Ralf Wildenhues.
7859
7860 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7861
7862         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
7863         rather than 'join FILE -', for Solaris join.
7864
7865 2008-12-29  Bruno Haible  <bruno@clisp.org>
7866
7867         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
7868         quoting.
7869         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
7870         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
7871         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
7872         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
7873         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7874         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
7875         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
7876         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
7877         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
7878         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
7879         * m4/nls.m4 (AM_NLS): Likewise.
7880         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
7881         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
7882         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
7883         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
7884         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
7885         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
7886         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
7887         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
7888         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
7889         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
7890         * m4/xsize.m4 (gl_XSIZE): Likewise.
7891         Suggested by Jim Meyering.
7892
7893 2008-11-17  Bruce Korb  <bkorb@gnu.org>
7894
7895         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
7896         * lib/parse-duration.c: use a switch instead of cascading if's.
7897
7898 2008-12-29  Eric Blake  <ebb9@byu.net>
7899
7900         wchar.h: supply WEOF on Irix 5.3
7901         * lib/wchar.in.h (wint_t): Also supply WEOF.
7902         * lib/wctype.in.h (wint_t): Likewise.
7903         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
7904         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
7905         Reported by Tom G. Christensen.
7906
7907 2008-12-26  Bruno Haible  <bruno@clisp.org>
7908
7909         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
7910         i486, i586, i686.
7911
7912 2008-12-26  Bruno Haible  <bruno@clisp.org>
7913
7914         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
7915
7916 2008-12-26  Bruno Haible  <bruno@clisp.org>
7917
7918         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
7919         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
7920         not __STDC_CONSTANT_MACROS.
7921         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
7922
7923 2008-12-25  Bruno Haible  <bruno@clisp.org>
7924
7925         Add support for universal builds to vasnprintf.
7926         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
7927         universal builds, guess no.
7928         * modules/vasnprintf-posix (Depends-on): Add multiarch.
7929         * modules/vasprintf-posix (Depends-on): Likewise.
7930         * modules/fprintf-posix (Depends-on): Likewise.
7931         * modules/vfprintf-posix (Depends-on): Likewise.
7932         * modules/snprintf-posix (Depends-on): Likewise.
7933         * modules/vsnprintf-posix (Depends-on): Likewise.
7934         * modules/sprintf-posix (Depends-on): Likewise.
7935         * modules/vsprintf-posix (Depends-on): Likewise.
7936         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
7937         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
7938         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
7939         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
7940         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
7941         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
7942         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
7943
7944         Add support for universal builds to <inttypes.h>.
7945         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
7946         _SCNu64_PREFIX): In Apple
7947         universal builds, define directly, using _LP64.
7948         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
7949         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
7950         * modules/inttypes (Depends-on): Add multiarch.
7951         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
7952
7953         Add support for universal builds to <stdint.h>.
7954         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
7955         universal builds, define directly, using _LP64.
7956         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
7957         Apple universal builds, don't test for the size and suffix of ptrdiff_t
7958         and size_t.
7959         * modules/stdint (Depends-on): Add multiarch.
7960         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
7961
7962         New module 'multiarch'.
7963         * modules/multiarch: New file.
7964         * m4/multiarch.m4: New file.
7965
7966 2008-12-25  Bruno Haible  <bruno@clisp.org>
7967
7968         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
7969
7970 2008-12-25  Bruno Haible  <bruno@clisp.org>
7971
7972         * modules/btowc (License): Relicense under LGPLv2+.
7973         * modules/mbsinit (License): Likewise.
7974         * modules/mbrtowc (License): Likewise.
7975         * modules/wcrtomb (License): Likewise.
7976         * modules/streq (License): Likewise.
7977         Reported by David Lutterkort <lutter@redhat.com>.
7978
7979 2008-12-23  Bruno Haible  <bruno@clisp.org>
7980
7981         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
7982
7983 2008-12-23  Bruno Haible  <bruno@clisp.org>
7984
7985         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
7986         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
7987         GETADDRINFO_LIB, not in LIBS.
7988         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
7989         * modules/canon-host (Link): Likewise.
7990         * NEWS: Mention the change.
7991         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
7992         GETADDRINFO_LIB.
7993
7994 2008-12-22  Bruno Haible  <bruno@clisp.org>
7995
7996         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
7997         * doc/posix-functions/iswalpha_l.texi: Likewise.
7998         * doc/posix-functions/iswblank_l.texi: Likewise.
7999         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8000         * doc/posix-functions/iswctype_l.texi: Likewise.
8001         * doc/posix-functions/iswdigit_l.texi: Likewise.
8002         * doc/posix-functions/iswgraph_l.texi: Likewise.
8003         * doc/posix-functions/iswlower_l.texi: Likewise.
8004         * doc/posix-functions/iswprint_l.texi: Likewise.
8005         * doc/posix-functions/iswpunct_l.texi: Likewise.
8006         * doc/posix-functions/iswspace_l.texi: Likewise.
8007         * doc/posix-functions/iswupper_l.texi: Likewise.
8008         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8009         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
8010         * doc/posix-functions/open_wmemstream.texi: Likewise.
8011         * doc/posix-functions/swscanf.texi: Likewise.
8012         * doc/posix-functions/towctrans_l.texi: Likewise.
8013         * doc/posix-functions/towlower.texi: Likewise.
8014         * doc/posix-functions/towlower_l.texi: Likewise.
8015         * doc/posix-functions/towupper.texi: Likewise.
8016         * doc/posix-functions/towupper_l.texi: Likewise.
8017         * doc/posix-functions/vfwprintf.texi: Likewise.
8018         * doc/posix-functions/vfwscanf.texi: Likewise.
8019         * doc/posix-functions/vswscanf.texi: Likewise.
8020         * doc/posix-functions/vwprintf.texi: Likewise.
8021         * doc/posix-functions/vwscanf.texi: Likewise.
8022         * doc/posix-functions/wcpcpy.texi: Likewise.
8023         * doc/posix-functions/wcpncpy.texi: Likewise.
8024         * doc/posix-functions/wcscasecmp.texi: Likewise.
8025         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
8026         * doc/posix-functions/wcscoll_l.texi: Likewise.
8027         * doc/posix-functions/wcsdup.texi: Likewise.
8028         * doc/posix-functions/wcsncasecmp.texi: Likewise.
8029         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
8030         * doc/posix-functions/wcsnlen.texi: Likewise.
8031         * doc/posix-functions/wcsnrtombs.texi: Likewise.
8032         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8033         * doc/posix-functions/wctrans_l.texi: Likewise.
8034         * doc/posix-functions/wctype_l.texi: Likewise.
8035         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
8036         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
8037         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
8038         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
8039         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
8040         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
8041         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
8042         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
8043         * doc/glibc-functions/wcschrnul.texi: Likewise.
8044         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8045         * doc/glibc-functions/wcstod_l.texi: Likewise.
8046         * doc/glibc-functions/wcstof_l.texi: Likewise.
8047         * doc/glibc-functions/wcstol_l.texi: Likewise.
8048         * doc/glibc-functions/wcstold_l.texi: Likewise.
8049         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8050         * doc/glibc-functions/wcstoq.texi: Likewise.
8051         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8052         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8053         * doc/glibc-functions/wcstouq.texi: Likewise.
8054         * doc/glibc-functions/wmempcpy.texi: Likewise.
8055
8056 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
8057             Eric Blake  <ebb9@byu.net>
8058             Paolo Bonzini  <bonzini@gnu.org>
8059             Bruno Haible  <bruno@clisp.org>
8060
8061         Make c-stack work on Haiku.
8062         * lib/c-stack.c (SA_ONSTACK): Define fallback.
8063         (c_stack_action): Use SA_ONSTACK flag.
8064
8065 2008-12-22  Bruno Haible  <bruno@clisp.org>
8066
8067         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
8068
8069 2008-12-22  Bruno Haible  <bruno@clisp.org>
8070
8071         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
8072         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
8073         being overridden.
8074         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
8075         New macros.
8076         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
8077         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
8078         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
8079         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
8080
8081 2008-12-22  Bruno Haible  <bruno@clisp.org>
8082
8083         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
8084         from test code.
8085
8086 2008-12-22  Eric Blake  <ebb9@byu.net>
8087
8088         Avoid gcc warnings on cygwin.
8089         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
8090         Avoid unused variable.
8091         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
8092         Likewise.
8093
8094 2008-12-22  Bruno Haible  <bruno@clisp.org>
8095
8096         Remove HAVE_MBRTOWC conditionals.
8097         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
8098         (mbscasecmp): Assume mbrtowc function.
8099         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
8100         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
8101         * lib/mbschr.c: Include mbuiter.h unconditionally.
8102         (mbschr): Assume mbrtowc function.
8103         * lib/mbscspn.c: Include mbuiter.h unconditionally.
8104         (mbscspn): Assume mbrtowc function.
8105         * lib/mbslen.c: Include mbuiter.h unconditionally.
8106         (mbslen): Assume mbrtowc function.
8107         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
8108         (mbsncasecmp): Assume mbrtowc function.
8109         * lib/mbsnlen.c: Include mbiter.h unconditionally.
8110         (mbsnlen): Assume mbrtowc function.
8111         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
8112         (mbspbrk): Assume mbrtowc function.
8113         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
8114         (mbspcasecmp): Assume mbrtowc function.
8115         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
8116         (mbsrchr): Assume mbrtowc function.
8117         * lib/mbssep.c: Include mbuiter.h unconditionally.
8118         (mbssep): Assume mbrtowc function.
8119         * lib/mbsspn.c: Include mbuiter.h unconditionally.
8120         (mbsspn): Assume mbrtowc function.
8121         * lib/mbsstr.c: Include mbuiter.h unconditionally.
8122         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
8123         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
8124         (mbstok_r): Assume mbrtowc function.
8125         * lib/propername.c: Include mbuiter.h unconditionally.
8126         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
8127         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
8128         (trim2): Assume mbrtowc function.
8129         * lib/mbswidth.c (mbsinit): Remove fallback definition.
8130         (mbsnwidth): Assume mbrtowc function.
8131         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
8132         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
8133         fallback definitions.
8134         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
8135
8136 2008-12-22  Bruno Haible  <bruno@clisp.org>
8137
8138         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
8139
8140 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
8141
8142         * modules/regex: Request emulations for the mb*/wc* functions we need.
8143         * m4/regex.m4: Don't look for those functions here.
8144         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
8145
8146 2008-12-22  Bruno Haible  <bruno@clisp.org>
8147
8148         * modules/fnmatch (Depends-on): Remove duplicated dependency.
8149
8150 2008-12-21  Bruno Haible  <bruno@clisp.org>
8151
8152         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
8153         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
8154         (Include): Remove conditionalization.
8155         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
8156         (Include): Remove conditionalization.
8157         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
8158         (Include): Remove conditionalization.
8159         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
8160         * m4/mbfile.m4 (gl_MBFILE): Likewise.
8161         * NEWS: Mention the change.
8162         Reported by Alan Hourihane <alanh@fairlite.co.uk>
8163         via Sergey Poznyakoff <gray@gnu.org.ua>.
8164
8165 2008-12-21  Bruno Haible  <bruno@clisp.org>
8166
8167         * MODULES.html.sh (Extended multibyte and wide character utilities
8168         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
8169         wcrtomb, wcsrtombs.
8170         (Support for systems lacking POSIX:2008): Add accept, bind, close,
8171         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
8172         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
8173         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
8174
8175 2008-12-21  Bruno Haible  <bruno@clisp.org>
8176
8177         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
8178
8179 2008-12-21  Bruno Haible  <bruno@clisp.org>
8180
8181         * modules/wcsnrtombs-tests: New file.
8182         * tests/test-wcsnrtombs1.sh: New file.
8183         * tests/test-wcsnrtombs2.sh: New file.
8184         * tests/test-wcsnrtombs3.sh: New file.
8185         * tests/test-wcsnrtombs4.sh: New file.
8186         * tests/test-wcsnrtombs.c: New file.
8187
8188         New module 'wcsnrtombs'.
8189         * lib/wchar.in.h (wcsnrtombs): New declaration.
8190         * lib/wcsnrtombs.c: New file.
8191         * lib/wcsrtombs-state.c: New file.
8192         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
8193         (internal_state): Remove variable.
8194         * m4/wcsnrtombs.m4: New file.
8195         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
8196         compilation units.
8197         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
8198         HAVE_WCSNRTOMBS.
8199         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
8200         HAVE_WCSNRTOMBS.
8201         * modules/wcsnrtombs: New file.
8202         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
8203         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
8204
8205 2008-12-21  Bruno Haible  <bruno@clisp.org>
8206
8207         * modules/wcsrtombs-tests: New file.
8208         * tests/test-wcsrtombs1.sh: New file.
8209         * tests/test-wcsrtombs2.sh: New file.
8210         * tests/test-wcsrtombs3.sh: New file.
8211         * tests/test-wcsrtombs4.sh: New file.
8212         * tests/test-wcsrtombs.c: New file.
8213
8214         New module 'wcsrtombs'.
8215         * lib/wchar.in.h (wcsrtombs): New declaration.
8216         * lib/wcsrtombs.c: New file.
8217         * m4/wcsrtombs.m4: New file.
8218         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
8219         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
8220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
8221         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
8222         * modules/wcsrtombs: New file.
8223         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
8224         bugs.
8225
8226 2008-12-21  Bruno Haible  <bruno@clisp.org>
8227
8228         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
8229         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
8230         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
8231         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
8232         if not correct.
8233         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
8234         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
8235         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
8236         m4/locale-zh.m4, m4/codeset.m4.
8237         * doc/posix-functions/wcrtomb.texi: Document the bug.
8238
8239 2008-12-21  Bruno Haible  <bruno@clisp.org>
8240
8241         Work around a btowc() bug on IRIX 6.5.
8242         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
8243         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
8244         REPLACE_WTOBC if not.
8245         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
8246         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
8247         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
8248
8249 2008-12-21  Bruno Haible  <bruno@clisp.org>
8250
8251         * modules/wcrtomb-tests: New file.
8252         * tests/test-wcrtomb.sh: New file.
8253         * tests/test-wcrtomb.c: New file.
8254
8255         New module 'wcrtomb'.
8256         * lib/wchar.in.h (wcrtomb): New declaration.
8257         * lib/wcrtomb.c: New file.
8258         * m4/wcrtomb.m4: New file.
8259         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
8260         HAVE_WCRTOMB.
8261         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
8262         HAVE_WCRTOMB.
8263         * modules/wcrtomb: New file.
8264         * doc/posix-functions/wcrtomb.texi: Mention the new module.
8265
8266 2008-12-21  Bruno Haible  <bruno@clisp.org>
8267
8268         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
8269         * modules/mbsrtowcs (Files): Likewise.
8270         * modules/wctob (Files): Likewise.
8271         * modules/c-strcase-tests (Files): Likewise.
8272         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
8273         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
8274         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
8275         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
8276         * modules/vasnprintf-posix-tests (Files): Likewise.
8277
8278 2008-12-21  William Pursell  <bill.pursell@gmail.com>
8279
8280         gitlog-to-changelog: pass all command-line arguments to git-log
8281         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
8282         it is sometimes convenient to filter the commits in various ways.
8283         gitlog-to-changelog only allows --since to specify a start date,
8284         but git-log itself supports many other filtering mechanisms.
8285         At the moment, I want to filter by branch name.  Rather than
8286         adding a --branch option to gitlog-to-changelog, it seems more
8287         flexible to simply pass all options directly to git-log and let
8288         git do the work.  Notice that this effectively makes --since a
8289         redundant option for gitlog-to-changelog, but removing it would
8290         require current usage to change since calls would then require
8291         an additional '--'.
8292
8293 2008-12-21  Bruno Haible  <bruno@clisp.org>
8294
8295         * modules/mbsnrtowcs-tests: New file.
8296         * tests/test-mbsnrtowcs1.sh: New file.
8297         * tests/test-mbsnrtowcs2.sh: New file.
8298         * tests/test-mbsnrtowcs3.sh: New file.
8299         * tests/test-mbsnrtowcs4.sh: New file.
8300         * tests/test-mbsnrtowcs.c: New file.
8301
8302         New module 'mbsnrtowcs'.
8303         * lib/wchar.in.h (mbsnrtowcs): New declaration.
8304         * lib/mbsnrtowcs.c: New file.
8305         * lib/mbsrtowcs-state.c: New file.
8306         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
8307         (internal_state): Remove variable.
8308         * m4/mbsnrtowcs.m4: New file.
8309         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
8310         compilation units.
8311         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
8312         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
8313         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
8314         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
8315         * modules/mbsnrtowcs: New file.
8316         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
8317         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
8318         portability problem.
8319
8320 2008-12-21  Bruno Haible  <bruno@clisp.org>
8321
8322         Work around mbsrtowcs bug.
8323         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
8324         (gl_FUNC_MBSRTOWCS): Invoke it.
8325         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
8326         m4/locale-zh.m4.
8327         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
8328
8329 2008-12-21  Bruno Haible  <bruno@clisp.org>
8330
8331         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
8332
8333 2008-12-21  Bruno Haible  <bruno@clisp.org>
8334
8335         Update doc for AIX.
8336         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
8337         16-bit wchar_t type.
8338         * doc/posix-functions/btowc.texi: Likewise.
8339         * doc/posix-functions/fgetwc.texi: Likewise.
8340         * doc/posix-functions/fgetws.texi: Likewise.
8341         * doc/posix-functions/fputwc.texi: Likewise.
8342         * doc/posix-functions/fputws.texi: Likewise.
8343         * doc/posix-functions/fwide.texi: Likewise.
8344         * doc/posix-functions/fwprintf.texi: Likewise.
8345         * doc/posix-functions/fwscanf.texi: Likewise.
8346         * doc/posix-functions/getwchar.texi: Likewise.
8347         * doc/posix-functions/getwc.texi: Likewise.
8348         * doc/posix-functions/iswalnum.texi: Likewise.
8349         * doc/posix-functions/iswalpha.texi: Likewise.
8350         * doc/posix-functions/iswblank.texi: Likewise.
8351         * doc/posix-functions/iswcntrl.texi: Likewise.
8352         * doc/posix-functions/iswctype.texi: Likewise.
8353         * doc/posix-functions/iswdigit.texi: Likewise.
8354         * doc/posix-functions/iswgraph.texi: Likewise.
8355         * doc/posix-functions/iswlower.texi: Likewise.
8356         * doc/posix-functions/iswprint.texi: Likewise.
8357         * doc/posix-functions/iswpunct.texi: Likewise.
8358         * doc/posix-functions/iswspace.texi: Likewise.
8359         * doc/posix-functions/iswupper.texi: Likewise.
8360         * doc/posix-functions/iswxdigit.texi: Likewise.
8361         * doc/posix-functions/mbrtowc.texi: Likewise.
8362         * doc/posix-functions/mbsrtowcs.texi: Likewise.
8363         * doc/posix-functions/mbstowcs.texi: Likewise.
8364         * doc/posix-functions/mbtowc.texi: Likewise.
8365         * doc/posix-functions/putwchar.texi: Likewise.
8366         * doc/posix-functions/putwc.texi: Likewise.
8367         * doc/posix-functions/swprintf.texi: Likewise.
8368         * doc/posix-functions/tolower.texi: Likewise.
8369         * doc/posix-functions/toupper.texi: Likewise.
8370         * doc/posix-functions/towctrans.texi: Likewise.
8371         * doc/posix-functions/ungetwc.texi: Likewise.
8372         * doc/posix-functions/vswprintf.texi: Likewise.
8373         * doc/posix-functions/wcrtomb.texi: Likewise.
8374         * doc/posix-functions/wcscat.texi: Likewise.
8375         * doc/posix-functions/wcschr.texi: Likewise.
8376         * doc/posix-functions/wcscmp.texi: Likewise.
8377         * doc/posix-functions/wcscoll.texi: Likewise.
8378         * doc/posix-functions/wcscpy.texi: Likewise.
8379         * doc/posix-functions/wcscspn.texi: Likewise.
8380         * doc/posix-functions/wcsftime.texi: Likewise.
8381         * doc/posix-functions/wcslen.texi: Likewise.
8382         * doc/posix-functions/wcsncat.texi: Likewise.
8383         * doc/posix-functions/wcsncmp.texi: Likewise.
8384         * doc/posix-functions/wcsncpy.texi: Likewise.
8385         * doc/posix-functions/wcspbrk.texi: Likewise.
8386         * doc/posix-functions/wcsrchr.texi: Likewise.
8387         * doc/posix-functions/wcsrtombs.texi: Likewise.
8388         * doc/posix-functions/wcsspn.texi: Likewise.
8389         * doc/posix-functions/wcsstr.texi: Likewise.
8390         * doc/posix-functions/wcstod.texi: Likewise.
8391         * doc/posix-functions/wcstof.texi: Likewise.
8392         * doc/posix-functions/wcstoimax.texi: Likewise.
8393         * doc/posix-functions/wcstok.texi: Likewise.
8394         * doc/posix-functions/wcstold.texi: Likewise.
8395         * doc/posix-functions/wcstoll.texi: Likewise.
8396         * doc/posix-functions/wcstol.texi: Likewise.
8397         * doc/posix-functions/wcstombs.texi: Likewise.
8398         * doc/posix-functions/wcstoull.texi: Likewise.
8399         * doc/posix-functions/wcstoul.texi: Likewise.
8400         * doc/posix-functions/wcstoumax.texi: Likewise.
8401         * doc/posix-functions/wcswidth.texi: Likewise.
8402         * doc/posix-functions/wcsxfrm.texi: Likewise.
8403         * doc/posix-functions/wctob.texi: Likewise.
8404         * doc/posix-functions/wctomb.texi: Likewise.
8405         * doc/posix-functions/wctrans.texi: Likewise.
8406         * doc/posix-functions/wctype.texi: Likewise.
8407         * doc/posix-functions/wcwidth.texi: Likewise.
8408         * doc/posix-functions/wmemchr.texi: Likewise.
8409         * doc/posix-functions/wmemcmp.texi: Likewise.
8410         * doc/posix-functions/wmemcpy.texi: Likewise.
8411         * doc/posix-functions/wmemmove.texi: Likewise.
8412         * doc/posix-functions/wmemset.texi: Likewise.
8413         * doc/posix-functions/wprintf.texi: Likewise.
8414         * doc/posix-functions/wscanf.texi: Likewise.
8415
8416 2008-12-21  Bruno Haible  <bruno@clisp.org>
8417
8418         Update doc for HP-UX 11.11.
8419         * doc/posix-functions/btowc.texi: Clarify that the function is missing
8420         in HP-UX version 11.00, not in all versions of HP-UX 11.
8421         * doc/posix-functions/fwide.texi: Likewise.
8422         * doc/posix-functions/fwprintf.texi: Likewise.
8423         * doc/posix-functions/fwscanf.texi: Likewise.
8424         * doc/posix-functions/inet_ntop.texi: Likewise.
8425         * doc/posix-functions/inet_pton.texi: Likewise.
8426         * doc/posix-functions/mbrlen.texi: Likewise.
8427         * doc/posix-functions/mbrtowc.texi: Likewise.
8428         * doc/posix-functions/mbsinit.texi: Likewise.
8429         * doc/posix-functions/mbsrtowcs.texi: Likewise.
8430         * doc/posix-functions/swprintf.texi: Likewise.
8431         * doc/posix-functions/swscanf.texi: Likewise.
8432         * doc/posix-functions/towctrans.texi: Likewise.
8433         * doc/posix-functions/vfwprintf.texi: Likewise.
8434         * doc/posix-functions/vswprintf.texi: Likewise.
8435         * doc/posix-functions/vwprintf.texi: Likewise.
8436         * doc/posix-functions/wcrtomb.texi: Likewise.
8437         * doc/posix-functions/wcsrtombs.texi: Likewise.
8438         * doc/posix-functions/wcsstr.texi: Likewise.
8439         * doc/posix-functions/wctob.texi: Likewise.
8440         * doc/posix-functions/wctrans.texi: Likewise.
8441         * doc/posix-functions/wmemchr.texi: Likewise.
8442         * doc/posix-functions/wmemcmp.texi: Likewise.
8443         * doc/posix-functions/wmemcpy.texi: Likewise.
8444         * doc/posix-functions/wmemmove.texi: Likewise.
8445         * doc/posix-functions/wmemset.texi: Likewise.
8446         * doc/posix-functions/wprintf.texi: Likewise.
8447         * doc/posix-functions/wscanf.texi: Likewise.
8448
8449 2008-12-21  Bruno Haible  <bruno@clisp.org>
8450
8451         Work around a portability problem.
8452         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
8453         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
8454
8455 2008-12-20  Bruno Haible  <bruno@clisp.org>
8456
8457         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
8458         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
8459         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
8460         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
8461         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
8462
8463         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
8464         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
8465         set.
8466         (GNULIB_defined_mbstate_t): New macro.
8467         (mbsinit): Redefine if REPLACE_MBSINIT is set.
8468         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
8469         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
8470         reuses the system's mbrtowc function but works around the bugs.
8471         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
8472         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
8473         macros.
8474         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
8475         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
8476         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
8477         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
8478         REPLACE_MBSINIT if mbsinit needs to be overridden.
8479         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
8480         REPLACE_MBSINIT, REPLACE_MBRTOWC.
8481         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
8482         REPLACE_MBSINIT, REPLACE_MBRTOWC.
8483         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
8484         m4/locale-zh.m4.
8485         (Depends): Add mbsinit.
8486         * modules/mbsinit (Depends): Add mbrtowc.
8487         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
8488
8489 2008-12-20  Bruno Haible  <bruno@clisp.org>
8490
8491         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
8492         so that there are no conversion errors on AIX.
8493         * tests/test-mbsrtowcs.c (main): LIkewise.
8494
8495 2008-12-20  Bruno Haible  <bruno@clisp.org>
8496
8497         Work around wctob bug on Solaris <= 9.
8498         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
8499         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
8500         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
8501         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
8502         * modules/wctob (Files): Add m4/locale-fr.m4.
8503         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
8504
8505 2008-12-20  Bruno Haible  <bruno@clisp.org>
8506
8507         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
8508         /dev/null.
8509         * tests/test-select-in.sh: Likewise.
8510         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8511
8512 2008-12-20  Bruno Haible  <bruno@clisp.org>
8513
8514         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
8515         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
8516         Cygwin 1.5.x.
8517
8518 2008-12-20  Bruno Haible  <bruno@clisp.org>
8519
8520         Ensure mbstate_t is defined on HP-UX 11.11.
8521         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
8522         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
8523         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
8524         AC_USE_SYSTEM_EXTENSIONS.
8525         * modules/fnmatch (Depends-on): Add extensions.
8526         * modules/mbrlen (Depends-on): Likewise.
8527         * modules/mbrtowc (Depends-on): Likewise.
8528         * modules/mbsinit (Depends-on): Likewise.
8529         * modules/mbsrtowcs (Depends-on): Likewise.
8530         * modules/mbswidth (Depends-on): Likewise.
8531         * modules/quotearg (Depends-on): Likewise.
8532         * modules/strftime (Depends-on): Likewise.
8533
8534 2008-12-20  Bruno Haible  <bruno@clisp.org>
8535
8536         Ensure wctob is declared on IRIX 6.5.
8537         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
8538         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
8539         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
8540         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
8541         of HAVE_WCTOB.
8542         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
8543         HAVE_WCTOB.
8544         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
8545
8546 2008-12-19  Bruno Haible  <bruno@clisp.org>
8547
8548         * modules/mbsrtowcs-tests: New file.
8549         * tests/test-mbsrtowcs1.sh: New file.
8550         * tests/test-mbsrtowcs2.sh: New file.
8551         * tests/test-mbsrtowcs3.sh: New file.
8552         * tests/test-mbsrtowcs4.sh: New file.
8553         * tests/test-mbsrtowcs.c: New file.
8554
8555         New module 'mbsrtowcs'.
8556         * lib/wchar.in.h (mbsrtowcs): New declaration.
8557         * lib/mbsrtowcs.c: New file.
8558         * m4/mbsrtowcs.m4: New file.
8559         * modules/mbsrtowcs: New file.
8560         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
8561         HAVE_MBSRTOWCS.
8562         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
8563         HAVE_MBSRTOWCS.
8564         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
8565
8566 2008-12-19  Bruno Haible  <bruno@clisp.org>
8567
8568         New module 'mbrlen'.
8569         * lib/wchar.in.h (mbrlen): New declaration.
8570         * lib/mbrlen.c: New file.
8571         * m4/mbrlen.m4: New file.
8572         * modules/mbrlen: New file.
8573         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
8574         HAVE_MBRLEN.
8575         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
8576         HAVE_MBRLEN.
8577         * doc/posix-functions/mbrlen.texi: Document the new module.
8578
8579 2008-12-19  Bruno Haible  <bruno@clisp.org>
8580
8581         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
8582         * modules/mbrtowc (Depends-on): Add verify.
8583         Suggested by Paul Eggert.
8584
8585 2008-12-18  Bruno Haible  <bruno@clisp.org>
8586
8587         * modules/mbsinit-tests: New file.
8588         * tests/test-mbsinit.sh: New file.
8589         * tests/test-mbsinit.c: New file.
8590
8591 2008-12-18  Bruno Haible  <bruno@clisp.org>
8592
8593         * modules/mbrtowc-tests: New file.
8594         * tests/test-mbrtowc1.sh: New file.
8595         * tests/test-mbrtowc2.sh: New file.
8596         * tests/test-mbrtowc3.sh: New file.
8597         * tests/test-mbrtowc4.sh: New file.
8598         * tests/test-mbrtowc.c: New file.
8599
8600         New module 'mbrtowc'.
8601         * lib/wchar.in.h (mbstate_t): Override when the system does not have
8602         mbsinit and mbrtowc.
8603         (mbrtowc): New declaration.
8604         * lib/mbrtowc.c: New file.
8605         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
8606         * modules/mbrtowc: New file.
8607         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
8608         HAVE_MBRTOWC.
8609         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
8610         HAVE_MBRTOWC.
8611         * doc/posix-functions/mbrtowc.texi: Document the new module.
8612
8613 2008-12-18  Bruno Haible  <bruno@clisp.org>
8614
8615         New module 'wctob'.
8616         * lib/wchar.in.h (wctob): New declaration.
8617         * lib/wctob.c: New file.
8618         * m4/wctob.m4: New file.
8619         * modules/wctob: New file.
8620         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
8621         HAVE_WCTOB.
8622         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
8623         * doc/posix-functions/wctob.texi: Document the new module.
8624
8625 2008-12-18  Bruno Haible  <bruno@clisp.org>
8626
8627         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
8628         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
8629
8630 2008-12-18  Simon Josefsson  <simon@josefsson.org>
8631
8632         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
8633         G. Christensen" <tgc@jupiterrise.com>.
8634
8635         * lib/flock.c: Need to include errno.h.  Reported by "Tom
8636         G. Christensen" <tgc@jupiterrise.com>.
8637
8638         * lib/flock.c: Need to include string.h.  Reported by "Tom
8639         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
8640         <ebb9@byu.net>.
8641
8642 2008-12-18  Bruno Haible  <bruno@clisp.org>
8643
8644         * m4/locale-ja.m4: New file, from GNU gettext.
8645
8646 2008-12-17  Bruno Haible  <bruno@clisp.org>
8647
8648         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
8649         Suggested by Eric Blake.
8650
8651 2008-12-17  Bruno Haible  <bruno@clisp.org>
8652
8653         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
8654
8655 2008-12-17  Bruno Haible  <bruno@clisp.org>
8656
8657         * lib/mbsinit.c: Include verify.h. Verify an assumption.
8658         * modules/mbsinit (Depends-on): Add verify.
8659         Suggested by Paul Eggert.
8660
8661 2008-12-17  Bruno Haible  <bruno@clisp.org>
8662
8663         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
8664         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
8665         gl_FUNC_MBRTOWC.
8666         * m4/mbiter.m4 (gl_MBITER): LIkewise.
8667         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
8668         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
8669         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
8670         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
8671         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
8672         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
8673         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
8674         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
8675         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
8676         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
8677         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
8678         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
8679         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
8680         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
8681         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8682         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
8683         * modules/trim (configure.ac): Likewise.
8684
8685 2008-12-17  Bruno Haible  <bruno@clisp.org>
8686
8687         * modules/btowc-tests: New file.
8688         * tests/test-btowc1.sh: New file.
8689         * tests/test-btowc2.sh: New file.
8690         * tests/test-btowc.c: New file.
8691
8692         New module 'btowc'.
8693         * lib/wchar.in.h (btowc): New declaration.
8694         * lib/btowc.c: New file.
8695         * m4/btowc.m4: New file.
8696         * modules/btowc: New file.
8697         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
8698         HAVE_BTOWC.
8699         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
8700         * doc/posix-functions/btowc.texi: Document the new module.
8701
8702 2008-12-17  Bruno Haible  <bruno@clisp.org>
8703
8704         New module 'mbsinit'.
8705         * lib/wchar.in.h (mbsinit): New declaration.
8706         * lib/mbsinit.c: New file.
8707         * m4/mbsinit.m4: New file.
8708         * modules/mbsinit: New file.
8709         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
8710         HAVE_MBSINIT.
8711         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
8712         HAVE_MBSINIT.
8713         * doc/posix-functions/mbsinit.texi: Document the new module.
8714
8715 2008-12-16  Bruno Haible  <bruno@clisp.org>
8716
8717         * lib/unistd.in.h: Add comment.
8718         * tests/test-environ.c: Don't include <stdlib.h>.
8719
8720 2008-12-16  Bruno Haible  <bruno@clisp.org>
8721
8722         * lib/parse-duration.h (parse_duration): Document return value
8723         convention.
8724         * lib/parse-duration.c: Include specification header first. Add
8725         comments.
8726         (_): Remove macro.
8727         (parse_year_month_day, parse_hour_minute_second): Move side effects
8728         outside of strchr call.
8729         (parse_non_iso8601): Move side effects outside of isspace call.
8730         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
8731         call.
8732
8733 2008-12-16  Bruno Haible  <bruno@clisp.org>
8734
8735         * tests/test-parse-duration.sh: Produce no output when the test
8736         succeeds.
8737
8738 2008-12-16  Bruno Haible  <bruno@clisp.org>
8739
8740         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
8741         expressions.
8742
8743 2008-12-15  Bruno Haible  <bruno@clisp.org>
8744
8745         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
8746         * doc/glibc-functions/flistxattr.texi: Likewise.
8747         * doc/glibc-functions/fopencookie.texi: Likewise.
8748         * doc/glibc-functions/fremovexattr.texi: Likewise.
8749         * doc/glibc-functions/fsetxattr.texi: Likewise.
8750         * doc/glibc-functions/getxattr.texi: Likewise.
8751         * doc/glibc-functions/lgetxattr.texi: Likewise.
8752         * doc/glibc-functions/listxattr.texi: Likewise.
8753         * doc/glibc-functions/llistxattr.texi: Likewise.
8754         * doc/glibc-functions/lremovexattr.texi: Likewise.
8755         * doc/glibc-functions/lsetxattr.texi: Likewise.
8756         * doc/glibc-functions/removexattr.texi: Likewise.
8757         * doc/glibc-functions/setxattr.texi: Likewise.
8758         * doc/posix-functions/open_memstream.texi: Likewise.
8759
8760 2008-12-15  Eric Blake  <ebb9@byu.net>
8761
8762         Update doc for cygwin 1.7.
8763         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
8764         functions.
8765         * doc/posix-functions/fchmodat.texi: Likewise.
8766         * doc/posix-functions/fchownat.texi: Likewise.
8767         * doc/posix-functions/fdopendir.texi: Likewise.
8768         * doc/posix-functions/fmemopen.texi: Likewise.
8769         * doc/posix-functions/freeaddrinfo.texi: Likewise.
8770         * doc/posix-functions/fstatat.texi: Likewise.
8771         * doc/posix-functions/futimens.texi: Likewise.
8772         * doc/posix-functions/gai_strerror.texi: Likewise.
8773         * doc/posix-functions/getaddrinfo.texi: Likewise.
8774         * doc/posix-functions/getnameinfo.texi: Likewise.
8775         * doc/posix-functions/if_freenameindex.texi: Likewise.
8776         * doc/posix-functions/if_indextoname.texi: Likewise.
8777         * doc/posix-functions/if_nameindex.texi: Likewise.
8778         * doc/posix-functions/if_nametoindex.texi: Likewise.
8779         * doc/posix-functions/insque.texi: Likewise.
8780         * doc/posix-functions/linkat.texi: Likewise.
8781         * doc/posix-functions/llrint.texi: Likewise.
8782         * doc/posix-functions/llrintf.texi: Likewise.
8783         * doc/posix-functions/llrintl.texi: Likewise.
8784         * doc/posix-functions/lockf.texi: Likewise.
8785         * doc/posix-functions/lrintl.texi: Likewise.
8786         * doc/posix-functions/mkdirat.texi: Likewise.
8787         * doc/posix-functions/mkfifoat.texi: Likewise.
8788         * doc/posix-functions/mknodat.texi: Likewise.
8789         * doc/posix-functions/mq_close.texi: Likewise.
8790         * doc/posix-functions/mq_getattr.texi: Likewise.
8791         * doc/posix-functions/mq_notify.texi: Likewise.
8792         * doc/posix-functions/mq_open.texi: Likewise.
8793         * doc/posix-functions/mq_receive.texi: Likewise.
8794         * doc/posix-functions/mq_send.texi: Likewise.
8795         * doc/posix-functions/mq_setattr.texi: Likewise.
8796         * doc/posix-functions/mq_timedreceive.texi: Likewise.
8797         * doc/posix-functions/mq_timedsend.texi: Likewise.
8798         * doc/posix-functions/mq_unlink.texi: Likewise.
8799         * doc/posix-functions/open_memstream.texi: Likewise.
8800         * doc/posix-functions/openat.texi: Likewise.
8801         * doc/posix-functions/posix_fadvise.texi: Likewise.
8802         * doc/posix-functions/posix_fallocate.texi: Likewise.
8803         * doc/posix-functions/posix_madvise.texi: Likewise.
8804         * doc/posix-functions/posix_memalign.texi: Likewise.
8805         * doc/posix-functions/posix_openpt.texi: Likewise.
8806         * doc/posix-functions/readlinkat.texi: Likewise.
8807         * doc/posix-functions/remque.texi: Likewise.
8808         * doc/posix-functions/renameat.texi: Likewise.
8809         * doc/posix-functions/rintl.texi: Likewise.
8810         * doc/posix-functions/sem_unlink.texi: Likewise.
8811         * doc/posix-functions/shm_open.texi: Likewise.
8812         * doc/posix-functions/shm_unlink.texi: Likewise.
8813         * doc/posix-functions/signgam.texi: Likewise.
8814         * doc/posix-functions/sigset.texi: Likewise.
8815         * doc/posix-functions/stpcpy.texi: Likewise.
8816         * doc/posix-functions/stpncpy.texi: Likewise.
8817         * doc/posix-functions/strerror.texi: Likewise.
8818         * doc/posix-functions/strtod.texi: Likewise.
8819         * doc/posix-functions/symlinkat.texi: Likewise.
8820         * doc/posix-functions/unlinkat.texi: Likewise.
8821         * doc/posix-functions/utimensat.texi: Likewise.
8822         * doc/glibc-functions/bindresvport.texi: Likewise.
8823         * doc/glibc-functions/dn_expand.texi: Likewise.
8824         * doc/glibc-functions/exp10.texi: Likewise.
8825         * doc/glibc-functions/exp10f.texi: Likewise.
8826         * doc/glibc-functions/fgetxattr.texi: Likewise.
8827         * doc/glibc-functions/flistxattr.texi: Likewise.
8828         * doc/glibc-functions/fopencookie.texi: Likewise.
8829         * doc/glibc-functions/freeifaddrs.texi: Likewise.
8830         * doc/glibc-functions/fremovexattr.texi: Likewise.
8831         * doc/glibc-functions/fsetxattr.texi: Likewise.
8832         * doc/glibc-functions/getifaddrs.texi: Likewise.
8833         * doc/glibc-functions/getxattr.texi: Likewise.
8834         * doc/glibc-functions/lgetxattr.texi: Likewise.
8835         * doc/glibc-functions/listxattr.texi: Likewise.
8836         * doc/glibc-functions/llistxattr.texi: Likewise.
8837         * doc/glibc-functions/lremovexattr.texi: Likewise.
8838         * doc/glibc-functions/lsetxattr.texi: Likewise.
8839         * doc/glibc-functions/pow10.texi: Likewise.
8840         * doc/glibc-functions/pow10f.texi: Likewise.
8841         * doc/glibc-functions/rcmd_af.texi: Likewise.
8842         * doc/glibc-functions/removexattr.texi: Likewise.
8843         * doc/glibc-functions/res_init.texi: Likewise.
8844         * doc/glibc-functions/res_mkquery.texi: Likewise.
8845         * doc/glibc-functions/res_query.texi: Likewise.
8846         * doc/glibc-functions/res_querydomain.texi: Likewise.
8847         * doc/glibc-functions/res_send.texi: Likewise.
8848         * doc/glibc-functions/rresvport_af.texi: Likewise.
8849         * doc/glibc-functions/setxattr.texi: Likewise.
8850         * doc/glibc-functions/strcasestr.texi: Likewise.
8851
8852 2008-12-15  Bruno Haible  <bruno@clisp.org>
8853
8854         Fix compilation error on OSF/1 4.0.
8855         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
8856         <sys/time.h>, simply delegate to the system header.
8857         Reported by Daniel Richard G. <oss@teragram.com>.
8858
8859 2008-12-15  Bruno Haible  <bruno@clisp.org>
8860
8861         * doc/posix-functions/openat.texi: Mention the 'openat' module.
8862         * doc/posix-functions/fchmodat.texi: Likewise.
8863         * doc/posix-functions/fchownat.texi: Likewise.
8864         * doc/posix-functions/fdopendir.texi: Likewise.
8865         * doc/posix-functions/fstatat.texi: Likewise.
8866         * doc/posix-functions/mkdirat.texi: Likewise.
8867         * doc/posix-functions/unlinkat.texi: Likewise.
8868
8869 2008-12-14  Bruno Haible  <bruno@clisp.org>
8870
8871         Update doc for POSIX:2008.
8872         * doc/posix-functions/faccessat.texi: New file.
8873         * doc/posix-functions/fchmodat.texi: New file.
8874         * doc/posix-functions/fchownat.texi: New file.
8875         * doc/posix-functions/fdopendir.texi: New file.
8876         * doc/posix-functions/fstatat.texi: New file.
8877         * doc/posix-functions/futimens.texi: New file.
8878         * doc/posix-functions/linkat.texi: New file.
8879         * doc/posix-functions/mkdirat.texi: New file.
8880         * doc/posix-functions/mkfifoat.texi: New file.
8881         * doc/posix-functions/mknodat.texi: New file.
8882         * doc/posix-functions/open_wmemstream.texi: New file.
8883         * doc/posix-functions/openat.texi: New file.
8884         * doc/posix-functions/psiginfo.texi: New file.
8885         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
8886         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
8887         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
8888         * doc/posix-functions/readlinkat.texi: New file.
8889         * doc/posix-functions/renameat.texi: New file.
8890         * doc/posix-functions/strerror_l.texi: New file.
8891         * doc/posix-functions/symlinkat.texi: New file.
8892         * doc/posix-functions/unlinkat.texi: New file.
8893         * doc/posix-functions/utimensat.texi: New file.
8894         * doc/gnulib.texi (Function Substitutes): Add these subsections.
8895
8896 2008-12-14  Bruno Haible  <bruno@clisp.org>
8897
8898         Update doc for POSIX:2008.
8899         * doc/posix-functions/alphasort.texi: Renamed from
8900         doc/glibc-functions/alphasort.texi.
8901         * doc/posix-functions/dirfd.texi: Renamed from
8902         doc/glibc-functions/dirfd.texi.
8903         * doc/posix-functions/dprintf.texi: Renamed from
8904         doc/glibc-functions/dprintf.texi.
8905         * doc/posix-functions/duplocale.texi: Renamed from
8906         doc/glibc-functions/duplocale.texi.
8907         * doc/posix-functions/fexecve.texi: Renamed from
8908         doc/glibc-functions/fexecve.texi.
8909         * doc/posix-functions/fmemopen.texi: Renamed from
8910         doc/glibc-functions/fmemopen.texi.
8911         * doc/posix-functions/freelocale.texi: Renamed from
8912         doc/glibc-functions/freelocale.texi.
8913         * doc/posix-functions/getdate_err.texi: Renamed from
8914         doc/glibc-functions/getdate_err.texi.
8915         * doc/posix-functions/isalnum_l.texi: Renamed from
8916         doc/glibc-functions/isalnum_l.texi.
8917         * doc/posix-functions/isalpha_l.texi: Renamed from
8918         doc/glibc-functions/isalpha_l.texi.
8919         * doc/posix-functions/isblank_l.texi: Renamed from
8920         doc/glibc-functions/isblank_l.texi.
8921         * doc/posix-functions/iscntrl_l.texi: Renamed from
8922         doc/glibc-functions/iscntrl_l.texi.
8923         * doc/posix-functions/isdigit_l.texi: Renamed from
8924         doc/glibc-functions/isdigit_l.texi.
8925         * doc/posix-functions/isgraph_l.texi: Renamed from
8926         doc/glibc-functions/isgraph_l.texi.
8927         * doc/posix-functions/islower_l.texi: Renamed from
8928         doc/glibc-functions/islower_l.texi.
8929         * doc/posix-functions/isprint_l.texi: Renamed from
8930         doc/glibc-functions/isprint_l.texi.
8931         * doc/posix-functions/ispunct_l.texi: Renamed from
8932         doc/glibc-functions/ispunct_l.texi.
8933         * doc/posix-functions/isspace_l.texi: Renamed from
8934         doc/glibc-functions/isspace_l.texi.
8935         * doc/posix-functions/isupper_l.texi: Renamed from
8936         doc/glibc-functions/isupper_l.texi.
8937         * doc/posix-functions/iswalnum_l.texi: Renamed from
8938         doc/glibc-functions/iswalnum_l.texi.
8939         * doc/posix-functions/iswalpha_l.texi: Renamed from
8940         doc/glibc-functions/iswalpha_l.texi.
8941         * doc/posix-functions/iswblank_l.texi: Renamed from
8942         doc/glibc-functions/iswblank_l.texi.
8943         * doc/posix-functions/iswcntrl_l.texi: Renamed from
8944         doc/glibc-functions/iswcntrl_l.texi.
8945         * doc/posix-functions/iswctype_l.texi: Renamed from
8946         doc/glibc-functions/iswctype_l.texi.
8947         * doc/posix-functions/iswdigit_l.texi: Renamed from
8948         doc/glibc-functions/iswdigit_l.texi.
8949         * doc/posix-functions/iswgraph_l.texi: Renamed from
8950         doc/glibc-functions/iswgraph_l.texi.
8951         * doc/posix-functions/iswlower_l.texi: Renamed from
8952         doc/glibc-functions/iswlower_l.texi.
8953         * doc/posix-functions/iswprint_l.texi: Renamed from
8954         doc/glibc-functions/iswprint_l.texi.
8955         * doc/posix-functions/iswpunct_l.texi: Renamed from
8956         doc/glibc-functions/iswpunct_l.texi.
8957         * doc/posix-functions/iswspace_l.texi: Renamed from
8958         doc/glibc-functions/iswspace_l.texi.
8959         * doc/posix-functions/iswupper_l.texi: Renamed from
8960         doc/glibc-functions/iswupper_l.texi.
8961         * doc/posix-functions/iswxdigit_l.texi: Renamed from
8962         doc/glibc-functions/iswxdigit_l.texi.
8963         * doc/posix-functions/isxdigit_l.texi: Renamed from
8964         doc/glibc-functions/isxdigit_l.texi.
8965         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
8966         doc/glibc-functions/mbsnrtowcs.texi.
8967         * doc/posix-functions/mkdtemp.texi: Renamed from
8968         doc/glibc-functions/mkdtemp.texi.
8969         * doc/posix-functions/newlocale.texi: Renamed from
8970         doc/glibc-functions/newlocale.texi.
8971         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
8972         doc/glibc-functions/nl_langinfo_l.texi.
8973         * doc/posix-functions/open_memstream.texi: Renamed from
8974         doc/glibc-functions/open_memstream.texi.
8975         * doc/posix-functions/opterr.texi: Renamed from
8976         doc/glibc-functions/opterr.texi.
8977         * doc/posix-functions/optind.texi: Renamed from
8978         doc/glibc-functions/optind.texi.
8979         * doc/posix-functions/optopt.texi: Renamed from
8980         doc/glibc-functions/optopt.texi.
8981         * doc/posix-functions/psignal.texi: Renamed from
8982         doc/glibc-functions/psignal.texi.
8983         * doc/posix-functions/scandir.texi: Renamed from
8984         doc/glibc-functions/scandir.texi.
8985         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
8986         doc/glibc-functions/sched_get_priority_min.texi.
8987         * doc/posix-functions/signgam.texi: Renamed from
8988         doc/glibc-functions/signgam.texi.
8989         * doc/posix-functions/stpcpy.texi: Renamed from
8990         doc/glibc-functions/stpcpy.texi.
8991         * doc/posix-functions/stpncpy.texi: Renamed from
8992         doc/glibc-functions/stpncpy.texi.
8993         * doc/posix-functions/strcasecmp_l.texi: Renamed from
8994         doc/glibc-functions/strcasecmp_l.texi.
8995         * doc/posix-functions/strcoll_l.texi: Renamed from
8996         doc/glibc-functions/strcoll_l.texi.
8997         * doc/posix-functions/strfmon_l.texi: Renamed from
8998         doc/glibc-functions/strfmon_l.texi.
8999         * doc/posix-functions/strftime_l.texi: Renamed from
9000         doc/glibc-functions/strftime_l.texi.
9001         * doc/posix-functions/strncasecmp_l.texi: Renamed from
9002         doc/glibc-functions/strncasecmp_l.texi.
9003         * doc/posix-functions/strndup.texi: Renamed from
9004         doc/glibc-functions/strndup.texi.
9005         * doc/posix-functions/strnlen.texi: Renamed from
9006         doc/glibc-functions/strnlen.texi.
9007         * doc/posix-functions/strsignal.texi: Renamed from
9008         doc/glibc-functions/strsignal.texi.
9009         * doc/posix-functions/strxfrm_l.texi: Renamed from
9010         doc/glibc-functions/strxfrm_l.texi.
9011         * doc/posix-functions/timer_gettime.texi: Renamed from
9012         doc/glibc-functions/timer_gettime.texi.
9013         * doc/posix-functions/tolower_l.texi: Renamed from
9014         doc/glibc-functions/tolower_l.texi.
9015         * doc/posix-functions/toupper_l.texi: Renamed from
9016         doc/glibc-functions/toupper_l.texi.
9017         * doc/posix-functions/towctrans_l.texi: Renamed from
9018         doc/glibc-functions/towctrans_l.texi.
9019         * doc/posix-functions/towlower_l.texi: Renamed from
9020         doc/glibc-functions/towlower_l.texi.
9021         * doc/posix-functions/towupper_l.texi: Renamed from
9022         doc/glibc-functions/towupper_l.texi.
9023         * doc/posix-functions/uselocale.texi: Renamed from
9024         doc/glibc-functions/uselocale.texi.
9025         * doc/posix-functions/vdprintf.texi: Renamed from
9026         doc/glibc-functions/vdprintf.texi.
9027         * doc/posix-functions/wcpcpy.texi:
9028         Renamed from doc/glibc-functions/wcpcpy.texi.
9029         * doc/posix-functions/wcpncpy.texi: Renamed from
9030         doc/glibc-functions/wcpncpy.texi.
9031         * doc/posix-functions/wcscasecmp.texi: Renamed from
9032         doc/glibc-functions/wcscasecmp.texi.
9033         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
9034         doc/glibc-functions/wcscasecmp_l.texi.
9035         * doc/posix-functions/wcscoll_l.texi: Renamed from
9036         doc/glibc-functions/wcscoll_l.texi.
9037         * doc/posix-functions/wcsdup.texi: Renamed from
9038         doc/glibc-functions/wcsdup.texi.
9039         * doc/posix-functions/wcsncasecmp.texi: Renamed from
9040         doc/glibc-functions/wcsncasecmp.texi.
9041         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
9042         doc/glibc-functions/wcsncasecmp_l.texi.
9043         * doc/posix-functions/wcsnlen.texi: Renamed from
9044         doc/glibc-functions/wcsnlen.texi.
9045         * doc/posix-functions/wcsnrtombs.texi: Renamed from
9046         doc/glibc-functions/wcsnrtombs.texi.
9047         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
9048         doc/glibc-functions/wcsxfrm_l.texi.
9049         * doc/posix-functions/wctrans_l.texi: Renamed from
9050         doc/glibc-functions/wctrans_l.texi.
9051         * doc/posix-functions/wctype_l.texi: Renamed from
9052         doc/glibc-functions/wctype_l.texi.
9053         * doc/gnulib.texi (Function Substitutes): Add these subsections.
9054         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
9055         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
9056         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
9057         these subsections.
9058         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
9059         Remove sections.
9060
9061 2008-12-14  Bruno Haible  <bruno@clisp.org>
9062
9063         Update doc for POSIX:2008.
9064         * doc/posix-functions/*.texi: Update URL of POSIX specification.
9065
9066 2008-12-14  Bruno Haible  <bruno@clisp.org>
9067
9068         Update doc for POSIX:2008.
9069         * doc/pastposix-functions/bcmp.texi: Renamed from
9070         doc/posix-functions/bcmp.texi.
9071         * doc/pastposix-functions/bcopy.texi: Renamed from
9072         doc/posix-functions/bcopy.texi.
9073         * doc/pastposix-functions/bsd_signal.texi: Renamed from
9074         doc/posix-functions/bsd_signal.texi.
9075         * doc/pastposix-functions/bzero.texi: Renamed from
9076         doc/posix-functions/bzero.texi.
9077         * doc/pastposix-functions/ecvt.texi: Renamed from
9078         doc/posix-functions/ecvt.texi.
9079         * doc/pastposix-functions/fcvt.texi: Renamed from
9080         doc/posix-functions/fcvt.texi.
9081         * doc/pastposix-functions/ftime.texi: Renamed from
9082         doc/posix-functions/ftime.texi.
9083         * doc/pastposix-functions/gcvt.texi: Renamed from
9084         doc/posix-functions/gcvt.texi.
9085         * doc/pastposix-functions/getcontext.texi: Renamed from
9086         doc/posix-functions/getcontext.texi.
9087         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
9088         doc/posix-functions/gethostbyaddr.texi.
9089         * doc/pastposix-functions/gethostbyname.texi: Renamed from
9090         doc/posix-functions/gethostbyname.texi.
9091         * doc/pastposix-functions/getwd.texi: Renamed from
9092         doc/posix-functions/getwd.texi.
9093         * doc/pastposix-functions/h_errno.texi: Renamed from
9094         doc/posix-functions/h_errno.texi.
9095         * doc/pastposix-functions/index.texi: Renamed from
9096         doc/posix-functions/index.texi.
9097         * doc/pastposix-functions/makecontext.texi: Renamed from
9098         doc/posix-functions/makecontext.texi.
9099         * doc/pastposix-functions/mktemp.texi: Renamed from
9100         doc/posix-functions/mktemp.texi.
9101         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
9102         doc/posix-functions/pthread_attr_getstackaddr.texi.
9103         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
9104         doc/posix-functions/pthread_attr_setstackaddr.texi.
9105         * doc/pastposix-functions/rindex.texi: Renamed from
9106         doc/posix-functions/rindex.texi.
9107         * doc/pastposix-functions/scalb.texi: Renamed from
9108         doc/posix-functions/scalb.texi.
9109         * doc/pastposix-functions/setcontext.texi: Renamed from
9110         doc/posix-functions/setcontext.texi.
9111         * doc/pastposix-functions/swapcontext.texi: Renamed from
9112         doc/posix-functions/swapcontext.texi.
9113         * doc/pastposix-functions/ualarm.texi: Renamed from
9114         doc/posix-functions/ualarm.texi.
9115         * doc/pastposix-functions/usleep.texi: Renamed from
9116         doc/posix-functions/usleep.texi.
9117         * doc/pastposix-functions/vfork.texi: Renamed from
9118         doc/posix-functions/vfork.texi.
9119         * doc/pastposix-functions/wcswcs.texi: Renamed from
9120         doc/posix-functions/wcswcs.texi.
9121         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
9122         (Function Substitutes): Update.
9123
9124 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9125
9126         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
9127         m4/strerror.m4.
9128
9129 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9130             Bruno Haible  <bruno@clisp.org>
9131
9132         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
9133
9134 2008-12-13  Bruno Haible  <bruno@clisp.org>
9135
9136         * modules/strtoull (Depends-on): Remove unistd.
9137
9138 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9139
9140         * modules/strtoull (Depends-on): Add stdlib.
9141
9142 2008-12-11  Simon Josefsson  <simon@josefsson.org>
9143
9144         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
9145
9146 2008-12-10  Jim Meyering  <meyering@redhat.com>
9147
9148         gl_ASSERT: don't say assertions are disabled when they're not
9149         * m4/assert.m4 (gl_ASSERT): Do not make configure report
9150         "checking whether to enable assertions... no", when they are in
9151         fact enabled.  This is solely a bug in the output of configure.
9152         In spite of saying "no", NDEBUG was not defined in that case.
9153         Also, as noted by Eric Blake, leave assertions enabled upon
9154         --enable-assert=INVALID.
9155
9156 2008-12-10  Bruno Haible  <bruno@clisp.org>
9157
9158         Change MODULES.html to refer to POSIX:2008 where possible.
9159         * MODULES.html.sh (POSIX2008_URL): New variable.
9160         (posix_headers): Remove sys/timeb, ucontext.
9161         (posix2001_headers): New variable.
9162         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
9163         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
9164         index, makecontext, mktemp, pthread_attr_getstackaddr,
9165         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
9166         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
9167         (posix2001_functions): New variable.
9168         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
9169         otherwise.
9170
9171 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9172
9173         add missing include to parse-duration.c
9174         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
9175         * modules/parse-duration (Depends-on): Add xalloc.
9176
9177         fix sed script reading maint.mk
9178         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
9179         (syntax-check-rules): Use it.
9180
9181 2008-12-09  Bruno Haible  <bruno@clisp.org>
9182
9183         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
9184         MacOS X 10.4/PowerPC.
9185         Reported by Simon Josefsson.
9186
9187 2008-12-08  Jim Meyering  <meyering@redhat.com>
9188
9189         work around mingw's lack of some S_IF definitions
9190         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
9191         Reported by Simon Josefsson.
9192
9193 2008-12-08  Bruno Haible  <bruno@clisp.org>
9194
9195         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
9196         applied to variables. Needed on MacOS X 10.4/PowerPC.
9197         Reported by Simon Josefsson.
9198
9199 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
9200         and Eric Blake  <ebb9@byu.net>
9201
9202         assert: honor --enable-assert
9203         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
9204         order to honor --enable-assert, rather than treating it as a
9205         synonym for --disable-assert.
9206
9207 2008-12-08  Jim Meyering  <meyering@redhat.com>
9208
9209         * lib/posixtm.c: Remove now-useless declaration of mktime.
9210
9211         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
9212
9213 2008-12-07  Bruno Haible  <bruno@clisp.org>
9214
9215         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
9216         test_once): Mark functions as static.
9217         * tests/test-tls.c (test_tls): Likewise.
9218
9219 2008-12-07  Bruno Haible  <bruno@clisp.org>
9220
9221         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
9222         iconv_register_autodetect.
9223
9224 2008-12-07  Jim Meyering  <meyering@redhat.com>
9225
9226         posixtm.c: avoid a warning
9227         * lib/posixtm.c (posixtime): Don't initialize tm0.
9228         It's no longer needed to placate gcc4's -Wuninitialized,
9229         and the attempt to placate would elicit a new warning.
9230
9231         unicodeio.c: mark unused parameters
9232         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
9233         (fallback_failure_callback): Likewise.
9234
9235 2008-12-07  Bruno Haible  <bruno@clisp.org>
9236
9237         * gnulib-tool (func_create_testdir): When building the tests
9238         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
9239         Reported by Simon Josefsson.
9240
9241 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9242
9243         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
9244
9245 2008-12-06  Bruno Haible  <bruno@clisp.org>
9246
9247         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
9248         Suggested by Eric Blake.
9249
9250 2008-12-06  Bruno Haible  <bruno@clisp.org>
9251
9252         Fix a c-stack test failure on MacOS X.
9253         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
9254         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
9255         handler for SIGBUS as well.
9256         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
9257         install a signal handler for SIGBUS as well.
9258         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
9259
9260 2008-12-06  Bruno Haible  <bruno@clisp.org>
9261
9262         Advocacy documentation.
9263         * doc/gnulib-intro.texi (Benefits): New section.
9264         * doc/gnulib.texi: Update.
9265
9266 2008-12-06  Bruno Haible  <bruno@clisp.org>
9267
9268         Document the 'manywarnings' module.
9269         * doc/manywarnings.texi: New file.
9270         * doc/gnulib.texi: Include it.
9271
9272 2008-12-05  Eric Blake  <ebb9@byu.net>
9273
9274         tests: silence some gcc warnings
9275         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
9276         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
9277         type mismatches.
9278
9279 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9280             Bruno Haible  <bruno@clisp.org>
9281
9282         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
9283
9284 2008-11-29  Jim Meyering  <meyering@redhat.com>
9285
9286         unicodeio.c: mark unused parameters
9287         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
9288         (fallback_failure_callback): Likewise.
9289
9290         fts: fix a thinko
9291         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
9292         (set_stat_type): Return S_IF*-valued "type" directly.
9293         Prompted by James Youngman's spotting a related bug.
9294         Confirmed by further testing through find.
9295
9296         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
9297         * lib/fts.c (D_TYPE): Define.
9298         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
9299         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
9300         (s_ifmt_shift_bits): New function.
9301         (set_stat_type): New function.
9302         (fts_build): When not calling fts_stat, call set_stat_type
9303         to propagate dirent.d_type info to fts_read caller.
9304         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
9305         fts_statp->st_mode type information may be valid.
9306
9307 2008-11-28  Simon Josefsson  <simon@josefsson.org>
9308
9309         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
9310         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
9311         <sds@gnu.org>.
9312
9313 2008-11-20  Bruno Haible  <bruno@clisp.org>
9314
9315         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
9316         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
9317         INCLUDE_NEXT.
9318         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
9319         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
9320         * modules/math (Makefile.am): Substitute
9321         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
9322         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9323
9324 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
9325             Bruno Haible  <bruno@clisp.org>
9326
9327         * lib/stdint.in.h: Define all type macros so that their expansion is
9328         a single typedef'ed token. Fixes a compilation failure in Boost which
9329         does "using ::int8_t;".
9330
9331 2008-11-18  Simon Josefsson  <simon@josefsson.org>
9332
9333         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
9334         gl_MANYWARN_ALL_GCC.
9335         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
9336         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
9337         * modules/manywarnings: New file.
9338         * MODULES.html.sh: Mention manywarnings module.
9339
9340 2008-11-18  Bruno Haible  <bruno@clisp.org>
9341
9342         * doc/gnulib-tool.texi (Unit tests): New section.
9343
9344 2008-11-18  Simon Josefsson  <simon@josefsson.org>
9345
9346         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
9347         paths like 'lib/po/foo.po'.
9348
9349 2008-11-17  Simon Josefsson  <simon@josefsson.org>
9350
9351         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
9352         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
9353
9354 2008-11-17  Simon Josefsson  <simon@josefsson.org>
9355
9356         * m4/warnings.m4: Use CPPFLAGS to really check whether the
9357         parameter works.
9358
9359 2008-11-17  Simon Josefsson  <simon@josefsson.org>
9360
9361         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
9362
9363 2008-11-17  Bruce Korb  <bkorb@gnu.org>
9364
9365         * modules/parse-duration-tests: New file.
9366         * tests/test-parse-duration.sh: New file.
9367         * tests/test-parse-duration.c: New file.
9368
9369         New module 'parse-duration'.
9370         * lib/parse-duration.h: New file.
9371         * lib/parse-duration.c: New file.
9372         * modules/parse-duration: New file.
9373
9374 2008-11-17  Bruno Haible  <bruno@clisp.org>
9375
9376         * tests/test-select-out.sh: Comment out the first pipe test.
9377         Reported by Simon Josefsson.
9378
9379 2008-11-17  Bruno Haible  <bruno@clisp.org>
9380
9381         * modules/getaddrinfo (Depends-on): Add servent, hostent.
9382         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
9383         gl_HOSTENT.
9384
9385 2008-11-17  Bruno Haible  <bruno@clisp.org>
9386
9387         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
9388         -lnetwork and -lnet. Needed for Haiku and BeOS.
9389
9390 2008-11-16  Bruno Haible  <bruno@clisp.org>
9391
9392         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
9393
9394 2008-11-16  Bruno Haible  <bruno@clisp.org>
9395
9396         Avoid test failure on Haiku.
9397         * tests/test-fsync.c: Include <errno.h>.
9398         (main): Don't require that fsync (0) fails.
9399
9400 2008-11-15  Bruno Haible  <bruno@clisp.org>
9401
9402         New module 'hostent'.
9403         * modules/hostent: New file.
9404         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
9405
9406 2008-11-15  Bruno Haible  <bruno@clisp.org>
9407
9408         New module 'servent'.
9409         * modules/servent: New file.
9410         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
9411
9412 2008-11-15  Bruno Haible  <bruno@clisp.org>
9413
9414         Avoid generating same test program with two different rules.
9415         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
9416         test-frexp to test-frexp-nolibm.
9417         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
9418         test-frexpl to test-frexpl-nolibm.
9419
9420 2008-11-15  Bruno Haible  <bruno@clisp.org>
9421
9422         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
9423         $(FREXPL_LIBM).
9424
9425 2008-11-15  Bruno Haible  <bruno@clisp.org>
9426
9427         * lib/netdb.in.h: Activate the definitions also when the system's
9428         <netdb.h> has 'struct addrinfo'.
9429         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
9430         EAI_OVERFLOW or AI_NUMERICSERV.
9431         * doc/posix-headers/netdb.texi: Document the problem.
9432
9433 2008-11-15  Bruno Haible  <bruno@clisp.org>
9434
9435         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
9436
9437         Make the 'sched' module work on platforms where <sched.h> exists but
9438         is incomplete (such as Haiku).
9439         * lib/sched.in.h; Include the system's <sched.h> if it exists.
9440         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
9441         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
9442         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
9443         HAVE_STRUCT_SCHED_PARAM.
9444         * modules/sched (Depends-on): Add include_next.
9445         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
9446         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
9447         * doc/posix-headers/sched.texi: Document the issue.
9448
9449 2008-11-13  Jim Meyering  <meyering@redhat.com>
9450
9451         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
9452         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
9453         test would fail due to the difference in the Report bugs to ...
9454         line.  The expected address is empty, "<>", while the actual
9455         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
9456
9457 2008-11-12  Bruno Haible  <bruno@clisp.org>
9458
9459         lstat: don't compile lstat.c on systems lacking lstat
9460         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
9461         which don't have lstat; this is handled by lib/sys_stat.in.h already.
9462         Reported by Daniel P. Berrange via Jim Meyering.
9463
9464 2008-11-12  Jim Meyering  <meyering@redhat.com>
9465
9466         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
9467
9468 2008-11-12  Simon Josefsson  <simon@josefsson.org>
9469
9470         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
9471         instead.
9472
9473 2008-11-12  Bruno Haible  <bruno@clisp.org>
9474
9475         * lib/unicodeio.c: Include unistr.h.
9476         (utf8_wctomb): Remove function.
9477         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
9478
9479 2008-11-12  Simon Josefsson  <simon@josefsson.org>
9480
9481         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
9482         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
9483         <bruno@clisp.org>.
9484         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
9485
9486 2008-11-12  Simon Josefsson  <simon@josefsson.org>
9487
9488         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
9489         * doc/gnulib.texi: Add section for warnings.
9490
9491 2008-11-11  Bruno Haible  <bruno@clisp.org>
9492
9493         * lib/sockets.h: Add a comment.
9494
9495 2008-11-11  Karl Berry  <karl@gnu.org>
9496
9497         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
9498
9499 2008-11-11  Eric Blake  <ebb9@byu.net>
9500
9501         fdl.texi: avoid git symlinks
9502         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
9503
9504 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
9505
9506         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
9507
9508 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
9509
9510         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
9511         (gl_WARN_ADD): Substitute $2 if literal.
9512
9513 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
9514
9515         * m4/warning.m4: Remove.
9516
9517 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
9518
9519         * m4/warnings.m4: Almost complete rewrite. :-)
9520
9521 2008-11-10  Simon Josefsson  <simon@josefsson.org>
9522
9523         * modules/warnings: New module.
9524         * m4/warnings.m4: New file.
9525         * MODULES.html.sh: Mention warnings module.
9526         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
9527         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9528
9529 2008-11-10  Eric Blake  <ebb9@byu.net>
9530
9531         fdl.texi: make a symlink to the latest version
9532         * doc/standards.texi: Revert today's earlier change.
9533         * doc/fdl-1.2.texi: Rename from old fdl.texi...
9534         * doc/fdl.texi: ...and replace this with a symlink to the newer
9535         fdl-1.3.texi.
9536
9537 2008-11-10  Bruno Haible  <bruno@clisp.org>
9538
9539         * tests/test-select-fd.c (main): Accept the result file name as fourth
9540         argument.
9541         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
9542         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
9543
9544 2008-11-10  Bruno Haible  <bruno@clisp.org>
9545
9546         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
9547         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
9548         as autoconf-substituted macros.
9549         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
9550         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
9551         gl_NETDB_H_DEFAULTS. Set these variables.
9552         * modules/netdb (Makefile.am): Substitute these variables.
9553
9554 2008-11-10  Eric Blake  <ebb9@byu.net>
9555
9556         standards.texi: include correct file for FDL 1.3
9557         * doc/standards.texi (GNU Free Documentation License): Change
9558         include file to pull in FDL 1.3, not 1.2.
9559
9560         fdl.texi: revert accidental change to license
9561         * doc/fdl.texi: This is FDL 1.2, not 1.3.
9562
9563 2008-11-10  Bruno Haible  <bruno@clisp.org>
9564
9565         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
9566         cross-compiling guesses also when the native compile gives no result.
9567
9568 2008-11-10  Bruno Haible  <bruno@clisp.org>
9569
9570         * lib/spawni.c (__spawni): Force variable into the stack.
9571
9572 2008-11-10  Bruno Haible  <bruno@clisp.org>
9573
9574         Add support for Haiku.
9575         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
9576         glibc and BeOS, but also on Haiku.
9577         * lib/fpurge.c (fpurge): Likewise.
9578         * lib/freadable.c (freadable): Likewise.
9579         * lib/freadahead.c (freadahead): Likewise.
9580         * lib/freading.c (freading): Likewise.
9581         * lib/freadptr.c (freadptr): Likewise.
9582         * lib/freadseek.c (freadptrinc): Likewise.
9583         * lib/fseeko.c (rpl_fseeko): Likewise.
9584         * lib/fseterr.c (fseterr): Likewise.
9585         * lib/fwritable.c (fwritable): Likewise.
9586         * lib/fwriting.c (fwriting): Likewise.
9587         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
9588
9589 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
9590
9591         * lib/config.charset: Treat Haiku like BeOS.
9592
9593 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
9594
9595         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
9596         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
9597
9598 2008-11-08  Bruno Haible  <bruno@clisp.org>
9599
9600         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
9601         AC_CACHE_CHECK.
9602
9603 2008-11-08  Bruno Haible  <bruno@clisp.org>
9604
9605         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
9606
9607 2008-11-08  Bruno Haible  <bruno@clisp.org>
9608
9609         * tests/test-select-fd.c: New file.
9610         * tests/test-select-in.sh: New file.
9611         * tests/test-select-out.sh: New file.
9612         * tests/test-select-stdin.c: New file.
9613         * modules/select-tests (Files): Add the new files.
9614         (Depends-on): Add gettimeofday.
9615         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
9616         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
9617         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
9618
9619 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
9620             Bruno Haible  <bruno@clisp.org>
9621
9622         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
9623
9624 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
9625
9626         * build-aux/pmccabe2html: Added support for C++ source files.
9627
9628 2008-11-05  Ben Pfaff  <blp@gnu.org>
9629
9630         Fix lib/close.c build on Windows.
9631         * modules/close (Files): Add lib/w32sock.h.
9632
9633 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
9634
9635         Accept Bison's NEWS format.
9636         * build-aux/announce-gen (print_news_deltas): Tweak
9637         $re_prefix.
9638
9639 2008-11-04  Bruno Haible  <bruno@clisp.org>
9640
9641         * modules/random_r (Maintainer): Add glibc.
9642
9643 2008-11-04  Simon Josefsson  <simon@josefsson.org>
9644
9645         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
9646         by karl@freefriends.org (Karl Berry).
9647         * doc/alloca.texi: Likewise.
9648         * doc/c-ctype.texi: Likewise.
9649         * doc/c-strcase.texi: Likewise.
9650         * doc/c-strcaseeq.texi: Likewise.
9651         * doc/c-strcasestr.texi: Likewise.
9652         * doc/c-strstr.texi: Likewise.
9653         * doc/c-strtod.texi: Likewise.
9654         * doc/c-strtold.texi: Likewise.
9655         * doc/ctime.texi: Likewise.
9656         * doc/error.texi: Likewise.
9657         * doc/fdl.texi: Likewise.
9658         * doc/gcd.texi: Likewise.
9659         * doc/getdate.texi: Likewise.
9660         * doc/gnulib-intro.texi: Likewise.
9661         * doc/gnulib-tool.texi: Likewise.
9662         * doc/gnulib.texi: Likewise.
9663         * doc/inet_ntoa.texi: Likewise.
9664         * doc/maintain.texi: Likewise.
9665         * doc/make-stds.texi: Likewise.
9666         * doc/quote.texi: Likewise.
9667         * doc/regexprops-generic.texi: Likewise.
9668         * doc/standards.texi: Likewise.
9669         * doc/verify.texi: Likewise.
9670         * doc/visibility.texi: Likewise.
9671         * doc/gnulib.texi (GNU Free Documentation License): Include
9672         fdl-1.3.texi instead of fdl.texi.
9673
9674 2008-11-04  Simon Josefsson  <simon@josefsson.org>
9675
9676         * doc/fdl-1.3.texi: New file, from
9677         <http://www.gnu.org/licenses/fdl-1.3.texi>.
9678         * modules/fdl-1.3: Add.
9679         * MODULES.html.sh: Add fdl-1.3.
9680
9681 2008-11-03  Bruno Haible  <bruno@clisp.org>
9682
9683         Make determination of absolute name of header file work with AIX xlc.
9684         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
9685         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
9686         preprocessing.
9687         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
9688         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
9689
9690 2008-11-03  Simon Josefsson  <simon@josefsson.org>
9691
9692         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
9693         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
9694         <ludo@gnu.org>.
9695
9696 2008-11-02  Bruno Haible  <bruno@clisp.org>
9697
9698         Mark 'strpbrk' obsolete.
9699         * modules/strpbrk (Status, Notice): New sections.
9700         * modules/strtok_r (Depends-on): Add strpbrk.
9701
9702 2008-11-02  Bruno Haible  <bruno@clisp.org>
9703
9704         Mark 'strdup' obsolete.
9705         * modules/strdup (Status, Notice): New sections.
9706         * modules/findprog (Depends-on): Add strdup.
9707         * modules/getaddrinfo (Depends-on): Likewise.
9708         * modules/localename (Depends-on): Likewise.
9709         * modules/relocatable-lib (Depends-on): Likewise.
9710         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
9711         * modules/relocatable-prog (Depends-on): Likewise.
9712         * modules/trim (Depends-on): Likewise.
9713         * modules/unictype/gen-ctype (Depends-on): Likewise.
9714         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
9715
9716 2008-11-02  Bruno Haible  <bruno@clisp.org>
9717
9718         Mark 'strcspn' obsolete.
9719         * modules/strcspn (Status, Notice): New sections.
9720
9721 2008-11-02  Bruno Haible  <bruno@clisp.org>
9722
9723         Mark 'rmdir' obsolete.
9724         * modules/rmdir (Status, Notice): New sections.
9725         * modules/clean-temp (Depends-on): Add rmdir.
9726         * modules/openat (Depends-on): Likewise.
9727
9728 2008-11-02  Bruno Haible  <bruno@clisp.org>
9729
9730         Mark 'raise' obsolete.
9731         * modules/raise (Status, Notice): New sections.
9732         (Include): Specify <signal.h>.
9733         * modules/stdio (Depends-on): Add raise.
9734         * modules/write (Depends-on): Likewise.
9735
9736 2008-11-02  Bruno Haible  <bruno@clisp.org>
9737
9738         Mark 'memset' obsolete.
9739         * modules/memset (Status, Notice): New sections.
9740
9741 2008-11-02  Bruno Haible  <bruno@clisp.org>
9742
9743         Mark 'memmove' obsolete.
9744         * modules/memmove (Status, Notice): New sections.
9745         * modules/argp (Depends-on): Add memmove.
9746         * modules/argz (Depends-on): Likewise.
9747         * modules/canonicalize (Depends-on): Likewise.
9748         * modules/canonicalize-lgpl (Depends-on): Likewise.
9749         * modules/fts (Depends-on): Likewise.
9750         * modules/getcwd (Depends-on): Likewise.
9751         * modules/human (Depends-on): Likewise.
9752         * modules/regex (Depends-on): Likewise.
9753         * modules/striconveh (Depends-on): Likewise.
9754         * modules/trim (Depends-on): Likewise.
9755         * modules/unistr/u8-move (Depends-on): Likewise.
9756         * modules/unistr/u16-move (Depends-on): Likewise.
9757         * modules/unistr/u32-move (Depends-on): Likewise.
9758
9759 2008-11-02  Bruno Haible  <bruno@clisp.org>
9760
9761         Mark 'memcpy' obsolete.
9762         * modules/memcpy (Status, Notice): New sections.
9763
9764 2008-11-02  Bruno Haible  <bruno@clisp.org>
9765
9766         Mark 'memcmp' obsolete.
9767         * modules/memcmp (Status, Notice): New sections.
9768         * modules/argmatch (Depends-on): Add memchr.
9769         * modules/backupfile (Depends-on): Likewise.
9770         * modules/c-strcasestr (Depends-on): Likewise.
9771         * modules/crypto/des (Depends-on): Likewise.
9772         * modules/csharpcomp (Depends-on): Likewise.
9773         * modules/fnmatch (Depends-on): Likewise.
9774         * modules/git-merge-changelog (Depends-on): Likewise.
9775         * modules/isnand (Depends-on): Likewise.
9776         * modules/isnand-nolibm (Depends-on): Likewise.
9777         * modules/isnanf (Depends-on): Likewise.
9778         * modules/isnanf-nolibm (Depends-on): Likewise.
9779         * modules/isnanl (Depends-on): Likewise.
9780         * modules/isnanl-nolibm (Depends-on): Likewise.
9781         * modules/mbchar (Depends-on): Likewise.
9782         * modules/memcoll (Depends-on): Likewise.
9783         * modules/quotearg (Depends-on): Likewise.
9784         * modules/regex (Depends-on): Likewise.
9785         * modules/relocatable-prog (Depends-on): Likewise.
9786         * modules/same (Depends-on): Likewise.
9787         * modules/signbit (Depends-on): Likewise.
9788         * modules/strcasestr-simple (Depends-on): Likewise.
9789         * modules/unictype/gen-ctype (Depends-on): Likewise.
9790         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
9791         * modules/uniname/uniname (Depends-on): Likewise.
9792         * modules/unistr/u8-cmp (Depends-on): Likewise.
9793
9794 2008-11-02  Bruno Haible  <bruno@clisp.org>
9795
9796         Mark 'memchr' obsolete.
9797         * modules/memchr (Status, Notice): New sections.
9798         * modules/argp (Depends-on): Add memchr.
9799         * modules/base64 (Depends-on): Likewise.
9800         * modules/c-strcasestr (Depends-on): Likewise.
9801         * modules/chdir-long (Depends-on): Likewise.
9802         * modules/fnmatch (Depends-on): Likewise.
9803         * modules/getsubopt (Depends-on): Likewise.
9804         * modules/git-merge-changelog (Depends-on): Likewise.
9805         * modules/glob (Depends-on): Likewise.
9806         * modules/strcasestr-simple (Depends-on): Likewise.
9807         * modules/strnlen (Depends-on): Likewise.
9808
9809 2008-11-02  Bruno Haible  <bruno@clisp.org>
9810
9811         Mark 'atexit' obsolete.
9812         * modules/atexit (Status, Notice): New sections.
9813         * modules/chdir-long (Depends-on): Add atexit.
9814         * modules/wait-process (Depends-on): Likewise.
9815
9816 2008-11-02  Bruno Haible  <bruno@clisp.org>
9817
9818         * gnulib-tool: New option --with-obsolete.
9819         (func_usage): Document it.
9820         (func_modules_transitive_closure): Drop obsolete dependencies if
9821         incobsolete is not true.
9822         (func_import): Read and save the incobsolete variable to the cache.
9823
9824 2008-11-02  Bruno Haible  <bruno@clisp.org>
9825
9826         * modules/TEMPLATE-EXTENDED: New field 'Status'.
9827         * gnulib-tool: New option --extract-status.
9828         (func_usage): Document it.
9829         (sed_extract_prog): Recognize it.
9830         (func_get_status): New function.
9831
9832 2008-10-30  Simon Josefsson  <simon@josefsson.org>
9833
9834         * modules/sockets (License): Change from LGPL to LGPLv2+.
9835
9836 2008-10-28  Simon Josefsson  <simon@josefsson.org>
9837
9838         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
9839
9840 2008-10-28  Simon Josefsson  <simon@josefsson.org>
9841
9842         * MODULES.html.sh (Support for systems lacking POSIX:2001):
9843         Mention times and sys_times.
9844         * modules/sys_times, modules/sys_times-tests: New modules.
9845         * modules/times, modules/times-tests: Likewise
9846         * m4/sys_times_h.m4: New file.
9847         * lib/sys_times.in.h: Likewise
9848         * lib/times.c: Likewise.
9849         * tests/test-sys_times.c: Likewise.
9850         * tests/test-times.c: Likewise.
9851         * doc/posix-headers/sys_times.texi: Update.
9852         * doc/posix-functions/times.texi: Update.
9853
9854 2008-10-28  Jim Meyering  <meyering@redhat.com>
9855
9856         * modules/tempname (Depends-on): Add lstat.
9857
9858         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
9859
9860 2008-10-28  Simon Josefsson  <simon@josefsson.org>
9861
9862         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
9863         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
9864         using idiom used elsewhere in gnulib.
9865
9866 2008-10-27  Jim Meyering  <meyering@redhat.com>
9867
9868         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
9869
9870 2008-10-27  Simon Josefsson  <simon@josefsson.org>
9871
9872         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
9873         TESTS_ENVIRONMENT, for shell scripts that needs to call built
9874         programs.
9875         * tests/test-argp-2.sh: Use $EXEEXT when needed.
9876
9877 2008-10-27  Simon Josefsson  <simon@josefsson.org>
9878
9879         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
9880
9881 2008-10-27  Bruno Haible  <bruno@clisp.org>
9882
9883         * tests/test-lstat.c: Include <stdio.h>.
9884
9885 2008-10-27  Simon Josefsson  <simon@josefsson.org>
9886
9887         * modules/lstat-tests: New module.
9888         * tests/test-lstat.c: New file.
9889
9890 2008-10-26  Jim Meyering  <meyering@redhat.com>
9891
9892         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
9893
9894 2008-10-26  Simon Josefsson  <simon@josefsson.org>
9895             Bruno Haible  <bruno@clisp.org>
9896
9897         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
9898         * modules/configmake (Include): Add a note that the include must come
9899         after all system headers.
9900         * lib/javaversion.c: Include configmake.h after all other includes.
9901
9902 2008-10-26  Bruno Haible  <bruno@clisp.org>
9903
9904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
9905         HAVE_STRUCT_RANDOM_DATA to 1.
9906         (gl_STDLIB_H): Simplify.
9907
9908 2008-10-26  Simon Josefsson  <simon@josefsson.org>
9909
9910         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
9911         substitute HAVE_STRUCT_RANDOM_DATA.
9912         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
9913         random_data.
9914         * modules/stdlib (Makefile.am): Substitute
9915         HAVE_STRUCT_RANDOM_DATA.
9916
9917 2008-10-26  Simon Josefsson  <simon@josefsson.org>
9918
9919         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
9920         * doc/gnulib-intro.texi (Copyright): Likewise.
9921
9922 2008-10-26  Simon Josefsson  <simon@josefsson.org>
9923
9924         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
9925         findings.
9926
9927 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
9928             Bruno Haible  <bruno@clisp.org>
9929
9930         * lib/unistd.in.h: Include <winsock2.h>.
9931         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
9932         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
9933         Provide dummy declarations.
9934         (gethostname): Override.
9935         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
9936         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
9937         gl_PREREQ_SYS_H_WINSOCK2.
9938         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
9939         * doc/posix-functions/gethostname.texi: More details.
9940
9941 2008-10-25  Bruno Haible  <bruno@clisp.org>
9942
9943         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
9944         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
9945         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
9946
9947         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
9948         here ...
9949         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
9950         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
9951         gl_UNISTD_H_DEFAULTS.
9952
9953 2008-10-25  Eric Blake  <ebb9@byu.net>
9954
9955         signbit: avoid spurious compiler failure
9956         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
9957         declarations inside function.
9958
9959 2008-10-24  Simon Josefsson  <simon@josefsson.org>
9960             Bruno Haible  <bruno@clisp.org>
9961
9962         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
9963         * modules/random_r (Depends-on): Add stdint.
9964
9965 2008-10-24  Bruno Haible  <bruno@clisp.org>
9966
9967         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
9968         Eggert.
9969         * modules/strerror (License): Likewise.
9970
9971 2008-10-24  Jim Meyering  <meyering@redhat.com>
9972
9973         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
9974         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
9975
9976 2008-10-24  Eric Blake  <ebb9@byu.net>
9977
9978         getgroups: fix compilation when getgroups is available
9979         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
9980         but with <config.h> override of getgroups disabled.
9981
9982 2008-10-24  Simon Josefsson  <simon@josefsson.org>
9983
9984         * doc/gnulib.texi (Header files): Add note about C++ problems.
9985         Explained by Bruno Haible <bruno@clisp.org>.
9986
9987 2008-10-23  Bruno Haible  <bruno@clisp.org>
9988
9989         Define a dummy SA_NODEFER macro on Interix.
9990         * lib/signal.in.h (SA_NODEFER): Define fallback.
9991         Reported by Aleksey Cheusov <cheusov@tut.by> via
9992         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
9993
9994 2008-10-23  Bruno Haible  <bruno@clisp.org>
9995
9996         * modules/freadahead (License): Change to LGPLv2+.
9997         Suggested by Simon Josefsson.
9998
9999 2008-10-23  Jim Meyering  <meyering@redhat.com>
10000
10001         random_r: new module
10002         * modules/random_r: New file.
10003         * m4/random_r.m4: New file.
10004         * lib/random_r.c: New file, from glibc.
10005         * modules/random_r-tests: New file.
10006         * tests/test-random_r.c: New file.
10007         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
10008          Declare.
10009         (RAND_MAX): Define.
10010         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
10011         * modules/stdlib: Substitute them, too.
10012         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
10013         * doc/glibc-functions/initstate_r.texi: Mention the new module.
10014         * doc/glibc-functions/random_r.texi: Likewise.
10015         * doc/glibc-functions/setstate_r.texi: Likewise.
10016         * doc/glibc-functions/srandom_r.texi: Likewise.
10017         * config/srclist.txt: Mention it.
10018
10019 2008-10-23  David Lutterkort  <lutter@redhat.com>
10020
10021         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
10022         link requirement
10023
10024 2008-10-23  Jim Meyering  <meyering@redhat.com>
10025
10026         selinux-h: mark parameters of stub functions as intentionally unused
10027         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
10028         * lib/se-context.in.h: Likewise.
10029
10030 2008-10-22  Simon Josefsson  <simon@josefsson.org>
10031
10032         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
10033
10034 2008-10-22  Simon Josefsson  <simon@josefsson.org>
10035
10036         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
10037
10038 2008-10-22  Eric Blake  <ebb9@byu.net>
10039
10040         glthread/thread: avoid compiler warning
10041         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
10042         Add unreachable abort to silence compiler.
10043
10044 2008-10-22  Eric Blake  <ebb9@byu.net>
10045
10046         netdb: also supply struct addrinfo for cygwin 1.5.x
10047         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
10048         older cygwin.
10049         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
10050         cygwin.
10051         * doc/posix-headers/netdb.texi (netdb.h): Document this.
10052
10053 2008-10-22  Bruno Haible  <bruno@clisp.org>
10054
10055         * users.txt: Update entry about pspp.
10056
10057 2008-10-21  Bruno Haible  <bruno@clisp.org>
10058
10059         Simplification.
10060         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
10061         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
10062
10063         Simplification.
10064         * lib/ioctl.c (ioctl): Don't undefine.
10065         * lib/socket.c (socket): Don't undefine.
10066
10067         Remove unused module indicator macros.
10068         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
10069         GNULIB_$1 as a C macro.
10070
10071         * doc/posix-functions/close.texi: Undo last change.
10072         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
10073         Windows platforms.
10074
10075 2008-10-21  Bruno Haible  <bruno@clisp.org>
10076
10077         Add gethostname() declaration to <unistd.h>.
10078         * lib/unistd.in.h (gethostname): New declaration.
10079         * lib/gethostname.c: Include <unistd.h>.
10080         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
10081         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
10082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
10083         and HAVE_GETHOSTNAME.
10084         * modules/gethostname (Depends-on): Add unistd.
10085         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10086         (Include): Specify <unistd.h>.
10087         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
10088         HAVE_GETHOSTNAME.
10089         * tests/test-gethostname.c: Include <unistd.h> first.
10090
10091 2008-10-21  Bruno Haible  <bruno@clisp.org>
10092
10093         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
10094         * modules/select-tests (Depends-on): Likewise.
10095         Reported by Simon Josefsson.
10096
10097 2008-10-21  Simon Josefsson  <simon@josefsson.org>
10098
10099         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
10100         * lib/accept.c: New file, based on winsock.c.
10101         * lib/bind.c: New file, based on winsock.c.
10102         * lib/connect.c: New file, based on winsock.c.
10103         * lib/getpeername.c: New file, based on winsock.c.
10104         * lib/getsockname.c: New file, based on winsock.c.
10105         * lib/getsockopt.c: New file, based on winsock.c.
10106         * lib/ioctl.c: New file, based on winsock.c.
10107         * lib/listen.c: New file, based on winsock.c.
10108         * lib/recv.c: New file, based on winsock.c.
10109         * lib/recvfrom.c: New file, based on winsock.c.
10110         * lib/send.c: New file, based on winsock.c.
10111         * lib/sendto.c: New file, based on winsock.c.
10112         * lib/setsockopt.c: New file, based on winsock.c.
10113         * lib/shutdown.c: New file, based on winsock.c.
10114         * lib/socket.c: New file, based on winsock.c.
10115         * lib/w32sock.h: New file, based on winsock.c.
10116         * lib/winsock.c: Remove file.
10117         * modules/accept: Likewise.
10118         * modules/bind: Likewise.
10119         * modules/connect: Likewise.
10120         * modules/getpeername: Likewise.
10121         * modules/getsockname: Likewise.
10122         * modules/getsockopt: Likewise.
10123         * modules/ioctl: Likewise.
10124         * modules/listen: Likewise.
10125         * modules/recv: Likewise.
10126         * modules/recvfrom: Likewise.
10127         * modules/send: Likewise.
10128         * modules/sendto: Likewise.
10129         * modules/setsockopt: Likewise.
10130         * modules/shutdown: Likewise.
10131         * modules/socket: Use socket.c instead of winsock.c.
10132         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
10133         * doc/posix-functions/accept.texi: Doc fix.
10134         * doc/posix-functions/bind.texi: Doc fix.
10135         * doc/posix-functions/close.texi: Doc fix.
10136         * doc/posix-functions/connect.texi: Doc fix.
10137         * doc/posix-functions/getpeername.texi: Doc fix.
10138         * doc/posix-functions/getsockname.texi: Doc fix.
10139         * doc/posix-functions/getsockopt.texi: Doc fix.
10140         * doc/posix-functions/ioctl.texi: Doc fix.
10141         * doc/posix-functions/listen.texi: Doc fix.
10142         * doc/posix-functions/recv.texi: Doc fix.
10143         * doc/posix-functions/recvfrom.texi: Doc fix.
10144         * doc/posix-functions/send.texi: Doc fix.
10145         * doc/posix-functions/sendto.texi: Doc fix.
10146         * doc/posix-functions/setsockopt.texi: Doc fix.
10147         * doc/posix-functions/shutdown.texi: Doc fix.
10148         * doc/posix-functions/socket.texi: Doc fix.
10149
10150 2008-10-20  Bruno Haible  <bruno@clisp.org>
10151
10152         Take into account the role of SIGABRT_COMPAT on Windows 2008.
10153         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
10154         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
10155         as an alias for SIGABRT.
10156         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
10157         (sigaction): Map it to SIGABRT.
10158         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
10159
10160 2008-10-20  Bruno Haible  <bruno@clisp.org>
10161
10162         * lib/fts.c: Don't include lstat.h.
10163         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
10164
10165         Move the lstat() declaration to <sys/stat.h>.
10166         * lib/lstat.h: Remove file.
10167         * lib/sys_stat.in.h: Add special invocation convention.
10168         (lstat): New declaration.
10169         * lib/lstat.c (orig_lstat): New function.
10170         (rpl_lstat): Use orig_lstat instead of lstat.
10171         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
10172         AC_C_INLINE. Set REPLACE_LSTAT.
10173         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
10174         and REPLACE_LSTAT.
10175         * modules/lstat (Files): Remove lib/lstat.h.
10176         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
10177         (Include): Specify <sys/stat.h> instead of lstat.h.
10178         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
10179         REPLACE_LSTAT.
10180         * NEWS: Mention the change.
10181
10182 2008-10-20  Bruno Haible  <bruno@clisp.org>
10183
10184         * modules/posix_spawn-tests: New file.
10185         * tests/test-posix_spawn3.c: New file.
10186
10187 2008-10-20  Bruno Haible  <bruno@clisp.org>
10188
10189         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
10190         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
10191         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
10192         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
10193         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
10194
10195 2008-10-20  Bruno Haible  <bruno@clisp.org>
10196
10197         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
10198         of posix_spawn on AIX 5.3.
10199
10200 2008-10-20  Bruno Haible  <bruno@clisp.org>
10201
10202         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
10203
10204 2008-10-20  Bruno Haible  <bruno@clisp.org>
10205
10206         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
10207         of AC_LANG_PROGRAM.
10208
10209 2008-10-20  Simon Josefsson  <simon@josefsson.org>
10210
10211         * lib/netdb.in.h: Don't define GNU specific constants until they
10212         are supported or needed.  Reported by Bruno Haible
10213         <bruno@clisp.org>.
10214
10215 2008-10-20  Simon Josefsson  <simon@josefsson.org>
10216
10217         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
10218
10219 2008-10-20  Simon Josefsson  <simon@josefsson.org>
10220
10221         * lib/getaddrinfo.h: Remove file.
10222         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
10223         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
10224         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
10225         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
10226         * modules/netdb: Substitute GNULIB_GETADDRINFO.
10227         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
10228         * tests/test-getaddrinfo.c: Likewise.
10229         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
10230         * NEWS: Mention change.
10231
10232 2008-10-19  Bruno Haible  <bruno@clisp.org>
10233
10234         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
10235
10236 2008-10-19  Bruno Haible  <bruno@clisp.org>
10237
10238         * lib/wait-process.c: Include simply <sys/wait.h>.
10239         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
10240         WIFSTOPPED): Remove fallback definitions.
10241         * modules/wait-process (Depends-on): Add sys_wait.
10242
10243         New module 'sys_wait'.
10244         * modules/sys_wait: New file.
10245         * lib/sys_wait.in.h: New file, partially copied from
10246         lib/wait-process.c.
10247         * m4/sys_wait_h.m4: New file.
10248         * doc/posix-headers/sys_wait.texi: Mention the new module.
10249
10250 2008-10-19  Bruno Haible  <bruno@clisp.org>
10251
10252         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
10253
10254 2008-10-19  Bruno Haible  <bruno@clisp.org>
10255
10256         Assume that waitpid() fills an 'int' status, not a 'union wait'.
10257         * lib/wait-process.c (WAIT_T): Remove type.
10258         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
10259         (wait_subprocess): Update.
10260
10261 2008-10-19  Bruno Haible  <bruno@clisp.org>
10262
10263         New module 'atoll'.
10264         * modules/atoll: New file.
10265         * lib/stdlib.in.h (atoll): New declaration.
10266         * lib/atoll.c: New file, from glibc with modifications.
10267         * m4/atoll.m4: New file.
10268         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
10269         HAVE_ATOLL.
10270         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
10271         * doc/posix-functions/atoll.texi: Mention the new module.
10272
10273 2008-10-19  Bruno Haible  <bruno@clisp.org>
10274
10275         Add strtoull() declaration to <stdlib.h>.
10276         * lib/stdlib.in.h (strtoull): New declaration.
10277         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
10278         Set HAVE_STRTOULL.
10279         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
10280         HAVE_STRTOULL.
10281         * modules/strtoull (Depends-on): Add stdlib.
10282         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10283         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
10284         HAVE_STRTOULL.
10285
10286 2008-10-19  Bruno Haible  <bruno@clisp.org>
10287
10288         Add strtoll() declaration to <stdlib.h>.
10289         * lib/stdlib.in.h (strtoll): New declaration.
10290         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
10291         Set HAVE_STRTOLL.
10292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
10293         HAVE_STRTOLL.
10294         * modules/strtoll (Depends-on): Add stdlib.
10295         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10296         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
10297
10298 2008-10-19  Bruno Haible  <bruno@clisp.org>
10299
10300         * modules/bcopy (Depends-on): Add strings.
10301         (Include): Specify <strings.h>.
10302
10303 2008-10-19  Bruno Haible  <bruno@clisp.org>
10304
10305         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
10306
10307 2008-10-19  Bruno Haible  <bruno@clisp.org>
10308
10309         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
10310         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
10311         mingw.
10312
10313 2008-10-19  Bruno Haible  <bruno@clisp.org>
10314
10315         * lib/atanl.c: Don't include isnanl.h.
10316         * lib/cosl.c: Likewise.
10317         * lib/ldexpl.c: Likewise.
10318         * lib/logl.c: Likewise.
10319         * lib/sinl.c: Likewise.
10320         * lib/sqrtl.c: Likewise.
10321         * lib/tanl.c: Likewise.
10322
10323         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
10324         * lib/isnanf.h: Remove file.
10325         * lib/isnand.h: Remove file.
10326         * lib/isnanl.h: Remove file.
10327         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
10328         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
10329         macros.
10330         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
10331         HAVE_ISNANF, don't define it as a C macro.
10332         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
10333         HAVE_ISNAND, don't define it as a C macro.
10334         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
10335         HAVE_ISNANL, don't define it as a C macro.
10336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
10337         HAVE_ISNAN[FDL].
10338         * modules/isnanf (Files): Remove lib/isnanf.h.
10339         (Depends-on): Add math.
10340         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10341         (Include): Specify <math.h> instead of isnanf.h.
10342         * modules/isnand (Files): Remove lib/isnand.h.
10343         (Depends-on): Add math.
10344         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10345         (Include): Specify <math.h> instead of isnand.h.
10346         * modules/isnanl (Files): Remove lib/isnanl.h.
10347         (Depends-on): Add math.
10348         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10349         (Include): Specify <math.h> instead of isnanl.h.
10350         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
10351         HAVE_ISNAN[FDL].
10352         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
10353         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
10354         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
10355         * NEWS: Mention the change.
10356
10357 2008-10-18  Bruno Haible  <bruno@clisp.org>
10358
10359         Add getusershell(), setusershell(), endusershell() declarations to
10360         <unistd.h>.
10361         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
10362         declarations.
10363         * lib/getusershell.c: Include unistd.h.
10364         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
10365         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
10366         HAVE_GETUSERSHELL.
10367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
10368         and HAVE_GETUSERSHELL.
10369         * modules/getusershell (Depends-on): Add unistd, extensions.
10370         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10371         (Include): Specify <unistd.h>.
10372         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
10373         HAVE_GETUSERSHELL.
10374
10375 2008-10-18  Bruno Haible  <bruno@clisp.org>
10376
10377         Add a getloadavg() declaration to <stdlib.h>.
10378         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
10379         getloadavg declaration.
10380         (getloadavg): New declaration.
10381         * lib/getloadavg.c: Include <stdlib.h> first.
10382         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
10383         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
10384         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
10385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
10386         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
10387         * modules/getloadavg (Depends-on): Add stdlib, extensions.
10388         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10389         (Include): Specify <stdlib.h>.
10390         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
10391         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
10392
10393 2008-10-18  Bruno Haible  <bruno@clisp.org>
10394
10395         * lib/dirchownmod.c: Don't include lchmod.h.
10396
10397         Move the lchmod() declaration to <sys/stat.h>.
10398         * lib/lchmod.h: Remove file.
10399         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
10400         (lchmod): New declaration, moved here from lib/lchown.h.
10401         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
10402         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
10403         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
10404         and HAVE_LCHMOD.
10405         * modules/lchmod (Files): Remove lib/lchmod.h.
10406         (Depends-on): Add sys_stat, extensions.
10407         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
10408         (Include): Specify <sys/stat.h> instead of lchmod.h.
10409         * modules/sys_stat (Depends-on): Add link-warning.
10410         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
10411         definition of GL_LINK_WARNING.
10412         * NEWS: Mention the change.
10413
10414 2008-10-18  Bruno Haible  <bruno@clisp.org>
10415
10416         * lib/fchdir.c: Don't include dirfd.h.
10417         * lib/fts.c: Likewise.
10418         * lib/getcwd.c: Likewise.
10419         * lib/glob.c: Likewise.
10420
10421         Move the dirfd() declaration to <dirent.h>.
10422         * lib/dirfd.h: Remove file.
10423         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
10424         (dirfd): New declaration.
10425         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
10426         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
10427         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
10428         HAVE_DECL_DIRFD.
10429         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
10430         HAVE_DECL_DIRFD.
10431         * modules/dirfd (Files): Remove lib/dirfd.h.
10432         (Depends-on): Add dirent, extensions.
10433         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
10434         (Include): Specify <dirent.h> instead of dirfd.h.
10435         * modules/dirent (Depends-on): Add link-warning.
10436         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
10437         definition of GL_LINK_WARNING.
10438         * NEWS: Mention the change.
10439
10440 2008-10-18  Bruno Haible  <bruno@clisp.org>
10441
10442         Move the euidaccess() declaration to <unistd.h>.
10443         * lib/euidaccess.h: Remove file.
10444         * lib/unistd.in.h (euidaccess): New declaration.
10445         * lib/euidaccess.c: Don't include euidaccess.h.
10446         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
10447         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
10448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
10449         and HAVE_EUIDACCESS.
10450         * modules/euidaccess (Files): Remove lib/euidaccess.h.
10451         (Depends-on): Add unistd.
10452         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10453         (Include): Specify <unistd.h> instead of euidaccess.h.
10454         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
10455         HAVE_EUIDACCESS.
10456         * NEWS: Mention the change.
10457
10458 2008-10-18  Bruno Haible  <bruno@clisp.org>
10459
10460         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
10461
10462         Move the getdomainname() declaration to <unistd.h>.
10463         * lib/getdomainname.h: Remove file.
10464         * lib/unistd.in.h (getdomainname): New declaration.
10465         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
10466         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
10467         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
10468         HAVE_GETDOMAINNAME.
10469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10470         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
10471         * modules/getdomainname (Files): Remove lib/getdomainname.h.
10472         (Depends-on): Add unistd, extensions.
10473         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10474         (Includes): Specify <unistd.h> instead of getdomainname.h.
10475         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
10476         HAVE_GETDOMAINNAME.
10477         * NEWS: Mention the change.
10478
10479 2008-10-18  Bruno Haible  <bruno@clisp.org>
10480
10481         * modules/dirent: New file.
10482         * m4/dirent_h.m4: New file.
10483         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
10484         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
10485         * modules/fchdir (Files): Remove lib/dirent.in.h.
10486         (Depends-on): Add dirent.
10487         (Makefile.am): Move rules to modules/dirent.
10488         * doc/posix-headers/dirent.texi: Mention the new module.
10489
10490 2008-10-18  Bruno Haible  <bruno@clisp.org>
10491
10492         Avoid -Wunused-parameter warnings in public gnulib header files.
10493         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
10494         macro.
10495         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
10496
10497 2008-10-18  Bruno Haible  <bruno@clisp.org>
10498
10499         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
10500         * doc/glibc-functions/error.texi: Mention the module 'error'.
10501         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
10502         * doc/glibc-functions/getdomainname.texi: Mention the module
10503         'getdomainname'.
10504         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
10505         * doc/glibc-functions/getpagesize.texi: Mention the module
10506         'getpagesize'.
10507         * doc/glibc-functions/getusershell.texi: Mention the module
10508         'getusershell'.
10509         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
10510         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
10511         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
10512         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
10513         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
10514         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
10515         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
10516         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
10517         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
10518         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
10519         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
10520         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
10521         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
10522         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
10523
10524 2008-10-17  Bruno Haible  <bruno@clisp.org>
10525
10526         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
10527         HP-UX and IRIX, use -0.0L.
10528         * tests/test-ceill.c (minus_zero): Likewise.
10529         * tests/test-floorl.c (minus_zero): Likewise.
10530         * tests/test-frexpl.c (minus_zero): Likewise.
10531         * tests/test-isnan.c (minus_zerol): Likewise.
10532         * tests/test-isnanl.h (minus_zero): Likewise.
10533         * tests/test-ldexpl.c (minus_zero): Likewise.
10534         * tests/test-roundl.c (minus_zero): Likewise.
10535         * tests/test-signbit.c (minus_zerol): Likewise.
10536         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
10537         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
10538         * tests/test-truncl.c (minus_zero): Likewise.
10539         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
10540         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
10541         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
10542         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
10543
10544 2008-10-17  Bruno Haible  <bruno@clisp.org>
10545
10546         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
10547         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
10548         that it gets activated only for gcc >= 3.0.
10549         * lib/dirent.in.h: Likewise.
10550         * lib/errno.in.h: Likewise.
10551         * lib/fcntl.in.h: Likewise.
10552         * lib/float.in.h: Likewise.
10553         * lib/iconv.in.h: Likewise.
10554         * lib/inttypes.in.h: Likewise.
10555         * lib/locale.in.h: Likewise.
10556         * lib/math.in.h: Likewise.
10557         * lib/netdb.in.h: Likewise.
10558         * lib/netinet_in.in.h: Likewise.
10559         * lib/search.in.h: Likewise.
10560         * lib/signal.in.h: Likewise.
10561         * lib/spawn.in.h: Likewise.
10562         * lib/stdarg.in.h: Likewise.
10563         * lib/stdint.in.h: Likewise.
10564         * lib/stdio.in.h: Likewise.
10565         * lib/stdlib.in.h: Likewise.
10566         * lib/string.in.h: Likewise.
10567         * lib/strings.in.h: Likewise.
10568         * lib/sys_file.in.h: Likewise.
10569         * lib/sys_ioctl.in.h: Likewise.
10570         * lib/sys_select.in.h: Likewise.
10571         * lib/sys_socket.in.h: Likewise.
10572         * lib/sys_stat.in.h: Likewise.
10573         * lib/sys_time.in.h: Likewise.
10574         * lib/sysexits.in.h: Likewise.
10575         * lib/time.in.h: Likewise.
10576         * lib/unistd.in.h: Likewise.
10577         * lib/wchar.in.h: Likewise.
10578         * lib/wctype.in.h: Likewise.
10579         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10580
10581 2008-10-17  Jim Meyering  <meyering@redhat.com>
10582
10583         ignore-value: don't depend on inline module
10584         * modules/ignore-value (Depends-on): Remove 'inline'.
10585         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
10586         Suggestion from Bruno Haible.
10587
10588 2008-10-17  Bruno Haible  <bruno@clisp.org>
10589
10590         New implementation of condition variables for Win32.
10591         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
10592         (gl_linked_waitqueue_t): New type.
10593         (gl_cond_t): Use it.
10594         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
10595         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
10596         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
10597         (glthread_cond_init_func, glthread_cond_wait_func,
10598         glthread_cond_timedwait_func, glthread_cond_signal_func,
10599         glthread_cond_broadcast_func, glthread_cond_destroy_func):
10600         Reimplemented on the basis of gl_linked_waitqueue_t.
10601         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
10602         gl_waitqueue_t.
10603         (gl_rwlock_t): Update.
10604         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
10605
10606 2008-10-17  Simon Josefsson  <simon@josefsson.org>
10607
10608         * modules/recvfrom (Depends-on): Add dependency on getpeername.
10609         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
10610
10611 2008-10-17  Jim Meyering  <meyering@redhat.com>
10612
10613         ignore-value: new module
10614         * modules/ignore-value: New file.
10615         * lib/ignore-value.h: New file.
10616         * MODULES.html.sh (Compiler warning management): New section,
10617         just for this module.  More to come.
10618
10619 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
10620
10621         open-safer.c: avoid 'signed and unsigned in conditional...' warning
10622         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
10623         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
10624
10625 2008-10-16  Jim Meyering  <meyering@redhat.com>
10626
10627         openat-die.c: avoid 'no previous prototype' warning
10628         * lib/openat-die.c: Include "openat.h".
10629         Reported by Reuben Thomas <rrt@sc3d.org>.
10630
10631 2008-10-16  Simon Josefsson  <simon@josefsson.org>
10632
10633         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
10634         * lib/netdb.in.h: Fix typo.
10635         Reported by Bruno Haible  <bruno@clisp.org>
10636
10637         * lib/netdb.in.h: Include sys/socket.h for platforms without
10638         netdb.h, to get structures like hostent on MinGW.
10639         * modules/netdb (Depends-on): Add sys_socket.
10640
10641 2008-10-15  Simon Josefsson  <simon@josefsson.org>
10642
10643         * modules/netdb, modules/netdb-tests: New file.
10644         * m4/netdb_h.m4: New file.
10645         * lib/netdb.in.h: Add, currently just an empty file pending
10646         definitions.
10647         * tests/test-netdb.c: New file.
10648         * doc/posix-headers/netdb.texi: Mention that we replace it if
10649         needed.
10650         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10651         netdb.
10652
10653 2008-10-15  Simon Josefsson  <simon@josefsson.org>
10654
10655         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
10656         with code.
10657
10658 2008-10-13  Bruno Haible  <bruno@clisp.org>
10659
10660         * lib/glthread/cond.c (glthread_cond_wait_func,
10661         glthread_cond_timedwait_func): Add a comment.
10662
10663 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
10664
10665         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
10666         * tests/test-select.c: Likewise,
10667
10668 2008-10-13  Bruno Haible  <bruno@clisp.org>
10669
10670         * lib/glthread/cond.c (glthread_cond_wait_func,
10671         glthread_cond_timedwait_func): Fix variable name.
10672         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
10673
10674 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
10675
10676         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
10677         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
10678         struct sockaddr.sa_len.
10679         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
10680
10681 2008-10-13  Simon Josefsson  <simon@josefsson.org>
10682
10683         * build-aux/pmccabe2html: Add css and css_url parameters.
10684
10685 2008-10-12  Bruno Haible  <bruno@clisp.org>
10686
10687         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
10688         calling aclx_get.
10689         Reported by Rainer Tammer <tammer@tammer.net>.
10690
10691 2008-10-12  Bruno Haible  <bruno@clisp.org>
10692
10693         Use msvcrt aware primitives for creation/termination of Win32 threads.
10694         * lib/glthread/thread.c: Include <process.h>.
10695         (glthread_create_func): Use _beginthreadex instead of CreateThread.
10696         (wrapper_func): Update signature.
10697         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
10698
10699 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
10700             Bruno Haible  <bruno@clisp.org>
10701
10702         Provide a Win32 implementation of the 'cond' module.
10703         * lib/glthread/cond.h [USE_WIN32]: New implementation.
10704         * lib/glthread/cond.c (glthread_cond_init_func,
10705         glthread_cond_wait_func, glthread_cond_timedwait_func,
10706         glthread_cond_signal_func, glthread_cond_broadcast_func,
10707         glthread_cond_destroy_func) [USE_WIN32]: New functions.
10708         * modules/cond (Dependencies): Add gettimeofday.
10709
10710 2008-10-11  Bruno Haible  <bruno@clisp.org>
10711
10712         Make sleep work on older versions of mingw.
10713         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
10714         only whether it exists.
10715         * doc/posix-functions/sleep.texi: Mention the problem with older
10716         versions of mingw.
10717
10718 2008-10-11  Bruno Haible  <bruno@clisp.org>
10719
10720         New module 'shutdown'.
10721         * modules/shutdown: New file.
10722         * lib/sys_socket.in.h (shutdown): New declaration.
10723         * lib/winsock.c (shutdown): New function.
10724         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
10725         GNULIB_SHUTDOWN.
10726         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
10727         * doc/posix-functions/shutdown.texi: Document the new module.
10728
10729 2008-10-11  Jim Meyering  <meyering@redhat.com>
10730
10731         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
10732
10733 2008-10-11  Bruno Haible  <bruno@clisp.org>
10734
10735         New module 'fclose'.
10736         * modules/fclose: New file.
10737         * lib/stdio.in.h (fclose): New declaration.
10738         * lib/fclose.c: New file.
10739         * m4/fclose.m4: New file.
10740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
10741         REPLACE_FCLOSE.
10742         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
10743         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
10744         REPLACE_FCLOSE.
10745         * modules/close (Depends-on): fclose.
10746         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
10747
10748 2008-10-11  Bruno Haible  <bruno@clisp.org>
10749
10750         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
10751         set errno and don't call _close.
10752
10753 2008-10-10  Bruno Haible  <bruno@clisp.org>
10754
10755         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
10756         ACL, not afterwards. Fixes test failure on Cygwin.
10757
10758 2008-10-09  Ben Pfaff  <blp@gnu.org>
10759
10760         * build-aux/announce-gen: Fix gnulib version related part of usage
10761         message.  Die with a useful error message if no tarballs are
10762         found.
10763
10764 2008-10-10  Jim Meyering  <meyering@redhat.com>
10765
10766         bootstrap: use git's --depth=N option only if it's supported
10767         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
10768         recognize the --depth option.  Reported by Pádraig Brady.
10769
10770 2008-10-09  Bruno Haible  <bruno@clisp.org>
10771
10772         New module 'ioctl'.
10773         * modules/ioctl: New file.
10774         * lib/sys_socket.in.h (ioctl): Remove declaration.
10775         * lib/winsock.c: Include <sys/ioctl.h>.
10776         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
10777         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
10778         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
10779         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
10780         * doc/posix-functions/ioctl.texi: Mention the new module.
10781
10782 2008-10-09  Bruno Haible  <bruno@clisp.org>
10783
10784         New module 'sys_ioctl'.
10785         * lib/sys_ioctl.in.h: New file.
10786         * m4/sys_ioctl_h.m4: New file.
10787         * modules/sys_ioctl: New file.
10788         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
10789
10790 2008-10-09  Bruno Haible  <bruno@clisp.org>
10791
10792         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
10793         * lib/winsock.c: Include <stdarg.h>.
10794         (rpl_ioctl): Change to second argument 'int' and then varargs.
10795
10796 2008-10-09  Bruno Haible  <bruno@clisp.org>
10797
10798         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
10799         when the sys_socket module is present and the system has <winsock2.h>.
10800
10801 2008-10-09  Bruno Haible  <bruno@clisp.org>
10802
10803         * doc/posix-functions/close.texi: Mention module 'close' instead of
10804         module 'sys_socket'.
10805
10806 2008-10-09  Bruno Haible  <bruno@clisp.org>
10807
10808         * doc/glibc-headers/sys_ioctl.texi: New file.
10809         * doc/gnulib.texi: Include it.
10810
10811 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
10812             Bruno Haible  <bruno@clisp.org>
10813
10814         Combine the two replacements of 'close'.
10815         * lib/sys_socket.in.h (close): Define to a reminder to include
10816         <unistd.h>.
10817         (_gl_close_fd_maybe_socket): New declaration.
10818         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
10819         * lib/winsock.c (close): Remove undefinition.
10820         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
10821         needed for the gnulib module 'close'.
10822         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
10823         define to an error symbol or to a warning, if suitable.
10824         * lib/close.c: Include <sys/socket.h>.
10825         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
10826         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
10827         UNISTD_H_HAVE_WINSOCK2_H.
10828         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
10829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10830         UNISTD_H_HAVE_WINSOCK2_H.
10831         * modules/sys_socket (Files): Add m4/unistd_h.m4.
10832         (configure.ac): Set a module indicator.
10833         (Makefile.am): Substitute GNULIB_CLOSE.
10834         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
10835         * modules/poll-tests (Depends-on): Add close.
10836         * modules/select-tests (Depends-on): Likewise.
10837
10838 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
10839             Bruno Haible  <bruno@clisp.org>
10840
10841         New module 'close'.
10842         * modules/close: New file.
10843         * lib/unistd.in.h (close): Move declaration out of the
10844         FCHDIR_REPLACEMENT scope.
10845         (_gl_unregister_fd): New declaration.
10846         * lib/close.c: New file.
10847         * lib/fchdir.c (rpl_close): Remove function.
10848         * m4/close.m4: New file.
10849         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
10850         close.
10851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
10852         REPLACE_CLOSE.
10853         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
10854         REPLACE_CLOSE.
10855         * modules/fchdir (Depends-on): Add close.
10856
10857 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
10858             Bruno Haible  <bruno@clisp.org>
10859
10860         * lib/fcntl.in.h (open): Simplify conditionals.
10861         (_gl_register_fd): New declaration.
10862         * lib/fchdir.c (rpl_open): Remove function.
10863         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
10864         also.
10865         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
10866         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
10867         open.
10868
10869 2008-10-09  Jim Meyering  <meyering@redhat.com>
10870
10871         GNUmakefile: use the more name-space-friendly "_version"
10872         * top/GNUmakefile (_dummy): Update.
10873         (_version): Rename from "version".
10874
10875 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
10876             Bruno Haible  <bruno@clisp.org>
10877
10878         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
10879         rpl_close.
10880         (_gl_register_fd): New function, extracted from rpl_open.
10881         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
10882         (rpl_open, rpl_opendir): Use _gl_register_fd.
10883
10884 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
10885
10886         Fix organization of 'open' replacement.
10887         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
10888         (gl_FUNC_OPEN): Use it.
10889         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
10890
10891 2008-10-08  Bruno Haible  <bruno@clisp.org>
10892
10893         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
10894
10895 2008-10-08  Simon Josefsson  <simon@josefsson.org>
10896
10897         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
10898         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
10899         listen).
10900
10901 2008-10-08  Eric Blake  <ebb9@byu.net>
10902
10903         GNUmakefile: add 'make version' target
10904         * top/GNUmakefile (_curr-ver): Split version update rules...
10905         (version): ...into a target.
10906
10907 2008-10-07  Bruno Haible  <bruno@clisp.org>
10908
10909         Use a more portable replacement expression for -0.0L.
10910         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
10911         instead of -0.0L. Fix m4 quotation.
10912
10913         * tests/test-signbit.c: Include <float.h>.
10914         (minus_zero): New variable.
10915         (test_signbitl): Use minus_zero instead of -zero.
10916         * modules/signbit-tests (Depends-on): Add float.
10917
10918         * tests/test-ceill.c: Include <float.h>.
10919         (zero): Remove variable.
10920         (minus_zero): New variable.
10921         (main): Use minus_zero instead of -zero.
10922         * modules/ceill-tests (Depends-on): Add float.
10923
10924         * tests/test-floorl.c: Include <float.h>.
10925         (zero): Remove variable.
10926         (minus_zero): New variable.
10927         (main): Use minus_zero instead of -zero.
10928         * modules/floorl-tests (Depends-on): Add float.
10929
10930         * tests/test-roundl.c: Include <float.h>.
10931         (zero): Remove variable.
10932         (minus_zero): New variable.
10933         (main): Use minus_zero instead of -zero.
10934         * modules/roundl-tests (Depends-on): Add float.
10935
10936         * tests/test-truncl.c: Include <float.h>.
10937         (zero): Remove variable.
10938         (minus_zero): New variable.
10939         (main): Use minus_zero instead of -zero.
10940         * modules/truncl-tests (Depends-on): Add float.
10941
10942         * tests/test-frexpl.c (zero): Remove variable.
10943         (minus_zero): New variable.
10944         (main): Use minus_zero instead of -zero.
10945         * modules/frexpl-tests (Depends-on): Add float.
10946
10947         * tests/test-isnan.c (zerol): Remove variable.
10948         (minus_zerol): New variable.
10949         (test_long_double): Use minus_zerol instead of -zerol.
10950         * modules/isnan-tests (Depends-on): Add float.
10951
10952         * tests/test-isnanl.h (zero): Remove variable.
10953         (minus_zero): New variable.
10954         (main): Use minus_zero instead of -zero.
10955         * modules/isnanl-nolibm-tests (Depends-on): Add float.
10956         * modules/isnanl-tests (Depends-on): Add float.
10957
10958         * tests/test-ldexpl.c (zero): Remove variable.
10959         (minus_zero): New variable.
10960         (main): Use minus_zero instead of -zero.
10961         * modules/ldexpl-tests (Depends-on): Add float.
10962
10963         * tests/test-snprintf-posix.h (zerol): Remove variable.
10964         (minus_zerol): New variable.
10965         (test_function): Use minus_zerol instead of -zerol.
10966         * modules/snprintf-posix-tests (Depends-on): Add float.
10967         * modules/vsnprintf-posix-tests (Depends-on): Add float.
10968
10969         * tests/test-sprintf-posix.h (zerol): Remove variable.
10970         (minus_zerol): New variable.
10971         (test_function): Use minus_zerol instead of -zerol.
10972         * modules/sprintf-posix-tests (Depends-on): Add float.
10973         * modules/vsprintf-posix-tests (Depends-on): Add float.
10974
10975         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
10976         (minus_zerol): New variable.
10977         (test_function): Use minus_zerol instead of -zerol.
10978         * modules/vasnprintf-posix-tests (Depends-on): Add float.
10979
10980         * tests/test-vasprintf-posix.c (zerol): Remove variable.
10981         (minus_zerol): New variable.
10982         (test_function): Use minus_zerol instead of -zerol.
10983         * modules/vasprintf-posix-tests (Depends-on): Add float.
10984
10985 2008-10-07  Simon Josefsson  <simon@josefsson.org>
10986
10987         * MODULES.html.sh (Support for building documentation): Mention
10988         pmccabe2html.  Sort entries.
10989
10990         Add pmccabe2html module, from gnupdf.
10991         * build-aux/pmccabe.css: New file.
10992         * build-aux/pmccabe2html: New file.
10993         * m4/pmccabe2html.m4: New file.
10994         * modules/pmccabe2html: New file.
10995
10996 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
10997
10998         flock: new module
10999         * MODULES.html.sh: Add to list of modules.
11000         * lib/flock.c: flock implementation for Windows and Unix systems
11001         which have fcntl.
11002         * doc/glibc-functions/flock.texi: Update documentation.
11003         * lib/sys_file.in.h: <sys/file.h> header file.
11004         * m4/flock.m4: M4 macros.
11005         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
11006         * modules/flock: flock module.
11007         * modules/flock-tests: flock tests module.
11008         * modules/sys_file: sys/file.h module.
11009         * tests/test-flock.c: test suite for flock.
11010
11011 2008-10-06  Jim Meyering  <meyering@redhat.com>
11012
11013         bootstrap: check for LT_INIT more portably still ;-)
11014         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
11015         Spotted by Bruno Haible.
11016
11017 2008-10-06  Eric Blake  <ebb9@byu.net>
11018
11019         test-signbit: avoid tripping Irix cc bug on -0.0L
11020         * tests/test-signbit.c (minus_zerol): Delete, and replace with
11021         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
11022         entire testsuite consistent and avoids an Irix 6.2 bug.
11023
11024 2008-10-05  Bruno Haible  <bruno@clisp.org>
11025             Jim Meyering  <jim@meyering.net>
11026
11027         Add an option for ignoring EPIPE during close_stdout.
11028         * lib/closeout.h: Include <stdbool.h>.
11029         (close_stdout_set_ignore_EPIPE): New declaration.
11030         * lib/closeout.c: Include <stdbool.h>.
11031         (ignore_EPIPE): New variable.
11032         (close_stdout_set_ignore_EPIPE): New function.
11033         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
11034         * lib/close-stream.c (close_stream): Mention the possible EPIPE
11035         failure.
11036         * modules/closeout (Depends-on): Add stdbool.
11037
11038 2008-10-05  Bruno Haible  <bruno@clisp.org>
11039
11040         * modules/accept: New file.
11041         * modules/bind: New file.
11042         * modules/connect: New file.
11043         * modules/getpeername: New file.
11044         * modules/getsockname: New file.
11045         * modules/getsockopt: New file.
11046         * modules/listen: New file.
11047         * modules/recv: New file.
11048         * modules/recvfrom: New file.
11049         * modules/send: New file.
11050         * modules/sendto: New file.
11051         * modules/setsockopt: New file.
11052         * modules/socket: New file.
11053         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
11054         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11055         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
11056         the particular module is requested. Add a link warning when the
11057         particular module is not requested.
11058         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
11059         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
11060         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
11061         the particular module is requested.
11062         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
11063         gl_SYS_SOCKET_H_DEFAULTS): New macros.
11064         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
11065         * modules/sys_socket (Depends-on): Add link-warning.
11066         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
11067         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
11068         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
11069         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
11070         GL_LINK_WARNING.
11071         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
11072         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
11073         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
11074         * doc/posix-functions/getpeername.texi: Mention the new module
11075         'getpeername'.
11076         * doc/posix-functions/getsockname.texi: Mention the new module
11077         'getsockname'.
11078         * doc/posix-functions/getsockopt.texi: Mention the new module
11079         'getsockopt'.
11080         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
11081         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
11082         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
11083         * doc/posix-functions/send.texi: Mention the new module 'send'.
11084         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
11085         * doc/posix-functions/setsockopt.texi: Mention the new module
11086         'setsockopt'.
11087         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
11088         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
11089         listen, connect, accept.
11090         * modules/select-tests (Depends-on): Likewise.
11091
11092 2008-10-05  Bruno Haible  <bruno@clisp.org>
11093
11094         * lib/winsock.c (strerror): Remove unused #undef.
11095         (rpl_close): Remove unused local variable.
11096
11097         * modules/sys_socket (Depends-on); Add errno.
11098
11099 2008-10-05  Bruno Haible  <bruno@clisp.org>
11100
11101         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
11102         (select): Add a link warning when the 'select' module is not used.
11103         * modules/sys_select (Depends-on): Add link-warning.
11104         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
11105         Suggested by Paolo Bonzini.
11106
11107 2008-10-05  Jim Meyering  <meyering@redhat.com>
11108
11109         bootstrap: check for LT_INIT more portably
11110         * build-aux/bootstrap: Avoid using grep -E, since it's not
11111         portable enough.  Suggestion from Bruno Haible.
11112
11113 2008-10-05  Bruno Haible  <bruno@clisp.org>
11114
11115         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
11116         as being fixed by gnulib.
11117
11118 2008-10-05  Bruno Haible  <bruno@clisp.org>
11119
11120         * modules/select-tests: New file, mostly copied from
11121         modules/sys_select-tests.
11122         * tests/test-select.c: New file, mostly copied from
11123         tests/test-sys_select.c.
11124         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
11125         * modules/sys_select-tests (Depends-on): Remove all dependencies.
11126         (Makefile.am): Remove test_sys_select_LDADD.
11127
11128         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
11129         to an undefined symbol, for an error message.
11130         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
11131         (gl_SYS_SELECT_H_DEFAULTS): New macro.
11132         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
11133         winsock-select.c here.
11134         * modules/sys_select (Files): Remove lib/winsock-select.c.
11135         (Depends-on): Remove alloca.
11136         (Makefile.am): Substitute GNULIB_SELECT.
11137         * modules/select: New file.
11138         * doc/posix-functions/select.texi: Update.
11139
11140 2008-10-05  Bruno Haible  <bruno@clisp.org>
11141
11142         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
11143         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
11144         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
11145         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
11146         getdtablesize.
11147         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
11148         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
11149
11150 2008-10-05  Bruno Haible  <bruno@clisp.org>
11151
11152         * modules/getdtablesize-tests: New file.
11153         * tests/test-getdtablesize.c: New file.
11154
11155         New module 'getdtablesize'.
11156         * lib/unistd.in.h (getdtablesize): New declaration.
11157         * lib/getdtablesize.c: New file.
11158         * m4/getdtablesize.m4: New file.
11159         * modules/getdtablesize: New file.
11160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11161         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
11162         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
11163         HAVE_GETDTABLESIZE.
11164         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
11165
11166 2008-10-05  Bruno Haible  <bruno@clisp.org>
11167
11168         * modules/sched (Makefile.am): Fix typo.
11169         Reported by Simon Josefsson.
11170
11171 2008-10-05  Jim Meyering  <meyering@redhat.com>
11172
11173         bootstrap: check for LT_INIT, too
11174         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
11175         are deprecated.  Suggestion from Ralf Wildenhues.
11176
11177 2008-10-05  Bruno Haible  <bruno@clisp.org>
11178
11179         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
11180         overriding them by ours.
11181         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
11182
11183 2008-10-05  Jim Meyering  <meyering@redhat.com>
11184
11185         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
11186         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
11187         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
11188
11189 2008-10-04  Bruno Haible  <bruno@clisp.org>
11190
11191         * modules/dup2 (License): Change to LGPLv2+.
11192         * modules/sleep (License): Likewise.
11193         * modules/perror (License): Likewise.
11194         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
11195         Blake.
11196         * modules/signal (License): Likewise.
11197         * modules/sigprocmask (License): Likewise.
11198         * modules/raise (License): Change to LGPLv2+, with approval by Jim
11199         Meyering.
11200
11201 2008-10-04  Bruno Haible  <bruno@clisp.org>
11202
11203         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
11204         Reported by Rainer Tammer <tammer@tammer.net>.
11205
11206 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
11207             Bruno Haible  <bruno@clisp.org>
11208
11209         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
11210         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
11211         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
11212
11213 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
11214
11215         filevercmp: new module
11216         * lib/filevercmp.h: New function filevercmp comparing version strings.
11217         * lib/filevercmp.c: Implementation of filevercmp function.
11218         * modules/filevercmp: Module metadata.
11219         * tests/test-filevercmp.c: Unit test for new module.
11220         * modules/filevercmp-tests: Unit test metadata.
11221         * MODULES.html.sh: Add filevercmp module.
11222
11223 2008-10-03  Bruno Haible  <bruno@clisp.org>
11224
11225         * lib/c-ctype.h: Add comment.
11226         Reported by Jim Meyering.
11227
11228 2008-10-02  Bruno Haible  <bruno@clisp.org>
11229
11230         * modules/posix_spawn-internal (Depends-on): Add 'open'.
11231
11232 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
11233
11234         * build-aux/bootstrap: Allow renaming bootstrap, and change the
11235         name of bootstrap.conf accordingly.
11236
11237 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
11238
11239         * build-aux/bootstrap: Install git-merge-changelog configuration
11240         items into .gitconfig if needed.
11241
11242 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
11243
11244         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
11245         git repository, and initialize/update it accordingly.
11246
11247 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
11248
11249         * modules/fsync-tests: New file.
11250         * tests/test-fsync.c: New file.
11251
11252         New module 'fsync'.
11253         * lib/fsync.c: New file.
11254         * m4/fsync.m4: New file.
11255         * modules/fsync: New file.
11256         * lib/unistd.in.h (fsync): New declaration.
11257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
11258         GNULIB_FSYNC and HAVE_FSYNC.
11259         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
11260         * MODULES.html.sh (posix_functions): Add fsync.
11261         * doc/posix-functions/fsync.texi: Mention the new module.
11262
11263 2008-10-02  Jim Meyering  <meyering@redhat.com>
11264
11265         fts.c: sync with similar code from coreutils' remove.c
11266         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
11267         Guard also with "#if defined __linux__", since for now at least,
11268         this code is Linux-kernel-specific.
11269
11270 2008-10-02  Jim Meyering  <meyering@redhat.com>
11271
11272         fts: bug fixes
11273         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
11274         Include <sys/vfs.h>, not <sys/statfs.h>.
11275
11276         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
11277         Include <sys/vfs.h>, not <sys/statfs.h>.
11278
11279 2008-10-01  Bruno Haible  <bruno@clisp.org>
11280
11281         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
11282         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
11283         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
11284         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
11285         * doc/posix-functions/posix_spawnp.texi: Likewise.
11286         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
11287         whether posix_spawn actually works.
11288         * m4/pipe.m4 (gl_PIPE): Likewise.
11289         * modules/execute (Files): Add m4/posix_spawn.m4.
11290         * modules/pipe (Files): Add m4/posix_spawn.m4.
11291         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
11292
11293 2008-10-01  Jim Meyering  <meyering@redhat.com>
11294
11295         remove trailing spaces
11296         * NEWS: Likewise.
11297         * lib/poll.c (poll): Likewise.
11298         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
11299         * lib/winsock.c (rpl_close): Likewise.
11300         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
11301         * modules/yield: Likewise.
11302         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
11303         * tests/test-sys_select.c (connect_to_socket): Likewise.
11304
11305         fts.c: adjust a new interface to be more generally useful
11306         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
11307         (fts_build): Adjust caller.
11308
11309 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11310
11311         * modules/cond-tests: New file.
11312         * tests/test-cond.c: New file.
11313
11314 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11315             Bruno Haible  <bruno@clisp.org>
11316
11317         * modules/cond (Dependencies): Add errno, time.
11318         * lib/glthread/cond.h: Include <time.h>.
11319         (gl_cond_define, gl_cond_define_initialized): Use the same definition
11320         across platforms.
11321
11322 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11323             Bruno Haible  <bruno@clisp.org>
11324
11325         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
11326
11327 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11328             Bruno Haible  <bruno@clisp.org>
11329
11330         * modules/tls-tests (Depends-on): Add thread, yield.
11331         (configure.ac): Remove all checks.
11332         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
11333         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
11334         gl_thread_self): Remove definitions. Include glthread/thread.h and
11335         glthread/yield.h instead.
11336         (test_tls): Pass an additional NULL argument to gl_thread_join.
11337
11338 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11339             Bruno Haible  <bruno@clisp.org>
11340
11341         * modules/lock-tests (Depends-on): Add thread, yield.
11342         (configure.ac): Remove all checks.
11343         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
11344         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
11345         gl_thread_self): Remove definitions. Include glthread/thread.h and
11346         glthread/yield.h instead.
11347         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
11348         additional NULL argument to gl_thread_join.
11349
11350 2008-09-30  Bruno Haible  <bruno@clisp.org>
11351
11352         Fix the Win32 implementation of the 'thread' module.
11353         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
11354         pointer type.
11355         (gl_thread_self): Invoke gl_thread_self_func.
11356         (gl_thread_self_func): New declaration.
11357         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
11358         (do_init_self_key, init_self_key): New functions.
11359         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
11360         Remove some fields.
11361         (running_threads, running_lock): Remove variables.
11362         (get_current_thread_handle): New function.
11363         (gl_thread_self_func, wrapper_func, glthread_create_func,
11364         glthread_join_func, gl_thread_exit_func): Largely rewritten and
11365         simplified.
11366
11367 2008-09-30  Bruno Haible  <bruno@clisp.org>
11368
11369         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
11370         files.
11371
11372 2008-09-30  Jim Meyering  <meyering@redhat.com>
11373
11374         fts.m4: correct the test for statfs.f_type
11375         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
11376         when checking for statfs.f_type.
11377
11378 2008-09-15  Simon Josefsson  <simon@josefsson.org>
11379
11380         tests: avoid some compiler warnings
11381         * tests/test-memchr.c (main): Pass NULL indirectly.
11382         * tests/test-getdate.c (main): Remove unused variable 'ret'.
11383
11384 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
11385
11386         getdate.y: disallow countable dayshifts like "4 yesterday ago"
11387         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
11388         exactly specified dayshifts.
11389         (dayshift): New rule.
11390         (rel): Add dayshift.
11391         (relative_time_table) [tomorrow, yesterday, today, now]:
11392         Use tDAY_SHIFT in place of tDAY_UNIT.
11393         * tests/test-getdate.c: Add tests for now-disallowed countable
11394         dayshifts, e.g., "4 yesterday ago".
11395
11396 2008-09-29  Bruno Haible  <bruno@clisp.org>
11397
11398         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
11399         * tests/test-posix_spawn1.in.sh: Renamed from
11400         tests/test-posix_spawn.in.sh.
11401         * tests/test-posix_spawn2.c: New file.
11402         * tests/test-posix_spawn2.in.sh: New file.
11403         * modules/posix_spawnp-tests (Files): Update.
11404         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
11405
11406 2008-09-29  Bruno Haible  <bruno@clisp.org>
11407
11408         Propagate effects of putenv/setenv/unsetenv to child processes.
11409         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
11410         * lib/pipe.c (create_pipe): Likewise.
11411
11412 2008-09-29  Bruno Haible  <bruno@clisp.org>
11413
11414         Enable use of shell scripts as executables in mingw.
11415         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
11416         run the program as a shell script.
11417         * lib/pipe.c (create_pipe): Likewise.
11418         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
11419         resulting array.
11420
11421 2008-09-29  Eric Blake  <ebb9@byu.net>
11422
11423         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
11424
11425 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
11426
11427         * doc/posix-functions/accept.texi: Update mingw problems.
11428         * doc/posix-functions/bind.texi: Update mingw problems.
11429         * doc/posix-functions/close.texi: Update mingw problems.
11430         * doc/posix-functions/connect.texi: Update mingw problems.
11431         * doc/posix-functions/getpeername.texi: Update mingw problems.
11432         * doc/posix-functions/getsockname.texi: Update mingw problems.
11433         * doc/posix-functions/getsockopt.texi: Update mingw problems.
11434         * doc/posix-functions/ioctl.texi: Update mingw problems.
11435         * doc/posix-functions/listen.texi: Update mingw problems.
11436         * doc/posix-functions/recv.texi: Update mingw problems.
11437         * doc/posix-functions/recvfrom.texi: Update mingw problems.
11438         * doc/posix-functions/select.texi: Update mingw problems.
11439         * doc/posix-functions/send.texi: Update mingw problems.
11440         * doc/posix-functions/sendto.texi: Update mingw problems.
11441         * doc/posix-functions/setsockopt.texi: Update mingw problems.
11442         * doc/posix-functions/socket.texi: Update mingw problems.
11443
11444 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
11445             Bruno Haible  <bruno@clisp.org>
11446
11447         * lib/sys_select.in.h: Include sys/time.h.
11448         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
11449         * modules/sys_select: Depend on sys_time.
11450         * tests/test-sys_select.c: Test that sys/select.h defines struct
11451         timeval fully.
11452
11453 2008-09-29  Bruno Haible  <bruno@clisp.org>
11454
11455         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
11456         * lib/sys_select.in.h: Likewise.
11457
11458 2008-09-29  Bruno Haible  <bruno@clisp.org>
11459
11460         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
11461
11462 2008-09-29  Bruno Haible  <bruno@clisp.org>
11463
11464         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
11465         Set LIBSOCKET instead of augmenting LIBS.
11466         * modules/sockets (Link): New section.
11467         * modules/sockets-tests (test_sockets_LDADD): New variable.
11468         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
11469         * modules/poll-tests (test_poll_LDADD): New variable.
11470         * NEWS: Document the change.
11471
11472 2008-09-29  Bruno Haible  <bruno@clisp.org>
11473
11474         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
11475         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
11476         ARPA_INET_H directly.
11477         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11478
11479 2008-09-28  Bruno Haible  <bruno@clisp.org>
11480
11481         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
11482         from gl_HEADER_SYS_SOCKET.
11483         (gl_HEADER_SYS_SOCKET): Invoke it.
11484         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11485
11486 2008-09-28  Bruno Haible  <bruno@clisp.org>
11487
11488         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
11489         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
11490         Needed on OSF/1 4.0.
11491
11492 2008-09-28  Bruno Haible  <bruno@clisp.org>
11493
11494         Override open more carefully.
11495         * lib/open.c (orig_open): New function.
11496         (rpl_open): Use orig_open instead of open.
11497         * lib/fcntl.in.h: Add special invocation convention.
11498         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
11499         (gl_FUNC_OPEN): Invoke it.
11500
11501         Override freopen more carefully.
11502         * lib/freopen.c (orig_freopen): New function.
11503         (rpl_freopen): Use orig_freopen instead of freopen.
11504         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
11505         (gl_FUNC_FREOPEN): Invoke it.
11506
11507         Override fopen more carefully.
11508         * lib/fopen.c (orig_fopen): New function.
11509         (rpl_fopen): Use orig_fopen instead of fopen.
11510         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
11511         (gl_FUNC_FOPEN): Invoke it.
11512         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
11513
11514 2008-09-28  Bruno Haible  <bruno@clisp.org>
11515
11516         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
11517         SIGPIPE.
11518
11519 2008-09-28  Bruno Haible  <bruno@clisp.org>
11520
11521         * tests/test-sigaction.c (handler, main): Disable the check whether
11522         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
11523         glibc systems with LinuxThreads.
11524
11525 2008-09-28  Bruno Haible  <bruno@clisp.org>
11526
11527         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
11528
11529         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
11530         with AIX xlc.
11531         * lib/fcntl.in.h (open): Likewise.
11532         Reported by Rainer Tammer <tammer@tammer.net>.
11533
11534 2008-09-28  Bruno Haible  <bruno@clisp.org>
11535
11536         * modules/posix_spawnp-tests: New file.
11537         * tests/test-posix_spawn.c: New file.
11538         * tests/test-posix_spawn.in.sh: New file.
11539
11540         New module 'posix_spawnp'.
11541         * modules/posix_spawnp: New file.
11542         * lib/spawnp.c: New file, from GNU libc with modifications.
11543         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
11544
11545         New module 'posix_spawn'.
11546         * modules/posix_spawn: New file.
11547         * lib/spawn.c: New file, from GNU libc with modifications.
11548         * doc/posix-functions/posix_spawn.texi: Mention the new module.
11549
11550         New module 'posix_spawnattr_destroy'.
11551         * modules/posix_spawnattr_destroy: New file.
11552         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
11553         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
11554         module.
11555
11556         New module 'posix_spawnattr_setsigmask'.
11557         * modules/posix_spawnattr_setsigmask: New file.
11558         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
11559         modifications.
11560         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
11561         new module.
11562
11563         New module 'posix_spawnattr_getsigmask'.
11564         * modules/posix_spawnattr_getsigmask: New file.
11565         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
11566         modifications.
11567         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
11568         new module.
11569
11570         New module 'posix_spawnattr_setsigdefault'.
11571         * modules/posix_spawnattr_setsigdefault: New file.
11572         * lib/spawnattr_setdefault.c: New file, from GNU libc with
11573         modifications.
11574         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
11575         new module.
11576
11577         New module 'posix_spawnattr_getsigdefault'.
11578         * modules/posix_spawnattr_getsigdefault: New file.
11579         * lib/spawnattr_getdefault.c: New file, from GNU libc with
11580         modifications.
11581         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
11582         new module.
11583
11584         New module 'posix_spawnattr_setschedpolicy'.
11585         * modules/posix_spawnattr_setschedpolicy: New file.
11586         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
11587         modifications.
11588         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
11589         new module.
11590
11591         New module 'posix_spawnattr_getschedpolicy'.
11592         * modules/posix_spawnattr_getschedpolicy: New file.
11593         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
11594         modifications.
11595         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
11596         new module.
11597
11598         New module 'posix_spawnattr_setschedparam'.
11599         * modules/posix_spawnattr_setschedparam: New file.
11600         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
11601         modifications.
11602         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
11603         new module.
11604
11605         New module 'posix_spawnattr_getschedparam'.
11606         * modules/posix_spawnattr_getschedparam: New file.
11607         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
11608         modifications.
11609         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
11610         new module.
11611
11612         New module 'posix_spawnattr_setpgroup'.
11613         * modules/posix_spawnattr_setpgroup: New file.
11614         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
11615         modifications.
11616         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
11617         module.
11618
11619         New module 'posix_spawnattr_getpgroup'.
11620         * modules/posix_spawnattr_getpgroup: New file.
11621         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
11622         modifications.
11623         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
11624         module.
11625
11626         New module 'posix_spawnattr_setflags'.
11627         * modules/posix_spawnattr_setflags: New file.
11628         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
11629         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
11630         module.
11631
11632         New module 'posix_spawnattr_getflags'.
11633         * modules/posix_spawnattr_getflags: New file.
11634         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
11635         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
11636         module.
11637
11638         New module 'posix_spawnattr_init'.
11639         * modules/posix_spawnattr_init: New file.
11640         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
11641         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
11642         module.
11643
11644         New module 'posix_spawn_file_actions_destroy'.
11645         * modules/posix_spawn_file_actions_destroy: New file.
11646         * lib/spawn_faction_destroy.c: New file, from GNU libc with
11647         modifications.
11648         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
11649         the new module.
11650
11651         New module 'posix_spawn_file_actions_addopen'.
11652         * modules/posix_spawn_file_actions_addopen: New file.
11653         * lib/spawn_faction_addopen.c: New file, from GNU libc with
11654         modifications.
11655         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
11656         the new module.
11657
11658         New module 'posix_spawn_file_actions_adddup2'.
11659         * modules/posix_spawn_file_actions_adddup2: New file.
11660         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
11661         modifications.
11662         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
11663         the new module.
11664
11665         New module 'posix_spawn_file_actions_addclose'.
11666         * modules/posix_spawn_file_actions_addclose: New file.
11667         * lib/spawn_faction_addclose.c: New file, from GNU libc with
11668         modifications.
11669         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
11670         the new module.
11671
11672         New module 'posix_spawn_file_actions_init'.
11673         * modules/posix_spawn_file_actions_init: New file.
11674         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
11675         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
11676         new module.
11677
11678         New module 'posix_spawn-internal'.
11679         * modules/posix_spawn-internal: New file.
11680         * lib/spawn_int.h: New file, from GNU libc with modifications.
11681         * lib/spawni.c: New file, from GNU libc with modifications.
11682         * m4/posix_spawn.m4: New file.
11683
11684         New module 'spawn'.
11685         * modules/spawn: New file.
11686         * lib/spawn.in.h: New file, from GNU libc with modifications.
11687         * m4/spawn_h.m4: New file.
11688         * doc/posix-headers/spawn.texi: Mention the new module.
11689
11690 2008-09-28  Bruno Haible  <bruno@clisp.org>
11691
11692         * modules/sched-tests: New file.
11693         * tests/test-sched.c: New file.
11694
11695         New module 'sched'.
11696         * modules/sched: New file.
11697         * lib/sched.in.h: New file.
11698         * m4/sched_h.m4: New file.
11699         * doc/posix-headers/sched.texi: Mention the new module.
11700
11701 2008-09-27  Eric Blake  <ebb9@byu.net>
11702
11703         Fix previous patch, and tweak references to $0.
11704         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
11705         (func_version, func_gnulib_dir): Don't call this program
11706         gnulib-tool.
11707         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
11708         with using $0 in function.
11709         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
11710         (func_fatal_error): Reuse the name the user invoked us with.
11711
11712 2008-09-27  Bruno Haible  <bruno@clisp.org>
11713
11714         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
11715         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
11716         (gl_ICONV_H): Not here.
11717         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
11718         instead of assigning ICONV_H directly.
11719
11720         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
11721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
11722         WCHAR_H directly.
11723
11724 2008-09-27  Bruno Haible  <bruno@clisp.org>
11725
11726         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
11727         * modules/arpa_inet (Depends-on): Add link-warning.
11728         (Makefile.am): Insert the definition of GL_LINK-WARNING.
11729         * modules/unistd (Makefile.am): Likewise.
11730
11731 2008-09-26  Bruno Haible  <bruno@clisp.org>
11732
11733         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
11734         variables.
11735         (func_version): Essentially copied from gnulib-tool.
11736         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
11737         func_readlink): Copied from gnulib-tool.
11738
11739 2008-09-26  Bruno Haible  <bruno@clisp.org>
11740
11741         * gnulib-tool (func_version): Change directory to $gnulib_dir before
11742         invoking git-version-gen.
11743
11744 2008-09-26  Bruno Haible  <bruno@clisp.org>
11745
11746         * posix-modules: Update to directory names changed on 2008-01-19.
11747         Remove commas in output before splitting into words. No more need to
11748         avoid 'ftruncate' since 2007-02-19.
11749
11750 2008-09-26  Bruno Haible  <bruno@clisp.org>
11751
11752         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
11753
11754 2008-09-26  Bruno Haible  <bruno@clisp.org>
11755
11756         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
11757         * modules/fwriteerror (Depends-on): Add errno.
11758
11759 2008-09-26  Bruno Haible  <bruno@clisp.org>
11760
11761         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
11762         * tests/test-vc-list-files-cvs.sh: Likewise.
11763
11764 2008-09-26  Bruno Haible  <bruno@clisp.org>
11765
11766         * doc/posix-headers/sys_resource.texi: Reorder items.
11767
11768 2008-09-26  Jim Meyering  <meyering@redhat.com>
11769
11770         fts: tweak inode comparison function
11771         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
11772         inode numbers, as documented.
11773
11774         fts: sort dirent entries on inode number before traversing
11775         This avoids a quadratic, seek-related performance penalty when
11776         operating on a directory containing many entries (measurable at 10k;
11777         3.5 hours at 2 million entries with a cold cache) on certain types
11778         of file systems, including ext3 and ext4, but not tmpfs.
11779         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
11780         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
11781         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
11782         (fs_handles_readdir_ordered_dirents_efficiently): New function.
11783         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
11784         (fts_build): Set the stat.st_ino member from D_INO.
11785         If it is likely to be useful, sort dirent entries on inode number.
11786
11787         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
11788         and the struct statfs.f_type member.
11789         * modules/fts (Depends-on): Add d-ino.
11790
11791 2008-09-26  Bruno Haible  <bruno@clisp.org>
11792
11793         * modules/sigpipe-die (Depends-on): Add sigpipe.
11794
11795         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
11796         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
11797         and GNULIB_STDIO_H_SIGPIPE are set.
11798         * lib/stdio-write.c: New file.
11799         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
11800         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
11801         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
11802         REPLACE_STDIO_WRITE_FUNCS.
11803         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
11804         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
11805         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
11806         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
11807         * modules/stdio (Files): Add lib/stdio-write.c.
11808         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
11809         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
11810         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
11811         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
11812         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
11813         REPLACE_FPRINTF_POSIX.
11814         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
11815         REPLACE_PRINTF_POSIX.
11816         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
11817         REPLACE_VFPRINTF_POSIX.
11818         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
11819         REPLACE_VPRINTF_POSIX.
11820         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
11821         SIGPIPE issue.
11822         * doc/posix-functions/fputc.texi: Likewise.
11823         * doc/posix-functions/fputs.texi: Likewise.
11824         * doc/posix-functions/fwrite.texi: Likewise.
11825         * doc/posix-functions/printf.texi: Likewise.
11826         * doc/posix-functions/putc.texi: Likewise.
11827         * doc/posix-functions/putchar.texi: Likewise.
11828         * doc/posix-functions/puts.texi: Likewise.
11829         * doc/posix-functions/vfprintf.texi: Likewise.
11830         * doc/posix-functions/vprintf.texi: Likewise.
11831
11832         * modules/safe-write (Depends-on): Add write.
11833
11834         * modules/sigpipe-tests: New file.
11835         * tests/test-sigpipe.c: New file.
11836         * tests/test-sigpipe.sh: New file.
11837
11838         * modules/write: New file.
11839         * lib/unistd.in.h: Include <sys/types.h>.
11840         (write): New declaration.
11841         * lib/write.c: New file.
11842         * m4/write.m4: New file.
11843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11844         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
11845         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
11846         GNULIB_WRITE, REPLACE_WRITE.
11847         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
11848         and the SIGPIPE issue.
11849
11850         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
11851         (raise): New declaration.
11852         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
11853         (ext_signal): New function.
11854         (rpl_raise): New function.
11855         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11856         GNULIB_SIGNAL_H_SIGPIPE.
11857         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
11858         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
11859
11860         * modules/sigpipe: New file.
11861         * m4/sigpipe.m4: New file.
11862
11863 2008-09-25  Derek Price  <derek@ximbiot.com>
11864             Bruno Haible  <bruno@clisp.org>
11865
11866         * gnulib-tool (func_import): Report all license incompatibilities, not
11867         just the first one.
11868
11869 2008-09-25  Bruno Haible  <bruno@clisp.org>
11870
11871         * gnulib-tool (func_import): When computing the edits, consider not
11872         only the Makefile.ams that exist but also those that will be generated.
11873
11874 2008-09-25  Simon Josefsson  <simon@josefsson.org>
11875
11876         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
11877         fixes gnulib-tool --test warning about duplicate dependency.
11878
11879 2008-09-25  Bruno Haible  <bruno@clisp.org>
11880
11881         * gnulib-tool: Don't ask the user to perform edits in the generated
11882         Makefile.ams.
11883         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
11884         apply to the Makefile.am being generated.
11885         (func_emit_tests_Makefile_am): Execute edits that apply to the
11886         Makefile.am being generated.
11887         (func_import): Setup list of Makefile.am edits before emitting the
11888         Makefile.ams, not at the end.
11889         (func_create_testdir): Update.
11890         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11891
11892 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11893
11894         * gnulib-tool (func_import): Store the --tests-base option in the
11895         comment in gnulib-cache.m4.
11896
11897 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
11898
11899         * NEWS: Document increased portability that sys_select now provides.
11900
11901         * lib/sys_select.in.h: Install select wrapper.
11902         * lib/sys_socket.in.h: Use more descriptive name when there is no
11903         select wrapper.
11904         * lib/winsock-select.c: New.
11905         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
11906         Require gl_HEADER_SYS_SOCKET.
11907         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
11908         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
11909         * tests/test-sys_select.c: Add functional tests.
11910
11911 2008-09-24  Eric Blake  <ebb9@byu.net>
11912
11913         open, fopen: close fd leak in last patch
11914         * lib/open.c (rpl_open): Close fd before returning error.
11915         * lib/fopen.c (rpl_fopen): Close fd before returning error.
11916         * doc/posix-functions/open.texi (open): Document that Irix also
11917         has the bug.
11918         * doc/posix-functions/fopen.texi (fopen): Likewise.
11919         Reported by Paolo Bonzini.
11920
11921 2008-09-24  Bruno Haible  <bruno@clisp.org>
11922
11923         Ensure that a filename ending in a slash cannot be used to access a
11924         non-directory.
11925         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
11926         to check whether it's really a directory.
11927         * lib/fopen.c: Include fcntl.h, unistd.h.
11928         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
11929         and fdopen().
11930         * modules/fopen (Depends-on): Add unistd.
11931         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
11932         * tests/test-fopen.c (main): Likewise.
11933         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
11934         * doc/posix-functions/fopen.texi: Likewise.
11935         Reported by Eric Blake.
11936
11937 2008-09-23  Eric Blake  <ebb9@byu.net>
11938
11939         c-stack: avoid compiler optimizations when provoking overflow
11940         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
11941         recursion harder to optimize, to ensure a stack overflow occurs.
11942         * tests/test-c-stack.c (recurse): Likewise.
11943         Borrowed from libsigsegv.
11944
11945         c-stack: work around Irix sigaltstack bug
11946         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
11947         whether sigaltstack uses wrong end of stack_t (copied in part from
11948         libsigsegv).
11949         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
11950         Irix bug, without requiring an over-allocation.
11951         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
11952         bug.
11953
11954         fopen: document mingw bug on directories
11955         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
11956         not allowing a stream visiting a directory, even though reading
11957         from such a stream is not portable.
11958
11959 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
11960
11961         * lib/poll.c: Rewrite.
11962         * modules/poll: Depend on alloca.
11963
11964 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
11965
11966         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
11967         instead define prototypes for a full set of wrappers.  Ensure
11968         that Cygwin does not use the compatibility code, which is only
11969         for MinGW.
11970         * lib/winsock.c: New.
11971         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
11972         * modules/sys_socket: Add lib/winsock.c.
11973
11974         * modules/poll-tests: Add errno and perror.
11975         * tests/test-poll.c: Use ioctl, not ioctlsocket.
11976
11977 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
11978
11979         * tests/test-poll.c: Downgrade minimum needed Winsock version.
11980
11981 2008-09-23  Bruno Haible  <bruno@clisp.org>
11982
11983         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
11984         * doc/glibc-functions/*: Likewise.
11985
11986 2008-09-23  Simon Josefsson  <simon@josefsson.org>
11987
11988         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
11989         success.
11990
11991 2008-09-22  Eric Blake  <ebb9@byu.net>
11992             Bruno Haible  <bruno@clisp.org>
11993
11994         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
11995         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
11996         supply %A but mishandle pseudo-NaN.
11997         Reported by Simon Josefsson.
11998
11999 2008-09-21  Bruno Haible  <bruno@clisp.org>
12000
12001         * tests/test-lock.c (main): Tweak skip message.
12002         * tests/test-tls.c (main): Likewise.
12003
12004 2008-09-21  Bruno Haible  <bruno@clisp.org>
12005
12006         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
12007         whether 'struct sigaction' has sa_sigaction here...
12008         (gl_PREREQ_SIG_HANDLER_H): ... not here.
12009         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
12010
12011 2008-09-21  Bruno Haible  <bruno@clisp.org>
12012
12013         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
12014         section.
12015         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
12016         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
12017         the new section.
12018         (Support for obsolete systems lacking POSIX:2001): New section.
12019         (String handling <string.h>): Move strdup to the new section.
12020         Suggested by Simon Josefsson and Paolo Bonzini.
12021
12022 2008-09-21  Bruno Haible  <bruno@clisp.org>
12023
12024         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
12025         exponents in %e and %g results on 'long double'. Needed for mingw's
12026         improved *printf functions.
12027         * tests/test-vasprintf-posix.c (test_function): Likewise.
12028         * tests/test-snprintf-posix.h (test_function): Likewise.
12029         * tests/test-sprintf-posix.h (test_function): Likewise.
12030         Reported by Eric Blake.
12031
12032 2008-09-21  Bruno Haible  <bruno@clisp.org>
12033
12034         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
12035         * tests/test-sprintf-posix.h (test_function): Likewise.
12036
12037 2008-09-21  Bruno Haible  <bruno@clisp.org>
12038
12039         * modules/getpass (Depends-on): Add strdup-posix.
12040
12041         New module 'strdup-posix'.
12042         * modules/strdup-posix: New file.
12043         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
12044         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
12045         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12046         REPLACE_STRDUP.
12047         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
12048         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
12049         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12050         strdup-posix.
12051
12052         * modules/strdup (Depends-on): Remove malloc-posix.
12053
12054 2008-09-20  Bruno Haible  <bruno@clisp.org>
12055
12056         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
12057         Wildenhues.
12058
12059 2008-09-20  Bruno Haible  <bruno@clisp.org>
12060
12061         Ensure that wint_t gets defined on IRIX 5.3.
12062         * lib/wchar.in.h (wint_t): Define if not defined by the system.
12063         * lib/wctype.in.h (wint_t): Likewise.
12064         (__wctype_wint_t): Remove type.
12065         (isw*): Use wint_t instead of __wctype_wint_t.
12066         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
12067         * modules/wchar (Files): Add m4/wint_t.m4.
12068         (Makefile.am): Substitute HAVE_WINT_T.
12069         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
12070         * tests/test-wctype.c: Check that wint_t is defined.
12071         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
12072         * doc/posix-headers/wctype.texi: Likewise.
12073         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12074
12075 2008-09-18  Bruno Haible  <bruno@clisp.org>
12076
12077         * gnulib-tool (func_exit): Update comment.
12078
12079 2008-09-18  Simon Josefsson  <simon@josefsson.org>
12080
12081         * modules/getaddrinfo (Depends-on): Remove strdup, this module
12082         assumes strdup exists and does not depend on strdup to return
12083         ENOMEM on out of memory conditions.
12084
12085 2008-09-18  Bruno Haible  <bruno@clisp.org>
12086
12087         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
12088         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
12089         digits for the exponent.
12090
12091 2008-09-18  Jim Meyering  <meyering@redhat.com>
12092             Bruno Haible  <bruno@clisp.org>
12093
12094         * lib/vasnprintf.c (decimal_point_char): Define also if
12095         NEED_PRINTF_INFINITE_LONG_DOUBLE.
12096
12097 2008-09-16  Bruno Haible  <bruno@clisp.org>
12098         and Eric Blake  <ebb9@byu.net>
12099
12100         vasnprintf: support Irix 5.3
12101         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
12102         that mishandle long double infinity.
12103         Reported by Tom G. Christensen.
12104
12105 2008-09-16  Bruno Haible  <bruno@clisp.org>
12106
12107         * doc/glibc-functions/scandir.texi: Mention the function is missing on
12108         Solaris 9.
12109         * doc/glibc-functions/alphasort.texi: Likewise.
12110         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
12111
12112 2008-09-16  Jim Meyering  <meyering@redhat.com>
12113
12114         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
12115         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
12116         a umask modification leak out of a subshell.  Otherwise, the
12117         opensolaris /bin/sh would be accepted and thus cause unwarranted
12118         failures in the coreutils test suite.
12119
12120 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
12121
12122         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
12123         to succeed.
12124
12125 2008-09-16  Jim Meyering  <meyering@redhat.com>
12126
12127         avoid spurious test failure when library is built without ACL support
12128         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
12129         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
12130         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
12131         * tests/test-copy-acl.sh: Likewise.
12132
12133 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12134
12135         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
12136         based on character occurrence counts.
12137
12138 2008-09-15  Eric Blake  <ebb9@byu.net>
12139
12140         tests: avoid some compiler warnings
12141         * tests/test-memchr.c (main): Pass NULL indirectly.
12142         * tests/test-closein.c (main): Avoid unused variable.
12143
12144 2008-09-15  Bruno Haible  <bruno@clisp.org>
12145
12146         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
12147         are missing on OpenBSD 4.0 individually.
12148         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12149
12150 2008-09-15  Bruno Haible  <bruno@clisp.org>
12151
12152         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
12153         * doc/posix-functions/strerror.texi: Mention also Cygwin.
12154         * doc/posix-functions/perror.texi: Likewise.
12155         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
12156         is missing.
12157         Reported by Eric Blake.
12158
12159         * lib/errno.in.h: Use replacement values >= 2000.
12160         Reported by Eric Blake.
12161
12162 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12163
12164         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
12165         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
12166         limit.
12167         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
12168         compareseq was aborted.
12169
12170 2008-09-14  Bruno Haible  <bruno@clisp.org>
12171
12172         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
12173         yvec_edit_count.
12174         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
12175         (fstrcmp_bounded): Simplify result computation accordingly.
12176
12177 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12178
12179         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
12180         (fstrcmp): Define in terms of fstrcmp_bounded.
12181         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
12182         lower_bound argument.
12183         Return quickly if the result is certainly < lower_bound.
12184         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
12185
12186 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12187
12188         * lib/diffseq.h (EARLY_ABORT): New macro.
12189         (compareseq): Change return type to bool. Return true when EARLY_ABORT
12190         evaluates to true.
12191
12192 2008-09-14  Bruno Haible  <bruno@clisp.org>
12193
12194         * modules/perror-tests: New file.
12195         * tests/test-perror.sh: New file.
12196         * tests/test-perror.c: New file.
12197
12198         New module 'perror'.
12199         * lib/stdio.in.h (perror): New declaration.
12200         * lib/perror.c: New file.
12201         * m4/perror.m4: New file.
12202         * modules/perror: New file.
12203         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
12204         * doc/posix-functions/perror.texi: Mention the perror module.
12205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
12206         REPLACE_PERROR.
12207         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
12208         REPLACE_PERROR.
12209
12210 2008-09-14  Bruno Haible  <bruno@clisp.org>
12211
12212         * modules/stdio (Makefile.am): Reorder to match the order in
12213         lib/stdio.in.h.
12214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
12215
12216 2008-09-13  Bruno Haible  <bruno@clisp.org>
12217
12218         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
12219
12220 2008-09-13  Bruno Haible  <bruno@clisp.org>
12221
12222         Extend strerror to cover the added errno values.
12223         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
12224         (rpl_strerror): Provide error messages for the added errno values and
12225         for the WSA* values.
12226         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
12227         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
12228         strerror.
12229         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
12230         * modules/strerror (Depends-on): Add errno.
12231         * doc/posix-functions/strerror.texi: Document the change.
12232         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
12233         and EOVERFLOW.
12234
12235 2008-09-13  Bruno Haible  <bruno@clisp.org>
12236
12237         * modules/EOVERFLOW: Remove file.
12238         * m4/eoverflow.m4: Remove file.
12239         * modules/EOVERFLOW-tests: Remove file.
12240         * tests/test-EOVERFLOW.c: Remove file.
12241         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
12242         * modules/ftell (Depends-on): Likewise.
12243         * modules/getdelim (Depends-on): Likewise.
12244         * modules/getugroups (Depends-on): Likewise.
12245         * modules/poll (Depends-on): Likewise.
12246         * modules/snprintf (Depends-on): Likewise.
12247         * modules/sprintf-posix (Depends-on): Likewise.
12248         * modules/vasnprintf (Depends-on): Likewise.
12249         * modules/vasprintf (Depends-on): Likewise.
12250         * modules/vfprintf-posix (Depends-on): Likewise.
12251         * modules/vsnprintf (Depends-on): Likewise.
12252         * modules/vsprintf-posix (Depends-on): Likewise.
12253         * modules/xvasprintf (Depends-on): Likewise.
12254         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
12255         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
12256         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
12257         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
12258         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
12259         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
12260         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
12261         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
12262         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
12263         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
12264         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
12265         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
12266         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
12267         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
12268         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
12269         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
12270         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
12271         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
12272         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
12273         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
12274         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
12275         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
12276         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
12277         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
12278         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
12279         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
12280         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
12281         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
12282         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
12283         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
12284         * MODULES.html.sh: Remove EOVERFLOW.
12285         * NEWS: Mention the change.
12286
12287 2008-09-13  Bruno Haible  <bruno@clisp.org>
12288
12289         * modules/errno-tests: New file.
12290         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
12291
12292         * lib/errno.in.h: New file.
12293         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
12294         * modules/errno: New file.
12295         * doc/posix-headers/errno.texi: Update documentation.
12296         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
12297
12298 2008-09-13  Bruno Haible  <bruno@clisp.org>
12299
12300         * tests/test-poll.c: Use #if for native Windows, rather than testing
12301         __MSVCRT__.
12302
12303 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12304             Bruno Haible  <bruno@clisp.org>
12305
12306         * lib/glob.c: Don't include <pwd.h> on native Windows.
12307         (WINDOWS32): New macro.
12308         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
12309
12310 2008-09-13  Bruno Haible  <bruno@clisp.org>
12311
12312         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
12313         (ETIMEDOUT): Remove macro.
12314         (glthread_cond_timedwait_multithreaded): New declaration.
12315         (glthread_cond_timedwait): Use it.
12316         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
12317         (glthread_cond_timedwait_multithreaded): New function.
12318
12319 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
12320
12321         * modules/poll-tests: Do not check for io.h.
12322         * tests/test-poll.c: Check for __MSVCRT__ instead.
12323
12324 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
12325
12326         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
12327         * modules/poll-tests: Add inet_pton, stdbool, sockets.
12328         * tests/test-poll.c: Use them.  Use _pipe on Windows.
12329
12330 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
12331
12332         * modules/poll-tests: New.
12333         * tests/test-poll.c: New.
12334
12335 2008-09-12  Eric Blake  <ebb9@byu.net>
12336
12337         frexp: test for NetBSD failure on -0.0
12338         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
12339         not all, bugs from NetBSD 3.0 have been fixed.
12340         * doc/posix-functions/frexp.texi (frexp): Document bug.
12341         Reported by Thomas Klausner.
12342
12343         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
12344         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
12345         literal -0.0.
12346         Reported by Jonathan C. Patschke <jp@centtech.com>.
12347
12348 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12349
12350         * lib/glthread/cond.h: Use dummy implementation also if
12351         USE_WIN32_THREADS.
12352
12353 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12354
12355         * modules/fnmatch-posix (License): Change to LGPLv2+.
12356         * modules/fnmatch-gnu (License): Likewise.
12357
12358 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12359
12360         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
12361
12362 2008-09-11  Jim Meyering  <meyering@redhat.com>
12363
12364         * users.txt: Add gtk-vnc.
12365
12366 2008-09-08  Simon Josefsson  <simon@josefsson.org>
12367
12368         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
12369         rotate amounts.
12370
12371         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
12372         required for 16-bit and 8-bit rotates.
12373         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
12374         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
12375         UINT8_MAX instead of hard-coded constants.
12376         Suggested by Paul Eggert.
12377
12378 2008-09-07  Bruno Haible  <bruno@clisp.org>
12379
12380         * tests/test-striconveh.c (main): Check behaviour when converting from
12381         UTF-7.
12382
12383         Make striconveh work better with stateful encodings.
12384         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
12385         that iconv does not increment the inptr when returning -1/EINVAL.
12386
12387 2008-09-07  Bruno Haible  <bruno@clisp.org>
12388
12389         * build-aux/config.rpath: Update according to libtool-2.2.6.
12390         * build-aux/config.libpath: Likewise.
12391
12392 2008-09-06  Bruno Haible  <bruno@clisp.org>
12393
12394         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
12395         * lib/freadptr.c (freadptr): Likewise.
12396         * lib/freadseek.c (freadptrinc): Likewise.
12397         Reported by Simon Josefsson.
12398
12399 2008-09-06  Bruno Haible  <bruno@clisp.org>
12400
12401         * modules/freadptr (License): Change to LGPLv2+.
12402         * modules/freadseek (License): Likewise.
12403         Suggested by Eric Blake.
12404
12405         * modules/memchr2 (License): Change to LGPLv2+.
12406         Approved by Eric Blake.
12407
12408 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12409             Bruno Haible  <bruno@clisp.org>
12410
12411         Make gnulib-tool work with native 'sed' on AIX.
12412         * gnulib-tool (sed_noop): New variable.
12413         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
12414         func_add_or_update, func_create_testdir): Use it to initialize sed
12415         script variables.
12416         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12417
12418 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
12419             Bruno Haible  <bruno@clisp.org>
12420
12421         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
12422         also works after #include directives.
12423
12424 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
12425
12426         getdate.y: reject an out-of-range timezone value
12427         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
12428         the range [-24...+24].  When specified with only one or two digits,
12429         * tests/test-getdate.c: Tests for the fix.
12430         * doc/getdate.texi: Document this change.
12431
12432 2008-09-03  Bruno Haible  <bruno@clisp.org>
12433
12434         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
12435
12436 2008-09-02  Simon Josefsson  <simon@josefsson.org>
12437
12438         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
12439         <bruce.korb@gmail.com> with ideas from Ben Pfaff
12440         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
12441         Blake <ebb9@byu.net>.
12442
12443         * tests/test-bitrotate.c: Add more test vectors.
12444
12445 2008-09-02  Eric Blake  <ebb9@byu.net>
12446
12447         vasnprintf-posix: handle large precision via %.*d
12448         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
12449         when handling it ourselves.
12450         * tests/test-vasnprintf-posix.c (test_function): Add test.
12451         * tests/test-snprintf-posix.h (test_function): Likewise.
12452         * tests/test-sprintf-posix.h (test_function): Likewise.
12453         * tests/test-vasprintf-posix.c (test_function): Likewise.
12454         Reported by Alain Guibert.
12455
12456 2008-09-01  Eric Blake  <ebb9@byu.net>
12457
12458         c-stack: make configure-time check more robust
12459         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
12460         successful sigaction call.
12461         Reported by Tom G. Christensen.
12462
12463 2008-09-01  Bruno Haible  <bruno@clisp.org>
12464
12465         New module 'findprog-lgpl'.
12466         * modules/findprog-lgpl: New file.
12467         * lib/findprog-lgpl.c: New file.
12468         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
12469         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
12470         to decide whether to use strdup or xstrdup, concatenated_filename or
12471         xconcatenated_filename.
12472
12473 2008-09-01  Bruno Haible  <bruno@clisp.org>
12474
12475         Split module 'concat-filename' into 'concat-filename' (LGPL) and
12476         'xconcat-filename' (GPL).
12477         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
12478         (License): Change to LGPLv2+.
12479         * modules/xconcat-filename: New file.
12480         * lib/concat-filename.h (concatenated_filename): Change specification.
12481         (xconcatenated_filename): New declaration.
12482         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
12483         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
12484         memory situations.
12485         * lib/xconcat-filename.c: New file.
12486         * NEWS: Mention the change.
12487         * lib/findprog.c: Include concat-filename.h, not filename.h.
12488         (find_in_path): Use xconcatenated_filename instead of
12489         concatenated_filename.
12490         * lib/javacomp.c: Include concat-filename.h, not filename.h.
12491         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
12492         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
12493         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
12494         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
12495         instead of concatenated_filename.
12496         * lib/javaexec.c: Include concat-filename.h, not filename.h.
12497         (execute_java_class): Use xconcatenated_filename instead of
12498         concatenated_filename.
12499         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
12500         * modules/javacomp (Depends-on): Likewise.
12501         * modules/javaexec (Depends-on): Likewise.
12502
12503 2008-09-01  Bruno Haible  <bruno@clisp.org>
12504
12505         Split module 'filename' into 'filename' and 'concat-filename'.
12506         * modules/filename: Keep only lib/filename.h.
12507         (License): Change to LGPLv2+.
12508         * modules/concat-filename: New file, extracted from modules/filename.
12509         * lib/filename.h (concatenated_filename): Remove declaration.
12510         * lib/concat-filename.h: New file, extracted from lib/filename.h.
12511         * lib/concat-filename.c: Include concat-filename.h.
12512         * NEWS: Mention the change.
12513
12514 2008-09-01  Simon Josefsson  <simon@josefsson.org>
12515
12516         * lib/bitrotate.h (rotl8, rotr8): Add.
12517
12518         * modules/bitrotate (configure.ac): Need
12519         AC_REQUIRE([AC_C_INLINE]).
12520         (Description): Mention stdint.h.  Reported by Bruno Haible
12521         <bruno@clisp.org>.
12522
12523         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
12524         Paolo Bonzini <bonzini@gnu.org>.
12525
12526 2008-08-31  Bruno Haible  <bruno@clisp.org>
12527
12528         Assume Solaris specific bi-arch conventions on Solaris systems.
12529         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
12530         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
12531         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
12532         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
12533         like acl_libdirstem.
12534         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
12535         acl_libdirstem.
12536         * NEWS: Mention the change.
12537         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
12538
12539 2008-08-31  Jim Meyering  <meyering@redhat.com>
12540
12541         * lib/strftime.h: Add comments describing the two added arguments.
12542
12543         remove duplicate #include directives
12544         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
12545         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
12546
12547 2008-08-31  Bruno Haible  <bruno@clisp.org>
12548
12549         New module 'sigpipe-die'.
12550         * modules/sigpipe-die: New file.
12551         * lib/sigpipe-die.h: New file.
12552         * lib/sigpipe-die.c: New file.
12553         * MODULES.html.sh (Signal handling): Add sigpipe-die.
12554
12555 2008-08-31  Bruno Haible  <bruno@clisp.org>
12556
12557         Don't override previously installed signal handlers.
12558         * lib/fatal-signal.c (saved_sigactions): New variable.
12559         (uninstall_handlers): Reset the signal to the saved handler, not
12560         to SIG_DFL (except when ignored).
12561         (install_handlers): Save the previous handlers.
12562
12563 2008-08-30  Bruno Haible  <bruno@clisp.org>
12564
12565         * gnulib-tool (func_reset_sigpipe): New function.
12566         (func_get_automake_snippet, func_modules_transitive_closure,
12567         func_import): Invoke it before a join command that reads from stdin,
12568         to avoid "echo: write error: Broken pipe" error messages on stderr.
12569         Reported by Sam Steingold <sds@gnu.org>.
12570
12571 2008-08-30  Bruno Haible  <bruno@clisp.org>
12572
12573         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
12574         Code copied from m4/open.m4.
12575         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
12576         access and the filename ends in a slash. Code copied from lib/open.c.
12577         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
12578         * tests/test-fopen.c (main): Check against bug with trailing slash.
12579
12580 2008-08-29  Bruno Haible  <bruno@clisp.org>
12581
12582         Avoid some "gcc -pedantic" warnings.
12583         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
12584         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
12585         * lib/dirent.in.h: Likewise.
12586         * lib/fcntl.in.h: Likewise.
12587         * lib/float.in.h: Likewise.
12588         * lib/iconv.in.h: Likewise.
12589         * lib/inttypes.in.h: Likewise.
12590         * lib/locale.in.h: Likewise.
12591         * lib/math.in.h: Likewise.
12592         * lib/netinet_in.in.h: Likewise.
12593         * lib/search.in.h: Likewise.
12594         * lib/signal.in.h: Likewise.
12595         * lib/stdarg.in.h: Likewise.
12596         * lib/stdint.in.h: Likewise.
12597         * lib/stdio.in.h: Likewise.
12598         * lib/stdlib.in.h: Likewise.
12599         * lib/string.in.h: Likewise.
12600         * lib/strings.in.h: Likewise.
12601         * lib/sys_select.in.h: Likewise.
12602         * lib/sys_socket.in.h: Likewise.
12603         * lib/sys_stat.in.h: Likewise.
12604         * lib/sys_time.in.h: Likewise.
12605         * lib/sysexits.in.h: Likewise.
12606         * lib/time.in.h: Likewise.
12607         * lib/unistd.in.h: Likewise.
12608         * lib/wchar.in.h: Likewise.
12609         * lib/wctype.in.h: Likewise.
12610         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
12611         * modules/fchdir (Makefile.am): Likewise.
12612         * modules/fcntl (Makefile.am): Likewise.
12613         * modules/float (Makefile.am): Likewise.
12614         * modules/iconv_open (Makefile.am): Likewise.
12615         * modules/inttypes (Makefile.am): Likewise.
12616         * modules/locale (Makefile.am): Likewise.
12617         * modules/math (Makefile.am): Likewise.
12618         * modules/netinet_in (Makefile.am): Likewise.
12619         * modules/search (Makefile.am): Likewise.
12620         * modules/signal (Makefile.am): Likewise.
12621         * modules/stdarg (Makefile.am): Likewise.
12622         * modules/stdint (Makefile.am): Likewise.
12623         * modules/stdio (Makefile.am): Likewise.
12624         * modules/stdlib (Makefile.am): Likewise.
12625         * modules/string (Makefile.am): Likewise.
12626         * modules/strings (Makefile.am): Likewise.
12627         * modules/sys_select (Makefile.am): Likewise.
12628         * modules/sys_socket (Makefile.am): Likewise.
12629         * modules/sys_stat (Makefile.am): Likewise.
12630         * modules/sys_time (Makefile.am): Likewise.
12631         * modules/sysexits (Makefile.am): Likewise.
12632         * modules/time (Makefile.am): Likewise.
12633         * modules/unistd (Makefile.am): Likewise.
12634         * modules/wchar (Makefile.am): Likewise.
12635         * modules/wctype (Makefile.am): Likewise.
12636         Reported by Reuben Thomas <rrt@sc3d.org>.
12637
12638 2008-08-29  Bruno Haible  <bruno@clisp.org>
12639
12640         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
12641         any more.
12642
12643 2008-08-29  Simon Josefsson  <simon@josefsson.org>
12644
12645         * MODULES.html.sh (Misc): Add bitrotate.
12646
12647         * modules/bitrotate: New file.
12648
12649         * lib/bitrotate.h: New file.
12650
12651         * modules/bitrotate-tests: New file.
12652
12653         * tests/test-bitrotate.c: New file.
12654
12655         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
12656         on the bitrotate module.
12657
12658         * lib/arctwo.c: Use new bitrotate module.
12659
12660 2008-08-29  Jim Meyering  <meyering@redhat.com>
12661
12662         bootstrap: merge changes from coreutils
12663         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
12664         of copied files.  Remove a kludge, now that this is fixed.
12665         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
12666         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
12667         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
12668
12669 2008-08-29  Bruno Haible  <bruno@clisp.org>
12670
12671         * MODULES.html.sh: Remove --cvs-urls option.
12672
12673 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
12674
12675         maint.mk: adjust to file name change
12676         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
12677
12678 2008-08-28  Jim Meyering  <meyering@redhat.com>
12679
12680         * modules/getndelim2 (License): Relicense to LGPLv2+.
12681         Approved by Richard Stallman for the version of 1995, and by
12682         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
12683
12684 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
12685
12686         * lib/getdelim.c (flockfile, funlockfile): Make all of them
12687         dummy if one is not available.  Do not touch them if
12688         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
12689         (getc_maybe_unlocked): New.
12690         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
12691
12692 2008-08-26  Eric Blake  <ebb9@byu.net>
12693
12694         doc/INSTALL: resync from autoconf
12695         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
12696         (INSTALL_PRELUDE): Delete; this is done more efficiently by
12697         moving...
12698         * install.texi [!autoconf]: ...here.  Resync from autoconf.
12699         * INSTALL: Regenerate.
12700         * INSTALL.ISO: New file.
12701         * INSTALL.UTF-8: Likewise.
12702
12703 2008-08-26  Jim Meyering  <meyering@redhat.com>
12704
12705         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
12706         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
12707         these definitions conditional, so that they may be overridden, too.
12708
12709 2008-08-26  Bruno Haible  <bruno@clisp.org>
12710
12711         Generate INSTALL file variants with prettier quotes.
12712         * doc/Makefile (INSTALL_PRELUDE): New macro.
12713         (INSTALL): Use it.
12714         (INSTALL.ISO, INSTALL.UTF-8): New rules.
12715
12716 2008-08-26  Bruno Haible  <bruno@clisp.org>
12717
12718         Run makeinfo in an English locale.
12719         * doc/Makefile (MAKEINFO): New variable.
12720
12721 2008-08-26  Bruno Haible  <bruno@clisp.org>
12722
12723         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
12724         Suggested by Eric Blake.
12725
12726 2008-08-25  Bruno Haible  <bruno@clisp.org>
12727
12728         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
12729
12730 2008-08-25  Eric Blake  <ebb9@byu.net>
12731
12732         c-stack: test that stack overflow can be caught
12733         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
12734         that platform allows handling stack overflow; at least OS/2 EMX
12735         has sigaltstack, but crashes before transferring control to
12736         handler on stack overflow.
12737         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
12738         check for HAVE_STACK_OVERFLOW_HANDLING.
12739         Reported by Elbert Pol.
12740
12741 2008-08-25  Bruno Haible  <bruno@clisp.org>
12742
12743         * doc/posix-functions/strftime.texi: Fix description of strftime
12744         module.
12745
12746 2008-08-24  Bruno Haible  <bruno@clisp.org>
12747
12748         * tests/uniwidth/test-uc_width2.c: New file.
12749         * tests/uniwidth/test-uc_width2.sh: New file.
12750         * modules/uniwidth/width-tests (Files): Add the new files.
12751         (TESTS): Add uniwidth/test-uc_width2.sh.
12752         (TESTS_ENVIRONMENT): New variable.
12753         (check_PROGRAMS): Add test-uc_width2.
12754         (test_uc_width2_SOURCES): New variable.
12755
12756         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
12757         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
12758         not 0x00AB.
12759         Reported by Alexander V. Lukyanov <lav@netis.ru>.
12760
12761 2008-08-22  Eric Blake  <ebb9@byu.net>
12762
12763         test-lock, test-tls: mention why a test is skipped
12764         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
12765         skipped.
12766         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
12767
12768         count-one-bits: relax license
12769         * modules/count-one-bits (License): Relicense to LGPLv2+.
12770         Suggested by Ludovic Courtès, approved by Ben Pfaff.
12771
12772 2008-08-22  Andreas Schwab  <schwab@suse.de>
12773
12774         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
12775         Remove spurious space in assignment.
12776
12777 2008-08-21  Simon Josefsson  <simon@josefsson.org>
12778
12779         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
12780         Paul Eggert <eggert@CS.UCLA.EDU>.
12781
12782 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
12783
12784         * modules/gettext: Add m4/threadlib.m4.
12785
12786 2008-08-19  Eric Blake  <ebb9@byu.net>
12787
12788         test-c-stack: fix compilation failure on FreeBSD 5.0
12789         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
12790         headers before <sys/resource.h>.
12791         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
12792         the bug.
12793         Reported by Nelson H. F. Beebe.
12794
12795         strverscmp: migrate from "strverscmp.h" to <string.h>
12796         * modules/string (Makefile.am): Add new hooks.
12797         * modules/strverscmp (Files): Remove strverscmp.h.
12798         (Depends-on): Add string.
12799         (configure.ac): Add indicator.
12800         (Include): Mention new header.
12801         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
12802         defaults.
12803         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
12804         results.
12805         * lib/strverscmp.h: Delete.
12806         * lib/string.in.h (strverscmp): Provide declaration, when needed.
12807         * tests/test-strverscmp.c (includes): Adjust client.
12808         * lib/check-version.c (includes): Likewise.
12809         * NEWS: Document the change.
12810
12811         strverscmp: add unit test
12812         * modules/strverscmp-tests: New file.
12813         * tests/test-strverscmp.c: Likewise.
12814
12815 2008-08-19  Simon Josefsson  <simon@josefsson.org>
12816
12817         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
12818         regarding Windows crypto stuff, from Mono.
12819
12820 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
12821
12822         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
12823         if present, for intel RND.  Return error on failures.
12824
12825 2008-08-18  Ben Pfaff  <blp@gnu.org>
12826
12827         gitlog-to-changelog: give better diagnostic for failed pipe-open
12828         * build-aux/gitlog-to-changelog: Improve error message: suggest
12829         that the version of Git may be too old.
12830
12831 2008-08-18  Simon Josefsson  <simon@josefsson.org>
12832
12833         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
12834         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
12835
12836 2008-08-18  Bruno Haible  <bruno@clisp.org>
12837
12838         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
12839         pthread_in_use().
12840
12841 2008-08-18  Bruno Haible  <bruno@clisp.org>
12842
12843         * lib/glthread/threadlib.c: Include <pthread.h>.
12844
12845 2008-08-18  Bruno Haible  <bruno@clisp.org>
12846
12847         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
12848         glthread_recursive_lock_* macros.
12849         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
12850         Fix syntax error.
12851
12852 2008-08-18  Bruno Haible  <bruno@clisp.org>
12853
12854         * lib/glthread/thread.c: Avoid forcing a context switch right after
12855         thread creation.
12856
12857 2008-08-17  Bruno Haible  <bruno@clisp.org>
12858
12859         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
12860         * lib/glthread/thread.h: Provide Win32 specific implementation.
12861         * modules/thread (Files): Add lib/glthread/thread.c.
12862         (Depends-on): Add lock.
12863         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
12864
12865 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12866
12867         New module 'yield'.
12868         * modules/yield: New file.
12869         * lib/glthread/yield.h: New file.
12870         * m4/yield.m4: New file.
12871         * MODULES.html.sh (Multithreading): Add yield.
12872
12873 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12874
12875         New module 'thread'.
12876         * modules/thread: New file.
12877         * lib/glthread/thread.h: New file.
12878         * m4/thread.m4: New file.
12879         * MODULES.html.sh (Multithreading): Add thread.
12880
12881 2008-08-17  Bruno Haible  <bruno@clisp.org>
12882
12883         * lib/glthread/lock.h: Include <stdlib.h> always.
12884         * lib/glthread/tls.h: Likewise.
12885         * lib/glthread/cond.h: Likewise.
12886
12887 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12888
12889         New module 'cond'.
12890         * modules/cond: New file.
12891         * lib/glthread/cond.h: New file.
12892         * lib/glthread/cond.c: New file.
12893         * m4/cond.m4: New file.
12894         * MODULES.html.sh (Multithreading): Add cond.
12895
12896 2008-08-16  Eric Blake  <ebb9@byu.net>
12897
12898         c-stack: fix regression on Irix 5.3 from 2008-06-21
12899         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
12900         sa_sigaction...
12901         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
12902         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
12903         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
12904         * modules/signal (Makefile.am): Use the value.
12905         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
12906         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
12907         * doc/posix-headers/signal.texi (signal.h): Document this
12908         portability issue.
12909         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
12910         Reported by Tom G. Christensen.
12911
12912 2008-08-17  Bruno Haible  <bruno@clisp.org>
12913
12914         New module 'threadlib'.
12915         * modules/threadlib: New file.
12916         * lib/glthread/threadlib.c: New file, extracted from
12917         lib/glthread/lock.c.
12918         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
12919         functions.
12920         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
12921         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
12922         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
12923         macros.
12924         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
12925         (gl_DISABLE_THREADS): Remove macro.
12926         * modules/lock (Files): Remove build-aux/config.rpath.
12927         (Depends-on): Remove havelib. Add threadlib.
12928         (configure.ac-early): Remove section.
12929         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
12930         * modules/tls (Depends-on): Remove lock. Add threadlib.
12931         (Link): New section, copied from threadlib.
12932         * MODULES.html.sh (Multithreading): Add threadlib.
12933
12934 2008-08-14  Bruno Haible  <bruno@clisp.org>
12935
12936         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
12937         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
12938         glthread_rwlock_unlock, glthread_rwlock_destroy,
12939         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
12940         glthread_recursive_lock_destroy): Define as macros always.
12941         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
12942         glthread_lock_lock.
12943         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
12944         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
12945         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
12946         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
12947         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
12948         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
12949         (glthread_recursive_lock_lock_func): Renamed from
12950         glthread_recursive_lock_lock.
12951         (glthread_recursive_lock_unlock_func): Renamed from
12952         glthread_recursive_lock_unlock.
12953         (glthread_recursive_lock_destroy_func): Renamed from
12954         glthread_recursive_lock_destroy.
12955
12956 2008-08-14  Bruno Haible  <bruno@clisp.org>
12957
12958         * lib/glthread/lock.h: Renamed from lib/lock.h.
12959         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
12960         * lib/glthread/tls.h: Renamed from lib/tls.h.
12961         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
12962         * lib/fstrcmp.c: Update includes.
12963         * lib/strsignal.c: Update includes.
12964         * modules/lock (Files, Makefile.am): Update.
12965         (Include): Change to "glthread/lock.h".
12966         * modules/tls (Files, Makefile.am): Update.
12967         (Include): Change to "glthread/tls.h".
12968         * tests/test-lock.c: Update includes.
12969         * tests/test-tls.c: Update includes.
12970         * NEWS: Mention the renamed header files.
12971
12972 2008-08-11  Jim Meyering  <meyering@redhat.com>
12973
12974         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
12975
12976 2008-08-11  Eric Blake  <ebb9@byu.net>
12977
12978         test-c-stack: avoid C99-ism
12979         * tests/test-c-stack.c (main): Fix whitespace, move declaration
12980         before statement.
12981         Reported by Alain Guibert.
12982
12983 2008-08-10  Jim Meyering  <meyering@redhat.com>
12984
12985         ensure that return value of uinttostr et al are not ignored
12986         * lib/inttostr.h (__GNUC_PREREQ): Define.
12987         (__attribute_warn_unused_result__): Define.
12988         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
12989
12990 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
12991
12992         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
12993         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
12994
12995 2008-08-07  Jim Meyering  <meyering@redhat.com>
12996
12997         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
12998
12999         * modules/mkstemp (License): Relicense under LGPLv2+.
13000         * modules/tempname (License): Likewise.
13001
13002 2008-08-06  Bruno Haible  <bruno@clisp.org>
13003
13004         * lib/poll.c (poll): Further micro-optimization.
13005
13006 2008-08-06  Jim Meyering  <meyering@redhat.com>
13007
13008         inet_pton.c: use locale-independent tolower
13009         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
13010         (inet_pton6): Use c_tolower rather than tolower.
13011         * modules/inet_pton (Depends-on): Add c-ctype.
13012
13013 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
13014
13015         * lib/poll.c (poll): Avoid division when timeout is 0, cache
13016         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
13017
13018 2008-08-06  Jim Meyering  <meyering@redhat.com>
13019
13020         * modules/inet_pton (License): Relicense under LGPLv2+.
13021
13022 2008-08-03  Bruno Haible  <bruno@clisp.org>
13023
13024         Additional non-aborting API for lock and tls.
13025         * lib/lock.h: Include <errno.h>.
13026         (glthread_lock_init): New macro/function.
13027         (gl_lock_init): Define as wrapper around glthread_lock_init.
13028         (glthread_lock_lock): New macro/function.
13029         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
13030         (glthread_lock_unlock): New macro/function.
13031         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
13032         (glthread_lock_destroy): New macro/function.
13033         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
13034         (glthread_rwlock_init): New macro/function.
13035         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
13036         (glthread_rwlock_rdlock): New macro/function.
13037         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
13038         (glthread_rwlock_wrlock): New macro/function.
13039         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
13040         (glthread_rwlock_unlock): New macro/function.
13041         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
13042         (glthread_rwlock_destroy): New macro/function.
13043         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
13044         (glthread_recursive_lock_init): New macro/function.
13045         (gl_recursive_lock_init): Define as wrapper around
13046         glthread_recursive_lock_init.
13047         (glthread_recursive_lock_lock): New macro/function.
13048         (gl_recursive_lock_lock): Define as wrapper around
13049         glthread_recursive_lock_lock.
13050         (glthread_recursive_lock_unlock): New macro/function.
13051         (gl_recursive_lock_unlock): Define as wrapper around
13052         glthread_recursive_lock_unlock.
13053         (glthread_recursive_lock_destroy): New macro/function.
13054         (gl_recursive_lock_destroy): Define as wrapper around
13055         glthread_recursive_lock_destroy.
13056         (glthread_once): New macro/function.
13057         (gl_once): Define as wrapper around glthread_once.
13058         Update function declarations.
13059         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
13060         glthread_rwlock_init. Return error code.
13061         (glthread_rwlock_rdlock_multithreaded): Renamed from
13062         glthread_rwlock_rdlock. Return error code.
13063         (glthread_rwlock_wrlock_multithreaded): Renamed from
13064         glthread_rwlock_wrlock. Return error code.
13065         (glthread_rwlock_unlock_multithreaded): Renamed from
13066         glthread_rwlock_unlock. Return error code.
13067         (glthread_rwlock_destroy_multithreaded): Renamed from
13068         glthread_rwlock_destroy. Return error code.
13069         (glthread_recursive_lock_init_multithreaded): Renamed from
13070         glthread_recursive_lock_init. Return error code.
13071         (glthread_recursive_lock_lock_multithreaded): Renamed from
13072         glthread_recursive_lock_lock. Return error code.
13073         (glthread_recursive_lock_unlock_multithreaded): Renamed from
13074         glthread_recursive_lock_unlock. Return error code.
13075         (glthread_recursive_lock_destroy_multithreaded): Renamed from
13076         glthread_recursive_lock_destroy. Return error code.
13077         (glthread_once_call): Make static.
13078         (glthread_once_multithreaded): Renamed from glthread_once.
13079         * lib/tls.h: Include <errno.h>.
13080         (glthread_tls_key_init): New macro/function.
13081         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
13082         (glthread_tls_set): New macro/function.
13083         (gl_tls_set): Define as wrapper around glthread_tls_set.
13084         (glthread_tls_key_destroy): New macro/function.
13085         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
13086         Update function declarations.
13087         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
13088         glthread_tls_get.
13089         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13090
13091 2008-08-04  Eric Blake  <ebb9@byu.net>
13092
13093         gnumakefile: use space, not TAB, outside of targets
13094         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
13095
13096 2008-08-02  Jim Meyering  <meyering@redhat.com>
13097
13098         getdate.y: avoid locale-dependent date parsing failure
13099         In Turkish locales, getdate would fail to recognize keywords
13100         containing a lowercase "i".  The solution is not to rely on
13101         locale-sensitive case-conversion.
13102         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
13103         (lookup_word): Use c_toupper in place of toupper.
13104         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
13105         Reported by Vefa Bicakci <bicave@superonline.com> in
13106         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
13107         * modules/getdate (Depends-on): Add c-ctype.
13108
13109 2008-08-02  Bruno Haible  <bruno@clisp.org>
13110
13111         * gnulib-tool (func_import): When updating or creating a .gitignore
13112         file, prepend each added line with a slash, and ignore leading slashes
13113         from the existing lines.
13114         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
13115
13116 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13117
13118         Portability fix for GNU make 3.79.1.
13119         * top/GNUmakefile: Avoid 'else COND', which older GNU make
13120         versions do not understand.
13121
13122 2008-08-01  Bruno Haible  <bruno@clisp.org>
13123
13124         Work around bug of HP-UX 10.20 cc with -0.0 literal.
13125         * tests/test-isnanf.h (zero): New variable.
13126         (main): Avoid literal -0.0f.
13127         * tests/test-isnand.h (zero): New variable.
13128         (main): Avoid literal -0.0.
13129         * tests/test-isnanl.h (zero): New variable.
13130         (main): Avoid literal -0.0L.
13131         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
13132         (test_float, test_double, test_long_double): Avoid literals -0.0f,
13133         -0.0, -0.0L.
13134         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
13135         (test_signbitd): Avoid literal -0.0.
13136         (test_signbitl): Avoid literal -0.0L.
13137         * tests/test-ceilf1.c (zero): New variable.
13138         (main): Avoid literal -0.0f.
13139         * tests/test-ceill.c (zero): New variable.
13140         (main): Avoid literal -0.0L.
13141         * tests/test-floorf1.c (zero): New variable.
13142         (main): Avoid literal -0.0f.
13143         * tests/test-floorl.c (zero): New variable.
13144         (main): Avoid literal -0.0L.
13145         * tests/test-roundf1.c (zero): New variable.
13146         (main): Avoid literal -0.0f.
13147         * tests/test-round1.c (zero): New variable.
13148         (main): Avoid literal -0.0.
13149         * tests/test-roundl.c (zero): New variable.
13150         (main): Avoid literal -0.0L.
13151         * tests/test-truncf1.c (zero): New variable.
13152         (main): Avoid literal -0.0f.
13153         * tests/test-trunc1.c (zero): New variable.
13154         (main): Avoid literal -0.0.
13155         * tests/test-truncl.c (zero): New variable.
13156         (main): Avoid literal -0.0L.
13157         * tests/test-frexp.c (zero): New variable.
13158         (main): Avoid literal -0.0.
13159         * tests/test-frexpl.c (zero): New variable.
13160         (main): Avoid literal -0.0L.
13161         * tests/test-ldexpl.c (zero): New variable.
13162         (main): Avoid literal -0.0L.
13163         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
13164         (zerod, zerol): New variables.
13165         (test_function): Avoid literals -0.0, -0.0L.
13166         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
13167         (zerod, zerol): New variables.
13168         (test_function): Avoid literals -0.0, -0.0L.
13169         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
13170         (zerod, zerol): New variables.
13171         (test_function): Avoid literals -0.0, -0.0L.
13172         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
13173         (zerod, zerol): New variables.
13174         (test_function): Avoid literals -0.0, -0.0L.
13175         * tests/test-strtod.c (zero): New variable.
13176         (main): Avoid literal -0.0.
13177         Reported by Jonathan C. Patschke <jp@centtech.com>.
13178
13179 2008-07-31  Jim Meyering  <meyering@redhat.com>
13180
13181         sha256.h: correct definition of SHA224_DIGEST_SIZE
13182         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
13183         Reported by Paulie Pena IV <paulie4@gmail.com>.
13184         Define as 224 / 8, rather than as a literal.
13185         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
13186         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
13187         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
13188
13189 2008-07-31  Bruno Haible  <bruno@clisp.org>
13190
13191         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
13192         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
13193         Reported by Jonathan Patschke <jp@centtech.com>.
13194
13195 2008-07-31  Bruno Haible  <bruno@clisp.org>
13196
13197         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
13198         Reported by Paolo Bonzini <bonzini@gnu.org>.
13199
13200 2008-07-30  Eric Blake  <ebb9@byu.net>
13201
13202         test-strtod: allow compilation without -lm
13203         * tests/test-strtod.c (main): Avoid link dependence on fabs.
13204         Reported by Dennis Clarke <blastwave@gmail.com>.
13205
13206 2008-07-28  Jim Meyering  <meyering@redhat.com>
13207
13208         bootstrap: work also when there are no .po files in po/
13209         * build-aux/bootstrap (update_po_files): Complete the change
13210         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
13211
13212 2008-07-27  Jim Meyering  <meyering@redhat.com>
13213
13214         * users.txt: Add zile.
13215
13216 2008-07-26  Ben Pfaff  <blp@gnu.org>
13217
13218         Add missing dependencies on new m4/exponent[fdl].m4 files.
13219         * modules/isnanf-nolibm: Add m4/exponentf.m4.
13220         * modules/isnand-nolibm: Add m4/exponentd.m4.
13221         * modules/isnanl-nolibm: Add m4/exponentl.m4.
13222         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
13223         m4/isnan[fdl].m4, because the macros actually used moved.
13224         Reported by Jim Meyering.
13225
13226 2008-07-14  Ben Pfaff  <blp@gnu.org>
13227
13228         Add isinf module.
13229         * lib/isinf.c: New file.
13230         * lib/math.in.h: Define isinf macro if we have decided to replace
13231         it.
13232         * m4/isinf.m4: New file.
13233         * m4/math_h.m4: Initialize and substitute variables for isinf
13234         module.
13235         * modules/isinf: New file.
13236         * modules/isinf-tests: New file.
13237         * modules/math: Add substitutions for new module.
13238         * tests/test-isinf.c: New file.
13239         * doc/posix-functions/isinf.texi: Mention new module.
13240         * MODULES.html.sh: Mention new module.
13241
13242 2008-07-14  Ben Pfaff  <blp@gnu.org>
13243
13244         Factor out some macros for use by additional modules.
13245         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
13246         exponentf.m4.
13247         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
13248         exponentd.m4.
13249         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
13250         file exponentl.m4.
13251         * m4/exponentf.m4: New file.
13252         * m4/exponentd.m4: New file.
13253         * m4/exponentl.m4: New file.
13254         * modules/isnanf: Use new file m4/exponentf.m4.
13255         * modules/isnand: Use new file m4/exponentd.m4.
13256         * modules/isnanl: Use new file m4/exponentl.m4.
13257
13258 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
13259
13260         mktime.c: normalize tp->tm_isdst value to -1/0/1.
13261         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
13262         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
13263         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
13264
13265         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
13266         readlink on platforms without PATH_MAX.
13267
13268 2008-07-21  Eric Blake  <ebb9@byu.net>
13269
13270         Warn, not fail, on stale version.
13271         * top/GNUmakefile (_curr-ver): Tone down previous patch.
13272
13273         Don't allow installation with stale devel version number.
13274         * top/GNUmakefile (_is-install-target): New macro.
13275         (_curr-ver): Forbid installation with stale version number.
13276
13277 2008-07-20  Bruno Haible  <bruno@clisp.org>
13278
13279         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
13280         TESTS_ENVIRONMENT.
13281         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
13282
13283 2008-07-20  Bruno Haible  <bruno@clisp.org>
13284
13285         * lib/c-stack.h (c_stack_action): Add documentation.
13286         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
13287
13288 2008-07-20  Bruno Haible  <bruno@clisp.org>
13289
13290         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
13291         * modules/readlink (License): Likewise.
13292
13293 2008-07-17  Eric Blake  <ebb9@byu.net>
13294
13295         * modules/c-stack (Link): Fix typo.
13296
13297         Make c-stack use libsigsegv, when available.
13298         * modules/c-stack (Depends-on): Add libsigsegv.
13299         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
13300         needed.
13301         * lib/c-stack.c (SIGSTKSZ): Define fallback.
13302         (segv_handler, overflow_handler, c_stack_action)
13303         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
13304         implementation when libsigsegv is available, but only when using
13305         the library is necessary.
13306         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
13307         comment, explaining why XSI check fails on Linux.
13308         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
13309         * tests/test-c-stack2.sh: Tweak skip message.
13310         * NEWS: Document new link-time requirements.
13311
13312 2008-07-16  Eric Blake  <ebb9@byu.net>
13313
13314         c-stack: Expose false positives when not using libsigsegv.
13315         * modules/c-stack-tests (Files): Expand test.
13316         * tests/test-c-stack.c (main): Add means to conditionally trigger
13317         non-overflow SIGSEGV.
13318         * tests/test-c-stack2.sh: New file.
13319
13320 2008-07-14  Bruno Haible  <bruno@clisp.org>
13321
13322         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
13323         Reported by Eric Blake.
13324
13325 2008-07-14  Sam Steingold  <sds@gnu.org>
13326             Bruno Haible  <bruno@clisp.org>
13327
13328         New module libsigsegv.
13329         * modules/libsigsegv: New file.
13330         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
13331         modifications.
13332         * MODULES.html.sh (Signal handling): New section.
13333
13334 2008-07-14  Bruno Haible  <bruno@clisp.org>
13335
13336         * modules/unictype/ctype-* (Description): Add the word "function".
13337         Improves the resulting doc in MODULES.html.
13338
13339 2008-07-12  Ben Pfaff  <blp@gnu.org>
13340
13341         Add longlong module.
13342         * modules/longlong: New file.
13343
13344 2008-07-12  Bruno Haible  <bruno@clisp.org>
13345
13346         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
13347         to empty.
13348
13349 2008-07-10  Ben Pfaff  <blp@gnu.org>
13350
13351         Add isnan module.
13352         * doc/posix-functions/isnan.texi: Mention new module.
13353         * lib/math.in.h: Define isnan macro if we have decided to replace
13354         it.
13355         * m4/isnan.m4: New file.
13356         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
13357         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
13358         also.
13359         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
13360         redundancy.
13361         * m4/math_h.m4: Initialize and substitute variables for isnan
13362         module.
13363         * modules/isnan: New file.
13364         * modules/isnan-tests: New file.
13365         * modules/math: Add substitutions for new module.
13366         * tests/test-isnan.c: New file.
13367         * MODULES.html.sh: Mention new module.
13368
13369 2008-07-10  Ben Pfaff  <blp@gnu.org>
13370
13371         Add isnanf module.
13372         * lib/isnanf.m4: New file.
13373         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
13374         (gl_HAVE_ISNANF_IN_LIBM): New macro.
13375         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
13376         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
13377         * modules/isnanf: New file.
13378         * modules/isnanf-tests: New file.
13379         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
13380         files.
13381         * tests/test-isnanf-nolibm.c: factored most of its contents into
13382         new file tests/test-isnanf.h.
13383         * tests/test-isnanf.h: New file.
13384         * tests/test-isnanf.c: New file.
13385         * MODULES.html.sh: Mention new module.
13386         * doc/glibc-functions/isnanf.texi: Mention new module.
13387
13388 2008-07-10  Ben Pfaff  <blp@gnu.org>
13389
13390         Add isnand module.
13391         * lib/isnand.h: New file.
13392         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
13393         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
13394         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
13395         functionality also.
13396         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
13397         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
13398         (gl_HAVE_ISNAND_IN_LIBM): New macro.
13399         * modules/isnand: New file.
13400         * modules/isnand-tests: New file.
13401         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
13402         files.
13403         * tests/test-isnand-nolibm.c: factored most of its contents into
13404         new file tests/test-isnand.h.
13405         * tests/test-isnand.h: New file.
13406         * tests/test-isnand.c: New file.
13407         * MODULES.html.sh: Mention new module.
13408
13409 2008-07-10  Ben Pfaff  <blp@gnu.org>
13410
13411         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
13412         * lib/isnand.h: Rename lib/isnand-nolibm.h.
13413         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
13414         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
13415         * modules/isnanf-nolibm: Update references to renamed files.
13416         * modules/isnand-nolibm: Likewise.
13417         * modules/isnanf-nolibm-tests: Likewise.
13418         * modules/isnand-nolibm-tests: Likewise.
13419         * lib/frexp.c: Likewise.
13420         * lib/isfinite.c: Likewise.
13421         * lib/signbitd.c: Likewise.
13422         * lib/signbitf.c: Likewise.
13423         * lib/vasnprintf.c: Likewise.
13424         * tests/test-ceilf1.c: Likewise.
13425         * tests/test-ceilf2.c: Likewise.
13426         * tests/test-floorf1.c: Likewise.
13427         * tests/test-floorf2.c: Likewise.
13428         * tests/test-frexp.c: Likewise.
13429         * tests/test-round1.c: Likewise.
13430         * tests/test-round2.c: Likewise.
13431         * tests/test-roundf1.c: Likewise.
13432         * tests/test-strtod.c: Likewise.
13433         * tests/test-trunc1.c: Likewise.
13434         * tests/test-trunc2.c: Likewise.
13435         * tests/test-truncf1.c: Likewise.
13436         * tests/test-truncf2.c: Likewise.
13437         * NEWS: Mention the renamed header files.
13438
13439 2008-07-11  Jim Meyering  <meyering@redhat.com>
13440
13441         vc-list-files: make the last-resort awk code more portable
13442         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
13443         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
13444         does not support it.
13445
13446 2008-07-10  Eric Blake  <ebb9@byu.net>
13447
13448         Work with tar's bootstrap.
13449         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
13450         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
13451         an m4 comment.
13452
13453 2008-07-09  Jim Meyering  <meyering@redhat.com>
13454
13455         posix-shell.m4: fix typo that made this test malfunction
13456         * m4/posix-shell.m4: Remove capitalization in variable name.
13457
13458 2008-07-08  Bruno Haible  <bruno@clisp.org>
13459
13460         * m4/onceonly.m4: Update comments.
13461         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13462
13463 2008-07-04  Jim Meyering  <meyering@redhat.com>
13464
13465         * users.txt: Add vc-dwim.
13466         (bison, coreutils): Use the gitweb URL.
13467
13468 2008-07-03  Jim Meyering  <meyering@redhat.com>
13469
13470         * users.txt: Add libffcall.  From Sam Steingold.
13471
13472 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
13473
13474         getdate.y: do not ignore TZ with relative day, month or year offset
13475         * lib/getdate.y (get_date): Move the tz-handling block to follow the
13476         relative-date-handling, since otherwise, the latter would clobber the
13477         sole output (an updated Start value) of the tz-handling block.
13478         * tests/test-getdate.c: Tests for the fix
13479
13480 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13481
13482         Recognize 'foo_LIBRARIES += libgnu.a'.
13483         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
13484         makefile snippet has already specified an installation location,
13485         also using '+='.
13486
13487 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
13488
13489         getdate.y: factor out common actions
13490         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
13491         Use them in place of open-coded actions.
13492
13493 2008-07-01  Simon Josefsson  <simon@josefsson.org>
13494
13495         Add self-test for getdate module.
13496         * modules/getdate-tests: New file.
13497         * tests/test-getdate.c: New file.
13498
13499 2008-06-29  Bruno Haible  <bruno@clisp.org>
13500
13501         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
13502         .gitignore.
13503         Reported by Sylvain Beucler <beuc@beuc.net>.
13504
13505 2008-06-29  Bruno Haible  <bruno@clisp.org>
13506
13507         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
13508         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
13509
13510 2008-06-29  Bruno Haible  <bruno@clisp.org>
13511
13512         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
13513         EXTRA_DIST.
13514         Reported by Sylvain Beucler <beuc@beuc.net>.
13515
13516 2008-06-26  Jim Meyering  <meyering@redhat.com>
13517
13518         make several modules depend on the "open" module
13519         This provides slightly increased consistency when opening-for-write
13520         the name of a non-directory spelled with a trailing slash.
13521         * modules/chdir-safer: Likewise.
13522         * modules/chown: Likewise.
13523         * modules/clean-temp: Likewise.
13524         * modules/copy-file: Likewise.
13525         * modules/fchdir: Likewise.
13526         * modules/fcntl-safer: Likewise.
13527         * modules/pipe: Likewise.
13528         * modules/utime: Likewise.
13529         Prompted by Eric Blake and Bruno Haible.
13530
13531 2008-06-24  Andreas Schwab  <schwab@suse.de>
13532
13533         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
13534         literals can be used as initializers for global variables.
13535
13536 2008-06-23  Eric Blake  <ebb9@byu.net>
13537
13538         Make gnulib-cache.m4 easier to diff.
13539         * gnulib-tool (func_import): Allow newlines when reading cached
13540         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
13541
13542 2008-06-23  Bruno Haible  <bruno@clisp.org>
13543
13544         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
13545         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
13546         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
13547         m4/signalblocking.m4.
13548         (gl_PREREQ_SIGACTION): Don't invoke it.
13549         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
13550         gl_PREREQ_SIG_HANDLER_H.
13551         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
13552         Don't check for sigaction here.
13553
13554 2008-06-23  Bruno Haible  <bruno@clisp.org>
13555
13556         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
13557         (install_handlers): Don't set the SA_RESETHAND flag.
13558
13559 2008-06-23  Bruno Haible  <bruno@clisp.org>
13560
13561         * m4/sigaction.m4: Comment fixes.
13562         * lib/signal.in.h: Likewise.
13563
13564 2008-06-23  Eric Blake  <ebb9@byu.net>
13565
13566         Fix typo.
13567         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
13568
13569         Avoid SA_ namespace.
13570         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
13571         Reported by Ralf Wildenhues.
13572
13573         Avoid test failure due to SA_RESTORER.
13574         * tests/test-sigaction.c (SA_MASK): New macro.
13575         (main): Avoid failing due to extension flags being set.
13576         Reported by Jim Meyering.
13577
13578         Revert use of sig-handler.h in sigprocmask.c.
13579         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
13580         it requires the existence of struct sigaction.
13581         * lib/sigprocmask.c (handler_t): Restore typedef.
13582         (rpl_signal, old_handlers): Use local type.
13583
13584 2008-06-22  Bruno Haible  <bruno@clisp.org>
13585
13586         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
13587         conditionally.
13588         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13589
13590 2008-06-22  Bruno Haible  <bruno@clisp.org>
13591
13592         * doc/posix-functions/siginterrupt.texi: Move note.
13593
13594         * lib/signal.in.h (SA_RESTART): New macro.
13595         * lib/sigaction.c: Update comment.
13596
13597         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
13598
13599         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
13600         (gl_PREREQ_SIGPROCMASK): Invoke it.
13601         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
13602
13603         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
13604
13605         * lib/sigprocmask.c: Update a comment.
13606
13607 2008-06-21  Eric Blake  <ebb9@byu.net>
13608
13609         Use sigaction module rather than signal().
13610         * modules/c-stack (Depends-on): Add sigaction.
13611         * modules/fatal-signal (Depends-on): Likewise.
13612         * modules/nanosleep (Depends-on): Likewise.
13613         * modules/sigprocmask (Files): Add sig-handler.h.
13614         * modules/sigaction (Files): Likewise.
13615         * lib/sig-handler.h (get_handler): New file, suggested by Paul
13616         Eggert.
13617         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
13618         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
13619         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
13620         (init_fatal_signals): Likewise.
13621         * lib/nanosleep.c (rpl_nanosleep): Likewise.
13622         (siginterrupt): Delete fallback.
13623         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
13624         instead.
13625         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
13626         siginterrupt.
13627
13628         New module sigaction, for mingw.
13629         * modules/sigaction: New module...
13630         * modules/sigaction-tests: ...and its test.
13631         * m4/sigaction.m4: New file.
13632         * lib/sigaction.c: Likewise.
13633         * tests/test-sigaction.c: Likewise.
13634         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
13635         * modules/signal (Makefile.am): Likewise.
13636         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
13637         needed.
13638         * doc/posix-headers/signal.texi (signal.h): Mention provided
13639         types.
13640         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
13641         that sigaction is preferable.
13642         * doc/posix-functions/sigaction.texi (sigaction): Mention new
13643         module.
13644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13645         sigaction.
13646
13647         Improve robustness of sigprocmask by overriding signal.
13648         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
13649         is in use.
13650         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
13651         (SIGKILL, SIGSTOP): Provide fallbacks.
13652         (rpl_signal): Implement.
13653         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
13654         signal can be called inside handlers.
13655
13656         Fix nanosleep module on mingw.
13657         * modules/nanosleep (Depends-on): Add sys_select.
13658         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
13659
13660         Fix licensing of sigprocmask.
13661         * modules/raise (License): Relicense as LGPL.
13662
13663 2008-06-21  Bruno Haible  <bruno@clisp.org>
13664
13665         * lib/propername.c (proper_name_utf8): Don't use the transliterated
13666         result if it contains question marks.
13667         Reported by Michael Geng <linux@michaelgeng.de>.
13668
13669 2008-06-19  Bruno Haible  <bruno@clisp.org>
13670
13671         Fix CVS-ism.
13672         * doc/gnulib.texi: Include updated-stamp.texi.
13673         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
13674         (updated-stamp.texi): New rule.
13675         (gnulib.info): Depend on it.
13676         * doc/.gitignore: Add updated-stamp.texi.
13677         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
13678
13679 2008-06-19  Bruno Haible  <bruno@clisp.org>
13680
13681         * doc/Makefile (gnulib.info): Update and simplify dependencies.
13682         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
13683
13684 2008-06-19  Eric Blake  <ebb9@byu.net>
13685
13686         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
13687         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
13688         Reported by Stepan Kasal.
13689
13690 2008-06-18  Bruno Haible  <bruno@clisp.org>
13691
13692         * lib/fatal-signal.c (init_fatal_signals): Add comment.
13693         Reported by Eric Blake.
13694
13695 2008-06-18  Eric Blake  <ebb9@byu.net>
13696
13697         Work around cygwin 1.5.25 strsignal bug.
13698         * tests/test-strsignal.c: Allow for const char *.
13699         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
13700
13701 2008-06-18  Simon Josefsson  <simon@josefsson.org>
13702
13703         * users.txt: Update URL to article and add author/date
13704         information.
13705
13706 2008-06-17  Bruno Haible  <bruno@clisp.org>
13707
13708         New macro gl_DISABLE_THREADS.
13709         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
13710         if the user did not pass --enable-threads or --disable-threads option.
13711         (gl_DISABLE_THREADS): New macro.
13712         Reported by Eric Blake <ebb9@byu.net>.
13713
13714 2008-06-17  Bruno Haible  <bruno@clisp.org>
13715
13716         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
13717         when the macro ignores it.
13718         Based on a patch by Eric Blake <ebb9@byu.net>.
13719
13720 2008-06-17  Bruno Haible  <bruno@clisp.org>
13721
13722         * modules/tls (License): Change to LGPLv2+.
13723         Reported by Eric Blake.
13724
13725 2008-06-17  Eric Blake  <ebb9@byu.net>
13726
13727         Simplify c-stack prerequisites.
13728         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
13729         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
13730         no longer requires <ucontext.h> to exist.  Optimize setrlimit
13731         check.
13732         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
13733         <sys/resource.h>.
13734
13735         Move c-stack test into testsuite.
13736         * modules/c-stack-tests: New file.
13737         * lib/c-stack.c [DEBUG]: Move test program...
13738         * tests/test-c-stack.c: ...into this new file.  Skip rather than
13739         fail test if sigaltstack is lacking.
13740         * tests/test-c-stack.sh: New driver file.
13741
13742 2008-06-16  Eric Blake  <ebb9@byu.net>
13743
13744         Use raise module consistently.
13745         * modules/fatal-signal (Depends-on): Add raise.
13746         * modules/sigprocmask (Depends-on): Likewise.
13747         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
13748         * lib/sigprocmask.c (sigprocmask): Likewise.
13749         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
13750         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
13751
13752         Fix compliance bug in sigpending.
13753         * lib/sigprocmask.c (sigpending): Return pending array via
13754         parameter, not return value.
13755
13756 2008-06-14  Eric Blake  <ebb9@byu.net>
13757
13758         Improve obstack-printf test code.
13759         * tests/test-obstack-printf.c (test_function): Fix comment, and
13760         simplify usage of obstack_* in macros.  Add a test for coverage.
13761         Reported by Bruno Haible.
13762
13763 2008-06-14  Bruno Haible  <bruno@clisp.org>
13764
13765         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
13766         array size as a constant, not as a const variable.
13767         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
13768         AC_USE_SYSTEM_EXTENSIONS.
13769         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
13770         Test whether the obstack_printf function actually exists.
13771         * modules/obstack-printf (Depends-on): Add extensions.
13772         (Include): Remove obstack.h.
13773         * modules/obstack-printf-posix (Depends-on): Add extensions.
13774         (Include): Remove obstack.h.
13775
13776 2008-06-13  Eric Blake  <ebb9@byu.net>
13777
13778         Add obstack-printf and obstack-printf-posix modules.
13779         * modules/obstack-printf: New file.
13780         * modules/obstack-printf-posix: Likewise.
13781         * MODULES.html.sh (Misc): Mention them.
13782         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
13783         Likewise.
13784         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
13785         Likewise.
13786         * modules/stdio (Makefile.am): Accomodate new modules.
13787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
13788         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
13789         Declare.
13790         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
13791         functions.
13792         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
13793         (gl_REPLACE_OBSTACK_PRINTF): New macros
13794         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
13795         * tests/test-obstack-printf.c: New file.
13796         * modules/obstack-printf-tests: Likewise.
13797         * modules/obstack-printf-posix-tests: Likewise.
13798
13799 2008-06-11  Bruno Haible  <bruno@clisp.org>
13800
13801         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
13802         * lib/open.c: Include errno.h.
13803         (open): Fail when attempting to write to a file that has a trailing
13804         slash.
13805         * tests/test-open.c (main): Test against trailing slash bug.
13806         * doc/posix-functions/open.texi: Mention the trailing slash bug.
13807
13808 2008-06-10  Bruno Haible  <bruno@clisp.org>
13809
13810         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
13811         for $? to work inside the trap command, with various /bin/sh-s.
13812         * tests/test-vc-list-files-cvs.sh: Likewise.
13813
13814 2008-06-10  Bruno Haible  <bruno@clisp.org>
13815
13816         * lib/acl-internal.h: Don't include gettext.h here.
13817         * lib/set-mode-acl.c: Include gettext.h here.
13818         * lib/copy-acl.c: Likewise.
13819
13820 2008-06-10  Bruno Haible  <bruno@clisp.org>
13821
13822         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
13823         * lib/wait-process.c (wait_subprocess): Likewise.
13824         * lib/execute.h (execute): Add termsigp argument.
13825         * lib/execute.c (execute): Likewise.
13826         * lib/csharpcomp.c (compile_csharp_using_pnet,
13827         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
13828         * lib/csharpexec.c (execute_csharp_using_pnet,
13829         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
13830         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
13831         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
13832         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
13833         is_jikes_present): Update.
13834         * lib/javaexec.c (execute_java_class): Update.
13835         * lib/javaversion.c (execute_and_read_line): Update.
13836         * NEWS: Document the changes.
13837         Reported by Eric Blake.
13838
13839 2008-06-10  Eric Blake  <ebb9@byu.net>
13840
13841         Add missing include.
13842         * tests/test-strstr.c (includes): Add <signal.h>.
13843         * tests/test-strcasestr.c (includes): Likewise.
13844         * tests/test-memmem.c (includes): Likewise.
13845
13846 2008-06-10  Bruno Haible  <bruno@clisp.org>
13847
13848         * lib/wait-process.c (wait_subprocess): Add an assertion.
13849
13850 2008-06-10  Bruno Haible  <bruno@clisp.org>
13851
13852         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
13853
13854 2008-06-10  Bruno Haible  <bruno@clisp.org>
13855
13856         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
13857         using alarm().
13858         * tests/test-strcasestr.c (main): Likewise.
13859         * tests/test-strstr.c (main): Likewise.
13860
13861 2008-06-09  Bruno Haible  <bruno@clisp.org>
13862
13863         Work around the Solaris 10 ACE ACLs ABI change.
13864         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
13865         declare if ACL_NO_TRIVIAL is present.
13866         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
13867         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
13868         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
13869         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
13870         define if ACL_NO_TRIVIAL is present.
13871         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
13872         and use the current ABI.
13873         (file_has_acl): Use same #if condition as elsewhere.
13874         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
13875         in use, and use the current ABI.
13876         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
13877         Reported by Jim Meyering.
13878
13879 2008-06-09  Eric Blake  <ebb9@byu.net>
13880
13881         Work around environments that (stupidly) ignore SIGALRM.
13882         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
13883         before using alarm().
13884         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13885         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13886         Reported by Ian Beckwith <ianb@erislabs.net>.
13887
13888         Produce autobuild blurb earlier in log.
13889         * modules/autobuild (configure.ac-early): Move AB_INIT here.
13890
13891 2008-06-09  Jim Meyering  <meyering@redhat.com>
13892         and OndÅ™ej Vašík  <ovasik@redhat.com>
13893
13894         utimens.c: correct kernel bug work-around
13895         OndÅ™ej Vašík found that the invalid return value of 280 indicates
13896         failure, not success, and the kernel bug we're trying to work
13897         around affects not just the utimensat call, but also the fallback
13898         futimens call.
13899         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
13900         not success.
13901         [HAVE_FUTIMENS]: Use the same work-around, here.
13902
13903 2008-06-09  Jim Meyering  <meyering@redhat.com>
13904
13905         add more guards around definition of ACE_-related code
13906         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
13907         ALLOW and ACE_OWNER are also defined.
13908
13909 2008-06-08  Bruno Haible  <bruno@clisp.org>
13910
13911         * lib/acl-internal.h: Add me as co-author.
13912         * lib/file-has-acl.c: Likewise.
13913         * lib/set-mode-acl.c: Likewise.
13914         * lib/copy-acl.c: Likewise.
13915
13916 2008-06-08  Bruno Haible  <bruno@clisp.org>
13917
13918         Add support for AIX ACLs.
13919         * lib/acl-internal.h (acl_nontrivial): New declaration.
13920         * lib/file-has-acl.c (acl_nontrivial): New function.
13921         (file_has_acl): Add implementation using AIX 4 ACL API.
13922         * lib/set-mode-acl.c (qset_acl): Likewise.
13923         * lib/copy-acl.c (qcopy_acl): Likewise.
13924
13925 2008-06-08  Bruno Haible  <bruno@clisp.org>
13926
13927         Add support for HP-UX ACLs.
13928         * lib/acl-internal.h (acl_nontrivial): New declaration.
13929         * lib/file-has-acl.c (acl_nontrivial): New function.
13930         (file_has_acl): Add implementation using HP-UX 11 ACL API.
13931         * lib/set-mode-acl.c (qset_acl): Likewise.
13932         * lib/copy-acl.c (qcopy_acl): Likewise.
13933
13934 2008-06-08  Bruno Haible  <bruno@clisp.org>
13935
13936         Add support for Cygwin ACLs.
13937         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
13938         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
13939         the chmod_or_fchmod call.
13940         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
13941
13942 2008-06-08  Bruno Haible  <bruno@clisp.org>
13943
13944         Fix bug with setuid modes in Solaris 10+ code.
13945         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
13946         succeeded, when the mode contains some special bits.
13947
13948 2008-06-08  Bruno Haible  <bruno@clisp.org>
13949
13950         Add support for Solaris 7..10 ACLs.
13951         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
13952         declarations.
13953         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
13954         functions.
13955         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
13956         * lib/set-mode-acl.c (qset_acl): Likewise.
13957         * lib/copy-acl.c (qcopy_acl): Likewise.
13958
13959 2008-06-08  Bruno Haible  <bruno@clisp.org>
13960
13961         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
13962         declaration.
13963         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
13964         (acl_access_nontrivial): Remove MacOS X case.
13965         (file_has_acl): Use acl_extended_nontrivial.
13966         * lib/copy-acl.c (qcopy_acl): Likewise.
13967
13968 2008-06-08  Bruno Haible  <bruno@clisp.org>
13969
13970         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
13971
13972 2008-06-08  Jim Meyering  <meyering@redhat.com>
13973
13974         * modules/acl (Maintainer): Add Bruno Haible.
13975
13976 2008-06-07  Bruno Haible  <bruno@clisp.org>
13977
13978         Improve support for Tru64 ACLs.
13979         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
13980         ACL on OSF/1.
13981
13982 2008-06-07  Bruno Haible  <bruno@clisp.org>
13983
13984         Add support for MacOS X ACLs.
13985         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
13986         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
13987         * lib/set-mode-acl.c (qset_acl): Likewise.
13988         * lib/copy-acl.c (qcopy_acl): Likewise.
13989
13990 2008-06-07  Bruno Haible  <bruno@clisp.org>
13991
13992         Fix memory leak introduced on 2008-05-22.
13993         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
13994         use.
13995
13996 2008-06-07  Bruno Haible  <bruno@clisp.org>
13997
13998         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
13999         to construct an empty ACL.
14000
14001 2008-06-07  Bruno Haible  <bruno@clisp.org>
14002
14003         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
14004         precisely.
14005         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
14006
14007 2008-06-07  Bruno Haible  <bruno@clisp.org>
14008
14009         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
14010         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
14011
14012 2008-06-07  Bruno Haible  <bruno@clisp.org>
14013
14014         * doc/posix-functions/_setjmp.texi: Explain the use of this function
14015         regardless of POSIX.
14016         * doc/posix-functions/_longjmp.texi: Likewise.
14017         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
14018         SystemV platform in this case.
14019
14020 2008-06-06  Eric Blake  <ebb9@byu.net>
14021
14022         Document abort() bugs.
14023         * doc/posix-functions/abort.texi (abort): Mention anomalies.
14024
14025         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
14026         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
14027         sigsetjmp.
14028         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
14029         siglongjmp, but only as a macro.
14030         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
14031         is obsolete.
14032         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
14033
14034         Tweak documentation to cover cygwin argz bugs.
14035         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
14036         argz bug fix; no code change needed since no cygwin releases
14037         occurred between the last fix and the bug being tested.
14038         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
14039         module and recently fixed cygwin bugs.
14040         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
14041         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
14042         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
14043         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
14044         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
14045         Likewise.
14046         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
14047         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
14048         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
14049         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
14050         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
14051         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
14052         Likewise.
14053
14054         Avoid gcc warning on cygwin.
14055         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
14056         !ACL_NO_TRIVIAL]: Avoid unused variable.
14057
14058 2008-06-05  Eric Blake  <ebb9@byu.net>
14059
14060         Be tolerant of UNKNOWN version in gnulib-tool test dir.
14061         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
14062         git-version-gen fails to come up with a version.
14063         Reported by Simon Josefsson.
14064
14065 2008-06-05  Jim Meyering  <meyering@redhat.com>
14066             Paul Eggert  <eggert@cs.ucla.edu>
14067
14068         utimens.c: work around a probable Linux kernel bug
14069         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
14070         appears to be a kernel bug that causes utimensat to return 280
14071         instead of 0, indicating success.
14072
14073 2008-06-04  Bruno Haible  <bruno@clisp.org>
14074
14075         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
14076         2008-06-01 commit.
14077
14078 2008-06-04  Bruno Haible  <bruno@clisp.org>
14079
14080         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
14081         * lib/file-has-acl.c (acl_access_nontrivial): New function.
14082         (file_has_acl): Use it. Save errno afterwards.
14083         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
14084
14085 2008-06-03  Bruno Haible  <bruno@clisp.org>
14086
14087         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
14088         draft code. Simplify #ifs.
14089         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
14090         Put Solaris code after POSIX-draft code. Fix comments regarding
14091         Solaris 10, HP-UX. Mention Cygwin.
14092         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
14093
14094 2008-06-03  Eric Blake  <ebb9@byu.net>
14095
14096         Provide fallback for older kernels.
14097         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
14098         Provide runtime fallback if kernel lacks support.
14099         Reported by Mike Frysinger.
14100
14101 2008-06-02  Bruno Haible  <bruno@clisp.org>
14102
14103         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
14104         it exists.
14105
14106 2008-06-02  Bruno Haible  <bruno@clisp.org>
14107
14108         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
14109         * lib/copy-acl.c (qcopy_acl): Update comment.
14110
14111 2008-06-02  Bruno Haible  <bruno@clisp.org>
14112
14113         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
14114         like ACL APIs.
14115
14116 2008-06-02  Bruno Haible  <bruno@clisp.org>
14117
14118         * tests/test-file-has-acl.sh: Use different code for Cygwin.
14119         * tests/test-set-mode-acl.sh: Likewise.
14120         * tests/test-copy-acl.sh: Likewise.
14121         * tests/test-copy-file.sh: Likewise.
14122
14123 2008-06-02  Bruno Haible  <bruno@clisp.org>
14124
14125         * tests/test-file-has-acl.sh: Remove unused code.
14126
14127 2008-06-01  Bruno Haible  <bruno@clisp.org>
14128
14129         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
14130         (copy_acl): Just a wrapper around qcopy_acl that emits the error
14131         messages.
14132         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
14133
14134 2008-06-01  Bruno Haible  <bruno@clisp.org>
14135
14136         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
14137         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
14138         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
14139         APIs.
14140         * modules/acl-tests (configure.ac): Remove tests now contained in
14141         m4/acl.m4.
14142
14143 2008-06-02  Jim Meyering  <meyering@redhat.com>
14144
14145         announce-gen: use a better key-server host name
14146         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
14147         it may be more consistently reliable.  Suggested by Werner Koch
14148         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
14149
14150 2008-06-01  Bruno Haible  <bruno@clisp.org>
14151
14152         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
14153         Reported by Voroskoi Andras <voroskoi@gmail.com>.
14154
14155 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
14156
14157         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
14158
14159 2008-06-01  Bruno Haible  <bruno@clisp.org>
14160
14161         New ACL tests.
14162         * tests/test-file-has-acl.sh: New file.
14163         * tests/test-file-has-acl.c: New file.
14164         * tests/test-set-mode-acl.sh: New file.
14165         * tests/test-set-mode-acl.c: New file.
14166         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
14167         * tests/test-copy-acl.c: New file.
14168         * modules/acl-tests: New file, based on modules/copy-file-tests.
14169         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
14170         (Depends-on): Add acl-tests.
14171         (configure.ac): Remove checks.
14172         (Makefile.am): Don't create test-sameacls program here any more.
14173
14174 2008-06-01  Bruno Haible  <bruno@clisp.org>
14175
14176         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
14177         * tests/test-sameacls.c: Include progname.h.
14178         (main): Invoke set_program_name. Portability fixes for MacOS X,
14179         Solaris, HP-UX.
14180
14181 2008-06-01  Bruno Haible  <bruno@clisp.org>
14182
14183         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
14184         function.
14185         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
14186
14187 2008-06-01  Bruno Haible  <bruno@clisp.org>
14188
14189         * modules/rpmatch (Depends-on): Add strdup.
14190
14191 2008-06-01  Bruno Haible  <bruno@clisp.org>
14192
14193         * lib/pipe.c: Include unistd-safer.h.
14194         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
14195         * modules/pipe (Depends-on): Add unistd-safer.
14196
14197 2008-05-30  Simon Josefsson  <simon@josefsson.org>
14198
14199         * modules/autobuild (configure.ac): Call AB_INIT.
14200
14201 2008-05-30  Simon Josefsson  <simon@josefsson.org>
14202
14203         * tests/test-getaddrinfo.c: Don't print debug messages by default.
14204         Suggested by Bruno Haible <bruno@clisp.org>.
14205
14206 2008-05-30  Simon Josefsson  <simon@josefsson.org>
14207
14208         * tests/test-base64.c: Cast size_t to unsigned long when invoking
14209         printf.  Use %lu instead of %d.  Reported by Bruno Haible
14210         <bruno@clisp.org>.
14211
14212 2008-05-29  Eric Blake  <ebb9@byu.net>
14213
14214         Prefer new POSIX 200x interfaces over futimesat.
14215         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
14216         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
14217         when available.
14218         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
14219
14220 2008-05-28  Bruno Haible  <bruno@clisp.org>
14221
14222         * modules/stpcpy (License): Change to LGPLv2+.
14223         Requested by David Lutterkort <dlutter@redhat.com>.
14224
14225 2008-05-27  Bruno Haible  <bruno@clisp.org>
14226
14227         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
14228         current mingw.
14229         Reported by Jose E. Marchesi <jemarch@gnu.org>.
14230
14231 2008-05-27  Bruno Haible  <bruno@clisp.org>
14232
14233         * modules/iconv_open (Link): New section, from module 'iconv'.
14234         * modules/striconv (Link): Likewise.
14235         * modules/striconveh (Link): Likewise.
14236         * modules/xstriconv (Link): Likewise.
14237         * modules/unicodeio (Link): Likewise.
14238         * modules/propername (Link): Likewise.
14239         Reported by Jim Meyering.
14240
14241 2008-05-26  Jim Meyering  <meyering@redhat.com>
14242
14243         sha256: do not artificially restrict buffer length to be < 2^32
14244         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
14245         uint32_t to size_t.
14246         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
14247         to match.
14248
14249         avoid unaligned access errors, e.g., on sparc
14250         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
14251         direct access through a possibly-unaligned uint64* pointer.
14252         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
14253         direct access through a possibly-unaligned uint32* pointer.
14254         Prompted by this patch from Tom "spot" Callaway:
14255         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
14256
14257         sha512.c: fix typo in comment
14258         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
14259
14260 2008-05-25  Bruno Haible  <bruno@clisp.org>
14261
14262         * lib/set-mode-acl.c: Renamed from lib/acl.c.
14263         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
14264         (Makefile.am): Update lib_SOURCES.
14265
14266 2008-05-25  Bruno Haible  <bruno@clisp.org>
14267
14268         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
14269
14270 2008-05-25  Jim Meyering  <meyering@redhat.com>
14271
14272         useless-if-before-free: freed expr may have white-space differences
14273         * build-aux/useless-if-before-free: Recognize cases in which the
14274         freed expression differs from the tested one in embedded white
14275         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
14276         $1 was used, so we can't make any regexp shy.  Improved tests now
14277         detect this.
14278
14279         useless-if-before-free: accept white space in the expression.
14280         * build-aux/useless-if-before-free: For now, any white space
14281         in the expression must be identical in the free argument.
14282
14283         useless-if-before-free: efficiency tweak
14284         * build-aux/useless-if-before-free: Make the expression-matching
14285         regexp "shy".
14286         Make the *outer* regexp shy, not the expr-matching one.
14287
14288         update code-in-comment to accept cast of free arg
14289         * build-aux/useless-if-before-free: Update regexp.
14290
14291 2008-05-25  Bruno Haible  <bruno@clisp.org>
14292
14293         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
14294         * modules/copy-file-tests (Files, Makefile.am): Update.
14295         * tests/test-copy-file.c (func_test_copy): Update.
14296
14297 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
14298
14299         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
14300
14301 2008-05-23  Bruno Haible  <bruno@clisp.org>
14302
14303         Improve support for ACLs on OSF/1.
14304         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
14305         Remove fallback for unknown flavors of ACLs.
14306
14307 2008-05-22  Bruno Haible  <bruno@clisp.org>
14308
14309         Add support for ACLs on OSF/1.
14310         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
14311         replacements.
14312         (acl_free_text): New macro fallback.
14313         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
14314         acl_free.
14315         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
14316         acl_free_text function. Require AC_C_INLINE.
14317
14318 2008-05-22  Bruno Haible  <bruno@clisp.org>
14319
14320         Make copy_acl work on MacOS X 10.5.
14321         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
14322         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
14323         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
14324         If MODE_INSIDE_ACL, don't assume that every system has the same text
14325         representation for ACLs as FreeBSD.
14326         * lib/copy-acl.c (copy_acl): Add support for platforms with
14327         !MODE_INSIDE_ACL.
14328         * lib/file-has-acl.c (file_has_acl): Likewise.
14329         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
14330         FreeBSD, MacOS X, or IRIX, respectively.
14331
14332 2008-05-22  Bruno Haible  <bruno@clisp.org>
14333
14334         * lib/acl.h: Don't include <sys/acl.h>.
14335         (GETACLCNT): Move fallback to lib/acl-internal.h.
14336         * lib/acl-internal.h: Include <sys/acl.h> here.
14337         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
14338
14339 2008-05-22  Bruno Haible  <bruno@clisp.org>
14340
14341         Split off copy_acl function to separate file.
14342         * lib/copy-acl.c: New file, extracted from lib/acl.c.
14343         * lib/acl.c (copy_acl): Moved function to separate file.
14344         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
14345         * modules/acl (Files): Add lib/copy-acl.c.
14346         (Makefiles.am): Augment lib_SOURCES.
14347
14348 2008-05-22  Bruno Haible  <bruno@clisp.org>
14349
14350         * modules/copy-file-tests: New file.
14351         * tests/test-copy-file.sh: New file.
14352         * tests/test-copy-file.c: New file.
14353         * tests/test-copy-file-sameacls.c: New file.
14354
14355 2008-05-22  Eric Blake  <ebb9@byu.net>
14356
14357         Avoid gcc warning.
14358         * tests/test-memcmp.c (main): Pass NULL indirectly.
14359
14360 2008-05-21  Bruno Haible  <bruno@clisp.org>
14361
14362         Add reference doc about ACLs.
14363         * doc/acl-resources.txt: New file.
14364         * doc/acl-cygwin.txt: New file.
14365
14366 2008-05-21  Bruno Haible  <bruno@clisp.org>
14367
14368         Avoid one more warning from gcc.
14369         * lib/vasnprintf.c (IF_LINT): Update comments.
14370         (VASNPRINTF): Use it also for the 'prefix' array initializer.
14371
14372 2008-05-21  Jim Meyering  <meyering@redhat.com>
14373
14374         avoid a warning from gcc
14375         * lib/vasnprintf.c (IF_LINT): Define.
14376         (scale10_round_decimal_long_double):
14377         Use it to avoid a "may be used uninitialized" warning.
14378         (scale10_round_decimal_double): Likewise.
14379
14380 2008-05-21  Simon Josefsson  <simon@josefsson.org>
14381
14382         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
14383         declared.
14384
14385 2008-05-20  Bruno Haible  <bruno@clisp.org>
14386
14387         * tests/test-memcmp.c (main): Test also the sign of the result. Test
14388         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
14389
14390 2008-05-20  Simon Josefsson  <simon@josefsson.org>
14391
14392         * modules/memcmp-tests: New file.
14393         * tests/test-memcmp.c: New file.
14394
14395 2008-05-19  Bruno Haible  <bruno@clisp.org>
14396
14397         * modules/propername (Notice, configure.ac): Put quoted "..." into
14398         --keyword option.
14399         * lib/propername.h: Update comments accordingly.
14400         Reported by Eric Blake.
14401
14402 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
14403
14404         * modules/getpass-gnu (Depends-on): Add fseeko.
14405
14406 2008-05-19  Simon Josefsson  <simon@josefsson.org>
14407
14408         * modules/base64-tests: New file.
14409
14410 2008-05-19  Bo Borgerson <gigabo@gmail.com>
14411
14412         * lib/base64.c (base64_decode_ctx): If a decode context structure
14413         was passed in use it to ignore newlines.  If a context structure
14414         was _not_ passed in, continue to treat newlines as garbage (this
14415         is the historical behavior).  Formerly base64_decode.
14416         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
14417         takes a decode context structure.
14418         * lib/base64.h (base64_decode): Macro for four-argument calls.
14419         (base64_decode_alloc): Likewise.
14420         * lib/base64.c (base64_decode_ctx): If a decode context structure
14421         was passed in use it to ignore newlines.  If a context structure
14422         was _not_ passed in, continue to treat newlines as garbage (this
14423         is the historical behavior).  Formerly base64_decode.
14424         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
14425         takes a decode context structure.
14426         * lib/base64.h (base64_decode): Macro for four-argument calls.
14427         (base64_decode_alloc): Likewise.
14428
14429 2008-05-19  Jim Meyering  <meyering@redhat.com>
14430
14431         avoid a warning from gcc
14432         * lib/trim.c (IF_LINT): Define.
14433         (trim2): Use it to avoid a "may be used uninitialized" warning.
14434
14435         Fix doc typo.
14436         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
14437
14438 2008-05-19  Bruno Haible  <bruno@clisp.org>
14439
14440         * doc/glibc-functions/getpass.texi: Document limits of other
14441         implementations.
14442
14443 2008-05-19  Simon Josefsson  <simon@josefsson.org>
14444             Bruno Haible <bruno@clisp.org>
14445
14446         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
14447
14448 2008-05-18  Bruno Haible  <bruno@clisp.org>
14449
14450         * modules/propername: New file, from GNU gettext.
14451         * lib/propername.h: New file, from GNU gettext.
14452         * lib/propername.c: New file, from GNU gettext.
14453         * MODULES.html.sh (Internationalization functions): Add propername.
14454
14455 2008-05-16  Jim Meyering  <meyering@redhat.com>
14456             Bruno Haible  <bruno@clisp.org>
14457
14458         Avoid some warnings from "gcc -Wshadow".
14459         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
14460
14461 2008-05-15  Eric Blake  <ebb9@byu.net>
14462
14463         Extend previous patch to cygwin 1.7.0.
14464         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
14465         fast implementation in cygwin >= 1.7.0.
14466         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
14467         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14468
14469 2008-05-15  Bruno Haible  <bruno@clisp.org>
14470
14471         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
14472         implementation in glibc >= 2.9.
14473         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
14474         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14475
14476 2008-05-15  Bruno Haible  <bruno@clisp.org>
14477
14478         * MODULES.html.sh (Internationalization functions): Remove linebreak.
14479         (Unicode string functions): Add unilbrk/*.
14480         Reported by Karl Berry.
14481
14482 2008-05-15  Eric Blake  <ebb9@byu.net>
14483
14484         Fix violation of <stdbool.h> replacement in regex.
14485         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
14486         * lib/regexec.c (re_search_internal): Likewise.
14487         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
14488
14489 2008-05-15  Jim Meyering  <meyering@redhat.com>
14490
14491         avoid distracting test output when git or cvs is not found
14492         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
14493         * tests/test-vc-list-files-git.sh: Likewise.
14494
14495 2008-05-15  Eric Blake  <ebb9@byu.net>
14496
14497         Glibc finally accepted the memmem speedup code, bugzilla #5514.
14498         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
14499         glibc version.
14500         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14501         * doc/posix-functions/strstr.texi (strstr): Likewise.
14502         * lib/str-two-way.h (MAX): Sychronize with glibc.
14503
14504 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
14505
14506         * lib/regcomp.c (optimize_utf8): Add a note on why we test
14507         opr.ctx_type.
14508         (calc_first): Initialize constraint field.
14509         (duplicate_node_closure): Use it instead of special casing ANCHORS.
14510         Fix grammar.
14511         (duplicate_node): Merge constraint field for all node types.
14512         (calc_eclosure_iter): Look at constraint field for all node types.
14513         * lib/regex_internal.c (create_cd_newstate): Don't look at
14514         opr.ctx_type.
14515
14516 2008-05-14  Bruno Haible  <bruno@clisp.org>
14517
14518         Help GCC to do better code generation.
14519         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
14520         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
14521         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
14522         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
14523         Declare with attribute 'malloc' if supported.
14524
14525 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
14526
14527         use "echo STR|wc -c" rather than unportable "expr length STR"
14528         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
14529         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
14530
14531 2008-05-14  Jim Meyering  <meyering@redhat.com>
14532
14533         use dd ibs=$n count=1 ... rather than less-portable head -c$n
14534         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
14535         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
14536         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
14537         via Collin Lasse.
14538
14539 2008-05-14  Eric Blake  <ebb9@byu.net>
14540
14541         Avoid quadratic growth in gl_LIBSOURCES.
14542         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
14543         Suggested by Bruno Haible.
14544
14545         Test xmemdup0.
14546         * modules/xmemdup0-tests: New file.
14547         * tests/test-xmemdup0.c: Likewise.
14548
14549 2008-05-13  Eric Blake  <ebb9@byu.net>
14550
14551         Split xmemdup0 into its own module.
14552         * modules/xmemdup0: New file.
14553         * lib/xmemdup0.h: Likewise.
14554         * lib/xmemdup0.c: Likewise.
14555         * MODULES.html.sh (Memory management functions): Add xmemdup0.
14556         * lib/xalloc.h (xmemdup0): Remove.
14557         * lib/xmalloc.c (xmemdup0): Likewise.
14558
14559 2008-05-13  Eric Blake  <ebb9@byu.net>
14560             Bruno Haible  <bruno@clisp.org>
14561
14562         Reduce number of forks required during autoconf.
14563         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
14564         and gl_LIBSOURCES_DIR.
14565         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
14566         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
14567         m4_syscmd per file.
14568         <m4_foreach_w>: Move...
14569         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
14570
14571 2008-05-13  Eric Blake  <ebb9@byu.net>
14572
14573         * gnulib-tool: Fix various comment typos.
14574
14575 2008-05-12  Bruno Haible  <bruno@clisp.org>
14576
14577         Tailor the linebreaking algorithm.
14578         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
14579
14580 2008-05-12  Bruno Haible  <bruno@clisp.org>
14581
14582         Update to Unicode 5.0.0.
14583         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
14584         LBP_JV, LBP_JT. Redistribute values.
14585         (unilbrk_table): Change size.
14586         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
14587         Unicode TR#14 rev. 22.
14588         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
14589         LBP_JV, LBP_JT. Redistribute values.
14590         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
14591         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
14592         Update.
14593         * lib/unilbrk/lbrkprop1.h: Regenerated.
14594         * lib/unilbrk/lbrkprop2.h: Regenerated.
14595         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
14596         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
14597         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
14598         Likewise.
14599         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
14600         Likewise.
14601         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
14602         result.
14603         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
14604         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
14605         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
14606         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
14607         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
14608         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
14609
14610 2008-05-11  Bruno Haible  <bruno@clisp.org>
14611
14612         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
14613
14614 2008-05-11  Bruno Haible  <bruno@clisp.org>
14615
14616         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
14617         * modules/unilbrk/gen-lbrk: New file.
14618
14619 2008-05-11  Bruno Haible  <bruno@clisp.org>
14620
14621         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
14622         * m4/sha512.m4 (gl_SHA512): Likewise.
14623
14624 2008-05-11  Jim Meyering  <meyering@redhat.com>
14625
14626         New modules: crypto/sha256, crypto/sha512 (from coreutils)
14627         * modules/crypto/sha256: New file.
14628         * modules/crypto/sha512: Likewise.
14629         * lib/sha256.c: Likewise.
14630         * lib/sha256.h: Likewise.
14631         * lib/sha512.c: Likewise.
14632         * lib/sha512.h: Likewise.
14633         * lib/u64.h: Likewise.
14634         * m4/sha256.m4: Likewise.
14635         * m4/sha512.m4: Likewise.
14636         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
14637
14638 2008-05-10  Bruno Haible  <bruno@clisp.org>
14639
14640         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
14641         (Input/Output <stdio.h>): Add xprintf.
14642         (Signal handling <signal.h>): Add strsignal.
14643         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
14644         (Core language properties): Add func.
14645         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
14646         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
14647         strings.
14648         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
14649         (Input/output): New section.
14650         (File system functions): Add openat-die, stat-macros.
14651         (Networking functions): Add sockets.
14652         (Unicode string functions): Add unictype/*.
14653         (Support for building libraries and executables): Add gperf.
14654         (Support for building documentation): Add agpl-3.0.
14655         (Misc): Add nocrash.
14656
14657 2008-05-10  Bruno Haible  <bruno@clisp.org>
14658
14659         * modules/unictype/gen-ctype: New file.
14660
14661 2008-05-10  Jim Meyering  <meyering@redhat.com>
14662
14663         Make chdir-safer.c more efficient on a system with no symlinks.
14664         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
14665         also if ELOOP is zero.  Suggested by Bruno Haible.
14666
14667         Make chdir-safer.c slightly safer.
14668         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
14669         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
14670
14671         Avoid compile failure on systems without ELOOP (like mingw).
14672         * lib/chdir-safer.c (ELOOP): Define if not already defined.
14673         Reported by Bruno Haible.
14674
14675 2008-05-10  Bruno Haible  <bruno@clisp.org>
14676
14677         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
14678         (is_utf8_encoding): Use a case-insensitive comparison.
14679         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
14680         streq.
14681
14682 2008-05-10  Bruno Haible  <bruno@clisp.org>
14683
14684         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
14685         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
14686         * lib/unilbrk/ulc-common.h (iconv_string_length,
14687         iconv_string_keeping_offsets): Remove declarations.
14688         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
14689         Don't include <iconv.h>, streq.h, xsize.h.
14690         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
14691         conversion.
14692         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
14693         <iconv.h>, streq.h, xsize.h.
14694         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
14695         conversion.
14696         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
14697         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
14698         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
14699         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
14700
14701 2008-05-10  Bruno Haible  <bruno@clisp.org>
14702
14703         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
14704         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
14705
14706         * modules/unilbrk/u32-width-linebreaks-tests: New file.
14707         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
14708
14709         * modules/unilbrk/u16-width-linebreaks-tests: New file.
14710         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
14711
14712         * modules/unilbrk/u8-width-linebreaks-tests: New file.
14713         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
14714
14715         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
14716         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
14717
14718         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
14719         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
14720
14721         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
14722         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
14723
14724         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
14725         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
14726
14727 2008-05-10  Bruno Haible  <bruno@clisp.org>
14728
14729         Split up 'linebreak' module.
14730         * lib/unilbrk.h: New file, based on lib/linebreak.h.
14731         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
14732         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
14733         modifications.
14734         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
14735         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
14736         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
14737         lib/linebreak.c.
14738         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
14739         lib/linebreak.c.
14740         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
14741         lib/linebreak.c.
14742         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
14743         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
14744         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
14745         lib/linebreak.c.
14746         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
14747         lib/linebreak.c.
14748         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
14749         lib/linebreak.c.
14750         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
14751         lib/linebreak.c.
14752         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
14753         lib/linebreak.c.
14754         * modules/unilbrk/base: New file.
14755         * modules/unilbrk/tables: New file.
14756         * modules/unilbrk/u8-possible-linebreaks: New file.
14757         * modules/unilbrk/u16-possible-linebreaks: New file.
14758         * modules/unilbrk/u32-possible-linebreaks: New file.
14759         * modules/unilbrk/ulc-common: New file.
14760         * modules/unilbrk/ulc-possible-linebreaks: New file.
14761         * modules/unilbrk/u8-width-linebreaks: New file.
14762         * modules/unilbrk/u16-width-linebreaks: New file.
14763         * modules/unilbrk/u32-width-linebreaks: New file.
14764         * modules/unilbrk/ulc-width-linebreaks: New file.
14765         * lib/linebreak.h: Remove file.
14766         * lib/linebreak.c: Remove file.
14767         * m4/linebreak.m4: Remove file.
14768         * modules/linebreak: Remove file.
14769         * NEWS: Mention the changes.
14770
14771 2008-05-09  Eric Blake  <ebb9@byu.net>
14772
14773         Add xmemdup0.
14774         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
14775         implementation.
14776         * lib/xmalloc.c (xmemdup0): New C implementation.
14777
14778 2008-05-08  Bruno Haible  <bruno@clisp.org>
14779
14780         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
14781
14782 2008-05-07  Eric Blake  <ebb9@byu.net>
14783
14784         Support cross-compilation of <wctype.h>.
14785         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
14786         AC_CACHE_CHECK.
14787
14788 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
14789
14790         * build-aux/vc-list-files: Add support for bzr.
14791
14792 2008-05-03  Jim Meyering  <meyering@redhat.com>
14793
14794         avoid failed assertion with tight malloc
14795         * tests/test-getndelim2.c: Correct an off-by-one assertion.
14796
14797 2008-05-03  Simon Josefsson  <simon@josefsson.org>
14798
14799         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
14800         are needed from arpa/inet.h.
14801         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
14802         Reported by Bruno Haible.
14803
14804 2008-05-02  Jim Meyering  <meyering@redhat.com>
14805
14806         avoid compilation error on FreeBSD 6
14807         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
14808
14809 2008-05-01  Jim Meyering  <meyering@redhat.com>
14810
14811         useless-if-before-free: correct --help's exit status description
14812         * build-aux/useless-if-before-free (usage): Like grep, exit 0
14813         for one or more matches, etc.  Reported by Bruno Haible.
14814
14815         vc-list-files: make the stand-alone gnulib test work
14816         * modules/vc-list-files-tests (configure.ac):
14817         Define and AC_SUBST abs_aux_dir.
14818         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
14819         $(abs_top_srcdir) to each script and having each of them
14820         duplicate the work of setting PATH, set PATH here, using
14821         the new variable, abs_aux_dir instead.
14822         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
14823         * tests/test-vc-list-files-git.sh: Likewise.
14824         Reported by Bruno Haible.
14825
14826 2008-05-01  Bruno Haible  <bruno@clisp.org>
14827
14828         * lib/getndelim2.c (getndelim2): Fix newsize computation during
14829         reallocation. Rename 'done' to 'found_delimiter'.
14830
14831 2008-05-01  Jim Meyering  <meyering@redhat.com>
14832
14833         vc-list-files: accommodate /bin/sh like the one from Solaris 10
14834         * build-aux/vc-list-files: Use `...`, not $(...).
14835
14836 2008-04-30  Jim Meyering  <meyering@redhat.com>
14837
14838         add tests for vc-list-files
14839         * modules/vc-list-files-tests: New module.
14840         * tests/test-vc-list-files-cvs.sh: New file.
14841         * tests/test-vc-list-files-git.sh: New file.
14842
14843         avoid a warning from gcc
14844         * lib/getndelim2.c (IF_LINT): Define.
14845         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
14846
14847         vc-list-files: work properly with build-aux/cvsu, too
14848         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
14849         to all cvs-based clauses.
14850
14851         vc-list-files: work properly in the CVS+awk case, too
14852         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
14853
14854         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
14855         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
14856         take more than one file argument, so .  Add quotes, just in case $dir
14857         ever contains a shell meta-character.  Prompted by Soren Hansen in
14858         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
14859
14860 2008-04-29  Eric Blake  <ebb9@byu.net>
14861
14862         Optimize getndelim2 to use block operations when possible.
14863         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
14864         freadseek, and memchr2.
14865         * lib/getndelim2.c (getndelim2): Use them for block reads.
14866
14867 2008-04-29  Bruno Haible  <bruno@clisp.org>
14868
14869         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
14870         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14871         * modules/inet_ntop (Depends-on): Add extensions.
14872         * modules/inet_pton (Depends-on): Likewise.
14873         Reported by Simon Josefsson.
14874
14875 2008-04-29  Jim Meyering  <meyering@redhat.com>
14876
14877         When the is more than one match in a block, match all of them.
14878         * build-aux/useless-if-before-free: Iterate through each block
14879         until there are no more matches.
14880
14881         Fix broken useless-if-before-free script.
14882         * build-aux/useless-if-before-free: Fix typo: missing "?" after
14883         the expression to match cast of argument to free-like function.
14884
14885 2008-04-29  Eric Blake  <ebb9@byu.net>
14886
14887         Use new header.
14888         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
14889
14890 2008-04-29  Jim Meyering  <meyering@redhat.com>
14891
14892         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
14893         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
14894         by gnulib to exist and to declare e.g., inet_ntop.
14895         Don't include "inet_ntop.h", now removed.
14896
14897         * m4/arpa_inet_h.m4: Remove trailing blanks.
14898
14899 2008-04-29  Eric Blake  <ebb9@byu.net>
14900
14901         Silence valgrind on safe reads beyond potential array bounds.
14902         * lib/rawmemchr.valgrind: New file.
14903         * lib/strchrnul.valgrind: Likewise.
14904         * modules/rawmemchr (Files): Distribute new file.
14905         * modules/strchrnul (Files): Likewise.
14906         Suggested by Bruno Haible.
14907
14908 2008-04-29  Bruno Haible  <bruno@clisp.org>
14909
14910         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
14911         (inet_ntop, inet_pton): Change portability warning's wording.
14912         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
14913         Invoke gl_CHECK_NEXT_HEADERS.
14914         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
14915         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
14916         set ARPA_INET_H.
14917         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14918         * modules/arpa_inet (Description): No longer only for systems that
14919         lack it.
14920         (Depends-on): Add include_next.
14921         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
14922         HAVE_ARPA_INET_H.
14923
14924 2008-04-29  Jim Meyering  <meyering@redhat.com>
14925
14926         * modules/mkdir (License): Re-license as LGPLv2+.
14927
14928 2008-04-29  Bruno Haible  <bruno@clisp.org>
14929
14930         * modules/rawmemchr (Maintainer): Set to Eric.
14931         * modules/strchrnul (Maintainer): Likewise.
14932
14933 2008-04-29  Simon Josefsson  <simon@josefsson.org>
14934
14935         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
14936         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
14937
14938         * modules/arpa_inet (arpa/inet.h): Use them.
14939
14940 2008-04-28  Eric Blake  <ebb9@byu.net>
14941
14942         Test getndelim2.
14943         * modules/getndelim2-tests: New file.
14944         * tests/test-getndelim2.c: Likewise.
14945         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
14946         stream.
14947         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
14948
14949         * MODULES.html.sh: Document new module.
14950
14951 2008-04-20  Bruno Haible  <bruno@clisp.org>
14952
14953         * lib/c-stack.c (die): Use raise.
14954         * modules/c-stack (Depends-on): Add raise.
14955
14956 2008-04-28  Bruno Haible  <bruno@clisp.org>
14957
14958         Expect rpmatch to be declared.
14959         * lib/yesno.c (rpmatch): Remove declaration.
14960
14961         Declare rpmatch.
14962         * lib/stdlib.in.h (rpmatch): New declaration.
14963         * lib/rpmatch.c: Include <stdlib.h> first.
14964         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
14965         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
14966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
14967         HAVE_RPMATCH.
14968         * modules/rpmatch (Depends-on): Add stdlib, extensions.
14969         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
14970         (Include): Set to <stdlib.h>.
14971         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
14972         HAVE_RPMATCH.
14973         * NEWS: Document the change.
14974
14975 2008-04-28  Bruno Haible  <bruno@clisp.org>
14976
14977         Change rpmatch to use nl_langinfo when appropriate.
14978         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
14979         (N_): New macro.
14980         (localized_pattern): New function/macro.
14981         (try): Remove match, nomatch arguments. Copy the pattern into safe
14982         memory before caching it.
14983         (rpmatch): Use localized_pattern. Add translator comments.
14984         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
14985         Suggested by Eric Blake.
14986         * modules/rpmatch (Depends-on): Add stdbool.
14987
14988 2008-04-28  Eric Blake  <ebb9@byu.net>
14989
14990         Add rawmemchr module, matching glibc.
14991         * modules/string (Makefile.am): New indicator.
14992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
14993         * lib/string.in.h (rawmemchr): Declare when appropriate.
14994         * modules/rawmemchr: New file.
14995         * m4/rawmemchr.m4: Likewise.
14996         * lib/rawmemchr.c: Likewise.
14997         * modules/rawmemchr-tests: Likewise.
14998         * tests/test-rawmemchr.c: Likewise.
14999         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
15000         module.
15001         * modules/strchrnul (Depends-on): Add rawmemchr.
15002         * lib/strchrnul.c (strchrnul): Optimize a corner case.
15003
15004         Whitespace cleanup.
15005         * tests/test-strchrnul.c: Reindent.
15006         * lib/strchrnul.c: Likewise.
15007
15008         Optimize and test strchrnul.
15009         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
15010         * modules/strchrnul-tests: New file.
15011         * tests/test-strchrnul.c: Likewise.
15012
15013         Remove intprops dependency.
15014         * modules/memchr (Depends-on): Remove intprops.
15015         * modules/memrchr (Depends-on): Likewise.
15016         * modules/memchr2 (Depends-on): Likewise.
15017         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
15018         * lib/memrchr.c (__memrchr): Likewise.
15019         * lib/memrchr2.c (memchr2): Likewise.
15020         Reported by Simon Josefsson.
15021
15022 2008-04-28  Simon Josefsson  <simon@josefsson.org>
15023
15024         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
15025         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15026
15027 2008-04-28  Simon Josefsson  <simon@josefsson.org>
15028
15029         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
15030
15031         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
15032
15033         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
15034
15035         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
15036         declarations.
15037         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
15038
15039         * m4/inet_pton.m4: Don't check for header files.
15040
15041         * m4/inet_ntop.m4: Don't check for header files.
15042
15043 2008-04-28  Simon Josefsson  <simon@josefsson.org>
15044
15045         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
15046         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
15047         trigger for cygwin).
15048         Reported by Bruno Haible  <bruno@clisp.org>.
15049
15050 2008-04-28  Bruno Haible  <bruno@clisp.org>
15051
15052         * doc/posix-functions/strdup.texi: Mention mingw problem.
15053
15054 2008-04-27  Bruno Haible  <bruno@clisp.org>
15055
15056         * modules/stat-time-tests (Depends-on): Add sleep.
15057         * tests/test-stat-time.c (force_unlink): New function.
15058         (cleanup): Use it.
15059         (test_mtime): Remove the ctime related tests.
15060         (test_ctime): New function, containing the ctime related tests.
15061         (main): Call test_ctime, except on native Windows platforms.
15062
15063 2008-04-27  Bruno Haible  <bruno@clisp.org>
15064
15065         * lib/rpmatch.c (rpmatch): Add some comments.
15066         Reported by James Youngman <jay@gnu.org>.
15067
15068 2008-04-27  Bruno Haible  <bruno@clisp.org>
15069
15070         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
15071         quiet NaNs.
15072
15073 2008-04-27  Bruno Haible  <bruno@clisp.org>
15074
15075         Make test-yesno.sh work on mingw.
15076         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
15077         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
15078         (main): Set stdin to binary mode.
15079         * modules/yesno-tests (Depends-on): Add binary-io.
15080
15081 2008-04-27  Bruno Haible  <bruno@clisp.org>
15082
15083         Fix 'isfinite' on x86, x86_64, ia64 platforms.
15084         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
15085         argument that lie outside the IEEE 854 domain.
15086         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
15087         (gl_ISFINITE): Use it.
15088         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
15089
15090 2008-04-27  Bruno Haible  <bruno@clisp.org>
15091
15092         Allow local renaming in config.h.
15093         * lib/memrchr.c (memrchr): Don't undefine outside libc.
15094
15095 2008-04-27  Bruno Haible  <bruno@clisp.org>
15096
15097         * lib/memchr.c (__memchr): Change type of 'i'.
15098         * lib/memchr2.c (memchr2): Likewise.
15099
15100 2008-04-26  Eric Blake  <ebb9@byu.net>
15101         and Bruno Haible  <bruno@clisp.org>
15102
15103         Optimize and test memrchr.
15104         * modules/memrchr (Depends-on): Add intprops.
15105         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
15106         * modules/memrchr-tests: New file.
15107         * tests/test-memrchr.c: New file.
15108
15109 2008-04-26  Bruno Haible  <bruno@clisp.org>
15110
15111         Add tentative support for DragonFly BSD.
15112         * lib/stdio-impl.h: Add macros for DragonFly BSD.
15113         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
15114         fp.
15115         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
15116         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
15117         * lib/fpurge.c (fpurge): Likewise.
15118         * lib/freadable.c (freaadable): Likewise.
15119         * lib/freadahead.c (freadahead): Likewise.
15120         * lib/freading.c (freading): Likewise.
15121         * lib/freadptr.c (freadptr): Likewise.
15122         * lib/freadseek.c (freadptrinc): Likewise.
15123         * lib/fseeko.c (fseeko): Likewise.
15124         * lib/fseterr.c (fseterr): Likewise.
15125         * lib/fwritable.c (fwritable): Likewise.
15126         * lib/fwriting.c (fwriting): Likewise.
15127
15128 2008-04-26  Bruno Haible  <bruno@clisp.org>
15129
15130         * lib/stdio-impl.h: New file.
15131         * lib/fbufmode.c: Include stdio-impl.h.
15132         (fbufmode): Use fp_, remove redundant #defines.
15133         * lib/fflush.c: Include stdio-impl.h.
15134         (clear_ungetc_buffer): Remove redundant #defines.
15135         * lib/fpurge.c: Include stdio-impl.h.
15136         (fpurge): Remove redundant #defines.
15137         * lib/freadable.c: Include stdio-impl.h.
15138         (freadable): Remove redundant #defines.
15139         * lib/freadahead.c: Include stdio-impl.h.
15140         (freadahead): Remove redundant #defines.
15141         * lib/freading.c: Include stdio-impl.h.
15142         (freading): Remove redundant #defines.
15143         * lib/freadptr.c: Include stdio-impl.h.
15144         (freadptr): Remove redundant #defines.
15145         * lib/freadseek.c: Include stdio-impl.h.
15146         (freadptrinc): Remove redundant #defines.
15147         * lib/fseeko.c: Include stdio-impl.h.
15148         (rpl_fseeko): Remove redundant #defines.
15149         * lib/fseterr.c: Include stdio-impl.h.
15150         (fseterr): Remove redundant #defines.
15151         * lib/fwritable.c: Include stdio-impl.h.
15152         (fwritable: Remove redundant #defines.
15153         * lib/fwriting.c: Include stdio-impl.h.
15154         (fwriting): Remove redundant #defines.
15155         * modules/fbufmode (Files): Add lib/stdio-impl.h.
15156         * modules/fflush (Files): Likewise.
15157         * modules/fpurge (Files): Likewise.
15158         * modules/freadable (Files): Likewise.
15159         * modules/freadahead (Files): Likewise.
15160         * modules/freading (Files): Likewise.
15161         * modules/freadptr (Files): Likewise.
15162         * modules/freadseek (Files): Likewise.
15163         * modules/fseeko (Files): Likewise.
15164         * modules/fseterr (Files): Likewise.
15165         * modules/fwritable (Files): Likewise.
15166         * modules/fwriting (Files): Likewise.
15167
15168 2008-04-26  Bruno Haible  <bruno@clisp.org>
15169
15170         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
15171         restore_seek_optimization, update_fpos_cache): New functions, extracted
15172         from rpl_fflush.
15173         (rpl_fflush): Use them.
15174         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
15175         (gl_REPLACE_FFLUSH): Use it.
15176
15177 2008-04-26  Bruno Haible  <bruno@clisp.org>
15178
15179         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
15180         on Solaris.
15181         * tests/test-xstrtoimax.sh: Likewise.
15182         * tests/test-xstrtoumax.sh: Likewise.
15183         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15184
15185 2008-04-26  Bruno Haible  <bruno@clisp.org>
15186
15187         * modules/memchr-tests: New file.
15188         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
15189
15190 2008-04-26  Eric Blake  <ebb9@byu.net>
15191             Bruno Haible  <bruno@clisp.org>
15192
15193         * lib/memchr.c: Include intprops.h.
15194         (__memchr): Optimize parallel detection of matching bytes. Rename local
15195         variables. Add explanatory comments.
15196
15197 2008-04-26  Bruno Haible  <bruno@clisp.org>
15198
15199         Fix module 'memchr', broken since 2000-10-28.
15200         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
15201
15202 2008-04-26  Bruno Haible  <bruno@clisp.org>
15203
15204         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
15205         comments.
15206
15207 2008-04-25  Eric Blake  <ebb9@byu.net>
15208
15209         Use native fstatat on cygwin 1.7.0.
15210         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
15211         first.
15212
15213 2008-04-23  Eric Blake  <ebb9@byu.net>
15214
15215         Improve memchr2 performance.
15216         * lib/memchr2.c (memchr2): Further optimize parallel detection of
15217         NUL bytes.
15218         * modules/memchr2 (Depends-on): Use intprops.h.
15219
15220 2008-04-23  Simon Josefsson  <simon@josefsson.org>
15221
15222         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
15223         an inline function instead of a CPP macro.  Patch by Ben Pfaff
15224         <blp@cs.stanford.edu>.
15225
15226 2008-04-23  Simon Josefsson  <simon@josefsson.org>
15227
15228         * lib/arpa_inet.in.h: New file.
15229
15230         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
15231         (Makefile.am): Sed in substitute header file.
15232
15233         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
15234         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
15235
15236         * modules/inet_ntop (configure.ac): Use
15237         gl_ARPA_INET_MODULE_INDICATOR.
15238
15239         * modules/inet_pton (configure.ac): Use
15240         gl_ARPA_INET_MODULE_INDICATOR.
15241
15242 2008-04-22  Jim Meyering  <meyering@redhat.com>
15243
15244         * modules/verify (License): Re-license as LGPLv2+.
15245
15246 2008-04-22  Simon Josefsson  <simon@josefsson.org>
15247
15248         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
15249         parameter to void* as per POSIX standard (MinGW uses char*).
15250
15251 2008-04-21  Bruno Haible  <bruno@clisp.org>
15252
15253         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
15254         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
15255         Define to replacements if REPLACE_ISWCNTRL is 1.
15256         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
15257         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
15258         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
15259         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
15260         what it fixes.
15261         * doc/posix-functions/iswalpha.texi: Likewise.
15262         * doc/posix-functions/iswblank.texi: Likewise.
15263         * doc/posix-functions/iswcntrl.texi: Likewise.
15264         * doc/posix-functions/iswdigit.texi: Likewise.
15265         * doc/posix-functions/iswgraph.texi: Likewise.
15266         * doc/posix-functions/iswlower.texi: Likewise.
15267         * doc/posix-functions/iswprint.texi: Likewise.
15268         * doc/posix-functions/iswpunct.texi: Likewise.
15269         * doc/posix-functions/iswspace.texi: Likewise.
15270         * doc/posix-functions/iswupper.texi: Likewise.
15271         * doc/posix-functions/iswxdigit.texi: Likewise.
15272         Reported by Alain Guibert.
15273
15274 2008-04-21  Bruno Haible  <bruno@clisp.org>
15275
15276         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
15277         Patch by Alain Guibert.
15278
15279 2008-04-21  Bruno Haible  <bruno@clisp.org>
15280
15281         Fix test failures on mingw.
15282         * tests/test-xstrtol.c (print_no_progname): New function.
15283         (main): Install it in error_print_progname hook.
15284         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
15285         * tests/test-xstrtoimax.sh: Likewise.
15286         * tests/test-xstrtoumax.sh: Likewise.
15287
15288 2008-04-21  Bruno Haible  <bruno@clisp.org>
15289
15290         Fix test failure on mingw.
15291         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
15292
15293 2008-04-21  Bruno Haible  <bruno@clisp.org>
15294
15295         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
15296         Actually assign a value.
15297
15298 2008-04-20  Bruno Haible  <bruno@clisp.org>
15299
15300         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
15301         take 2.
15302         * lib/canonicalize.c (canonicalize_file_name): Elide if the
15303         'canonicalize-lgpl' module is also used.
15304         * lib/canonicalize-lgpl.c: Undo last change.
15305         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
15306
15307 2008-04-20  Bruno Haible  <bruno@clisp.org>
15308
15309         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
15310         config.h. Provide _mkdir based fallback for mingw.
15311         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
15312         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
15313         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
15314         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
15315         rather than defining mkdir in config.h.
15316         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
15317         (gl_SYS_STAT_H_DEFAULTS): New macro.
15318         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
15319         HAVE_IO_H any more.
15320         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
15321         HAVE_DECL_MKDIR and HAVE_IO_H.
15322
15323 2008-04-20  Bruno Haible  <bruno@clisp.org>
15324
15325         * lib/isapipe.c: Port to native Windows platforms.
15326
15327 2008-04-20  Bruno Haible  <bruno@clisp.org>
15328
15329         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
15330
15331 2008-04-21  Eric Blake  <ebb9@byu.net>
15332
15333         Work around preprocessors that don't handle UINTMAX_MAX.
15334         * lib/memchr2.c (memchr2): Avoid embedded #if.
15335         Reported by Alain Guibert, fix suggested by Bruno Haible.
15336
15337 2008-04-21  Simon Josefsson  <simon@josefsson.org>
15338
15339         * doc/posix-functions/strftime.texi (strftime): Explain better
15340         Windows incompatibility.  Suggested by Micah Cowan
15341         <micah@cowan.name>.
15342
15343 2008-04-20  Bruno Haible  <bruno@clisp.org>
15344
15345         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
15346         unistr/u8-mblen.
15347
15348 2008-04-20  Bruno Haible  <bruno@clisp.org>
15349
15350         Fix test failure on platforms with non-GNU iconv.
15351         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
15352         (U_TO_U8): Use it, rather than u16_to_u8.
15353         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
15354         units at the end of the input string.
15355         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
15356
15357 2008-04-20  Bruno Haible  <bruno@clisp.org>
15358
15359         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
15360         when the resulting length is 0.
15361         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15362
15363 2008-04-20  Bruno Haible  <bruno@clisp.org>
15364
15365         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
15366         works.
15367         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
15368
15369 2008-04-20  Bruno Haible  <bruno@clisp.org>
15370
15371         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
15372         * modules/tsearch-tests (configure.ac): Test for initstate function.
15373
15374 2008-04-20  Bruno Haible  <bruno@clisp.org>
15375
15376         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
15377         for nlink_t if missing.
15378         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
15379
15380 2008-04-19  Bruno Haible  <bruno@clisp.org>
15381
15382         Work around snprintf bug on Linux libc5.
15383         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
15384         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
15385         gl_SNPRINTF_SIZE1.
15386         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
15387         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
15388         that test failed.
15389         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
15390         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
15391         * modules/snprintf (Files): Add m4/printf.m4.
15392         * modules/vsnprintf (Files): Likewise.
15393         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
15394         * doc/posix-functions/vsnprintf.texi: Likewise.
15395
15396 2008-04-19  Bruno Haible  <bruno@clisp.org>
15397
15398         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
15399         from 0.0058 to less than 10^-7.
15400
15401 2008-04-19  Bruno Haible  <bruno@clisp.org>
15402
15403         Fix rounding when a precision is given.
15404         * lib/vasnprintf.c (is_borderline): New function.
15405         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
15406         9...9x.
15407         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
15408         %e, %g.
15409         * tests/test-vasprintf-posix.c (test_function): Likewise.
15410         * tests/test-snprintf-posix.h (test_function): Likewise.
15411         * tests/test-sprintf-posix.h (test_function): Likewise.
15412         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
15413         * tests/test-printf-posix.h (test_function): Likewise.
15414         * tests/test-printf-posix.output: Update.
15415         Reported by John Darrington <john@darrington.wattle.id.au> via
15416         Ben Pfaff <blp@cs.stanford.edu>.
15417
15418 2008-04-18  Simon Josefsson  <simon@josefsson.org>
15419
15420         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
15421         Suggested by Bruno Haible <bruno@clisp.org>.
15422
15423 2008-04-17  Bruno Haible  <bruno@clisp.org>
15424
15425         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
15426         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
15427         implementation.
15428         Patch by Bruce Merry <bmerry@gmail.com>.
15429
15430 2008-04-17  Simon Josefsson  <simon@josefsson.org>
15431
15432         * doc/posix-functions/strftime.texi (strftime): Mention that %e
15433         doesn't work under Windows.
15434
15435 2008-04-16  Bruno Haible  <bruno@clisp.org>
15436
15437         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
15438         New macros.
15439         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
15440         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
15441         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
15442         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
15443         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
15444         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
15445         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
15446         macros.
15447         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
15448         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
15449         Northern Sotho, Uighur.
15450
15451 2008-04-16  Bruno Haible  <bruno@clisp.org>
15452
15453         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
15454         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
15455         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
15456         Reported by Daniel Bergström <daniel@octocode.com>.
15457
15458 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
15459             Bruno Haible  <bruno@clisp.org>
15460
15461         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
15462         function.
15463         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
15464         New functions, mostly extracted from gl_locale_name_default.
15465         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
15466
15467 2008-04-16  Eric Blake  <ebb9@byu.net>
15468
15469         Adjust strtod detection to catch glibc 2.7 bug.
15470         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
15471         Reported by John Gatewood Ham.
15472
15473 2008-04-16  Bruno Haible  <bruno@clisp.org>
15474
15475         Add tentative support for Linux libc5.
15476         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
15477         * lib/fpurge.c (fpurge): Likewise.
15478         * lib/freadable.c (freadable): Likewise.
15479         * lib/freadahead.c (freadahead): Likewise.
15480         * lib/freading.c (freading): Likewise.
15481         * lib/freadptr.c (freadptr): Likewise.
15482         * lib/freadseek.c (freadptrinc): Likewise.
15483         * lib/fseeko.c (rpl_fseeko): Likewise.
15484         * lib/fseterr.c (fseterr): Likewise.
15485         * lib/fwritable.c (fwritable): Likewise.
15486         * lib/fwriting.c (fwriting): Likewise.
15487         Reported by Alain Guibert <alguibert+bts@free.fr>.
15488
15489 2008-04-15  Bruno Haible  <bruno@clisp.org>
15490
15491         * modules/mathl (configure.ac): Define module indicator.
15492
15493 2008-04-15  Bruno Haible  <bruno@clisp.org>
15494
15495         * lib/logl.c (logl): Remove unused variables.
15496
15497 2008-04-15  Bruno Haible  <bruno@clisp.org>
15498
15499         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
15500         fails.
15501
15502 2008-04-15  Bruno Haible  <bruno@clisp.org>
15503
15504         * lib/trim.c (trim2): Fix argument of isspace() macro.
15505
15506 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
15507
15508         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
15509         to 0.
15510         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
15511
15512 2008-04-14  Bruno Haible  <bruno@clisp.org>
15513
15514         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
15515         AC_LANG_PROGRAM argument.
15516         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
15517         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
15518         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
15519         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15520         * m4/math_h.m4 (gl_MATH_H): Likewise.
15521         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
15522         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15523         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
15524         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
15525         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15526         * m4/regex.m4 (gl_REGEX): Likewise.
15527         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
15528         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
15529         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15530         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
15531         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
15532         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
15533         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15534         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15535
15536 2008-04-14  Jim Meyering  <meyering@redhat.com>
15537
15538         test-strtod: fix typos: s/abs/fabs/
15539         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
15540
15541 2008-04-13  Bruno Haible  <bruno@clisp.org>
15542
15543         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
15544         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
15545         module is also used and while not building the reloc-wrapper.
15546
15547 2008-04-13  Bruno Haible  <bruno@clisp.org>
15548
15549         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
15550
15551 2008-04-13  Bruno Haible  <bruno@clisp.org>
15552
15553         Fix AIX compilation failure introduced on 2008-04-02.
15554         * tests/test-frexp.c (exp): Undefine before redefining.
15555         * tests/test-frexpl.c (exp): Likewise.
15556
15557 2008-04-13  Bruno Haible  <bruno@clisp.org>
15558
15559         Work around a HP-UX stdio bug.
15560         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
15561         * tests/test-ftello.c (main): Likewise.
15562         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
15563         * doc/posix-functions/ftello.texi: Likewise.
15564
15565 2008-04-13  Bruno Haible  <bruno@clisp.org>
15566
15567         Make test-signbit pass on HP-UX/hppa.
15568         * tests/test-signbit.c (minus_zerol): New variable.
15569         (test_signbitl): Use it.
15570
15571 2008-04-13  Bruno Haible  <bruno@clisp.org>
15572
15573         Make truncl work on OSF/1 4.0.
15574         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
15575         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
15576         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
15577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
15578         HAVE_DECL_TRUNCL.
15579         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
15580         HAVE_DECL_TRUNCL.
15581         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
15582
15583 2008-04-13  Bruno Haible  <bruno@clisp.org>
15584
15585         * lib/unictype.h: Remove trailing comma from enumeration definitions.
15586
15587 2008-04-13  Bruno Haible  <bruno@clisp.org>
15588
15589         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
15590         expression, so as to avoid HP-UX 11 cc compiler bug.
15591
15592 2008-04-13  Bruno Haible  <bruno@clisp.org>
15593
15594         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
15595
15596 2008-04-13  Bruno Haible  <bruno@clisp.org>
15597
15598         * lib/git-merge-changelog.c: Remove empty declaration outside of
15599         functions.
15600
15601 2008-04-13  Bruno Haible  <bruno@clisp.org>
15602
15603         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
15604
15605 2008-04-13  Bruno Haible  <bruno@clisp.org>
15606
15607         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
15608         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
15609         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
15610         also if it exists but lacks definitions of the SHUT_* macros.
15611         * modules/sys_socket (Description): Update.
15612         Reported by Elbert Pol <e.pol@chello.nl>.
15613
15614 2008-04-13  Bruno Haible  <bruno@clisp.org>
15615
15616         * lib/localcharset.c (OS2): Don't redefine if already defined.
15617         Reported by Elbert Pol <e.pol@chello.nl>.
15618
15619 2008-04-13  Bruno Haible  <bruno@clisp.org>
15620
15621         * lib/binary-io.h [__EMX__]: Include <io.h>.
15622         Reported by Elbert Pol <e.pol@chello.nl>.
15623
15624 2008-04-12  Bruno Haible  <bruno@clisp.org>
15625
15626         * lib/fpucw.h: Enable the definitions also for x86_64.
15627         Needed for NetBSD/x86_64.
15628         Reported by Thomas Klausner <tk@giga.or.at>.
15629
15630 2008-04-12  Bruno Haible  <bruno@clisp.org>
15631
15632         * tests/test-strtod.c: Include isnand.h.
15633         (main): Use isnand instead of isnan.
15634         Reported by Jim Meyering.
15635
15636 2008-04-12  Bruno Haible  <bruno@clisp.org>
15637
15638         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
15639         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
15640
15641 2008-04-12  Jim Meyering  <meyering@redhat.com>
15642
15643         * m4/math_h.m4 (gl_MATH_H): Fix typos.
15644
15645 2008-04-12  Bruno Haible  <bruno@clisp.org>
15646
15647         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
15648         Reported by Elbert Pol <e.pol@chello.nl>.
15649
15650 2008-04-12  Eric Blake  <ebb9@byu.net>
15651
15652         Work around Solaris 10 math.h bug.
15653         * m4/math_h.m4 (gl_MATH_H): Check for bug.
15654         (gl_MATH_H_DEFAULTS): Set up default.
15655         * modules/math (Makefile.am): Replace new indicators.
15656         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
15657         * tests/test-math.c (main): Test this.
15658         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
15659         * doc/posix-headers/math.texi (math.h): Mention bug.
15660         Reported by Nelson H. F. Beebe and Jim Meyering.
15661
15662 2008-04-11  Bruno Haible  <bruno@clisp.org>
15663
15664         Adapt to future versions of Apple GCC.
15665         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
15666         Reported by Peter O'Gorman <peter@pogma.com>.
15667
15668 2008-04-11  Bruno Haible  <bruno@clisp.org>
15669
15670         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
15671
15672 2008-04-11  Bruno Haible  <bruno@clisp.org>
15673
15674         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
15675
15676         * modules/getaddrinfo-tests (Makefile.am): Define
15677         test_getaddrinfo_LDADD.
15678
15679 2008-04-11  Bruno Haible  <bruno@clisp.org>
15680
15681         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
15682         (init): Fix syntax error.
15683         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
15684         is declared.
15685
15686 2008-04-11  Bruno Haible  <bruno@clisp.org>
15687
15688         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
15689         * modules/glob (Depends-on): Add stdbool.
15690
15691 2008-04-11  Bruno Haible  <bruno@clisp.org>
15692
15693         * lib/trim.c: Include <string.h>.
15694
15695 2008-04-11  Eric Blake  <ebb9@byu.net>
15696
15697         Avoid compile failure on OS/2.
15698         * lib/regex_internal.h (internal_function): Disable optimization
15699         on OS/2 (__EMX__), where it caused compiler error.
15700         Reported by Elbert Pol.
15701
15702 2008-04-11  Bruno Haible  <bruno@clisp.org>
15703
15704         Flush the standard error stream before aborting. Needed on mingw.
15705         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
15706         * tests/test-array_list.c (ASSERT): Likewise.
15707         * tests/test-array_oset.c (ASSERT): Likewise.
15708         * tests/test-avltree_list.c (ASSERT): Likewise.
15709         * tests/test-avltree_oset.c (ASSERT): Likewise.
15710         * tests/test-avltreehash_list.c (ASSERT): Likewise.
15711         * tests/test-binary-io.c (ASSERT): Likewise.
15712         * tests/test-byteswap.c (ASSERT): Likewise.
15713         * tests/test-c-ctype.c (ASSERT): Likewise.
15714         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
15715         * tests/test-c-strcasestr.c (ASSERT): Likewise.
15716         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
15717         * tests/test-c-strstr.c (ASSERT): Likewise.
15718         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
15719         * tests/test-canonicalize.c (ASSERT): Likewise.
15720         * tests/test-carray_list.c (ASSERT): Likewise.
15721         * tests/test-ceilf1.c (ASSERT): Likewise.
15722         * tests/test-ceilf2.c (ASSERT): Likewise.
15723         * tests/test-ceill.c (ASSERT): Likewise.
15724         * tests/test-count-one-bits.c (ASSERT): Likewise.
15725         * tests/test-fbufmode.c (ASSERT): Likewise.
15726         * tests/test-fflush2.c (ASSERT): Likewise.
15727         * tests/test-floorf1.c (ASSERT): Likewise.
15728         * tests/test-floorf2.c (ASSERT): Likewise.
15729         * tests/test-floorl.c (ASSERT): Likewise.
15730         * tests/test-fopen.c (ASSERT): Likewise.
15731         * tests/test-fpending.c (ASSERT): Likewise.
15732         * tests/test-fprintf-posix.c (ASSERT): Likewise.
15733         * tests/test-fpurge.c (ASSERT): Likewise.
15734         * tests/test-freadable.c (ASSERT): Likewise.
15735         * tests/test-freadahead.c (ASSERT): Likewise.
15736         * tests/test-freading.c (ASSERT): Likewise.
15737         * tests/test-freadptr.c (ASSERT): Likewise.
15738         * tests/test-freadptr2.c (ASSERT): Likewise.
15739         * tests/test-freadseek.c (ASSERT): Likewise.
15740         * tests/test-freopen.c (ASSERT): Likewise.
15741         * tests/test-frexp.c (ASSERT): Likewise.
15742         * tests/test-frexpl.c (ASSERT): Likewise.
15743         * tests/test-fseek.c (ASSERT): Likewise.
15744         * tests/test-fseeko.c (ASSERT): Likewise.
15745         * tests/test-fstrcmp.c (ASSERT): Likewise.
15746         * tests/test-ftell.c (ASSERT): Likewise.
15747         * tests/test-ftello.c (ASSERT): Likewise.
15748         * tests/test-func.c (ASSERT): Likewise.
15749         * tests/test-fwritable.c (ASSERT): Likewise.
15750         * tests/test-fwriting.c (ASSERT): Likewise.
15751         * tests/test-getdelim.c (ASSERT): Likewise.
15752         * tests/test-getline.c (ASSERT): Likewise.
15753         * tests/test-i-ring.c (ASSERT): Likewise.
15754         * tests/test-iconv-utf.c (ASSERT): Likewise.
15755         * tests/test-iconv.c (ASSERT): Likewise.
15756         * tests/test-isfinite.c (ASSERT): Likewise.
15757         * tests/test-isnand.c (ASSERT): Likewise.
15758         * tests/test-isnanf.c (ASSERT): Likewise.
15759         * tests/test-isnanl.h (ASSERT): Likewise.
15760         * tests/test-ldexpl.c (ASSERT): Likewise.
15761         * tests/test-linked_list.c (ASSERT): Likewise.
15762         * tests/test-linkedhash_list.c (ASSERT): Likewise.
15763         * tests/test-localename.c (ASSERT): Likewise.
15764         * tests/test-lseek.c (ASSERT): Likewise.
15765         * tests/test-mbscasecmp.c (ASSERT): Likewise.
15766         * tests/test-mbscasestr1.c (ASSERT): Likewise.
15767         * tests/test-mbscasestr2.c (ASSERT): Likewise.
15768         * tests/test-mbscasestr3.c (ASSERT): Likewise.
15769         * tests/test-mbscasestr4.c (ASSERT): Likewise.
15770         * tests/test-mbschr.c (ASSERT): Likewise.
15771         * tests/test-mbscspn.c (ASSERT): Likewise.
15772         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
15773         * tests/test-mbspbrk.c (ASSERT): Likewise.
15774         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
15775         * tests/test-mbsrchr.c (ASSERT): Likewise.
15776         * tests/test-mbsspn.c (ASSERT): Likewise.
15777         * tests/test-mbsstr1.c (ASSERT): Likewise.
15778         * tests/test-mbsstr2.c (ASSERT): Likewise.
15779         * tests/test-mbsstr3.c (ASSERT): Likewise.
15780         * tests/test-memchr2.c (ASSERT): Likewise.
15781         * tests/test-memmem.c (ASSERT): Likewise.
15782         * tests/test-open.c (ASSERT): Likewise.
15783         * tests/test-printf-frexp.c (ASSERT): Likewise.
15784         * tests/test-printf-frexpl.c (ASSERT): Likewise.
15785         * tests/test-printf-posix.c (ASSERT): Likewise.
15786         * tests/test-quotearg.c (ASSERT): Likewise.
15787         * tests/test-rbtree_list.c (ASSERT): Likewise.
15788         * tests/test-rbtree_oset.c (ASSERT): Likewise.
15789         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
15790         * tests/test-round1.c (ASSERT): Likewise.
15791         * tests/test-roundf1.c (ASSERT): Likewise.
15792         * tests/test-roundl.c (ASSERT): Likewise.
15793         * tests/test-signbit.c (ASSERT): Likewise.
15794         * tests/test-sleep.c (ASSERT): Likewise.
15795         * tests/test-snprintf-posix.c (ASSERT): Likewise.
15796         * tests/test-snprintf.c (ASSERT): Likewise.
15797         * tests/test-sprintf-posix.c (ASSERT): Likewise.
15798         * tests/test-stat-time.c (ASSERT): Likewise.
15799         * tests/test-strcasestr.c (ASSERT): Likewise.
15800         * tests/test-strerror.c (ASSERT): Likewise.
15801         * tests/test-striconv.c (ASSERT): Likewise.
15802         * tests/test-striconveh.c (ASSERT): Likewise.
15803         * tests/test-striconveha.c (ASSERT): Likewise.
15804         * tests/test-strsignal.c (ASSERT): Likewise.
15805         * tests/test-strstr.c (ASSERT): Likewise.
15806         * tests/test-strtod.c (ASSERT): Likewise.
15807         * tests/test-trunc1.c (ASSERT): Likewise.
15808         * tests/test-trunc2.c (ASSERT): Likewise.
15809         * tests/test-truncf1.c (ASSERT): Likewise.
15810         * tests/test-truncf2.c (ASSERT): Likewise.
15811         * tests/test-truncl.c (ASSERT): Likewise.
15812         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
15813         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
15814         * tests/test-vasnprintf.c (ASSERT): Likewise.
15815         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
15816         * tests/test-vasprintf.c (ASSERT): Likewise.
15817         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
15818         * tests/test-vprintf-posix.c (ASSERT): Likewise.
15819         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
15820         * tests/test-vsnprintf.c (ASSERT): Likewise.
15821         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
15822         * tests/test-wcwidth.c (ASSERT): Likewise.
15823         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
15824         * tests/test-xprintf-posix.c (ASSERT): Likewise.
15825         * tests/test-xvasprintf.c (ASSERT): Likewise.
15826         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
15827         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
15828         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
15829         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
15830         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
15831         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
15832         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
15833         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
15834         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
15835         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
15836         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
15837         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
15838         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
15839         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
15840         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
15841         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
15842         * tests/unictype/test-block_list.c (ASSERT): Likewise.
15843         * tests/unictype/test-block_of.c (ASSERT): Likewise.
15844         * tests/unictype/test-block_test.c (ASSERT): Likewise.
15845         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
15846         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
15847         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
15848         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
15849         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
15850         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
15851         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
15852         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
15853         * tests/unictype/test-combining.c (ASSERT): Likewise.
15854         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
15855         * tests/unictype/test-digit.c (ASSERT): Likewise.
15856         * tests/unictype/test-mirror.c (ASSERT): Likewise.
15857         * tests/unictype/test-numeric.c (ASSERT): Likewise.
15858         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
15859         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
15860         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
15861         * tests/unictype/test-scripts.c (ASSERT): Likewise.
15862         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
15863         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
15864         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
15865         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
15866         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
15867         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
15868         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
15869         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
15870         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
15871         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
15872         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
15873         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
15874         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
15875         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
15876         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
15877         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
15878         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
15879         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
15880         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
15881         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
15882         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
15883         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
15884         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
15885         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
15886         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
15887         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
15888         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
15889         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
15890         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
15891         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
15892         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
15893         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
15894         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
15895         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
15896         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
15897         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
15898         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
15899         Reported by Eric Blake.
15900
15901 2008-04-11  Bruno Haible  <bruno@clisp.org>
15902
15903         * lib/wchar.in.h: Tweak comment.
15904
15905 2008-04-11  Bruno Haible  <bruno@clisp.org>
15906
15907         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
15908         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
15909         gl_COMMON.
15910         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
15911
15912 2008-04-11  Bruno Haible  <bruno@clisp.org>
15913
15914         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
15915
15916 2008-04-11  Simon Josefsson  <simon@josefsson.org>
15917
15918         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
15919         of attempting to use non-existing /dev/*random.  Based on patch
15920         from Adam Strzelecki <ono@java.pl> in
15921         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
15922
15923 2008-04-08  Bruno Haible  <bruno@clisp.org>
15924
15925         Add tentative support for emx+gcc.
15926         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
15927         * lib/fpurge.c (fpurge): Likewise.
15928         * lib/freadable.c (freadable): Likewise.
15929         * lib/freadahead.c (freadahead): Likewise.
15930         * lib/freading.c (freading): Likewise.
15931         * lib/freadptr.c (freadptr): Likewise.
15932         * lib/freadseek.c (freadptrinc): Likewise.
15933         * lib/fseeko.c (rpl_fseeko): Likewise.
15934         * lib/fseterr.c (fseterr): Likewise.
15935         * lib/fwritable.c (fwritable): Likewise.
15936         * lib/fwriting.c (fwriting): Likewise.
15937         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
15938
15939 2008-04-09  Eric Blake  <ebb9@byu.net>
15940
15941         Avoid some autoconf warnings.
15942         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
15943         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
15944         * m4/afs.m4 (gl_AFS): Likewise.
15945         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
15946         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
15947         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
15948         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
15949         (gl_INTEGER_TYPE_SUFFIX): Likewise.
15950         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
15951         (AC_CHECK_DECLS_ONCE): Likewise.
15952         Rename file...
15953         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
15954         gnulib-tool requires autoconf 2.59 or better.
15955         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
15956
15957 2008-04-08  Eric Blake  <ebb9@byu.net>
15958
15959         Use 'git describe --match' if present (added in git 1.5.5).
15960         * build-aux/git-version-gen: Limit result to tags that match 'v*'
15961         if possible.
15962
15963 2008-04-08  Bruno Haible  <bruno@clisp.org>
15964
15965         Add tentative support for OpenServer.
15966         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
15967         _ptr, _cnt.
15968         * lib/fpurge.c (fpurge): Likewise.
15969         * lib/freadable.c (freadable): Likewise.
15970         * lib/freadahead.c (freadahead): Likewise.
15971         * lib/freading.c (freading): Likewise.
15972         * lib/freadptr.c (freadptr): Likewise.
15973         * lib/freadseek.c (freadptrinc): Likewise.
15974         * lib/fseeko.c (rpl_fseeko): Likewise.
15975         * lib/fseterr.c (fseterr): Likewise.
15976         * lib/fwritable.c (fwritable): Likewise.
15977         * lib/fwriting.c (fwriting): Likewise.
15978         Reported by Roger Cornelius <rac@tenzing.org> and
15979         Brian K. White <brian@aljex.com>.
15980
15981 2008-04-06  Jim Meyering  <meyering@redhat.com>
15982
15983         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
15984
15985 2008-04-06  Bruno Haible  <bruno@clisp.org>
15986
15987         Avoid possible error with non-ASCII bytes in UTF-8 locales.
15988         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
15989         * tests/test-printf-posix.sh: Likewise.
15990         * tests/test-vfprintf-posix.sh: Likewise.
15991         * tests/test-vprintf-posix.sh: Likewise.
15992         * tests/test-xprintf-posix.sh: Likewise.
15993
15994 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15995
15996         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
15997         hide error from 'ls', needed on OS/2.
15998         Report by Elbert Pol <elbert.pol@gmail.com>.
15999
16000 2008-04-04  Eric Blake  <ebb9@byu.net>
16001
16002         Make test-fseeko.c failures meaningful.
16003         * tests/test-fseeko.c: Print line number on failure.
16004         * tests/test-fseek.c: Likewise.
16005         Reported by Nelson H. F. Beebe.
16006
16007         Improve strtod bug detection check.
16008         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
16009         required for Solaris 10.
16010         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
16011
16012 2008-04-04  Bruno Haible  <bruno@clisp.org>
16013
16014         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
16015         by m4/setenv.m4.
16016
16017 2008-04-03  Eric Blake  <ebb9@byu.net>
16018
16019         Ensure sane .version contents.
16020         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
16021         version string.
16022         * build-aux/git-version-gen: Improve documentation.
16023
16024         Make GNU make output nicer.
16025         * top/GNUmakefile [!_have-Makefile]: Add dependency on
16026         MAKECMDGOALS to enforce message for all command line targets.  Set
16027         srcdir for use in maint.mk.
16028
16029         Another maintainer tweak.
16030         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
16031         a target that regenerates version.
16032
16033 2008-04-03  Jim Meyering  <meyering@redhat.com>
16034
16035         vc-list-files: don't cause coreutils "make po-check" failure
16036         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
16037
16038 2008-04-03  Eric Blake  <ebb9@byu.net>
16039
16040         Allow VPATH usage of vc-list-files.
16041         * build-aux/vc-list-files (scriptversion): Add timestamp.
16042         (options): Add --help, --version, -C.
16043         (CVS): Support installed cvsu.
16044
16045 2008-04-02  Bruno Haible  <bruno@clisp.org>
16046
16047         Avoid some "statement with no effect" warnings from gcc.
16048         * tests/test-wctype.c (main): Explicitly ignore unused values.
16049         Reported by Jim Meyering.
16050
16051 2008-04-02  Jim Meyering  <meyering@redhat.com>
16052
16053         Avoid some warnings from "gcc -Wshadow".
16054         * tests/test-frexp.c (exp): Define to a different identifier.
16055         * tests/test-frexpl.c (exp): Likewise.
16056
16057 2008-04-03  Jim Meyering  <meyering@redhat.com>
16058
16059         bootstrap: remove dangling *.[ch] symlinks from lib
16060         * build-aux/bootstrap [dangling symlink removal]: Move find's
16061         -depth option to precede all others, to avoid a warning.
16062         Remove *.[ch] files too, and from "$source_base" (usually lib/).
16063
16064 2008-04-02  Bruno Haible  <bruno@clisp.org>
16065
16066         Avoid some warnings from "gcc -Wshadow".
16067         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
16068         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
16069         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
16070         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
16071         Reported by Jim Meyering.
16072
16073 2008-04-01  Bruno Haible  <bruno@clisp.org>
16074
16075         Fix test to work on IRIX 6.5 with cc.
16076         * tests/test-math.c (numeric_equal): New function.
16077         (main): Use it.
16078
16079 2008-04-01  Bruno Haible  <bruno@clisp.org>
16080
16081         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
16082
16083 2008-04-01  Bruno Haible  <bruno@clisp.org>
16084
16085         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
16086         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16087         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
16088         (Depends-on): Remove math.
16089
16090         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
16091         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16092         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
16093         (Depends-on): Remove math.
16094
16095         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
16096         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16097         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
16098         (Depends-on): Remove math.
16099         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
16100         (Depends-on): Remove math.
16101
16102         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
16103         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
16104         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
16105         (Depends-on): Remove math.
16106         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
16107         (Depends-on): Remove math.
16108
16109         * tests/test-round1.c: Include nan.h.
16110         (main): Use NaNd instead of NAN.
16111         * modules/round-tests (Files): Add tests/nan.h.
16112
16113         * tests/test-trunc1.c: Include nan.h.
16114         (main): Use NaNd instead of NAN.
16115         * modules/trunc-tests (Files): Add tests/nan.h.
16116
16117         * tests/test-roundf1.c: Include nan.h.
16118         (main): Use NaNf instead of NAN.
16119         * modules/roundf-tests (Files): Add tests/nan.h.
16120
16121         * tests/test-truncf1.c: Include nan.h.
16122         (main): Use NaNf instead of NAN.
16123         * modules/truncf-tests (Files): Add tests/nan.h.
16124
16125         * tests/test-ceilf1.c: Include nan.h.
16126         (main): Use NaNf instead of NAN.
16127         * modules/ceilf-tests (Files): Add tests/nan.h.
16128
16129         * tests/test-floorf1.c: Include nan.h.
16130         (main): Use NaNf instead of NAN.
16131         * modules/floorf-tests (Files): Add tests/nan.h.
16132
16133         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
16134         (main): Use NaNf instead of NAN.
16135         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
16136
16137         * tests/test-isnand.c: Include nan.h instead of <math.h>.
16138         (main): Use NaNd instead of NAN.
16139         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
16140
16141         * tests/test-frexp.c: Include nan.h.
16142         (main): Use NaNd instead of NAN.
16143         * modules/frexp-tests (Files): Add tests/nan.h.
16144
16145         * lib/isnan.c: Don't include <math.h>.
16146         (FUNC): Don't use NAN macro.
16147         * modules/isnand-nolibm (Depends-on): Remove math.
16148         * modules/isnanf-nolibm (Depends-on): Remove math.
16149         * modules/isnanl (Depends-on): Remove math.
16150         * modules/isnanl-nolibm (Depends-on): Remove math.
16151
16152         * tests/nan.h: New file.
16153
16154 2008-04-01  Eric Blake  <ebb9@byu.net>
16155
16156         Fix typos.
16157         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
16158         values to be the right type.
16159
16160         For now, cater to gnulib strtod inaccuracies.
16161         * tests/test-strtod.c (main): Allow 1-ulp error on expected
16162         fractional results.  While not as nice from a QoI perspective, it
16163         is a quicker patch than correctly implementing decimal to binary
16164         rounding.
16165
16166 2008-03-31  Eric Blake  <ebb9@byu.net>
16167
16168         Guarantee a definition of NAN.
16169         * lib/math.in.h (NAN): Define if missing.
16170         * tests/test-math.c (main): Test it.
16171         * doc/posix-headers/math.texi (math.h): Document this.
16172         * lib/isnan.c (rpl_isnand): Use it.
16173         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
16174         * tests/test-floorf1.c (NaN): Likewise.
16175         * tests/test-frexp.c (NaN): Likewise.
16176         * tests/test-isnand.c (NaN): Likewise.
16177         * tests/test-isnanf.c (NaN): Likewise.
16178         * tests/test-round1.c (NaN): Likewise.
16179         * tests/test-roundf1.c (NaN): Likewise.
16180         * tests/test-snprintf-posix.h (NaN): Likewise.
16181         * tests/test-sprintf-posix.h (NaN): Likewise.
16182         * tests/test-trunc1.c (NaN): Likewise.
16183         * tests/test-truncf1.c (NaN): Likewise.
16184         * tests/test-vasnprintf-posix.c (NaN): Likewise.
16185         * tests/test-vasprintf-posix.c (NaN): Likewise.
16186         * modules/isnand-nolibm (Depends-on): Add math.
16187         * modules/isnanf-nolibm (Depends-on): Likewise.
16188         * modules/isnanl (Depends-on): Likewise.
16189         * modules/isnanl-nolibm (Depends-on): Likewise.
16190         * modules/snprintf-posix-tests (Depends-on): Likewise.
16191         * modules/sprintf-posix-tests (Depends-on): Likewise.
16192         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
16193         * modules/vsprintf-posix-tests (Depends-on): Likewise.
16194         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
16195         * modules/vasprintf-posix-tests (Depends-on): Likewise.
16196
16197 2008-03-31  Bruno Haible  <bruno@clisp.org>
16198
16199         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
16200         * doc/posix-functions/strtod.texi: Likewise.
16201
16202 2008-03-31  Bruno Haible  <bruno@clisp.org>
16203
16204         * tests/test-strtod.c (main): Don't use C99 syntax.
16205
16206 2008-03-31  Bruno Haible  <bruno@clisp.org>
16207
16208         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
16209         Reported by Eric Blake.
16210
16211 2008-03-31  Jim Meyering  <meyering@redhat.com>
16212
16213         Don't compare actual signbit return values.
16214         * tests/test-strtod.c (main): Rather, compare only their
16215         zero/non-zero nature.
16216
16217 2008-03-31  Eric Blake  <ebb9@byu.net>
16218
16219         More strtod documentation.
16220         * doc/posix-functions/strtod.texi (strtod): Interpret more test
16221         failures as distinct bugs.
16222
16223 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
16224
16225         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
16226         Problem reported by Erik Benada in
16227         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
16228
16229 2008-03-30  Bruno Haible  <bruno@clisp.org>
16230
16231         * tests/test-strtod.c: Add comments about which assertion fails on which
16232         platform.
16233         * doc/posix-functions/strtod.texi: Add info about many more platforms.
16234
16235 2008-03-30  Eric Blake  <ebb9@byu.net>
16236
16237         Test signbit behavior on zeros.
16238         * tests/test-signbit.c (test_signbitf): Add tests for zero.
16239         (test_signbitd, test_signbitl): Likewise.
16240
16241         More strtod touchups.
16242         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
16243         sign of negative underflow, for now.  Use .5, not .1.
16244         * doc/posix-functions/strtod.texi (strtod): Mention these
16245         limitations.
16246         Reported by Jim Meyering.
16247
16248 2008-03-30  Bruno Haible  <bruno@clisp.org>
16249
16250         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
16251         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
16252
16253 2008-03-30  Bruno Haible  <bruno@clisp.org>
16254
16255         Avoid failure when attempting to return empty iconv results on some
16256         platforms.
16257         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
16258         allocation, don't report ENOMEM when the resulting string is empty.
16259
16260 2008-03-30  Bruno Haible  <bruno@clisp.org>
16261
16262         Fix buffer overrun.
16263         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
16264         Don't consider the width for tmp_length. Check count against tmp_length
16265         before doing the padding. Ensure enough allocation during padding.
16266
16267 2008-03-30  Eric Blake  <ebb9@byu.net>
16268
16269         strtod touchups.
16270         * lib/strtod.c (strtod): Avoid compiler warnings.
16271         Reported by Jim Meyering.
16272
16273 2008-03-30  Bruno Haible  <bruno@clisp.org>
16274
16275         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
16276         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
16277         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
16278         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
16279         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
16280         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
16281         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
16282         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
16283
16284         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
16285         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
16286         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
16287         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
16288         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
16289         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
16290         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
16291         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
16292
16293         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
16294         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
16295         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
16296         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
16297         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
16298         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
16299         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
16300         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
16301
16302         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
16303         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
16304
16305         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
16306         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
16307
16308         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
16309         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
16310
16311         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
16312         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
16313         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
16314
16315         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
16316         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
16317         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
16318
16319         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
16320         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
16321         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
16322
16323         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
16324         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
16325         * modules/vasprintf (Depends-on): Add EOVERFLOW.
16326
16327         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
16328         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
16329         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
16330         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
16331         (Depends-on): Add EOVERFLOW.
16332         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
16333         (Depends-on): Add EOVERFLOW.
16334         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
16335         (Depends-on): Add EOVERFLOW.
16336         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
16337         (Depends-on): Add EOVERFLOW.
16338         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
16339         (Depends-on): Add EOVERFLOW.
16340         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
16341         (Depends-on): Add EOVERFLOW.
16342         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
16343         (Depends-on): Add EOVERFLOW.
16344         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
16345         (Depends-on): Add EOVERFLOW.
16346
16347         * lib/sprintf.c (EOVERFLOW): Remove fallback.
16348         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
16349         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
16350
16351         * lib/snprintf.c (EOVERFLOW): Remove fallback.
16352         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
16353         * modules/snprintf (Depends-on): Add EOVERFLOW.
16354
16355         * lib/poll.c (EOVERFLOW): Remove fallback.
16356         * modules/poll (Depends-on): Add EOVERFLOW.
16357
16358         * lib/getugroups.c (EOVERFLOW): Remove fallback.
16359         * modules/getugroups (Depends-on): Add EOVERFLOW.
16360
16361         * lib/getdelim.c (EOVERFLOW): Remove fallback.
16362         * modules/getdelim (Depends-on): Add EOVERFLOW.
16363
16364         * lib/ftell.c (EOVERFLOW): Remove fallback.
16365         * modules/ftell (Depends-on): Add EOVERFLOW.
16366
16367         * lib/fprintf.c (EOVERFLOW): Remove fallback.
16368         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
16369         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
16370
16371         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
16372
16373         * modules/EOVERFLOW-tests: New file.
16374         * tests/test-EOVERFLOW.c: New file.
16375
16376         * modules/EOVERFLOW: New file.
16377         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
16378
16379 2008-03-30  Bruno Haible  <bruno@clisp.org>
16380
16381         Fix bug introduced on 2007-06-10.
16382         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
16383         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
16384
16385 2008-03-30  Bruno Haible  <bruno@clisp.org>
16386
16387         Improve freadseek's efficiency after ungetc.
16388         * lib/freadseek.c: Include freadahead.h.
16389         (freadptrinc): New function, extracted from freadseek.
16390         (freadseek): Use it in a loop. Use freadahead to determine the number
16391         of loop iterations.
16392         * modules/freadseek (Depends-on): Add freadahead.
16393         (configure.ac): Require AC_C_INLINE.
16394
16395 2008-03-30  Bruno Haible  <bruno@clisp.org>
16396
16397         * lib/freadseek.c (freadseek): Don't ignore the return value of
16398         freadptr.
16399
16400 2008-03-29  Eric Blake  <ebb9@byu.net>
16401
16402         Add hex float support.
16403         * modules/strtod (Depends-on): Add c-ctype.
16404         (Link): Mention POW_LIB.
16405         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
16406         whitespace between 'e' and exponent.
16407         * tests/test-strtod.c (main): Enable hex float tests.
16408         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
16409         now provides.
16410
16411         Document various strtod bugs, with some fixes.
16412         * doc/posix-functions/strtod.texi (strtod): Document bugs with
16413         "-0x", "inf", "nan", and hex constants.
16414         * doc/posix-functions/atof.texi (atof): Likewise.
16415         * modules/stdlib (Makefile.am): Support strtod.
16416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
16417         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
16418         detect additional strtod bugs.
16419         * lib/stdlib.in.h (rpl_strtod): Add declarations.
16420         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
16421         bool where appropriate.  Parse 'inf' and 'nan'.
16422         * tests/test-strtod.c: New file.
16423         * modules/strtod (Depends-on): Add stdbool, stdlib.
16424         (configure.ac): Turn on module indicator.
16425         * modules/strtod-tests: New module.
16426
16427 2008-03-29  Eric Blake  <ebb9@byu.net>
16428
16429         Fix ftell on mingw.
16430         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
16431         * modules/ftell-tests (Depends-on): Add binary-io.
16432         * modules/ftello-tests (Depends-on): Likewise.
16433         * tests/test-ftell.c (main): Enhance test to cover behavior after
16434         ungetc.  Enforce binary mode.
16435         * tests/test-ftello.c (main): Likewise.
16436
16437         Pass test-freadseek on cygwin.
16438         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
16439         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
16440         ungetc buffer.
16441
16442         * tests/test-fflush2.c (main): Fix typo.
16443
16444 2008-03-29  Bruno Haible  <bruno@clisp.org>
16445
16446         * tests/test-fflush2.c (main): Temporarily disable the contents of
16447         this test.
16448         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
16449         Reported by Eric Blake.
16450
16451 2008-03-28  Simon Josefsson  <simon@josefsson.org>
16452
16453         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
16454         (GC_SHA224_DIGEST_SIZE): Add.
16455
16456         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
16457         (gc_hash_digest_length): Likewise.
16458         (gc_hash_buffer): Likewise.
16459
16460 2008-03-25  Bruno Haible  <bruno@clisp.org>
16461
16462         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
16463         detail which gettext release to use.
16464         Reported by Simon Josefsson.
16465
16466 2008-03-26  Jim Meyering  <meyering@redhat.com>
16467
16468         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
16469         * modules/gnumakefile (clean-GNUmakefile): Also, use
16470         test ... && ... || : syntax rather than if-then ... fi.
16471
16472         gnumakefile: Don't double-quote-expand $(VPATH) value.
16473         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
16474
16475 2008-03-24  Eric Blake  <ebb9@byu.net>
16476
16477         Alter GNUmakefile to install into top directory.
16478         * modules/maintainer-makefile: Split, and add dependency...
16479         * modules/gnumakefile: to this new module.
16480         * build-aux/GNUmakefile: Move...
16481         * top/GNUmakefile: ...here.
16482         * build-aux/maint.mk: Move...
16483         * top/maint.mk: ...here.
16484         * MODULES.html.sh (Support for maintaining...): Document new
16485         module.
16486
16487 2008-03-23  Bruno Haible  <bruno@clisp.org>
16488
16489         * gnulib-tool: New options --vc-files, --no-vc-files.
16490         (func_usage): Document them.
16491         (vc_files): New variable.
16492         (func_import): Consider vc_files.
16493         (func_create_testdir): Set vc_files to empty.
16494         Suggested by Jim Meyering and Karl Berry.
16495
16496 2008-03-23  Bruno Haible  <bruno@clisp.org>
16497
16498         Fix regex compilation error on HP-UX 11.
16499         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
16500         * modules/regex (Files): Add m4/mbstate_t.m4.
16501         Reported by Ton Voon <ton.voon@altinity.com>.
16502
16503 2008-03-23  Bruno Haible  <bruno@clisp.org>
16504
16505         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
16506
16507 2008-03-23  Eric Blake  <ebb9@byu.net>
16508             Bruno Haible  <bruno@clisp.org>
16509
16510         Install files from top/ in the destination directory.
16511         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
16512         augmentation also for the files from top/.
16513         (func_import, func_create_testdir): Rewrite file names:
16514         top/filename -> filename.
16515
16516 2008-03-23  Bruno Haible  <bruno@clisp.org>
16517
16518         Tweak "gnulib --version" output.
16519         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
16520
16521 2008-03-23  Bruno Haible  <bruno@clisp.org>
16522
16523         Tweak "gnulib --version" output.
16524         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
16525         rather than contents of ChangeLog, when possible.
16526
16527 2008-03-21  Eric Blake  <ebb9@byu.net>
16528
16529         More --version tweaks.
16530         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
16531         date of last ChangeLog entry.
16532
16533 2008-03-21  Jim Meyering  <meyering@redhat.com>
16534
16535         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
16536
16537 2008-03-20  Eric Blake  <ebb9@byu.net>
16538
16539         VPATH fix.
16540         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
16541
16542 2008-03-20  Simon Josefsson  <simon@josefsson.org>
16543
16544         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
16545         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
16546
16547 2008-03-20  Eric Blake  <ebb9@byu.net>
16548
16549         Sync GNUmakefile with coreutils.
16550         * build-aux/GNUmakefile (have-Makefile): Rename...
16551         (_have-Makefile): ...to this, for namespace consideration.
16552         (GNUmakefile.cfg): Include, if present.
16553         (_autoreconf): Define a default.
16554         (_is-dist-target): New rule for rebuilds to pick up intra-release
16555         version.
16556         (maint-cfg.mk): Rename...
16557         (cfg.mk): ...to this.
16558
16559 2008-03-18  Jim Meyering  <meyering@redhat.com>
16560
16561         New script and module: mktempd
16562         * MODULES.html.sh (maint+release support): Add mktempd.
16563         * build-aux/mktempd: New file.
16564         * modules/mktempd: New file.
16565
16566 2008-03-15  Jim Meyering  <meyering@redhat.com>
16567
16568         Undo last change.
16569         * lib/sha1.c, lib/md5.c: 63 != ~63.
16570         Reported by Andreas Schwab.
16571
16572         sha1.c, md5.c: Hoist a redundant expression.
16573         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
16574         "ctx->buflen" only once, before calling *_process_block.
16575         * lib/md5.c (md5_process_bytes): Likewise.
16576
16577 2008-03-14  Eric Blake  <ebb9@byu.net>
16578
16579         Bump copyright year in files generated by gnulib-tool.
16580         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
16581         gnulib-tool, rather than hard-coding it.
16582
16583         Fix 'gnulib-tool --version' output to work with git.
16584         * gnulib-tool (func_gnulib_dir): New function, extracted from...
16585         (startup): ...here.
16586         (func_version): Use it to invoke git-version-gen, rather than
16587         relying on CVS keyword expansion.  Modernize wording.
16588         (cvsdatestamp, last_checkin_date, version): Kill unused
16589         variables.
16590
16591 2008-03-12  Jim Meyering  <meyering@redhat.com>
16592
16593         Recognize optional cast of the argument to free.
16594         * build-aux/useless-if-before-free: Update regexps.
16595
16596         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
16597
16598 2008-03-11  Bruno Haible  <bruno@clisp.org>
16599
16600         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
16601         by a single package.
16602         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
16603         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
16604         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
16605         Reported by Sam Steingold <sds@gnu.org>.
16606
16607 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16608
16609         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
16610         repositories.
16611
16612 2008-03-11  Bruno Haible  <bruno@clisp.org>
16613
16614         Avoid conflicts between local macro definitions.
16615         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
16616         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
16617
16618 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
16619             Bruno Haible  <bruno@clisp.org>
16620
16621         Make va_copy work with some version of xlc on AIX 5.1.
16622         * lib/stdarg.in.h: New file.
16623         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
16624         On AIX, use a <stdarg.h> file substitute.
16625         * modules/stdarg (Files): Add lib/stdarg.in.h.
16626         (Depends-on): Add include_next.
16627         (Makefile.am): Build a stdarg.h substitute if requested.
16628         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
16629
16630 2008-03-10  Bruno Haible  <bruno@clisp.org>
16631
16632         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
16633         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16634         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
16635
16636 2008-03-10  Bruno Haible  <bruno@clisp.org>
16637
16638         * modules/stdlib (Depends-on): Add include_next, remove
16639         absolute-header.
16640
16641 2008-03-09  Bruno Haible  <bruno@clisp.org>
16642
16643         * lib/freadahead.h (freadahead): Document more precisely.
16644         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
16645         the sum of both buffer sizes.
16646         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
16647         * NEWS: Document the change.
16648
16649 2008-03-09  Bruno Haible  <bruno@clisp.org>
16650
16651         Extend freadptr to return also the buffer size.
16652         * lib/freadptr.h (freadptr): Add sizep argument.
16653         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
16654         (freadptr): Add sizep argument. Determine buffer size like freadahead
16655         does.
16656         * tests/test-freadptr.c: Don't include freadahead.h.
16657         (main): Adapt for new calling convention of freadptr.
16658         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
16659         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
16660         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
16661         tests/test-freadptr2.sh.
16662         (Depends): Remove freadahead.
16663         (TESTS): Add test-freadptr2.sh.
16664         (check_PROGRAMS): Add test-freadptr2.
16665
16666 2008-03-09  Bruno Haible  <bruno@clisp.org>
16667
16668         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
16669         Report and solution by Simon Josefsson.
16670
16671 2008-03-06  Bruno Haible  <bruno@clisp.org>
16672
16673         Make fflush after ungetc work on BSD platforms.
16674         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
16675         * tests/test-fflush2.c: New file.
16676         * tests/test-fflush2.sh: New file.
16677         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
16678         tests/test-fflush2.c.
16679         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
16680         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
16681
16682 2008-03-06  Eric Blake  <ebb9@byu.net>
16683
16684         Likewise for ftello.
16685         * modules/ftello (Dependencies): Add extensions.
16686         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
16687
16688 2008-03-06  Bruno Haible  <bruno@clisp.org>
16689
16690         * modules/fseeko (Dependencies): Add extensions.
16691         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
16692         Needed on glibc systems.
16693
16694 2008-03-06  Bruno Haible  <bruno@clisp.org>
16695
16696         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
16697         email address.
16698         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
16699
16700 2008-03-06  Bruno Haible  <bruno@clisp.org>
16701
16702         * users.txt: Add libgnupdf.
16703
16704 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
16705
16706         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
16707         (Header File Substitutes, Function Substitutes,
16708         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
16709         (Build robot for gnulib): Fix typo.
16710
16711 2008-03-06  Bruno Haible  <bruno@clisp.org>
16712
16713         * doc/gnulib-tool.texi (VCS Issues): Small updates.
16714         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
16715
16716 2008-03-06  Bruno Haible  <bruno@clisp.org>
16717
16718         * doc/func.texi: New file, extracted from doc/gnulib.texi.
16719         * doc/gnulib.texi: Include it.
16720
16721 2008-03-06  Simon Josefsson  <simon@josefsson.org>
16722
16723         * modules/func (License): Change license to unlimited; there was
16724         no LGPL parts in the module anyway.
16725
16726 2008-03-06  Simon Josefsson  <simon@josefsson.org>
16727
16728         * modules/__func__: Renamed to modules/func.
16729         * modules/__func__-tests: Renamed to modules/func-tests.
16730         * tests/test-__func__.c: Renamed to tests/test-func.c.
16731         * m4/__func__.m4: Renamed to m4/func.m4.
16732         * doc/gnulib.texi (__func__): Section renamed to func.
16733         Suggested by Eric Blake <ebb9@byu.net>.
16734
16735 2008-03-06  Simon Josefsson  <simon@josefsson.org>
16736
16737         * doc/gnulib.texi (__func__): Use C99 terminology when talking
16738         about __func__.  Make example self-contained.  Suggested by Eric
16739         Blake <ebb9@byu.net>.
16740
16741         * tests/test-__func__.c (main): Avoid extraneous () around __func.
16742         Suggested by Eric Blake <ebb9@byu.net>.
16743
16744 2008-03-06  Simon Josefsson  <simon@josefsson.org>
16745
16746         * modules/__func__: New file.
16747         * modules/__func__-tests: New file.
16748         * tests/test-__func__.c: New file.
16749         * m4/__func__.m4: New file.
16750         * doc/gnulib.texi (__func__): Document __func__ module.
16751
16752 2008-03-05  Simon Josefsson  <simon@josefsson.org>
16753
16754         * modules/byteswap (License): Re-license as LGPLv2+.
16755
16756 2008-03-05  Simon Josefsson  <simon@josefsson.org>
16757
16758         * doc/Makefile: Add pdf target.
16759
16760 2008-03-05  Simon Josefsson  <simon@josefsson.org>
16761
16762         * modules/inline (License): Use 'unlimited', since there are only
16763         *.m4 files in this module.
16764
16765 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
16766             Bruno Haible  <bruno@clisp.org>
16767
16768         Add support for HP C 7.1 on OpenVMS 8.3.
16769         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
16770
16771 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
16772
16773         Update VMS specifics.
16774         * lib/getopt.c [VMS]: Remove include of unixlib.h.
16775
16776 2008-03-02  Jim Meyering  <meyering@redhat.com>
16777
16778         Remove the last dependency on the "free" module.
16779         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
16780         Reported by Bob Proulx.
16781
16782         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
16783
16784         Remove useless "if" tests before free.  Deprecate "free" module.
16785         * doc/posix-functions/free.texi: Mention that this
16786         module is no longer useful.
16787         * modules/free (Notice): Say this module is obsolete.
16788         * modules/readutmp (Depends-on): Remove free.
16789         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
16790         * lib/putenv.c (putenv): Likewise.
16791         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
16792         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
16793         * tests/test-c-strcasestr.c (main): Likewise.
16794         * tests/test-c-strstr.c (main): Likewise.
16795         * tests/test-mbscasestr1.c (main): Likewise.
16796         * tests/test-mbscasestr2.c (main): Likewise.
16797         * tests/test-mbsstr1.c (main): Likewise.
16798         * tests/test-mbsstr2.c (main): Likewise.
16799         * tests/test-memmem.c (main): Likewise.
16800         * tests/test-strcasestr.c (main): Likewise.
16801         * tests/test-striconv.c (main): Likewise.
16802         * tests/test-striconveh.c (main): Likewise.
16803         * tests/test-striconveha.c (main): Likewise.
16804         * tests/test-strstr.c (main): Likewise.
16805
16806         * build-aux/git-version-gen: Adjust a comment and the Usage string.
16807
16808         bootstrap: sync from coreutils again
16809         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
16810
16811 2008-03-01  Jim Meyering  <meyering@redhat.com>
16812
16813         bootstrap: sync from coreutils
16814         * build-aux/bootstrap (update_po_files): Copy a .po file into place
16815         also when the target doesn't exist.
16816
16817 2008-03-01  Eric Blake  <ebb9@byu.net>
16818
16819         Fix bugs in last patch.
16820         * lib/memchr2.c (memchr2): Fix typo.
16821         * tests/test-memchr2.c: Test previous bug, and don't use GNU
16822         extension.
16823         Reported by Bruce Korb.
16824
16825         New module 'memchr2'.
16826         * modules/memchr2: New file.
16827         * modules/memchr2-tests: Likewise.
16828         * lib/memchr2.h: Likewise.
16829         * lib/memchr2.c: Likewise, based on memchr.c.
16830         * tests/test-memchr2.c: New test.
16831         * MODULES.html.sh (String handling): Add memchr2.
16832
16833 2008-02-29  Bruno Haible  <bruno@clisp.org>
16834
16835         * modules/freadseek-tests: New file.
16836         * tests/test-freadseek.sh: New file.
16837         * tests/test-freadseek.c: New file.
16838
16839         New module 'freadseek'.
16840         * modules/freadseek: New file.
16841         * lib/freadseek.h: New file.
16842         * lib/freadseek.c: New file.
16843         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
16844
16845 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
16846
16847         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
16848         wydawca.
16849
16850         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
16851         program_invocation_name and program_invocation_short_name are
16852         present.
16853
16854 2008-02-28  Bruno Haible  <bruno@clisp.org>
16855
16856         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
16857         * tests/test-freadptr.sh: Also test non-seekable stdin.
16858
16859 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
16860
16861         * build-aux/bootstrap (source_base, m4_base)
16862         (doc_base, tests_base): New variables.
16863         (gnulib_tool_options): Do not hardcode base directories, use
16864         the above variables instead.
16865
16866 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
16867
16868         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
16869
16870 2008-02-28  Bruno Haible  <bruno@clisp.org>
16871
16872         * modules/freadptr-tests: New file.
16873         * tests/test-freadptr.sh: New file.
16874         * tests/test-freadptr.c: New file.
16875
16876         New module 'freadptr'.
16877         * modules/freadptr: New file.
16878         * lib/freadptr.h: New file.
16879         * lib/freadptr.c: New file.
16880         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
16881
16882 2008-02-26  Karl Berry  <karl@freefriends.org>
16883
16884         Sync from Libtool:
16885         * libltdl/argz.c (argz_add, argz_count): New functions.
16886         * libltdl/argz.in.h: Declare them.
16887         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
16888
16889 2008-02-22  Bruno Haible  <bruno@clisp.org>
16890
16891         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
16892         is a pointer type.  Needed for HP-UX 10.
16893         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
16894         * doc/posix-functions/gmtime_r.texi: Likewise.
16895         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
16896
16897 2008-02-24  Bruno Haible  <bruno@clisp.org>
16898
16899         * modules/environ-tests: New file.
16900         * tests/test-environ.c: New file.
16901
16902         New module 'environ'.
16903         * modules/environ: New file.
16904         * lib/unistd.in.h (environ): New declaration.
16905         * m4/environ.m4: New file.
16906         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
16907         after use.
16908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
16909         HAVE_DECL_ENVIRON.
16910         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
16911         HAVE_DECL_ENVIRON.
16912         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
16913         wrong claim that 'environ' is missing on some systems.
16914         * modules/execute (Depends-on): Add environ.
16915         * lib/execute.c (environ): Remove fallback declaration.
16916         * modules/pipe (Depends-on): Add environ.
16917         * lib/pipe.c (environ): Remove fallback declaration.
16918         * modules/setenv (Depends-on): Add environ.
16919         * lib/setenv.c (environ): Remove fallback declaration.
16920         * modules/unsetenv (Depends-on): Add environ.
16921         * lib/unsetenv.c (environ): Remove fallback declaration.
16922         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
16923         m4/environ.m4.
16924         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
16925         (gl_PREREQ_UNSETENV): Likewise.
16926
16927 2008-02-24  Bruno Haible  <bruno@clisp.org>
16928
16929         * doc/posix-functions/environ.texi: Document the MacOS X problem.
16930
16931 2008-02-20  Bob Proulx  <bob@proulx.com>
16932
16933         Enable use of older two part flavor 'git describe'.
16934         * build-aux/git-version-gen: If using the older two part flavor of
16935         git version then recreate the third part now present in the
16936         newer three part flavor of git describe.
16937
16938 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
16939
16940         * lib/fts.c (fts_build): Typo correction to comment.
16941
16942 2008-02-17  Bruno Haible  <bruno@clisp.org>
16943
16944         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
16945         generating no-op conflicts.
16946
16947 2008-02-17  Bruno Haible  <bruno@clisp.org>
16948
16949         Speed up by 10%.
16950         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
16951         result_entries, rather than an index-based loop.
16952
16953 2008-02-17  Bruno Haible  <bruno@clisp.org>
16954
16955         Speed up by 25%.
16956         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
16957         'hashcode_cached'.
16958         (entry_create): New function.
16959         (entry_hashcode): Use the cached hashcode if possible.
16960         (read_changelog_file, try_split_merged_entry): Use entry_create.
16961
16962 2008-02-17  Bruno Haible  <bruno@clisp.org>
16963
16964         Speed up from O(n^2) to O(n) for long ChangeLog files.
16965         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
16966         (read_changelog_file): Change implementation of entries_reversed list
16967         to rbtreehash.
16968         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
16969
16970 2008-02-17  Bruno Haible  <bruno@clisp.org>
16971
16972         New option --split-merged-entry.
16973         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
16974         (find_paragraph_end, try_split_merged_entry): New functions.
16975         (long_options): Add option --split-merged-entry.
16976         (usage): Document option --split-merged-entry.
16977         (main): Implement option --split-merged-entry.
16978         Reported by Eric Blake.
16979
16980 2008-02-17  Bruno Haible  <bruno@clisp.org>
16981
16982         * lib/git-merge-changelog.c: Include c-strstr.h.
16983         (main): Support the "git pull --rebase" situation.
16984         * modules/git-merge-changelog (Depends-on): Add c-strstr.
16985         Reported by Eric Blake.
16986
16987 2008-02-16  Eric Blake  <ebb9@byu.net>
16988
16989         Avoid doubling \ in common case of "c-maybe" quoting style.
16990         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
16991         eliding outer quotes.
16992         * lib/quotearg.h: Document this.
16993         * tests/test-quotearg.c (result_strings, inputs, results_g)
16994         (flag_results, locale_results): Test it by adding a new string to
16995         each test group.
16996         (compare_strings): Test new string.
16997
16998 2008-02-13  Eric Blake  <ebb9@byu.net>
16999
17000         Avoid trigraph quoting in default output.
17001         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
17002         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
17003         unless explicitly requested.
17004         * tests/test-quotearg.c (flag_results, main): Add additional tests.
17005
17006 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
17007
17008         Don't rely on signed integer overflowing to negative value.
17009         * lib/getugroups.c (getugroups): Include <limits.h>.
17010         Instead, compare against INT_MAX, and increment only if the test passes.
17011
17012 2008-02-13  Jim Meyering  <meyering@redhat.com>
17013         and Eric Blake  <ebb9@byu.net>
17014
17015         Avoid shadowing warning and compile errors on Linux.
17016         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
17017         forwarding macros on Linux.
17018         (dcgettext): Define a stub, for Linux.
17019         (results_g, main): Avoid warnings.
17020
17021 2008-02-12  Eric Blake  <ebb9@byu.net>
17022
17023         Silence warning in last patch.
17024         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
17025
17026         Quotearg part 4: add tests, fix c-maybe colon quoting.
17027         * lib/quotearg.h: Improve documentation.
17028         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
17029         escapes when adding outer quotes.  When quoting trigraphs, use
17030         valid C notation.  When quoting NUL, omit extra characters if next
17031         character is not digit.  Alter prototype.
17032         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
17033         callers.
17034         * modules/quotearg-tests: New module.
17035         * tests/test-quotearg.c: New test.
17036
17037 2008-02-07  Eric Blake  <ebb9@byu.net>
17038
17039         Quotearg part 3: add flag to control outer quote elision.
17040         * lib/quotearg.h (c_maybe_quoting_style): New style.
17041         (enum quoting_flags): Better documentation of flags.
17042         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
17043         c-maybe style.
17044         (quotearg_buffer_restyled): Handle new flag to elide outer
17045         quotes.
17046
17047         Quotearg part 2: add flag that can control NUL elision.
17048         * lib/quotearg.h (set_quoting_flags): New prototype.
17049         * lib/quotearg.c (struct quoting_options): Add flag field.
17050         (set_quoting_flags): New function.
17051         (quotearg_buffer_restyled): Add flags parameter.
17052         (quotearg_alloc_mem): Set the flag if length cannot be returned.
17053         (quotearg_n_options): Set the flag, since length cannot be
17054         returned.
17055         (quoting_options_from_style): Default flags correctly.
17056
17057         Quotearg part 1: more wrappers, restore quotearg_char state.
17058         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
17059         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
17060         (quotearg_colon_mem): New wrappers.
17061         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
17062         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
17063         functions.
17064         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
17065         (quotearg_colon_mem): New functions.
17066
17067 2008-02-11  Bruno Haible  <bruno@clisp.org>
17068
17069         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
17070         library in the current directory: it does not work with parallel make.
17071         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17072
17073 2008-02-11  Bruno Haible  <bruno@clisp.org>
17074
17075         * .gitattributes: New file.
17076
17077 2008-02-11  Jim Meyering  <meyering@redhat.com>
17078
17079         useless-if-before-free: Fix reversed exit values.
17080         * build-aux/useless-if-before-free: Use correct values
17081         for EXIT_MATCH and EXIT_NO_MATCH.
17082
17083         * build-aux/useless-if-before-free: Close stdout carefully.
17084
17085 2008-02-10  Bruno Haible  <bruno@clisp.org>
17086
17087         New module 'git-merge-changelog'.
17088         * modules/git-merge-changelog: New file.
17089         * lib/git-merge-changelog.c: New file.
17090
17091 2008-02-10  Jim Meyering  <meyering@redhat.com>
17092
17093         useless-if-before-free: New option: --list (-l).
17094
17095         useless-if-before-free: Don't exit immediately upon open failure.
17096         * build-aux/useless-if-before-free: Exit 2 for errors.
17097         Upon failure to open a file, don't exit immediately.
17098         Rather, just warn and continue with any remaining files.
17099
17100 2008-02-10  Bruno Haible  <bruno@clisp.org>
17101
17102         New abstract list operation 'node_set_value'.
17103         * lib/gl_list.h (gl_list_node_set_value): New function.
17104         (struct gl_list_implementation): New field node_set_value.
17105         * lib/gl_list.c (gl_list_node_set_value): New function.
17106         * lib/gl_array_list.c (gl_array_node_set_value): New function.
17107         (gl_array_list_implementation): Update.
17108         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
17109         (gl_carray_list_implementation): Update.
17110         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
17111         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
17112         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
17113         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
17114         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
17115         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
17116         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
17117         Update.
17118         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
17119         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
17120         (gl_sublist_list_implementation): Update.
17121
17122 2008-02-10  Bruno Haible  <bruno@clisp.org>
17123
17124         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
17125         Needed when ELEMENT is #defined to 'some_type *'.
17126
17127 2008-02-10  Jim Meyering  <meyering@redhat.com>
17128
17129         New script and module: useless-if-before-free
17130         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
17131         * build-aux/useless-if-before-free: New file.
17132         * modules/useless-if-before-free: New file.
17133
17134         * build-aux/gitlog-to-changelog: Use committer date, not author date.
17135
17136         xstrtol_error: Fix typo.
17137         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
17138         s/exit_failure/exit_status/.
17139
17140 2008-02-09  Jim Meyering  <meyering@redhat.com>
17141
17142         New script and module: gitlog-to-changelog
17143         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
17144         * modules/gitlog-to-changelog: New file.
17145         * build-aux/gitlog-to-changelog: New file.
17146
17147 2008-02-08  Jim Meyering  <meyering@redhat.com>
17148
17149         Avoid two "parameter unused" warnings.
17150         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
17151         Mark "st" as used.
17152
17153         Use "git COMMAND", not "git-COMMAND".
17154         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
17155         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
17156         * build-aux/git-version-gen: Use "git status", not "git-status".
17157
17158 2008-02-07  Bruno Haible  <bruno@clisp.org>
17159
17160         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
17161         Avoids a crash on Windows Vista.
17162         Reported by Adam Strzelecki <ono@java.pl> via
17163         Simon Josefsson <simon@josefsson.org>.
17164
17165 2008-02-06  Bruno Haible  <bruno@clisp.org>
17166
17167         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
17168         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
17169         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
17170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
17171         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
17172         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
17173         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
17174         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
17175         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
17176         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
17177         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
17178         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
17179         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
17180         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17181         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
17182         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
17183         left-adjust flag.
17184         * tests/test-snprintf-posix.h (test_function): Likewise.
17185         * tests/test-sprintf-posix.h (test_function): Likewise.
17186         * tests/test-vasprintf-posix.c (test_function): Likewise.
17187         * doc/posix-functions/fprintf.texi: Update.
17188         * doc/posix-functions/printf.texi: Update.
17189         * doc/posix-functions/snprintf.texi: Update.
17190         * doc/posix-functions/sprintf.texi: Update.
17191         * doc/posix-functions/vfprintf.texi: Update.
17192         * doc/posix-functions/vprintf.texi: Update.
17193         * doc/posix-functions/vsnprintf.texi: Update.
17194         * doc/posix-functions/vsprintf.texi: Update.
17195         Reported by Peter Fales <psfales@alcatel-lucent.com>.
17196
17197 2008-02-06  Bruno Haible  <bruno@clisp.org>
17198
17199         Fix bug introduced on 2008-01-26.
17200         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
17201
17202 2008-02-06  Bruno Haible  <bruno@clisp.org>
17203
17204         Fix bug introduced on 2007-06-10.
17205         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
17206         !NEED_PRINTF_FLAG_ZERO.
17207
17208 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
17209
17210         getloadavg: use libperfstat on AIX5
17211         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
17212
17213 2008-02-03  Bruno Haible  <bruno@clisp.org>
17214
17215         * lib/diffseq.h: Add comments about required #includes.
17216         Reported by Michael Biggs <gnulib@doubleplum.net>.
17217
17218 2008-02-01  Bruno Haible  <bruno@clisp.org>
17219
17220         * users.txt: Add gnuit.
17221
17222 2008-01-31  Bruno Haible  <bruno@clisp.org>
17223
17224         * lib/md4.c (set_uint32): Mark as inline.
17225         * lib/md5.c (set_uint32): Likewise.
17226         * lib/sha1.c (set_uint32): Likewise.
17227         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
17228         * m4/md5.m4 (gl_MD5): Likewise.
17229         * m4/sha1.m4 (gl_SHA1): Likewise.
17230
17231 2008-01-31  Jim Meyering  <meyering@redhat.com>
17232
17233         Use "sizeof VAR", rather than a literal "4".
17234         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
17235         * lib/md4.c (md4_read_ctx): Likewise.
17236         * lib/sha1.c (sha1_read_ctx): Likewise.
17237
17238 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17239
17240         * tests/test-sha1.c: New file, based on test-md5.c.
17241
17242         * modules/crypto/sha1-tests: New file.
17243
17244 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17245
17246         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
17247
17248 2008-01-31  Jim Meyering  <meyering@redhat.com>
17249
17250         Prefer "sizeof v" over the equivalent "4".
17251         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
17252         * lib/md5.c (set_uint32): Likewise.
17253         * lib/sha1.c (set_uint32): Likewise.
17254
17255 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17256
17257         * lib/sha1.c (set_uint32): Mark function as static.
17258
17259 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17260
17261         md2: clarify comments to say that alignment is not required.
17262         * lib/md2.h: Remove warning about alignment in comment.
17263         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
17264         never been required.
17265
17266 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17267
17268         md4: adapt alignment constraint fix from sha1.
17269         * lib/md4.c (set_uint32): New function, from sha1.c
17270         (md4_read_ctx): Use it.
17271         (md4_finish_ctx): Doc fix.
17272         * lib/md4.h: Doc fix.
17273
17274 2008-01-31  Simon Josefsson  <simon@josefsson.org>
17275
17276         md5: adapt alignment constraint fix from sha1.
17277         * lib/md5.c (set_uint32): New function, from sha1.c
17278         (md5_read_ctx): Use it.
17279         (md5_finish_ctx): Doc fix.
17280         * lib/md5.h: Doc fix.
17281
17282 2008-01-30  Peter Palfrader  <weasel@debian.org>
17283
17284         sha1: remove the result buffer alignment constraint
17285         * lib/sha1.c (set_uint32): New function.
17286         (sha1_read_ctx): Rewrite to remove the result buffer alignment
17287         constraint.
17288         (sha1_finish_ctx): Remove comment warning about alignment constraint.
17289         * lib/sha1.h: Likewise.
17290
17291 2008-01-30  Andreas Schwab  <schwab@suse.de>
17292             Bruno Haible  <bruno@clisp.org>
17293
17294         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
17295         correct definition of LDBL_MIN_EXP.
17296
17297 2008-01-30  Karl Berry  <karl@gnu.org>
17298
17299         * config/srclist-update: try to preserve x bit on updates.
17300         * config/srclistvars.sh: update for karl.
17301
17302 2008-01-29  Jim Meyering  <meyering@redhat.com>
17303
17304         vasnprintf.c: Avoid warning about unused label
17305         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
17306         "overflow" label definition and associated code with the
17307         same cpp condition that guards the sole use of that label.
17308
17309 2008-01-26  Bruno Haible  <bruno@clisp.org>
17310
17311         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
17312         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
17313         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
17314         * lib/isnanl-nolibm.h (isnanl): Likewise.
17315         Reported by Paul Eggert <eggert@cs.ucla.edu>.
17316
17317 2008-01-26  Bruno Haible  <bruno@clisp.org>
17318
17319         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
17320         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
17321
17322 2008-01-26  Bruno Haible  <bruno@clisp.org>
17323
17324         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
17325         GCC >= 4.0 built-in.
17326         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
17327
17328 2008-01-26  Bruno Haible  <bruno@clisp.org>
17329
17330         Rename isnan, applicable to 'double' only, to isnand.
17331         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
17332         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
17333         (configure.ac): Update.
17334         (Include): Replace "isnan.h" with "isnand.h".
17335         * m4/isnand.m4: Renamed from m4/isnan.m4.
17336         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
17337         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
17338         instead of isnan.c.
17339         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
17340         instead of HAVE_ISNAN_IN_LIBC.
17341         (isnand): Renamed from isnan.
17342         * lib/isnand.c: New file.
17343         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
17344         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
17345         (Makefile.am): Update.
17346         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
17347         Include isnand.h instead of isnan.h.
17348         (main): Test isnand instead of isnan.
17349         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
17350         isnan-nolibm.
17351         * modules/frexp (Depends-on): Likewise.
17352         * modules/frexp-tests (Depends-on): Likewise.
17353         * modules/frexp-nolibm (Depends-on): Likewise.
17354         * modules/frexp-nolibm-tests (Depends-on): Likewise.
17355         * modules/isfinite (Depends-on): Likewise.
17356         * modules/round-tests (Depends-on): Likewise.
17357         * modules/signbit (Depends-on): Likewise.
17358         * modules/signbit-tests (Depends-on): Likewise.
17359         * modules/snprintf-posix (Depends-on): Likewise.
17360         * modules/sprintf-posix (Depends-on): Likewise.
17361         * modules/trunc-tests (Depends-on): Likewise.
17362         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
17363         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17364         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17365         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17366         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17367         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17368         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17369         * modules/vasnprintf-posix (Depends-on): Likewise.
17370         * modules/vasprintf-posix (Depends-on): Likewise.
17371         * modules/vfprintf-posix (Depends-on): Likewise.
17372         * modules/vsnprintf-posix (Depends-on): Likewise.
17373         * modules/vsprintf-posix (Depends-on): Likewise.
17374         * lib/frexp.c: Include isnand.h instead of isnan.h.
17375         (ISNAN): Set to isnand instead of isnan.
17376         * lib/isfinite.c: Include isnand.h instead of isnan.h.
17377         (gl_isfinited): Use isnand instead of isnan.
17378         * lib/signbitd.c: Include isnand.h instead of isnan.h.
17379         (gl_signbitd): Use isnand instead of isnan.
17380         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
17381         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
17382         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
17383         (main): Use isnand instead of isnan.
17384         * tests/test-round1.c: Include isnand.h.
17385         (main): Use isnand instead of isnan.
17386         * tests/test-round2.c: Include isnand.h instead of isnan.h.
17387         (ISNAN): Set to isnand instead of isnan.
17388         * tests/test-trunc1.c: Include isnand.h.
17389         (main): Use isnand instead of isnan.
17390         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
17391         (equal): Use isnand instead of isnan.
17392         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
17393         isnand-nolibm.
17394         * NEWS: Mention the change.
17395
17396 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
17397             Bruno Haible  <bruno@clisp.org>
17398
17399         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
17400         the GCC builtins for signbits are present and set
17401         REPLACE_SIGNBIT_USING_GCC if so.
17402         * lib/math.in.h (signbit): Define using GCC builtins if
17403         REPLACE_SIGNBIT_USING_GCC is set.
17404         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
17405         REPLACE_SIGNBIT_USING_GCC.
17406         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
17407
17408 2008-01-25  Jim Meyering  <meyering@redhat.com>
17409
17410         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
17411         * lib/poll.c: Include <config.h>, not "config.h".
17412         * tests/test-getaddrinfo.c: Likewise.
17413
17414 2008-01-25  Simon Josefsson  <simon@josefsson.org>
17415
17416         * modules/sockets-tests: New file.
17417
17418 2008-01-24  Simon Josefsson  <simon@josefsson.org>
17419
17420         * modules/sockets: New module, can be used to call WSA_Startup and
17421         WSA_Cleanup when needed.
17422
17423         * lib/sockets.h, lib/sockets.c: New files.
17424
17425         * m4/sockets.m4: New file.
17426
17427         * tests/test-sockets.c: New file.
17428
17429 2008-01-19  Bruno Haible  <bruno@clisp.org>
17430
17431         * doc/posix-headers: Renamed from doc/headers.
17432         * doc/posix-functions: Renamed from doc/functions.
17433         * doc/gnulib.texi: Update.
17434
17435 2008-01-19  Bruno Haible  <bruno@clisp.org>
17436
17437         * doc/glibc-functions/strcasestr.texi: Include contents of
17438         doc/functions/strcasestr.texi, fixing the list of platforms.
17439         * doc/functions/strcasestr.texi: Remove file.
17440
17441 2008-01-19  Bruno Haible  <bruno@clisp.org>
17442
17443         * doc/glibc-functions/memmem.texi: Include contents of
17444         doc/functions/memmem.texi.
17445         * doc/functions/memmem.texi: Remove file.
17446
17447 2008-01-18  Bruno Haible  <bruno@clisp.org>
17448
17449         * doc/glibc-functions/*.texi: New files.
17450         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
17451         to use the new files.
17452
17453 2008-01-17  Bruno Haible  <bruno@clisp.org>
17454
17455         * tests/test-gethostname.c (main): Fix printf statement.
17456
17457 2008-01-17  Simon Josefsson  <simon@josefsson.org>
17458
17459         * modules/gethostname-tests: New file.
17460
17461         * tests/test-gethostname.c: New file.
17462
17463 2008-01-17  Simon Josefsson  <simon@josefsson.org>
17464
17465         * lib/gethostname.c: Include string.h unconditionally, strncpy is
17466         used by the UNAME case.  Reported by Bruno Haible
17467         <bruno@clisp.org>.
17468
17469 2008-01-17  Eric Blake  <ebb9@byu.net>
17470
17471         Convert c-strcasestr to be more efficient.
17472         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
17473         (Depends-on): Add c-strcase, remove malloca, strnlen.
17474         * tests/test-c-strcasestr.c (main): Enhance test.
17475         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
17476
17477 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
17478
17479         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
17480         Use it in creating po/Makevars.
17481
17482 2008-01-15  Simon Josefsson  <simon@josefsson.org>
17483
17484         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
17485         Applications that requires it should initialize libgcrypt
17486         manually.
17487
17488 2008-01-16  Simon Josefsson  <simon@josefsson.org>
17489
17490         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
17491
17492 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
17493
17494         Fix problem with getdate on mingw32 reported by Simon Josefsson
17495         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
17496         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
17497         tzname", when deciding whether to declare tzname.
17498         * lib/strftime.c (tzname): Likewise.
17499
17500 2008-01-15  Bruno Haible  <bruno@clisp.org>
17501
17502         Work around a MacOS X 10.5 bug in frexpl().
17503         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
17504         * doc/functions/frexpl.texi: Document the bug.
17505         Reported by Elias Pipping <pipping@gentoo.org>.
17506
17507 2008-01-14  Eric Blake  <ebb9@byu.net>
17508
17509         Touch up previous patch.
17510         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
17511         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
17512
17513         Convert strcasestr module to use Two-Way algorithm.
17514         * modules/strcasestr-simple: New module, based on the old
17515         strcasestr, but with Two-Way rather than KMP.
17516         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
17517         * lib/string.in.h (rpl_strcasestr): Declare.
17518         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
17519         performance.
17520         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
17521         * modules/string (Makefile.am): Support strcasestr.
17522         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
17523         * modules/strcasestr-tests (Depends-on): Check for alarm.
17524         * tests/test-strcasestr.c: Augment test.
17525         * lib/str-two-way.h: Clean up stray macro.
17526         * NEWS: Document new module.
17527         * MODULES.html.sh (string handling): Likewise.
17528         * doc/functions/strcasestr.texi: New file.
17529         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
17530         here, since it is not a POSIX function.
17531
17532 2008-01-14  Colin Watson  <cjwatson@debian.org>
17533             Bruno Haible  <bruno@clisp.org>
17534
17535         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
17536         works fine; if not, set REPLACE_STRSIGNAL.
17537         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
17538         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17539         REPLACE_STRSIGNAL.
17540         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
17541         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
17542         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
17543
17544 2008-01-14  Bruno Haible  <bruno@clisp.org>
17545
17546         * modules/strsignal (Include): Change to <string.h>.
17547
17548 2008-01-14  Colin Watson  <cjwatson@debian.org>
17549
17550         * modules/argp (Notice): Add a notice recommending to change
17551         XGETTEXT_OPTIONS.
17552         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
17553
17554 2008-01-13  Colin Watson  <cjwatson@debian.org>
17555
17556         * modules/strsignal-tests: New file.
17557         * tests/test-strsignal.c: New file.
17558
17559         * lib/strsignal.c: New file, from glibc with modifications.
17560         * lib/siglist.h: New file, from glibc with modifications.
17561         * lib/string.in.h (strsignal): New declaration.
17562         * m4/strsignal.m4: New file.
17563         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17564         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
17565         * modules/strsignal: New file.
17566         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
17567         HAVE_DECL_STRSIGNAL.
17568
17569 2008-01-13  Bruno Haible  <bruno@clisp.org>
17570
17571         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
17572         locale encoding is not ASCII. Needed for OpenBSD 4.0.
17573         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17574         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17575
17576 2008-01-13  Bruno Haible  <bruno@clisp.org>
17577
17578         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
17579         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
17580         * lib/argp.h (__attribute__): Likewise.
17581         * lib/c-stack.c (__attribute__): Likewise.
17582         * lib/error.h (__attribute__): Likewise.
17583         * lib/fts.c (__attribute__): Likewise.
17584         * lib/openat.h (__attribute__): Likewise.
17585         * lib/stdio.in.h (__attribute__): Likewise.
17586         * lib/string.in.h (__attribute__): Likewise.
17587         * lib/utimens.c (__attribute__): Likewise.
17588         * lib/vasnprintf.h (__attribute__): Likewise.
17589         * lib/xalloc.h (__attribute__): Likewise.
17590         * lib/xprintf.h (__attribute__): Likewise.
17591         * lib/xstrtol.h (__attribute__): Likewise.
17592         * lib/xvasprintf.h (__attribute__): Likewise.
17593
17594 2008-01-12  Bruno Haible  <bruno@clisp.org>
17595
17596         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
17597         * doc/glibc-headers/a.out.texi: New file.
17598         * doc/glibc-headers/aliases.texi: New file.
17599         * doc/glibc-headers/alloca.texi: New file.
17600         * doc/glibc-headers/ar.texi: New file.
17601         * doc/glibc-headers/argp.texi: New file.
17602         * doc/glibc-headers/argz.texi: New file.
17603         * doc/glibc-headers/byteswap.texi: New file.
17604         * doc/glibc-headers/crypt.texi: New file.
17605         * doc/glibc-headers/endian.texi: New file.
17606         * doc/glibc-headers/envz.texi: New file.
17607         * doc/glibc-headers/err.texi: New file.
17608         * doc/glibc-headers/error.texi: New file.
17609         * doc/glibc-headers/execinfo.texi: New file.
17610         * doc/glibc-headers/fpu_control.texi: New file.
17611         * doc/glibc-headers/fstab.texi: New file.
17612         * doc/glibc-headers/fts.texi: New file.
17613         * doc/glibc-headers/getopt.texi: New file.
17614         * doc/glibc-headers/ieee754.texi: New file.
17615         * doc/glibc-headers/ifaddrs.texi: New file.
17616         * doc/glibc-headers/libintl.texi: New file.
17617         * doc/glibc-headers/mcheck.texi: New file.
17618         * doc/glibc-headers/mntent.texi: New file.
17619         * doc/glibc-headers/obstack.texi: New file.
17620         * doc/glibc-headers/paths.texi: New file.
17621         * doc/glibc-headers/printf.texi: New file.
17622         * doc/glibc-headers/pty.texi: New file.
17623         * doc/glibc-headers/resolv.texi: New file.
17624         * doc/glibc-headers/shadow.texi: New file.
17625         * doc/glibc-headers/sysexits.texi: New file.
17626         * doc/glibc-headers/ttyent.texi: New file.
17627
17628 2008-01-12  Jim Meyering  <meyering@redhat.com>
17629
17630         announce-gen: emit Gnulib's git-based version string.
17631         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
17632         New option --gnulib-version=V, where V is expected to be
17633         the output of running git describe in the gnulib directory.
17634         (get_tool_versions): Request feedback on xdelta.  I suspect it's
17635         not useful, and plan to stop publishing an xdelta file with each
17636         coreutils release.
17637
17638         * build-aux/announce-gen: Also check for lzma-compressed files.
17639
17640 2008-01-11  Bruno Haible  <bruno@clisp.org>
17641
17642         * tests/test-memmem.c (main): Increase maximum allowed time.
17643         * tests/test-strstr.c (main): Likewise.
17644
17645 2008-01-11  Bruno Haible  <bruno@clisp.org>
17646
17647         * doc/functions/memmem.texi: Add more precisions about platforms.
17648         * doc/functions/strstr.texi: Likewise.
17649
17650 2008-01-10  Eric Blake  <ebb9@byu.net>
17651
17652         * m4/strstr.m4: Delete cruft from copy-n-paste.
17653         Reported by Bruno Haible.
17654
17655 2008-01-10  Bruno Haible  <bruno@clisp.org>
17656
17657         Make c-strstr rely on strstr.
17658         * lib/c-strstr.c: Don't include str-kmp.h.
17659         (c_strstr): Define in terms of strstr.
17660         * modules/c-strstr (Files): Remove lib/str-kmp.h.
17661         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
17662
17663 2008-01-10  Bruno Haible  <bruno@clisp.org>
17664
17665         * doc/gnulib.texi (String Functions in C Locale): New section.
17666         * doc/c-ctype.texi: New file.
17667         * doc/c-strcase.texi: New file.
17668         * doc/c-strcaseeq.texi: New file.
17669         * doc/c-strcasestr.texi: New file.
17670         * doc/c-strstr.texi: New file.
17671         * doc/c-strtod.texi: New file.
17672         * doc/c-strtold.texi: New file.
17673
17674 2008-01-10  Eric Blake  <ebb9@byu.net>
17675
17676         * lib/relocatable.h: Fix a comment.
17677
17678 2008-01-10  Eric Blake  <ebb9@byu.net>
17679
17680         Share two-way algorithm.
17681         * lib/str-two-way.h: New file, merged from...
17682         * lib/memmem.c: ...here...
17683         * lib/strstr.c: ...and here.
17684         * modules/memmem (Files): Use it.
17685         * modules/strstr (Files): Likewise.
17686
17687         Avoid quadratic strstr implementations.
17688         * lib/strstr.c: New file.
17689         * m4/strstr.m4: Likewise.
17690         * modules/strstr: Likewise.
17691         * modules/strstr-tests: Likewise.
17692         * tests/test-strstr.c: Likewise.
17693         * lib/string.in.h (rpl_strstr): Declare.
17694         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
17695         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
17696         * modules/string (Makefile.am): Likewise.
17697         * MODULES.html.sh (string handling): Mention new module.
17698         * doc/functions/strstr.texi (strstr): Document the bug.
17699
17700 2008-01-10  Bruno Haible  <bruno@clisp.org>
17701
17702         * lib/relocatable.h (relocate): State whether result is freshly
17703         allocated or not.
17704         * lib/relocatable.c (relocate): Return a freshly allocated string
17705         instead of a pointer to a privately held string.
17706         Reported by Sylvain Beucler <beuc@gnu.org>.
17707
17708 2008-01-10  Colin Watson  <cjwatson@debian.org>
17709
17710         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
17711         s/S_ISNLK/S_ISLNK/.
17712
17713 2008-01-09  Bruno Haible  <bruno@clisp.org>
17714
17715         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
17716         and other files.
17717         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
17718         if it's only a guess.
17719         * modules/memmem: Simplify by depending on memmem-simple.
17720
17721 2008-01-09  Bruno Haible  <bruno@clisp.org>
17722
17723         Work around OpenBSD 4.0 tdelete() bug.
17724         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
17725         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
17726         macros and don't redefine the enum values.
17727         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
17728         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
17729         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
17730
17731 2008-01-09  Bruno Haible  <bruno@clisp.org>
17732
17733         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
17734         (main): Don't perform the tests if setlocale did not install a UTF-8
17735         locale. Needed on OpenBSD 4.0.
17736         * modules/wcwidth-tests (Depends-on): Add localcharset.
17737
17738 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
17739
17740         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
17741         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
17742         * NEWS: announce this.
17743         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
17744
17745 2008-01-09  Simon Josefsson  <simon@josefsson.org>
17746         and Eric Blake  <ebb9@byu.net>
17747
17748         Add memmem-simple module.
17749         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
17750         (gl_FUNC_MEMMEM): Separate performance from presence checks.
17751         * modules/memmem-simple: New file.
17752         * modules/memmem (Description): Tweak.
17753         * MODULES.html.sh (string handling): Mention new module.
17754         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
17755         addressed by memmem-simple.
17756         * NEWS: Document the difference.
17757
17758 2008-01-09  Eric Blake  <ebb9@byu.net>
17759
17760         Give gcc some memmem optimization hints.
17761         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
17762         (strcasestr): Declare as pure.
17763         * modules/memmem (Maintainer): Claim my implementation.
17764
17765 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17766
17767         Support AIX 6.1 and higher.
17768         * build-aux/config.libpath: Likewise.
17769         * build-aux/config.rpath: Likewise.
17770
17771 2008-01-08  Jim Meyering  <meyering@redhat.com>
17772             Bruno Haible  <bruno@clisp.org>
17773
17774         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
17775         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
17776         Reported by Peter Fales in
17777         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
17778
17779 2008-01-08  Bruno Haible  <bruno@clisp.org>
17780
17781         * modules/unictype/category-of (Depends-on): Add
17782         unictype/category-none.
17783         * modules/unictype/category-and-tests (Depends-on): Add
17784         unictype/category-{L,N,Lu,Nd}.
17785         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
17786         * modules/unictype/category-or-tests (Depends-on): Add
17787         unictype/category-{L,N}.
17788         * modules/unictype/category-name-tests (Depends-on): Add
17789         unictype/category-{Z,Nl}.
17790         Reported by Simon Josefsson.
17791
17792 2008-01-08  Bruno Haible  <bruno@clisp.org>
17793
17794         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
17795         convention better.
17796         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
17797         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
17798         Reported by Peter Miller <millerp@canb.auug.org.au>.
17799
17800 2008-01-08  Eric Blake  <ebb9@byu.net>
17801
17802         Rewrite memmem to guarantee linear complexity without malloc.
17803         * lib/memmem.c (memmem): Use Two-Way rather than
17804         Knuth-Morris-Pratt, to allow O(1) space usage.
17805         (critical_factorization, two_way_short_needle)
17806         (two_way_long_needle): New functions.
17807         (knuth_morris_pratt): Delete.
17808         * modules/memmem (Depends-on): No longer need malloca or stdbool.
17809         Add stdint.
17810         * tests/test-memmem.c (main): Add tests for periodic needle and
17811         sublinear performance.
17812         * doc/functions/memmem.texi (memmem): Document other deficiencies
17813         in cygwin and older glibc.
17814
17815 2008-01-08  Bruno Haible  <bruno@clisp.org>
17816
17817         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
17818         augmentation.
17819
17820 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
17821
17822         Add a configure time option: --disable-acl.
17823         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
17824         AC_ARG_ENABLE(acl).
17825
17826 2008-01-06  Simon Josefsson  <simon@josefsson.org>
17827
17828         * tests/test-localename.c: Don't include obsolete "setenv.h".
17829
17830         * modules/localename-tests (Depends-on): Need unsetenv.
17831
17832 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17833
17834         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
17835
17836 2008-01-06  Colin Watson  <cjwatson@debian.org>
17837
17838         * users.txt: Add man-db.
17839
17840 2008-01-07  Bruno Haible  <bruno@clisp.org>
17841
17842         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
17843         previous section name.
17844
17845 2008-01-07  Bruno Haible  <bruno@clisp.org>
17846
17847         * lib/progname.c (set_program_name): Don't strip off a leading
17848         "lt-" prefix outside a .libs directory.
17849         Suggested by Paul Eggert.
17850
17851 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
17852             Bruno Haible  <bruno@clisp.org>
17853
17854         Improve memory cleanup in 'relocatable' module.
17855         * lib/relocatable.h (compute_curr_prefix): Change return type to
17856         'char *'.
17857         * lib/relocatable.c (compute_curr_prefix): Change return type to
17858         'char *'. Free curr_installdir after use.
17859         (relocate): Free curr_prefix_better after use.
17860         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
17861
17862 2008-01-01  Bruno Haible  <bruno@clisp.org>
17863
17864         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
17865         failure on older glibc systems.
17866         Reported by Peter Fales <psfales@alcatel-lucent.com>.
17867
17868 2008-01-05  Eric Blake  <ebb9@byu.net>
17869
17870         Avoid quadratic system memmem.
17871         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
17872         Reported by Ralf Wildenhues.
17873
17874         Fix memmem test for mingw.
17875         * modules/memmem-tests (configure.ac): Check for alarm.
17876         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
17877         it.
17878         * doc/functions/memmem.texi: New file.
17879         * doc/gnulib.texi (Function Substitutes): Add memmem.
17880         Reported by Bruno Haible.
17881
17882 2008-01-04  Bruno Haible  <bruno@clisp.org>
17883
17884         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
17885         Require gl_HEADER_STRINGS_H_DEFAULTS, not
17886         gl_HEADER_STRING_H_DEFAULTS.
17887
17888 2008-01-04  Eric Blake  <ebb9@byu.net>
17889
17890         Shorten duration of memmem test.
17891         * tests/test-memmem.c (main): Use alarm to declare failure if test
17892         is taking too long.
17893         Reported by Ralf Wildenhues.
17894
17895 2007-12-21  Simon Josefsson  <simon@josefsson.org>
17896
17897         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
17898         string, needed by strerror.
17899
17900 2008-01-03  Colin Watson  <cjwatson@debian.org>
17901             Bruno Haible  <bruno@clisp.org>
17902
17903         * doc/gnulib-tool.texi (Localization): New section.
17904
17905 2008-01-02  Bruno Haible  <bruno@clisp.org>
17906
17907         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
17908         variables to 'unsigned char *' type.
17909         Reported by Paul Eggert.
17910
17911 2008-01-02  Jim Meyering  <jim@meyering.net>
17912
17913         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
17914
17915 2007-12-31  Jim Meyering  <jim@meyering.net>
17916
17917         Avoid use of private FTS type name.
17918         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
17919
17920 2007-12-30  Karl Berry  <karl@gnu.org>
17921
17922         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
17923         work around defect in Texinfo and/or the standalone Info browser.
17924
17925 2007-12-30  Bruno Haible  <bruno@clisp.org>
17926
17927         Unify 5 copies of the KMP code.
17928         * lib/str-kmp.h: New file.
17929         * lib/c-strcasestr.c: Include str-kmp.h.
17930         (knuth_morris_pratt): Remove function.
17931         (c_strcasestr): Update.
17932         * lib/c-strstr.c: Include str-kmp.h.
17933         (knuth_morris_pratt): Remove function.
17934         (c_strcasestr): Update.
17935         * lib/mbscasestr.c: Include str-kmp.h.
17936         (knuth_morris_pratt_unibyte): Remove function.
17937         * lib/mbsstr.c: Include str-kmp.h.
17938         (knuth_morris_pratt_unibyte): Remove function.
17939         * lib/strcasestr.c: Include str-kmp.h.
17940         (knuth_morris_pratt): Remove function.
17941         (strcasestr): Update.
17942         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
17943         * modules/c-strstr (Files): Likewise.
17944         * modules/mbscasestr (Files): Likewise.
17945         * modules/mbsstr (Files): Likewise.
17946         * modules/strcasestr (Files): Likewise.
17947         Suggested by Paul Eggert.
17948
17949 2007-12-30  Bruno Haible  <bruno@clisp.org>
17950
17951         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
17952         defined.
17953
17954 2007-12-30  Bruno Haible  <bruno@clisp.org>
17955
17956         * lib/xmalloca.h: Include xalloc.h.
17957         (xnmalloca): New macro.
17958
17959 2007-12-30  Bruno Haible  <bruno@clisp.org>
17960
17961         * lib/malloca.h (nmalloca): New macro.
17962         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
17963         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
17964         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
17965         knuth_morris_pratt_multibyte): Likewise.
17966         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
17967         knuth_morris_pratt_multibyte): Likewise.
17968         * lib/memmem.c (knuth_morris_pratt): Likewise.
17969         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
17970
17971 2007-12-25  Bruno Haible  <bruno@clisp.org>
17972
17973         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
17974         * lib/glob.c: Don't include openat.h.
17975         (link_exists2_p): Add back the code that deals with the
17976         !GLOB_ALTDIRFUNC case.
17977         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
17978         let it do the filename concatenation.
17979         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
17980         * modules/glob (Depends-on): Remove openat.
17981
17982 2007-12-31  Bruno Haible  <bruno@clisp.org>
17983
17984         * modules/dirfd (License): Change to LGPLv2+.
17985         Approved by Jim Meyering.
17986
17987 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
17988
17989         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
17990         when multiplying M by sizeof (size_t).
17991
17992 2007-12-10  Martin Lambers  <marlam@marlam.de>
17993
17994         Override getpagesize on mingw.
17995         * lib/getpagesize.c: New file.
17996         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
17997         * modules/getpagesize (Files): Add lib/getpagesize.c.
17998         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
17999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18000         REPLACE_GETPAGESIZE.
18001         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
18002
18003 2007-12-25  Bruno Haible  <bruno@clisp.org>
18004
18005         * modules/localcharset (Notice): New field.
18006         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
18007         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
18008
18009 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
18010             Bruno Haible  <bruno@clisp.org>
18011
18012         Avoid using the syntax symbol() in formatted documentation.
18013         * MODULES.html.sh (func_module): When replacing symbol() with a
18014         hyperlink, remove the parentheses. Show an error if some remain.
18015         Recognize and render the '...' syntax.
18016         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
18017         Rework. Add paragraph about GCC's inlining.
18018         * doc/alloca.texi: Likewise.
18019         * doc/error.texi: Remove parentheses from symbol reference.
18020         * doc/gnulib-intro.texi: Likewise.
18021         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
18022         * modules/fnmatch (Description): Reword to say "the ... function".
18023         * modules/full-read (Description): Likewise.
18024         * modules/full-write (Description): Likewise.
18025         * modules/safe-read (Description): Likewise.
18026         * modules/safe-write (Description): Likewise.
18027         * modules/strchrnul (Description): Likewise.
18028         * modules/trim (Description): Likewise.
18029         * modules/error (Description): Remove parentheses from symbol
18030         references.
18031         * modules/verror (Description): Likewise.
18032         Reported by Karl Berry.
18033
18034 2007-12-25  Bruno Haible  <bruno@clisp.org>
18035
18036         Fixup after 2007-10-16 commit.
18037         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
18038
18039 2007-12-24  Bruno Haible  <bruno@clisp.org>
18040
18041         Make --enable-relocatable work with DESTDIR.
18042         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
18043         to compute installdir from destprog.
18044         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
18045         also set the RELOC_DESTDIR variable.
18046         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
18047
18048 2007-12-24  Bruno Haible  <bruno@clisp.org>
18049
18050         Fix link error due to xalloc_die().
18051         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
18052         of xreadlink.
18053         * lib/relocwrapper.c: Update comments.
18054         * build-aux/install-reloc: Remove xreadlink.c from file list.
18055         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
18056         xreadlink.c.
18057         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
18058
18059 2007-12-24  Bruno Haible  <bruno@clisp.org>
18060
18061         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
18062         * lib/setenv.h: Remove file.
18063         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
18064         lib/setenv.h.
18065         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
18066         (Depends-on): Add stdlib.
18067         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
18068         gl_FUNC_UNSETENV.
18069         (Include): Replace setenv.h with <stdlib.h>.
18070         * modules/unsetenv: New file.
18071         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
18072         * lib/unsetenv.c: Include <stdlib.h> first.
18073         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
18074         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
18075         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
18076         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
18077         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
18078         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
18079         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
18080         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
18081         * doc/functions/unsetenv.texi: Update.
18082         * modules/xsetenv (Depends-on): Add unsetenv.
18083         * modules/getdate (Depends-on): Likewise.
18084         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
18085         * lib/xsetenv.c: Don't include setenv.h.
18086         * lib/getdate.y: Likewise.
18087         * lib/relocwrapper.c: Likewise.
18088         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
18089         (Depends-on): Add stdlib.
18090         * NEWS: Mention the changes.
18091         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
18092
18093 2007-12-23  Bruno Haible  <bruno@clisp.org>
18094
18095         * lib/memmem.c (memmem): Use lowercase variable names. Tab
18096         indentation.
18097
18098 2007-12-23  Bruno Haible  <bruno@clisp.org>
18099
18100         * lib/c-strcasestr.c: Add more comments.
18101         * lib/c-strstr.c: Likewise.
18102         * lib/mbscasestr.c: Likewise.
18103         * lib/mbsstr.c: Likewise.
18104         * lib/strcasestr.c: Likewise.
18105         * lib/memmem.c: Likewise.
18106
18107 2007-12-23  Bruno Haible  <bruno@clisp.org>
18108
18109         * tests/test-memmem.c: Include <string.h> first.
18110
18111 2007-12-22  Bruno Haible  <bruno@clisp.org>
18112
18113         * gnulib-tool (func_create_testdir): Change $auxdir while generating
18114         the contents of $testsbase.
18115         Reported by Ralf Wildenhues.
18116
18117 2007-12-22  Bruno Haible  <bruno@clisp.org>
18118
18119         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
18120         two variables local_ldadd_before, local_ldadd_last.
18121
18122 2007-12-20  Eric Blake  <ebb9@byu.net>
18123
18124         Work around circular library issue when cross-compiling.
18125         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
18126         that progname.o does not need to pull in rpl_memcmp.
18127
18128 2007-12-19  Eric Blake  <ebb9@byu.net>
18129
18130         Fix memmem to avoid O(n^2) worst-case complexity.
18131         * lib/memmem.c (knuth_morris_pratt): New function.
18132         (memmem): Use it if first few naive iterations fail.
18133         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
18134         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
18135         * modules/memchr (License): Likewise.
18136         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
18137         malloca.
18138         * tests/test-memmem.c: Rewrite, borrowing ideas from
18139         test-mbsstr1.c; the old version wouldn't even compile!
18140         * modules/memmem-tests: New file.
18141         * lib/string.in.h (rpl_memmem): Add declaration.
18142         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
18143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
18144         REPLACE_MEMMEM.
18145
18146 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
18147
18148         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
18149         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
18150         before any system include files, and undef after them all.  This
18151         should fix a problem on VMS reported by John E. Malmberg in
18152         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
18153
18154 2007-12-17  Eric Blake  <ebb9@byu.net>
18155
18156         Revert addition of verify, for BSD/OS.
18157         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
18158         can't handle large files, for the sake of obsolete platforms.
18159         * modules/fseeko (Depends-on): Remove verify.
18160         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
18161         * doc/functions/ftello.texi (ftello): Likewise.
18162         * doc/functions/fgetpos.texi (fgetpos): Likewise.
18163         Reported by Larry Jones.
18164
18165 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
18166
18167         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
18168         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
18169
18170 2007-12-17  Jim Meyering  <meyering@redhat.com>
18171
18172         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
18173         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
18174         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
18175         * modules/getcwd (Depends-on): Add openat.
18176         Reported by Petr Salinger.
18177
18178 2007-12-17  Bruno Haible  <bruno@clisp.org>
18179
18180         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
18181         avoid a segmentation fault of the configure test on x86_64 systems.
18182
18183 2007-12-15  Jim Meyering  <meyering@redhat.com>
18184
18185         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
18186
18187 2007-12-13  Eric Blake  <ebb9@byu.net>
18188
18189         Another fseek test.
18190         * tests/test-fseek.c (main): Also test ungetc handling.
18191         * tests/test-fseeko.c (main): Likewise.
18192         * modules/fseeko (Depends-on): Add verify.
18193         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
18194         large.
18195         Reported by Larry Jones.
18196
18197         Fix fseeko on mingw.
18198         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
18199         seek.
18200
18201         Beef up fseek tests.
18202         * tests/test-fseek.c (main): Also test eof handling.
18203         * tests/test-fseeko.c (main): Likewise.
18204         Reported by Larry Jones.
18205
18206 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
18207
18208         Fix fseeko on BSD-based platforms.
18209         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
18210         successful seek.
18211
18212 2007-12-12  Eric Blake  <ebb9@byu.net>
18213
18214         Allow circular dependency of separate libtests.a
18215         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
18216         when use_libtests.
18217
18218 2007-12-11  Eric Blake  <ebb9@byu.net>
18219
18220         Fix bug with -0.0L in previous patch.
18221         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
18222         * tests/test-isnan.c (main): Also test on zeroes.
18223         * tests/test-isnanf.c (main): Likewise.
18224         * tests/test-isnanl.h (main): Likewise.
18225
18226         Detect pseudo-denormals on x86 even when cross-compiling.
18227         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
18228         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
18229         invalid bit patterns that happen to satisfy ==.
18230
18231         Avoid link failures with separate libtests.a.
18232         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
18233         last, to satisfy circular dependencies.
18234
18235 2007-12-11  Eric Blake  <ebb9@byu.net>
18236         and Bruno Haible  <bruno@clisp.org>
18237
18238         Fix OpenBSD 4.0 <float.h> handling of long double.
18239         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
18240         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
18241         * doc/headers/float.texi (float.h): Document OpenBSD bug.
18242
18243 2007-12-11  Jim Meyering  <meyering@redhat.com>
18244
18245         * users.txt: Add libvirt.
18246
18247         Support versions of autoconf prior to 2.59c.
18248         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
18249         if it is not already defined.
18250
18251 2007-12-09  Bruno Haible  <bruno@clisp.org>
18252
18253         Let 'gnulib-tool --import' collect sources needed for the tests in
18254         tests/ rather than in lib/.
18255         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
18256         argument. If true, add rules to generate libtests.a, and put libtests.a
18257         into $(LDADD). Consider source files in subdirectories and set
18258         uses_subdirs.
18259         (func_emit_initmacro_start, func_emit_initmacro_end,
18260         func_emit_initmacro_done): Pass all arguments explicitly.
18261         (func_import): Determine two module lists main_modules,
18262         testsrelated_modules. Determine use_libtests. Determine two variables
18263         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
18264         instead of just sed_transform_lib_file. Determine two variables
18265         main_files and testsrelated_files. Compute 'files' as the union of
18266         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
18267         func_add_or_update. In the generated gnulib-comp.m4, collect the
18268         object files for tests/ in different variables than those for lib/.
18269         Substitute LIBTESTS_LIBDEPS.
18270         (func_create_testdir): Combine the uses_subdirs results from
18271         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
18272
18273 2007-12-09  Bruno Haible  <bruno@clisp.org>
18274
18275         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
18276         the build-aux directory.
18277
18278 2007-12-09  Bruno Haible  <bruno@clisp.org>
18279
18280         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
18281         introduced on 2006-09-09.
18282
18283 2007-12-07  Jim Meyering  <meyering@redhat.com>
18284
18285         Let these macros work also with autoconf-2.59.
18286         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
18287         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
18288         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18289
18290 2007-12-06  Jim Meyering  <meyering@redhat.com>
18291
18292         Avoid a configure-time syntax error in gl_FUNC_ACL.
18293         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
18294         function in each branch, before testing the cache variable.
18295
18296 2007-12-04  Eric Blake  <ebb9@byu.net>
18297
18298         Make scripts executable.
18299         * build-aux/config.guess: Add execute permissions.
18300         * build-aux/config.sub: Likewise.
18301         * build-aux/gendocs.sh: Likewise.
18302
18303         Fix frexp on mingw.
18304         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
18305         cross-compiling.
18306         * doc/functions/frexp.texi (frexp): Document the bug.
18307
18308         Make cygwin fseeko check more reliable.
18309         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
18310         version numbers, rather than unrelated feature check.
18311         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
18312         * doc/functions/ftello.texi (ftello): Likewise.
18313         Reported by Bruno Haible.
18314
18315         * m4/strerror.m4: Bump version number.
18316
18317 2007-12-03  Bruno Haible  <bruno@clisp.org>
18318
18319         * doc/functions/mprotect.texi: Mention the mingw problem.
18320
18321 2007-12-03  Eric Blake  <ebb9@byu.net>
18322
18323         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
18324         REPLACE_STRERROR is initialized before this macro.
18325
18326 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
18327
18328         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
18329         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
18330         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
18331         put -lsec in even for programs other than 'ls'.  This fixes a problem
18332         for gettext reported by Bruno Haible in
18333         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
18334         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
18335         Add support for Solaris 10.  This isn't efficient, but should get the
18336         job done for now.
18337
18338 2007-12-03  James Youngman  <jay@gnu.org>
18339
18340         * doc/regexprops-generic.texi: change "an close-group" to "a
18341         close-group" and "illegal" to "not allowed".
18342
18343 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18344
18345         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
18346         pr_byname.h. Needed for the rare case when the maintainer has done
18347         "make maintainer-clean" in the source directory and then attempts a
18348         build outside the source directory.
18349         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
18350         scripts_byname.h.
18351
18352 2007-12-02  Martin Lambers <marlam@marlam.de>
18353             Bruno Haible  <bruno@clisp.org>
18354
18355         * lib/getpagesize.h: Remove file.
18356         * lib/unistd.in.h: Include declaration of getpagesize here.
18357         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
18358         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
18359         HAVE_SYS_PARAM_H.
18360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
18361         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
18362         * modules/getpagesize (Files): Remove lib/getpagesize.h.
18363         (Depends-on): Add unistd.
18364         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18365         (Include): Use <unistd.h> instead of getpagesize.h.
18366         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
18367         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
18368         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
18369         gl_GETPAGESIZE invocation, already handled by module dependency.
18370         * lib/pagealign_alloc.c: Don't include getpagesize.h.
18371
18372 2007-12-02  Bruno Haible  <bruno@clisp.org>
18373
18374         * modules/strings-tests: New file.
18375         * tests/test-strings.c: New file.
18376
18377         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
18378         * lib/strings.in.h: New file.
18379         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
18380         * m4/strings_h.m4: New file.
18381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
18382         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
18383         * modules/strings: New file.
18384         * modules/string (Makefile.am): Update.
18385         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
18386         Reported by Karl Berry.
18387
18388 2007-12-01  Eric Blake  <ebb9@byu.net>
18389
18390         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
18391         accomodate fix in cygwin 1.5.25.
18392
18393 2007-12-01  Jim Meyering  <meyering@redhat.com>
18394
18395         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
18396         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
18397         that would inhibit utf8-optimization of a regexp containing line-
18398         or buffer-anchors, e.g., `^', `$'.
18399
18400 2007-11-30  Bruno Haible  <bruno@clisp.org>
18401
18402         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
18403         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
18404         glthread_recursive_lock_init.
18405         * lib/lock.c (glthread_recursive_lock_init)
18406         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
18407         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18408
18409 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
18410
18411         New function qset_acl, like set_acl but with syscall semantics.
18412         * lib/acl.h (qset_acl): New decl.
18413         * lib/acl.c (qset_acl): New function.
18414         (set_acl): Use new function.  Use more-consistent diagnostics.
18415
18416 2007-11-28  Jim Meyering  <meyering@redhat.com>
18417
18418         * modules/physmem (License): Change from GPL to LGPLv2+.
18419
18420 2007-11-26  Bruno Haible  <bruno@clisp.org>
18421
18422         * lib/vasnprintf.c (decode_long_double): Don't abort if the
18423         'long double' type has excess precision.
18424         Reported by Jim Meyering in
18425         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
18426
18427 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18428
18429         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
18430         Sync from <http://gnu.org/licenses>.
18431         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
18432         with license text from same location.
18433         * doc/maintain.texi, doc/standards.texi:  Sync from
18434         <http://savannah.gnu.org/projects/gnustandards>.
18435
18436 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
18437         and Jim Meyering  <meyering@redhat.com>
18438
18439         Adjust getdate' grammar to accept a slightly more regular language.
18440         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
18441         Before, the former was rejected.
18442         * lib/getdate.y (digits_to_date_time): New function, factored
18443         out of ...
18444         (number): ...here.  Just call digits_to_date_time.
18445         (hybrid): New non-terminal to handle an <unsigned number,
18446         signed relative offset> sequence consistently.
18447
18448 2007-11-18  Jim Meyering  <meyering@redhat.com>
18449
18450         Pull my changes from coreutils:
18451         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
18452         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
18453         use of $gnulib_tool_option_extras, so that it's separated from the
18454         preceding argument.
18455
18456         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
18457         * build-aux/bootstrap (cp_mark_as_generated): Create any required
18458         parent destination directories before copying a file into place.
18459
18460 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
18461
18462         bootstrap: work also with 4-argument variant of AC_INIT
18463         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
18464
18465 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18466
18467         Port test-getaddrinfo to Solaris.
18468         Problem reported by Bruno Haible in
18469         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
18470         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
18471         explanation of setting 'hints'.
18472         Don't reject an implementation merely because it returns EAI_SERVICE.
18473         (EAI_SERVICE): Define to 0 if not defined.
18474
18475 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18476
18477         The license of gnu-make and posix-shell is now "GPLed build tool".
18478         * modules/gnu-make (License): Likewise.
18479         * modules/posix-shell (License): Likewise.
18480
18481         New module posix-shell, for determining a POSIX shell
18482         or perhaps something that is close enough to a POSIX shell.
18483         * m4/posix-shell.m4: New file.
18484         * modules/posix-shell: New file.
18485
18486         * MODULES.html.sh: Mention new module.
18487
18488         New module gnu-make, for determining whether we're using GNU Make.
18489         * m4/gnu-make.m4: New file.
18490         * modules/gnu-make: New file.
18491         * MODULES.html.sh: Mention new module.
18492
18493 2007-11-14  Jim Meyering  <meyering@redhat.com>
18494
18495         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
18496         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
18497         use this macro to create a function _definition_.
18498         Remove useless "#undef ARGMATCH_DIE".
18499
18500 2007-11-14  Bruno Haible  <bruno@clisp.org>
18501
18502         * lib/config.charset: Update for OpenBSD 4.1.
18503         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
18504
18505 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
18506
18507         Document 64-bit #if problems in stdint.texi.
18508         * doc/headers/stdint.texi (stdint.h): Mention problems with
18509         64-bit-#if, and how to work around them.
18510
18511         Don't insist on 'long long int' support in the preprocessor.  It
18512         breaks too many things.  For example, PRIdMAX still uses a 'long
18513         long int' format with the latest Sun compiler, even though
18514         HAVE_LONG_LONG_INT isn't defined due to that compiler's
18515         preprocessor problem.  This causes the latest coreutils to dump
18516         core on Solaris 10 sparc with the Sun C compiler.
18517         Instead, fix the 2007-10-16 problem in a different way, by evaluating
18518         the troublesome expressions at configure-time, not at #if-time.
18519         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
18520         preprocessor.
18521         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
18522         compile-time C checks, done at 'configure'-time.
18523         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
18524         * modules/inttypes (Makefile): Substitute the new symbols that
18525         gl_INTTYPES_H now generates.
18526         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
18527
18528 2007-11-12  Bruno Haible  <bruno@clisp.org>
18529
18530         Tests for Unicode character classification functions.
18531
18532         * modules/unictype/bidicategory-byname-tests: New file.
18533         * modules/unictype/bidicategory-name-tests: New file.
18534         * modules/unictype/bidicategory-of-tests: New file.
18535         * modules/unictype/bidicategory-test-tests: New file.
18536         * modules/unictype/block-list-tests: New file.
18537         * modules/unictype/block-of-tests: New file.
18538         * modules/unictype/block-test-tests: New file.
18539         * modules/unictype/category-C-tests: New file.
18540         * modules/unictype/category-Cc-tests: New file.
18541         * modules/unictype/category-Cf-tests: New file.
18542         * modules/unictype/category-Cn-tests: New file.
18543         * modules/unictype/category-Co-tests: New file.
18544         * modules/unictype/category-Cs-tests: New file.
18545         * modules/unictype/category-L-tests: New file.
18546         * modules/unictype/category-Ll-tests: New file.
18547         * modules/unictype/category-Lm-tests: New file.
18548         * modules/unictype/category-Lo-tests: New file.
18549         * modules/unictype/category-Lt-tests: New file.
18550         * modules/unictype/category-Lu-tests: New file.
18551         * modules/unictype/category-M-tests: New file.
18552         * modules/unictype/category-Mc-tests: New file.
18553         * modules/unictype/category-Me-tests: New file.
18554         * modules/unictype/category-Mn-tests: New file.
18555         * modules/unictype/category-N-tests: New file.
18556         * modules/unictype/category-Nd-tests: New file.
18557         * modules/unictype/category-Nl-tests: New file.
18558         * modules/unictype/category-No-tests: New file.
18559         * modules/unictype/category-P-tests: New file.
18560         * modules/unictype/category-Pc-tests: New file.
18561         * modules/unictype/category-Pd-tests: New file.
18562         * modules/unictype/category-Pe-tests: New file.
18563         * modules/unictype/category-Pf-tests: New file.
18564         * modules/unictype/category-Pi-tests: New file.
18565         * modules/unictype/category-Po-tests: New file.
18566         * modules/unictype/category-Ps-tests: New file.
18567         * modules/unictype/category-S-tests: New file.
18568         * modules/unictype/category-Sc-tests: New file.
18569         * modules/unictype/category-Sk-tests: New file.
18570         * modules/unictype/category-Sm-tests: New file.
18571         * modules/unictype/category-So-tests: New file.
18572         * modules/unictype/category-Z-tests: New file.
18573         * modules/unictype/category-Zl-tests: New file.
18574         * modules/unictype/category-Zp-tests: New file.
18575         * modules/unictype/category-Zs-tests: New file.
18576         * modules/unictype/category-and-not-tests: New file.
18577         * modules/unictype/category-and-tests: New file.
18578         * modules/unictype/category-byname-tests: New file.
18579         * modules/unictype/category-name-tests: New file.
18580         * modules/unictype/category-none-tests: New file.
18581         * modules/unictype/category-of-tests: New file.
18582         * modules/unictype/category-or-tests: New file.
18583         * modules/unictype/category-test-withtable-tests: New file.
18584         * modules/unictype/combining-class-tests: New file.
18585         * modules/unictype/ctype-alnum-tests: New file.
18586         * modules/unictype/ctype-alpha-tests: New file.
18587         * modules/unictype/ctype-blank-tests: New file.
18588         * modules/unictype/ctype-cntrl-tests: New file.
18589         * modules/unictype/ctype-digit-tests: New file.
18590         * modules/unictype/ctype-graph-tests: New file.
18591         * modules/unictype/ctype-lower-tests: New file.
18592         * modules/unictype/ctype-print-tests: New file.
18593         * modules/unictype/ctype-punct-tests: New file.
18594         * modules/unictype/ctype-space-tests: New file.
18595         * modules/unictype/ctype-upper-tests: New file.
18596         * modules/unictype/ctype-xdigit-tests: New file.
18597         * modules/unictype/decimal-digit-tests: New file.
18598         * modules/unictype/digit-tests: New file.
18599         * modules/unictype/mirror-tests: New file.
18600         * modules/unictype/numeric-tests: New file.
18601         * modules/unictype/property-alphabetic-tests: New file.
18602         * modules/unictype/property-ascii-hex-digit-tests: New file.
18603         * modules/unictype/property-bidi-arabic-digit-tests: New file.
18604         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
18605         * modules/unictype/property-bidi-block-separator-tests: New file.
18606         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
18607         * modules/unictype/property-bidi-common-separator-tests: New file.
18608         * modules/unictype/property-bidi-control-tests: New file.
18609         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
18610         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
18611         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
18612         * modules/unictype/property-bidi-european-digit-tests: New file.
18613         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
18614         * modules/unictype/property-bidi-left-to-right-tests: New file.
18615         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
18616         * modules/unictype/property-bidi-other-neutral-tests: New file.
18617         * modules/unictype/property-bidi-pdf-tests: New file.
18618         * modules/unictype/property-bidi-segment-separator-tests: New file.
18619         * modules/unictype/property-bidi-whitespace-tests: New file.
18620         * modules/unictype/property-byname-tests: New file.
18621         * modules/unictype/property-combining-tests: New file.
18622         * modules/unictype/property-composite-tests: New file.
18623         * modules/unictype/property-currency-symbol-tests: New file.
18624         * modules/unictype/property-dash-tests: New file.
18625         * modules/unictype/property-decimal-digit-tests: New file.
18626         * modules/unictype/property-default-ignorable-code-point-tests: New file.
18627         * modules/unictype/property-deprecated-tests: New file.
18628         * modules/unictype/property-diacritic-tests: New file.
18629         * modules/unictype/property-extender-tests: New file.
18630         * modules/unictype/property-format-control-tests: New file.
18631         * modules/unictype/property-grapheme-base-tests: New file.
18632         * modules/unictype/property-grapheme-extend-tests: New file.
18633         * modules/unictype/property-grapheme-link-tests: New file.
18634         * modules/unictype/property-hex-digit-tests: New file.
18635         * modules/unictype/property-hyphen-tests: New file.
18636         * modules/unictype/property-id-continue-tests: New file.
18637         * modules/unictype/property-id-start-tests: New file.
18638         * modules/unictype/property-ideographic-tests: New file.
18639         * modules/unictype/property-ids-binary-operator-tests: New file.
18640         * modules/unictype/property-ids-trinary-operator-tests: New file.
18641         * modules/unictype/property-ignorable-control-tests: New file.
18642         * modules/unictype/property-iso-control-tests: New file.
18643         * modules/unictype/property-join-control-tests: New file.
18644         * modules/unictype/property-left-of-pair-tests: New file.
18645         * modules/unictype/property-line-separator-tests: New file.
18646         * modules/unictype/property-logical-order-exception-tests: New file.
18647         * modules/unictype/property-lowercase-tests: New file.
18648         * modules/unictype/property-math-tests: New file.
18649         * modules/unictype/property-non-break-tests: New file.
18650         * modules/unictype/property-not-a-character-tests: New file.
18651         * modules/unictype/property-numeric-tests: New file.
18652         * modules/unictype/property-other-alphabetic-tests: New file.
18653         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
18654         * modules/unictype/property-other-grapheme-extend-tests: New file.
18655         * modules/unictype/property-other-id-continue-tests: New file.
18656         * modules/unictype/property-other-id-start-tests: New file.
18657         * modules/unictype/property-other-lowercase-tests: New file.
18658         * modules/unictype/property-other-math-tests: New file.
18659         * modules/unictype/property-other-uppercase-tests: New file.
18660         * modules/unictype/property-paired-punctuation-tests: New file.
18661         * modules/unictype/property-paragraph-separator-tests: New file.
18662         * modules/unictype/property-pattern-syntax-tests: New file.
18663         * modules/unictype/property-pattern-white-space-tests: New file.
18664         * modules/unictype/property-private-use-tests: New file.
18665         * modules/unictype/property-punctuation-tests: New file.
18666         * modules/unictype/property-quotation-mark-tests: New file.
18667         * modules/unictype/property-radical-tests: New file.
18668         * modules/unictype/property-sentence-terminal-tests: New file.
18669         * modules/unictype/property-soft-dotted-tests: New file.
18670         * modules/unictype/property-space-tests: New file.
18671         * modules/unictype/property-terminal-punctuation-tests: New file.
18672         * modules/unictype/property-test-tests: New file.
18673         * modules/unictype/property-titlecase-tests: New file.
18674         * modules/unictype/property-unassigned-code-value-tests: New file.
18675         * modules/unictype/property-unified-ideograph-tests: New file.
18676         * modules/unictype/property-uppercase-tests: New file.
18677         * modules/unictype/property-variation-selector-tests: New file.
18678         * modules/unictype/property-white-space-tests: New file.
18679         * modules/unictype/property-xid-continue-tests: New file.
18680         * modules/unictype/property-xid-start-tests: New file.
18681         * modules/unictype/property-zero-width-tests: New file.
18682         * modules/unictype/scripts-tests: New file.
18683         * modules/unictype/syntax-c-ident-tests: New file.
18684         * modules/unictype/syntax-c-whitespace-tests: New file.
18685         * modules/unictype/syntax-java-ident-tests: New file.
18686         * modules/unictype/syntax-java-whitespace-tests: New file.
18687         * tests/unictype/test-bidi_byname.c: New file.
18688         * tests/unictype/test-bidi_name.c: New file.
18689         * tests/unictype/test-bidi_of.c: New file.
18690         * tests/unictype/test-bidi_test.c: New file.
18691         * tests/unictype/test-block_list.c: New file.
18692         * tests/unictype/test-block_of.c: New file.
18693         * tests/unictype/test-block_test.c: New file.
18694         * tests/unictype/test-categ_and.c: New file.
18695         * tests/unictype/test-categ_and_not.c: New file.
18696         * tests/unictype/test-categ_byname.c: New file.
18697         * tests/unictype/test-categ_name.c: New file.
18698         * tests/unictype/test-categ_none.c: New file.
18699         * tests/unictype/test-categ_of.c: New file.
18700         * tests/unictype/test-categ_or.c: New file.
18701         * tests/unictype/test-categ_test_withtable.c: New file.
18702         * tests/unictype/test-combining.c: New file.
18703         * tests/unictype/test-decdigit.c: New file.
18704         * tests/unictype/test-digit.c: New file.
18705         * tests/unictype/test-mirror.c: New file.
18706         * tests/unictype/test-numeric.c: New file.
18707         * tests/unictype/test-pr_byname.c: New file.
18708         * tests/unictype/test-pr_test.c: New file.
18709         * tests/unictype/test-predicate-part1.h: New file.
18710         * tests/unictype/test-predicate-part2.h: New file.
18711         * tests/unictype/test-scripts.c: New file.
18712         * tests/unictype/test-sy_c_ident.c: New file.
18713         * tests/unictype/test-sy_java_ident.c: New file.
18714
18715         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
18716         for Unicode 5.0.0.
18717         * tests/unictype/test-categ_Cc.c: Likewise.
18718         * tests/unictype/test-categ_Cf.c: Likewise.
18719         * tests/unictype/test-categ_Cn.c: Likewise.
18720         * tests/unictype/test-categ_Co.c: Likewise.
18721         * tests/unictype/test-categ_Cs.c: Likewise.
18722         * tests/unictype/test-categ_L.c: Likewise.
18723         * tests/unictype/test-categ_Ll.c: Likewise.
18724         * tests/unictype/test-categ_Lm.c: Likewise.
18725         * tests/unictype/test-categ_Lo.c: Likewise.
18726         * tests/unictype/test-categ_Lt.c: Likewise.
18727         * tests/unictype/test-categ_Lu.c: Likewise.
18728         * tests/unictype/test-categ_M.c: Likewise.
18729         * tests/unictype/test-categ_Mc.c: Likewise.
18730         * tests/unictype/test-categ_Me.c: Likewise.
18731         * tests/unictype/test-categ_Mn.c: Likewise.
18732         * tests/unictype/test-categ_N.c: Likewise.
18733         * tests/unictype/test-categ_Nd.c: Likewise.
18734         * tests/unictype/test-categ_Nl.c: Likewise.
18735         * tests/unictype/test-categ_No.c: Likewise.
18736         * tests/unictype/test-categ_P.c: Likewise.
18737         * tests/unictype/test-categ_Pc.c: Likewise.
18738         * tests/unictype/test-categ_Pd.c: Likewise.
18739         * tests/unictype/test-categ_Pe.c: Likewise.
18740         * tests/unictype/test-categ_Pf.c: Likewise.
18741         * tests/unictype/test-categ_Pi.c: Likewise.
18742         * tests/unictype/test-categ_Po.c: Likewise.
18743         * tests/unictype/test-categ_Ps.c: Likewise.
18744         * tests/unictype/test-categ_S.c: Likewise.
18745         * tests/unictype/test-categ_Sc.c: Likewise.
18746         * tests/unictype/test-categ_Sk.c: Likewise.
18747         * tests/unictype/test-categ_Sm.c: Likewise.
18748         * tests/unictype/test-categ_So.c: Likewise.
18749         * tests/unictype/test-categ_Z.c: Likewise.
18750         * tests/unictype/test-categ_Zl.c: Likewise.
18751         * tests/unictype/test-categ_Zp.c: Likewise.
18752         * tests/unictype/test-categ_Zs.c: Likewise.
18753         * tests/unictype/test-ctype_alnum.c: Likewise.
18754         * tests/unictype/test-ctype_alpha.c: Likewise.
18755         * tests/unictype/test-ctype_blank.c: Likewise.
18756         * tests/unictype/test-ctype_cntrl.c: Likewise.
18757         * tests/unictype/test-ctype_digit.c: Likewise.
18758         * tests/unictype/test-ctype_graph.c: Likewise.
18759         * tests/unictype/test-ctype_lower.c: Likewise.
18760         * tests/unictype/test-ctype_print.c: Likewise.
18761         * tests/unictype/test-ctype_punct.c: Likewise.
18762         * tests/unictype/test-ctype_space.c: Likewise.
18763         * tests/unictype/test-ctype_upper.c: Likewise.
18764         * tests/unictype/test-ctype_xdigit.c: Likewise.
18765         * tests/unictype/test-decdigit.h: Likewise.
18766         * tests/unictype/test-digit.h: Likewise.
18767         * tests/unictype/test-numeric.h: Likewise.
18768         * tests/unictype/test-pr_alphabetic.c: Likewise.
18769         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
18770         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18771         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18772         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
18773         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18774         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
18775         * tests/unictype/test-pr_bidi_control.c: Likewise.
18776         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
18777         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
18778         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18779         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18780         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18781         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18782         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18783         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18784         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
18785         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
18786         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
18787         * tests/unictype/test-pr_combining.c: Likewise.
18788         * tests/unictype/test-pr_composite.c: Likewise.
18789         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18790         * tests/unictype/test-pr_dash.c: Likewise.
18791         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18792         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
18793         * tests/unictype/test-pr_deprecated.c: Likewise.
18794         * tests/unictype/test-pr_diacritic.c: Likewise.
18795         * tests/unictype/test-pr_extender.c: Likewise.
18796         * tests/unictype/test-pr_format_control.c: Likewise.
18797         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18798         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18799         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18800         * tests/unictype/test-pr_hex_digit.c: Likewise.
18801         * tests/unictype/test-pr_hyphen.c: Likewise.
18802         * tests/unictype/test-pr_id_continue.c: Likewise.
18803         * tests/unictype/test-pr_id_start.c: Likewise.
18804         * tests/unictype/test-pr_ideographic.c: Likewise.
18805         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
18806         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
18807         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18808         * tests/unictype/test-pr_iso_control.c: Likewise.
18809         * tests/unictype/test-pr_join_control.c: Likewise.
18810         * tests/unictype/test-pr_left_of_pair.c: Likewise.
18811         * tests/unictype/test-pr_line_separator.c: Likewise.
18812         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18813         * tests/unictype/test-pr_lowercase.c: Likewise.
18814         * tests/unictype/test-pr_math.c: Likewise.
18815         * tests/unictype/test-pr_non_break.c: Likewise.
18816         * tests/unictype/test-pr_not_a_character.c: Likewise.
18817         * tests/unictype/test-pr_numeric.c: Likewise.
18818         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18819         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
18820         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
18821         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18822         * tests/unictype/test-pr_other_id_start.c: Likewise.
18823         * tests/unictype/test-pr_other_lowercase.c: Likewise.
18824         * tests/unictype/test-pr_other_math.c: Likewise.
18825         * tests/unictype/test-pr_other_uppercase.c: Likewise.
18826         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
18827         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
18828         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
18829         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
18830         * tests/unictype/test-pr_private_use.c: Likewise.
18831         * tests/unictype/test-pr_punctuation.c: Likewise.
18832         * tests/unictype/test-pr_quotation_mark.c: Likewise.
18833         * tests/unictype/test-pr_radical.c: Likewise.
18834         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18835         * tests/unictype/test-pr_soft_dotted.c: Likewise.
18836         * tests/unictype/test-pr_space.c: Likewise.
18837         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18838         * tests/unictype/test-pr_titlecase.c: Likewise.
18839         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18840         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18841         * tests/unictype/test-pr_uppercase.c: Likewise.
18842         * tests/unictype/test-pr_variation_selector.c: Likewise.
18843         * tests/unictype/test-pr_white_space.c: Likewise.
18844         * tests/unictype/test-pr_xid_continue.c: Likewise.
18845         * tests/unictype/test-pr_xid_start.c: Likewise.
18846         * tests/unictype/test-pr_zero_width.c: Likewise.
18847         * tests/unictype/test-sy_c_whitespace.c: Likewise.
18848         * tests/unictype/test-sy_java_whitespace.c: Likewise.
18849
18850 2007-11-12  Bruno Haible  <bruno@clisp.org>
18851
18852         Unicode character classification functions.
18853         * lib/unictype.h: New file.
18854         * modules/unictype/base: New file.
18855         * modules/unictype/category-L: New file.
18856         * modules/unictype/category-Lu: New file.
18857         * modules/unictype/category-Ll: New file.
18858         * modules/unictype/category-Lt: New file.
18859         * modules/unictype/category-Lm: New file.
18860         * modules/unictype/category-Lo: New file.
18861         * modules/unictype/category-M: New file.
18862         * modules/unictype/category-Mn: New file.
18863         * modules/unictype/category-Mc: New file.
18864         * modules/unictype/category-Me: New file.
18865         * modules/unictype/category-N: New file.
18866         * modules/unictype/category-Nd: New file.
18867         * modules/unictype/category-Nl: New file.
18868         * modules/unictype/category-No: New file.
18869         * modules/unictype/category-P: New file.
18870         * modules/unictype/category-Pc: New file.
18871         * modules/unictype/category-Pd: New file.
18872         * modules/unictype/category-Ps: New file.
18873         * modules/unictype/category-Pe: New file.
18874         * modules/unictype/category-Pi: New file.
18875         * modules/unictype/category-Pf: New file.
18876         * modules/unictype/category-Po: New file.
18877         * modules/unictype/category-S: New file.
18878         * modules/unictype/category-Sm: New file.
18879         * modules/unictype/category-Sc: New file.
18880         * modules/unictype/category-Sk: New file.
18881         * modules/unictype/category-So: New file.
18882         * modules/unictype/category-Z: New file.
18883         * modules/unictype/category-Zs: New file.
18884         * modules/unictype/category-Zl: New file.
18885         * modules/unictype/category-Zp: New file.
18886         * modules/unictype/category-C: New file.
18887         * modules/unictype/category-Cc: New file.
18888         * modules/unictype/category-Cf: New file.
18889         * modules/unictype/category-Cs: New file.
18890         * modules/unictype/category-Co: New file.
18891         * modules/unictype/category-Cn: New file.
18892         * modules/unictype/category-or: New file.
18893         * modules/unictype/category-of: New file.
18894         * modules/unictype/category-test: New file.
18895         * modules/unictype/category-test-withtable: New file.
18896         * modules/unictype/category-byname: New file.
18897         * modules/unictype/category-none: New file.
18898         * modules/unictype/category-and: New file.
18899         * modules/unictype/category-and-not: New file.
18900         * modules/unictype/category-name: New file.
18901         * modules/unictype/combining-class: New file.
18902         * modules/unictype/category-all: New file.
18903         * modules/unictype/bidicategory-all: New file.
18904         * modules/unictype/bidicategory-byname: New file.
18905         * modules/unictype/bidicategory-name: New file.
18906         * modules/unictype/bidicategory-of: New file.
18907         * modules/unictype/bidicategory-test: New file.
18908         * modules/unictype/decimal-digit: New file.
18909         * modules/unictype/digit: New file.
18910         * modules/unictype/numeric: New file.
18911         * modules/unictype/mirror: New file.
18912         * modules/unictype/property-white-space: New file.
18913         * modules/unictype/property-alphabetic: New file.
18914         * modules/unictype/property-other-alphabetic: New file.
18915         * modules/unictype/property-not-a-character: New file.
18916         * modules/unictype/property-default-ignorable-code-point: New file.
18917         * modules/unictype/property-other-default-ignorable-code-point: New
18918         file.
18919         * modules/unictype/property-deprecated: New file.
18920         * modules/unictype/property-logical-order-exception: New file.
18921         * modules/unictype/property-variation-selector: New file.
18922         * modules/unictype/property-private-use: New file.
18923         * modules/unictype/property-unassigned-code-value: New file.
18924         * modules/unictype/property-uppercase: New file.
18925         * modules/unictype/property-other-uppercase: New file.
18926         * modules/unictype/property-lowercase: New file.
18927         * modules/unictype/property-other-lowercase: New file.
18928         * modules/unictype/property-titlecase: New file.
18929         * modules/unictype/property-soft-dotted: New file.
18930         * modules/unictype/property-id-start: New file.
18931         * modules/unictype/property-other-id-start: New file.
18932         * modules/unictype/property-id-continue: New file.
18933         * modules/unictype/property-other-id-continue: New file.
18934         * modules/unictype/property-xid-start: New file.
18935         * modules/unictype/property-xid-continue: New file.
18936         * modules/unictype/property-pattern-white-space: New file.
18937         * modules/unictype/property-pattern-syntax: New file.
18938         * modules/unictype/property-join-control: New file.
18939         * modules/unictype/property-grapheme-base: New file.
18940         * modules/unictype/property-grapheme-extend: New file.
18941         * modules/unictype/property-other-grapheme-extend: New file.
18942         * modules/unictype/property-grapheme-link: New file.
18943         * modules/unictype/property-bidi-control: New file.
18944         * modules/unictype/property-bidi-left-to-right: New file.
18945         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
18946         * modules/unictype/property-bidi-arabic-right-to-left: New file.
18947         * modules/unictype/property-bidi-european-digit: New file.
18948         * modules/unictype/property-bidi-eur-num-separator: New file.
18949         * modules/unictype/property-bidi-eur-num-terminator: New file.
18950         * modules/unictype/property-bidi-arabic-digit: New file.
18951         * modules/unictype/property-bidi-common-separator: New file.
18952         * modules/unictype/property-bidi-block-separator: New file.
18953         * modules/unictype/property-bidi-segment-separator: New file.
18954         * modules/unictype/property-bidi-whitespace: New file.
18955         * modules/unictype/property-bidi-non-spacing-mark: New file.
18956         * modules/unictype/property-bidi-boundary-neutral: New file.
18957         * modules/unictype/property-bidi-pdf: New file.
18958         * modules/unictype/property-bidi-embedding-or-override: New file.
18959         * modules/unictype/property-bidi-other-neutral: New file.
18960         * modules/unictype/property-hex-digit: New file.
18961         * modules/unictype/property-ascii-hex-digit: New file.
18962         * modules/unictype/property-ideographic: New file.
18963         * modules/unictype/property-unified-ideograph: New file.
18964         * modules/unictype/property-radical: New file.
18965         * modules/unictype/property-ids-binary-operator: New file.
18966         * modules/unictype/property-ids-trinary-operator: New file.
18967         * modules/unictype/property-zero-width: New file.
18968         * modules/unictype/property-space: New file.
18969         * modules/unictype/property-non-break: New file.
18970         * modules/unictype/property-iso-control: New file.
18971         * modules/unictype/property-format-control: New file.
18972         * modules/unictype/property-dash: New file.
18973         * modules/unictype/property-hyphen: New file.
18974         * modules/unictype/property-punctuation: New file.
18975         * modules/unictype/property-line-separator: New file.
18976         * modules/unictype/property-paragraph-separator: New file.
18977         * modules/unictype/property-quotation-mark: New file.
18978         * modules/unictype/property-sentence-terminal: New file.
18979         * modules/unictype/property-terminal-punctuation: New file.
18980         * modules/unictype/property-currency-symbol: New file.
18981         * modules/unictype/property-math: New file.
18982         * modules/unictype/property-other-math: New file.
18983         * modules/unictype/property-paired-punctuation: New file.
18984         * modules/unictype/property-left-of-pair: New file.
18985         * modules/unictype/property-combining: New file.
18986         * modules/unictype/property-composite: New file.
18987         * modules/unictype/property-decimal-digit: New file.
18988         * modules/unictype/property-numeric: New file.
18989         * modules/unictype/property-diacritic: New file.
18990         * modules/unictype/property-extender: New file.
18991         * modules/unictype/property-ignorable-control: New file.
18992         * modules/unictype/property-test: New file.
18993         * modules/unictype/property-byname: New file.
18994         * modules/unictype/property-all: New file.
18995         * modules/unictype/scripts: New file.
18996         * modules/unictype/scripts-all: New file.
18997         * modules/unictype/block-of: New file.
18998         * modules/unictype/block-test: New file.
18999         * modules/unictype/block-list: New file.
19000         * modules/unictype/block-all: New file.
19001         * modules/unictype/syntax-c-whitespace: New file.
19002         * modules/unictype/syntax-java-whitespace: New file.
19003         * modules/unictype/syntax-c-ident: New file.
19004         * modules/unictype/syntax-java-ident: New file.
19005         * modules/unictype/ctype-alnum: New file.
19006         * modules/unictype/ctype-alpha: New file.
19007         * modules/unictype/ctype-cntrl: New file.
19008         * modules/unictype/ctype-digit: New file.
19009         * modules/unictype/ctype-graph: New file.
19010         * modules/unictype/ctype-lower: New file.
19011         * modules/unictype/ctype-print: New file.
19012         * modules/unictype/ctype-punct: New file.
19013         * modules/unictype/ctype-space: New file.
19014         * modules/unictype/ctype-upper: New file.
19015         * modules/unictype/ctype-xdigit: New file.
19016         * modules/unictype/ctype-blank: New file.
19017         * lib/unictype/bidi_byname.c: New file.
19018         * lib/unictype/bidi_name.c: New file.
19019         * lib/unictype/bidi_of.c: New file.
19020         * lib/unictype/bidi_test.c: New file.
19021         * lib/unictype/bitmap.h: New file.
19022         * lib/unictype/block_test.c: New file.
19023         * lib/unictype/blocks.c: New file.
19024         * lib/unictype/categ_C.c: New file.
19025         * lib/unictype/categ_Cc.c: New file.
19026         * lib/unictype/categ_Cf.c: New file.
19027         * lib/unictype/categ_Cn.c: New file.
19028         * lib/unictype/categ_Co.c: New file.
19029         * lib/unictype/categ_Cs.c: New file.
19030         * lib/unictype/categ_L.c: New file.
19031         * lib/unictype/categ_Ll.c: New file.
19032         * lib/unictype/categ_Lm.c: New file.
19033         * lib/unictype/categ_Lo.c: New file.
19034         * lib/unictype/categ_Lt.c: New file.
19035         * lib/unictype/categ_Lu.c: New file.
19036         * lib/unictype/categ_M.c: New file.
19037         * lib/unictype/categ_Mc.c: New file.
19038         * lib/unictype/categ_Me.c: New file.
19039         * lib/unictype/categ_Mn.c: New file.
19040         * lib/unictype/categ_N.c: New file.
19041         * lib/unictype/categ_Nd.c: New file.
19042         * lib/unictype/categ_Nl.c: New file.
19043         * lib/unictype/categ_No.c: New file.
19044         * lib/unictype/categ_P.c: New file.
19045         * lib/unictype/categ_Pc.c: New file.
19046         * lib/unictype/categ_Pd.c: New file.
19047         * lib/unictype/categ_Pe.c: New file.
19048         * lib/unictype/categ_Pf.c: New file.
19049         * lib/unictype/categ_Pi.c: New file.
19050         * lib/unictype/categ_Po.c: New file.
19051         * lib/unictype/categ_Ps.c: New file.
19052         * lib/unictype/categ_S.c: New file.
19053         * lib/unictype/categ_Sc.c: New file.
19054         * lib/unictype/categ_Sk.c: New file.
19055         * lib/unictype/categ_Sm.c: New file.
19056         * lib/unictype/categ_So.c: New file.
19057         * lib/unictype/categ_Z.c: New file.
19058         * lib/unictype/categ_Zl.c: New file.
19059         * lib/unictype/categ_Zp.c: New file.
19060         * lib/unictype/categ_Zs.c: New file.
19061         * lib/unictype/categ_and.c: New file.
19062         * lib/unictype/categ_and_not.c: New file.
19063         * lib/unictype/categ_byname.c: New file.
19064         * lib/unictype/categ_name.c: New file.
19065         * lib/unictype/categ_none.c: New file.
19066         * lib/unictype/categ_of.c: New file.
19067         * lib/unictype/categ_or.c: New file.
19068         * lib/unictype/categ_test.c: New file.
19069         * lib/unictype/combining.c: New file.
19070         * lib/unictype/ctype_alnum.c: New file.
19071         * lib/unictype/ctype_alpha.c: New file.
19072         * lib/unictype/ctype_blank.c: New file.
19073         * lib/unictype/ctype_cntrl.c: New file.
19074         * lib/unictype/ctype_digit.c: New file.
19075         * lib/unictype/ctype_graph.c: New file.
19076         * lib/unictype/ctype_lower.c: New file.
19077         * lib/unictype/ctype_print.c: New file.
19078         * lib/unictype/ctype_punct.c: New file.
19079         * lib/unictype/ctype_space.c: New file.
19080         * lib/unictype/ctype_upper.c: New file.
19081         * lib/unictype/ctype_xdigit.c: New file.
19082         * lib/unictype/decdigit.c: New file.
19083         * lib/unictype/digit.c: New file.
19084         * lib/unictype/identsyntaxmap.h: New file.
19085         * lib/unictype/mirror.c: New file.
19086         * lib/unictype/numeric.c: New file.
19087         * lib/unictype/pr_alphabetic.c: New file.
19088         * lib/unictype/pr_ascii_hex_digit.c: New file.
19089         * lib/unictype/pr_bidi_arabic_digit.c: New file.
19090         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
19091         * lib/unictype/pr_bidi_block_separator.c: New file.
19092         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
19093         * lib/unictype/pr_bidi_common_separator.c: New file.
19094         * lib/unictype/pr_bidi_control.c: New file.
19095         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
19096         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
19097         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
19098         * lib/unictype/pr_bidi_european_digit.c: New file.
19099         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
19100         * lib/unictype/pr_bidi_left_to_right.c: New file.
19101         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
19102         * lib/unictype/pr_bidi_other_neutral.c: New file.
19103         * lib/unictype/pr_bidi_pdf.c: New file.
19104         * lib/unictype/pr_bidi_segment_separator.c: New file.
19105         * lib/unictype/pr_bidi_whitespace.c: New file.
19106         * lib/unictype/pr_byname.c: New file.
19107         * lib/unictype/pr_byname.gperf: New file.
19108         * lib/unictype/pr_combining.c: New file.
19109         * lib/unictype/pr_composite.c: New file.
19110         * lib/unictype/pr_currency_symbol.c: New file.
19111         * lib/unictype/pr_dash.c: New file.
19112         * lib/unictype/pr_decimal_digit.c: New file.
19113         * lib/unictype/pr_default_ignorable_code_point.c: New file.
19114         * lib/unictype/pr_deprecated.c: New file.
19115         * lib/unictype/pr_diacritic.c: New file.
19116         * lib/unictype/pr_extender.c: New file.
19117         * lib/unictype/pr_format_control.c: New file.
19118         * lib/unictype/pr_grapheme_base.c: New file.
19119         * lib/unictype/pr_grapheme_extend.c: New file.
19120         * lib/unictype/pr_grapheme_link.c: New file.
19121         * lib/unictype/pr_hex_digit.c: New file.
19122         * lib/unictype/pr_hyphen.c: New file.
19123         * lib/unictype/pr_id_continue.c: New file.
19124         * lib/unictype/pr_id_start.c: New file.
19125         * lib/unictype/pr_ideographic.c: New file.
19126         * lib/unictype/pr_ids_binary_operator.c: New file.
19127         * lib/unictype/pr_ids_trinary_operator.c: New file.
19128         * lib/unictype/pr_ignorable_control.c: New file.
19129         * lib/unictype/pr_iso_control.c: New file.
19130         * lib/unictype/pr_join_control.c: New file.
19131         * lib/unictype/pr_left_of_pair.c: New file.
19132         * lib/unictype/pr_line_separator.c: New file.
19133         * lib/unictype/pr_logical_order_exception.c: New file.
19134         * lib/unictype/pr_lowercase.c: New file.
19135         * lib/unictype/pr_math.c: New file.
19136         * lib/unictype/pr_non_break.c: New file.
19137         * lib/unictype/pr_not_a_character.c: New file.
19138         * lib/unictype/pr_numeric.c: New file.
19139         * lib/unictype/pr_other_alphabetic.c: New file.
19140         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
19141         * lib/unictype/pr_other_grapheme_extend.c: New file.
19142         * lib/unictype/pr_other_id_continue.c: New file.
19143         * lib/unictype/pr_other_id_start.c: New file.
19144         * lib/unictype/pr_other_lowercase.c: New file.
19145         * lib/unictype/pr_other_math.c: New file.
19146         * lib/unictype/pr_other_uppercase.c: New file.
19147         * lib/unictype/pr_paired_punctuation.c: New file.
19148         * lib/unictype/pr_paragraph_separator.c: New file.
19149         * lib/unictype/pr_pattern_syntax.c: New file.
19150         * lib/unictype/pr_pattern_white_space.c: New file.
19151         * lib/unictype/pr_private_use.c: New file.
19152         * lib/unictype/pr_punctuation.c: New file.
19153         * lib/unictype/pr_quotation_mark.c: New file.
19154         * lib/unictype/pr_radical.c: New file.
19155         * lib/unictype/pr_sentence_terminal.c: New file.
19156         * lib/unictype/pr_soft_dotted.c: New file.
19157         * lib/unictype/pr_space.c: New file.
19158         * lib/unictype/pr_terminal_punctuation.c: New file.
19159         * lib/unictype/pr_test.c: New file.
19160         * lib/unictype/pr_titlecase.c: New file.
19161         * lib/unictype/pr_unassigned_code_value.c: New file.
19162         * lib/unictype/pr_unified_ideograph.c: New file.
19163         * lib/unictype/pr_uppercase.c: New file.
19164         * lib/unictype/pr_variation_selector.c: New file.
19165         * lib/unictype/pr_white_space.c: New file.
19166         * lib/unictype/pr_xid_continue.c: New file.
19167         * lib/unictype/pr_xid_start.c: New file.
19168         * lib/unictype/pr_zero_width.c: New file.
19169         * lib/unictype/scripts.c: New file.
19170         * lib/unictype/sy_c_ident.c: New file.
19171         * lib/unictype/sy_c_whitespace.c: New file.
19172         * lib/unictype/sy_java_ident.c: New file.
19173         * lib/unictype/sy_java_whitespace.c: New file.
19174
19175         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
19176         Unicode 5.0.0.
19177         * lib/unictype/blocks.h: Likewise.
19178         * lib/unictype/categ_C.h: Likewise.
19179         * lib/unictype/categ_Cc.h: Likewise.
19180         * lib/unictype/categ_Cf.h: Likewise.
19181         * lib/unictype/categ_Cn.h: Likewise.
19182         * lib/unictype/categ_Co.h: Likewise.
19183         * lib/unictype/categ_Cs.h: Likewise.
19184         * lib/unictype/categ_L.h: Likewise.
19185         * lib/unictype/categ_Ll.h: Likewise.
19186         * lib/unictype/categ_Lm.h: Likewise.
19187         * lib/unictype/categ_Lo.h: Likewise.
19188         * lib/unictype/categ_Lt.h: Likewise.
19189         * lib/unictype/categ_Lu.h: Likewise.
19190         * lib/unictype/categ_M.h: Likewise.
19191         * lib/unictype/categ_Mc.h: Likewise.
19192         * lib/unictype/categ_Me.h: Likewise.
19193         * lib/unictype/categ_Mn.h: Likewise.
19194         * lib/unictype/categ_N.h: Likewise.
19195         * lib/unictype/categ_Nd.h: Likewise.
19196         * lib/unictype/categ_Nl.h: Likewise.
19197         * lib/unictype/categ_No.h: Likewise.
19198         * lib/unictype/categ_P.h: Likewise.
19199         * lib/unictype/categ_Pc.h: Likewise.
19200         * lib/unictype/categ_Pd.h: Likewise.
19201         * lib/unictype/categ_Pe.h: Likewise.
19202         * lib/unictype/categ_Pf.h: Likewise.
19203         * lib/unictype/categ_Pi.h: Likewise.
19204         * lib/unictype/categ_Po.h: Likewise.
19205         * lib/unictype/categ_Ps.h: Likewise.
19206         * lib/unictype/categ_S.h: Likewise.
19207         * lib/unictype/categ_Sc.h: Likewise.
19208         * lib/unictype/categ_Sk.h: Likewise.
19209         * lib/unictype/categ_Sm.h: Likewise.
19210         * lib/unictype/categ_So.h: Likewise.
19211         * lib/unictype/categ_Z.h: Likewise.
19212         * lib/unictype/categ_Zl.h: Likewise.
19213         * lib/unictype/categ_Zp.h: Likewise.
19214         * lib/unictype/categ_Zs.h: Likewise.
19215         * lib/unictype/categ_of.h: Likewise.
19216         * lib/unictype/combining.h: Likewise.
19217         * lib/unictype/ctype_alnum.h: Likewise.
19218         * lib/unictype/ctype_alpha.h: Likewise.
19219         * lib/unictype/ctype_blank.h: Likewise.
19220         * lib/unictype/ctype_cntrl.h: Likewise.
19221         * lib/unictype/ctype_digit.h: Likewise.
19222         * lib/unictype/ctype_graph.h: Likewise.
19223         * lib/unictype/ctype_lower.h: Likewise.
19224         * lib/unictype/ctype_print.h: Likewise.
19225         * lib/unictype/ctype_punct.h: Likewise.
19226         * lib/unictype/ctype_space.h: Likewise.
19227         * lib/unictype/ctype_upper.h: Likewise.
19228         * lib/unictype/ctype_xdigit.h: Likewise.
19229         * lib/unictype/decdigit.h: Likewise.
19230         * lib/unictype/digit.h: Likewise.
19231         * lib/unictype/mirror.h: Likewise.
19232         * lib/unictype/numeric.h: Likewise.
19233         * lib/unictype/pr_alphabetic.h: Likewise.
19234         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19235         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19236         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19237         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19238         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19239         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19240         * lib/unictype/pr_bidi_control.h: Likewise.
19241         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19242         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19243         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19244         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19245         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19246         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19247         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19248         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19249         * lib/unictype/pr_bidi_pdf.h: Likewise.
19250         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19251         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19252         * lib/unictype/pr_combining.h: Likewise.
19253         * lib/unictype/pr_composite.h: Likewise.
19254         * lib/unictype/pr_currency_symbol.h: Likewise.
19255         * lib/unictype/pr_dash.h: Likewise.
19256         * lib/unictype/pr_decimal_digit.h: Likewise.
19257         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19258         * lib/unictype/pr_deprecated.h: Likewise.
19259         * lib/unictype/pr_diacritic.h: Likewise.
19260         * lib/unictype/pr_extender.h: Likewise.
19261         * lib/unictype/pr_format_control.h: Likewise.
19262         * lib/unictype/pr_grapheme_base.h: Likewise.
19263         * lib/unictype/pr_grapheme_extend.h: Likewise.
19264         * lib/unictype/pr_grapheme_link.h: Likewise.
19265         * lib/unictype/pr_hex_digit.h: Likewise.
19266         * lib/unictype/pr_hyphen.h: Likewise.
19267         * lib/unictype/pr_id_continue.h: Likewise.
19268         * lib/unictype/pr_id_start.h: Likewise.
19269         * lib/unictype/pr_ideographic.h: Likewise.
19270         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19271         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19272         * lib/unictype/pr_ignorable_control.h: Likewise.
19273         * lib/unictype/pr_iso_control.h: Likewise.
19274         * lib/unictype/pr_join_control.h: Likewise.
19275         * lib/unictype/pr_left_of_pair.h: Likewise.
19276         * lib/unictype/pr_line_separator.h: Likewise.
19277         * lib/unictype/pr_logical_order_exception.h: Likewise.
19278         * lib/unictype/pr_lowercase.h: Likewise.
19279         * lib/unictype/pr_math.h: Likewise.
19280         * lib/unictype/pr_non_break.h: Likewise.
19281         * lib/unictype/pr_not_a_character.h: Likewise.
19282         * lib/unictype/pr_numeric.h: Likewise.
19283         * lib/unictype/pr_other_alphabetic.h: Likewise.
19284         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19285         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19286         * lib/unictype/pr_other_id_continue.h: Likewise.
19287         * lib/unictype/pr_other_id_start.h: Likewise.
19288         * lib/unictype/pr_other_lowercase.h: Likewise.
19289         * lib/unictype/pr_other_math.h: Likewise.
19290         * lib/unictype/pr_other_uppercase.h: Likewise.
19291         * lib/unictype/pr_paired_punctuation.h: Likewise.
19292         * lib/unictype/pr_paragraph_separator.h: Likewise.
19293         * lib/unictype/pr_pattern_syntax.h: Likewise.
19294         * lib/unictype/pr_pattern_white_space.h: Likewise.
19295         * lib/unictype/pr_private_use.h: Likewise.
19296         * lib/unictype/pr_punctuation.h: Likewise.
19297         * lib/unictype/pr_quotation_mark.h: Likewise.
19298         * lib/unictype/pr_radical.h: Likewise.
19299         * lib/unictype/pr_sentence_terminal.h: Likewise.
19300         * lib/unictype/pr_soft_dotted.h: Likewise.
19301         * lib/unictype/pr_space.h: Likewise.
19302         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19303         * lib/unictype/pr_titlecase.h: Likewise.
19304         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19305         * lib/unictype/pr_unified_ideograph.h: Likewise.
19306         * lib/unictype/pr_uppercase.h: Likewise.
19307         * lib/unictype/pr_variation_selector.h: Likewise.
19308         * lib/unictype/pr_white_space.h: Likewise.
19309         * lib/unictype/pr_xid_continue.h: Likewise.
19310         * lib/unictype/pr_xid_start.h: Likewise.
19311         * lib/unictype/pr_zero_width.h: Likewise.
19312         * lib/unictype/scripts.h: Likewise.
19313         * lib/unictype/scripts_byname.gperf: Likewise.
19314         * lib/unictype/sy_c_ident.h: Likewise.
19315         * lib/unictype/sy_c_whitespace.h: Likewise.
19316         * lib/unictype/sy_java_ident.h: Likewise.
19317         * lib/unictype/sy_java_whitespace.h: Likewise.
19318
19319         * lib/unictype/Makefile: New file.
19320         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
19321         glibc.
19322         * lib/unictype/3level.h: New file, copied from glibc.
19323         * lib/unictype/3levelbit.h: New file.
19324
19325 2007-11-11  Bruno Haible  <bruno@clisp.org>
19326
19327         * modules/gperf: New file.
19328         * modules/iconv_open (Depends-on): Add it.
19329         (Makefile.am): Remove the GPERF definition.
19330
19331 2007-11-11  Bruno Haible  <bruno@clisp.org>
19332
19333         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
19334         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
19335
19336 2007-11-11  Bruno Haible  <bruno@clisp.org>
19337
19338         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
19339         (usage): Remove function.
19340
19341 2007-11-11  Bruno Haible  <bruno@clisp.org>
19342
19343         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
19344         gl_FUNC_CEILF_LIBS.
19345         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
19346         gl_FUNC_CEIL_LIBS.
19347         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
19348         gl_FUNC_CEILL_LIBS.
19349         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
19350         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
19351         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
19352
19353 2007-11-11  Bruno Haible  <bruno@clisp.org>
19354
19355         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
19356         roundf were declared but do not exist on functions.
19357         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
19358         roundl were declared but do not exist on functions.
19359         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
19360         HAVE_FLOORL_AND_CEILL, respectively.
19361         Needed for Sun C on Solaris 10.
19362
19363 2007-11-11  Bruno Haible  <bruno@clisp.org>
19364
19365         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
19366         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
19367         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
19368         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
19369         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
19370         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
19371         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
19372         HAVE_DECL_ROUNDF.
19373         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
19374         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
19375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
19376         of HAVE_DECL_ROUND*.
19377         * modules/math (Makefile.am): Update.
19378
19379 2007-11-10  Bruno Haible  <bruno@clisp.org>
19380
19381         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
19382         ptrdiff_t as m4/intl.m4.
19383
19384 2007-11-10  Jim Meyering  <meyering@redhat.com>
19385
19386         Avoid link failure for the argmatch test.
19387         * tests/test-argmatch.c (usage): Define function to avoid a link
19388         failure: argmatch_die requires a usage function.
19389
19390 2007-11-09  Bruno Haible  <bruno@clisp.org>
19391
19392         * doc/functions/snprintf.texi: Mention BeOS deficiency.
19393         * doc/functions/vsnprintf.texi: Likewise.
19394         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
19395         with a size argument < 2.
19396
19397 2007-11-09  Bruno Haible  <bruno@clisp.org>
19398
19399         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
19400         buffer. Fixes an inefficiency introduced on 2007-11-03.
19401
19402 2007-11-09  Bruno Haible  <bruno@clisp.org>
19403
19404         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
19405         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
19406
19407 2007-11-08  Jim Meyering  <meyering@redhat.com>
19408
19409         Change cache variable name prefix "jm_" to "gl_" everywhere.
19410         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
19411         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
19412         * m4/uptime.m4: s/gl_/jm_/
19413
19414 2007-11-07  Bruno Haible  <bruno@clisp.org>
19415
19416         Update to GNU gettext 0.17.
19417         * m4/intl.m4: Update to GNU gettext 0.17.
19418         * m4/po.m4: Likewise.
19419         * modules/gettext (Files): Remove m4/ulonglong.m4.
19420         (configure.ac): Require gettext infrastructure from version 0.17.
19421
19422 2007-11-06  Bruno Haible  <bruno@clisp.org>
19423
19424         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
19425         symbolic values are not defined in a public header.
19426         * lib/freadable.c (freadable) [QNX]: Likewise.
19427         * lib/freadahead.c (freadahead) [QNX]: Likewise.
19428         * lib/freading.c (freading) [QNX]: Likewise.
19429         * lib/fseterr.c (fseterr) [QNX]: Likewise.
19430         * lib/fwritable.c (fwritable) [QNX]: Likewise.
19431         * lib/fwriting.c (fwriting) [QNX]: Likewise.
19432         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
19433         Reported by Alain Magloire.
19434
19435         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
19436
19437 2007-11-05  Bruno Haible  <bruno@clisp.org>
19438
19439         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
19440         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
19441         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
19442         Reported by Eric Blake.
19443
19444 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19445             Bruno Haible  <bruno@clisp.org>
19446
19447         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
19448         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
19449         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
19450         (malloc): Undefine also before including <stdlib.h>.
19451         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
19452         Needed on OSF/1 4.0.
19453
19454 2007-11-05  Jim Meyering  <meyering@redhat.com>
19455
19456         git-version-gen: sync from coreutils.
19457         * build-aux/git-version-gen: Add comments.
19458         Change the first '-' to '.' in the snapshot version string,
19459         e.g., 6.9-377-08144 -> 6.9.377-08144
19460         Remove first parameter.
19461         Don't declare a version "-dirty" merely because a time
19462         stamp has changed.
19463
19464 2007-11-04  Bruno Haible  <bruno@clisp.org>
19465
19466         * lib/lock.h: Protect all macro definitions containing an 'if'
19467         statement through a "do { ... } while (0)".
19468         * lib/tls.h: Likewise.
19469
19470 2007-11-04  Bruno Haible  <bruno@clisp.org>
19471
19472         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
19473
19474 2007-11-04  Bruno Haible  <bruno@clisp.org>
19475
19476         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
19477         * modules/fprintf-posix (Depends-on): Add nocrash.
19478         * modules/snprintf-posix (Depends-on): Likewise.
19479         * modules/sprintf-posix (Depends-on): Likewise.
19480         * modules/vasnprintf-posix (Depends-on): Likewise.
19481         * modules/vasprintf-posix (Depends-on): Likewise.
19482         * modules/vfprintf-posix (Depends-on): Likewise.
19483         * modules/vsnprintf-posix (Depends-on): Likewise.
19484         * modules/vsprintf-posix (Depends-on): Likewise.
19485         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19486         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19487         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19488         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19489         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19490         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19491         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19492
19493 2007-11-04  Bruno Haible  <bruno@clisp.org>
19494
19495         * modules/nocrash: New file.
19496         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
19497         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
19498
19499 2007-11-04  Bruno Haible  <bruno@clisp.org>
19500
19501         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
19502         precision handling.
19503         * tests/test-vasprintf-posix.c (test_function): Likewise.
19504         * tests/test-snprintf-posix.h (test_function): Likewise.
19505         * tests/test-sprintf-posix.h (test_function): Likewise.
19506
19507         Fix *printf behaviour for large precisions on mingw and BeOS.
19508         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
19509         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
19510         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
19511         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19512         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19513         gl_PRINTF_PRECISION and test its result. Invoke
19514         gl_PREREQ_VASNPRINTF_PRECISION.
19515         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19516         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19517         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19518         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19519         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19520         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19521         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19522         * doc/functions/fprintf.texi: Update.
19523         * doc/functions/printf.texi: Update.
19524         * doc/functions/snprintf.texi: Update.
19525         * doc/functions/sprintf.texi: Update.
19526         * doc/functions/vfprintf.texi: Update.
19527         * doc/functions/vprintf.texi: Update.
19528         * doc/functions/vsnprintf.texi: Update.
19529         * doc/functions/vsprintf.texi: Update.
19530
19531 2007-11-04  Bruno Haible  <bruno@clisp.org>
19532
19533         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
19534
19535 2007-11-04  Bruno Haible  <bruno@clisp.org>
19536
19537         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
19538         Reported by Sylvain Beucler <beuc@gnu.org>.
19539
19540 2007-11-03  Bruno Haible  <bruno@clisp.org>
19541
19542         * tests/test-fprintf-posix2.sh: New file.
19543         * tests/test-fprintf-posix2.c: New file.
19544         * modules/fprintf-posix-tests (Files): Add them.
19545         (TESTS): Add test-fprintf-posix2.sh.
19546         (configure.ac): Check for getrlimit and setrlimit.
19547         (check_PROGRAMS): Add test-fprintf-posix2.
19548
19549         * tests/test-printf-posix2.sh: New file.
19550         * tests/test-printf-posix2.c: New file.
19551         * modules/printf-posix-tests (Files): Add them.
19552         (TESTS): Add test-printf-posix2.sh.
19553         (configure.ac): Check for getrlimit and setrlimit.
19554         (check_PROGRAMS): Add test-printf-posix2.
19555
19556         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
19557         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
19558         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
19559         (decode_double): New function, copied from decode_long_double.
19560         (scale10_round_decimal_decoded): New function, extracted from
19561         scale10_round_decimal_long_double.
19562         (scale10_round_decimal_long_double): Use it.
19563         (scale10_round_decimal_double): New function.
19564         (floorlog10): New function.
19565         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
19566         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
19567         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19568         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19569         gl_PRINTF_ENOMEM and test its result. Invoke
19570         gl_PREREQ_VASNPRINTF_ENOMEM.
19571         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19572         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19573         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19574         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19575         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19576         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19577         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19578         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
19579         * modules/snprintf-posix (Depends-on): Likewise.
19580         * modules/sprintf-posix (Depends-on): Likewise.
19581         * modules/vasnprintf-posix (Depends-on): Likewise.
19582         * modules/vasprintf-posix (Depends-on): Likewise.
19583         * modules/vfprintf-posix (Depends-on): Likewise.
19584         * modules/vsnprintf-posix (Depends-on): Likewise.
19585         * modules/vsprintf-posix (Depends-on): Likewise.
19586         * doc/functions/fprintf.texi: Update.
19587         * doc/functions/printf.texi: Update.
19588         * doc/functions/snprintf.texi: Update.
19589         * doc/functions/sprintf.texi: Update.
19590         * doc/functions/vfprintf.texi: Update.
19591         * doc/functions/vprintf.texi: Update.
19592         * doc/functions/vsnprintf.texi: Update.
19593         * doc/functions/vsprintf.texi: Update.
19594
19595 2007-11-03  Bruno Haible  <bruno@clisp.org>
19596
19597         * modules/frexp-nolibm-tests: New file.
19598
19599         * modules/frexp-nolibm: New file.
19600         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
19601
19602 2007-11-03  Bruno Haible  <bruno@clisp.org>
19603
19604         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
19605         value is C99 compliant.
19606         Needed for OSF/1 5.1.
19607
19608 2007-11-03  Bruno Haible  <bruno@clisp.org>
19609
19610         Fix out-of-memory handling of vasnprintf.
19611         * lib/printf-parse.c: Include <errno.h>.
19612         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
19613         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
19614         is already set.
19615
19616 2007-11-02  Eric Blake  <ebb9@byu.net>
19617
19618         Fix tests on cygwin.
19619         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
19620
19621 2007-11-01  Bruno Haible  <bruno@clisp.org>
19622
19623         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
19624         warning.
19625         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
19626         needed for POSIX compatibility.
19627
19628 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
19629
19630         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
19631         for compatibility with GNU.
19632
19633 2007-11-01  Bruno Haible  <bruno@clisp.org>
19634
19635         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
19636         (putenv): Renamed from rpl_putenv. Change argument type from
19637         'const char *' to 'char *'.
19638         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
19639         of defining putenv in config.h, just set REPLACE_PUTENV.
19640         * modules/putenv (Depends-on): Add stdlib.
19641         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
19642         (Include): Use <stdlib.h>.
19643         * lib/stdlib.in.h (putenv): New declaration.
19644         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
19645         REPLACE_PUTENV.
19646         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
19647         REPLACE_PUTENV.
19648         Needed for MacOS X 10.5.0.
19649         Reported by Peter O'Gorman <peter@pogma.com>.
19650
19651 2007-11-01  Jim Meyering  <meyering@redhat.com>
19652
19653         Treat an empty date string exactly like "0".
19654         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
19655         if the remaining date string (to be parsed) is empty, use "0".
19656         Reported by Mischa Molhoek and discussed in this thread:
19657         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
19658
19659 2007-10-31  Bruno Haible  <bruno@clisp.org>
19660
19661         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
19662         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
19663         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
19664         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
19665         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
19666         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
19667
19668 2007-10-31  Bruno Haible  <bruno@clisp.org>
19669
19670         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
19671         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
19672         (AC_TYPE_LONG_LONG_INT): Use it.
19673         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
19674         it as well.
19675         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
19676         to m4/longlong.m4.
19677         * modules/stdint (Files): Remove m4/ulonglong.m4.
19678         * modules/strtoull (Files): Use m4/longlong.m4 instead of
19679         m4/ulonglong.m4.
19680         * modules/strtoumax (Files): Likewise.
19681
19682 2007-10-30  Bruno Haible  <bruno@clisp.org>
19683
19684         * modules/xvasprintf-posix: New file.
19685         Suggested by Eric Blake.
19686
19687 2007-10-30  Bruno Haible  <bruno@clisp.org>
19688
19689         * modules/xprintf-posix-tests: New file.
19690         * tests/test-xprintf-posix.sh: New file.
19691         * tests/test-xprintf-posix.c: New file.
19692         * tests/test-xfprintf-posix.c: New file.
19693
19694         * modules/xprintf-posix: New file.
19695
19696 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19697
19698         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
19699         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
19700         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
19701
19702 2007-10-29  Bruno Haible  <bruno@clisp.org>
19703
19704         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
19705         contain the special marker '_cv_'.
19706         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19707         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19708         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19709         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
19710         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19711         Reported by Ralf Wildenhues.
19712
19713 2007-10-29  Bruno Haible  <bruno@clisp.org>
19714
19715         * gnulib-tool (func_import): When --lgpl is not specified, set
19716         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
19717         GPLv3.
19718         Reported by Simon Josefsson.
19719
19720 2007-10-28  Bruno Haible  <bruno@clisp.org>
19721
19722         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
19723         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
19724         HAVE_DECL_ISFINITE.
19725         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
19726         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
19727         HAVE_DECL_ISFINITE.
19728
19729 2007-10-28  Bruno Haible  <bruno@clisp.org>
19730
19731         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
19732         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
19733
19734 2007-10-28  Bruno Haible  <bruno@clisp.org>
19735
19736         Fix link errors with Sun C 5.0 on Solaris 10.
19737         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
19738         function is declared but not present in the compiler's libm.
19739         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
19740         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
19741         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
19742         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
19743         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
19744         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
19745         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
19746         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
19747         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
19748         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
19749         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
19750         HAVE_DECL_FLOORL.
19751
19752 2007-10-28  Bruno Haible  <bruno@clisp.org>
19753
19754         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
19755         gl_FUNC_FLOORL. Cache the result.
19756         (gl_FUNC_FLOORL): Use it.
19757         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
19758         gl_FUNC_CEILL. Cache the result.
19759         (gl_FUNC_CEILL): Use it.
19760
19761         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
19762         gl_FUNC_FLOOR. Cache the result.
19763         (gl_FUNC_FLOOR): Use it.
19764         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
19765         gl_FUNC_CEIL. Cache the result.
19766         (gl_FUNC_CEIL): Use it.
19767
19768         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
19769         gl_FUNC_FLOORF. Cache the result.
19770         (gl_FUNC_FLOORF): Use it.
19771         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
19772         gl_FUNC_CEILF. Cache the result.
19773         (gl_FUNC_CEILF): Use it.
19774
19775 2007-10-28  Bruno Haible  <bruno@clisp.org>
19776
19777         * gnulib-tool: Allow specifying the LGPL version number through
19778         --lgpl=2 or --lgpl=3.
19779         (func_usage): Document --lgpl with argument.
19780         Handle --lgpl=... arguments.
19781         (func_import): Recognize also gl_LGPL calls with an argument. When
19782         --lgpl=2 is used and the module's license is just LGPL, report an
19783         error. Set sed_transform_lib_file according to the lgpl variable. In
19784         the generated files, use --lgpl or gl_LGPL invocations with argument,
19785         if necessary.
19786         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
19787         an LGPv2+ license.
19788         * doc/gnulib-tool.texi (Modified imports): Update explanation of
19789         gl_LGPL macro.
19790
19791 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19792             Bruno Haible  <bruno@clisp.org>
19793
19794         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
19795         (u16_uctomb_aux): Likewise.
19796         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
19797         !HAVE_INLINE.
19798         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
19799
19800 2007-10-28  Bruno Haible  <bruno@clisp.org>
19801
19802         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
19803         Invoke AM_GETTEXT_OPTION if it exists.
19804         * modules/vasprintf: Likewise.
19805         * modules/verror: Likewise.
19806         * modules/xprintf: Likewise.
19807         * modules/xvasprintf: Likewise.
19808
19809 2007-10-27  Ben Pfaff  <blp@gnu.org>
19810
19811         * lib/math.in.h: Define isfinite macro and prototypes for
19812         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
19813         implementations.
19814         * m4/math_h.m4: New substitutions for isfinite module.
19815         * lib/isfinite.c: New file.
19816         * m4/isfinite.m4: New file.
19817         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
19818         * modules/isfinite: New file.
19819         * modules/isfinite-tests: New file.
19820         * tests/tests-isfinite.c: New file.
19821         * doc/functions/isfinite.texi: Mention isfinite module.
19822         * MODULES.html.sh: Mention new module.
19823
19824 2007-10-27  Ben Pfaff  <blp@gnu.org>
19825
19826         Ralf Wildenhues reported that Tru64 4.0D declares the round
19827         functions but does not have definitions.
19828         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
19829         cannot be found in any library, set the output variable to
19830         "missing" instead of "".
19831         * m4/round.m4: Also use our substitute if we cannot find round in
19832         any library, even if it is declared.
19833         * m4/roundf.m4: Likewise for roundf.
19834         * m4/roundl.m4: Likewise for roundl.
19835         * lib/math.in.h: Undefine roundf, round, roundl before defining
19836         their replacements, to allow for hypothetical systems where these
19837         may be defined as macros but not available in libraries.
19838
19839 2007-10-27  Bruno Haible  <bruno@clisp.org>
19840
19841         * doc/gnulib.texi: Invoke @firstparagraphindent.
19842         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
19843         changes in gnulib.
19844         (Source changes): New section.
19845
19846 2007-10-26  Bruno Haible  <bruno@clisp.org>
19847
19848         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
19849         borrowed from autoconf.
19850
19851 2007-10-26  Bruno Haible  <bruno@clisp.org>
19852
19853         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
19854         strerror returned the empty string. Needed on HP-UX 11.00.
19855
19856 2007-10-24  Micah Cowan  <micah@cowan.name>
19857
19858         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
19859         * build-aux/bootstrap: Remove support for now-unnecessary option,
19860         --cvs-user, and envvars CVS_USER, CVS_RSH.
19861
19862 2007-10-24  Jim Meyering  <meyering@redhat.com>
19863
19864         Avoid diagnostics from sha1sum when there is no cached checksum.
19865         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
19866         if the po.s1 file hasn't been created yet.
19867
19868         * build-aux/bootstrap: Sync from coreutils:
19869         2007-10-24  Jim Meyering  <meyering@redhat.com>
19870         Get gnulib from the git repository, not from an obsolete cvs one.
19871         * build-aux/bootstrap: Suggestion from Micah Cowan.
19872         2007-10-04  Jim Meyering  <jim@meyering.net>
19873         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
19874         (update_po_files): Work also when there are no .po files in po/.
19875
19876 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
19877
19878         * README: Append ".git" to git and cg examples.
19879         Problem reported by Benoit Sigoure.
19880
19881 2007-10-23  Micah Cowan  <micah@cowan.name>
19882
19883         * users.txt: Add wget.
19884
19885 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19886
19887         Fix linking of some unistdio tests on FreeBSD.
19888         * modules/unistdio/u16-vsnprintf-tests
19889         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
19890         * modules/unistdio/u16-vsprintf-tests
19891         (test_u16_vsnprintf1_LDADD): Likewise.
19892         * modules/unistdio/u32-vsnprintf-tests
19893         (test_u32_vsnprintf1_LDADD): Likewise.
19894         * modules/unistdio/u32-vsprintf-tests
19895         (test_u32_vsprintf1_LDADD): Likewise.
19896         * modules/unistdio/u8-vsnprintf-tests
19897         (test_u8_vsnprintf1_LDADD): Likewise.
19898         * modules/unistdio/u8-vsprintf-tests
19899         (test_u8_vsprintf1_LDADD): Likewise.
19900         * modules/unistdio/ulc-vsnprintf-tests
19901         (test_ulc_vsnprintf1_LDADD): Likewise.
19902         * modules/unistdio/ulc-vsprintf-tests
19903         (test_ulc_vsprintf1_LDADD): Likewise.
19904
19905         Fix linking of some uniconv tests on FreeBSD.
19906         * modules/uniconv/u16-conv-from-enc-tests
19907         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
19908         * modules/uniconv/u16-conv-to-enc-tests
19909         (test_u16_conv_to_enc_LDADD): Likewise.
19910         * modules/uniconv/u16-strconv-from-enc-tests
19911         (test_u16_strconv_from_enc_LDADD): Likewise.
19912         * modules/uniconv/u16-strconv-to-enc-tests
19913         (test_u16_strconv_to_enc_LDADD): Likewise.
19914         * modules/uniconv/u32-conv-from-enc-tests
19915         (test_u32_conv_from_enc_LDADD): Likewise.
19916         * modules/uniconv/u32-conv-to-enc-tests
19917         (test_u32_conv_to_enc_LDADD): Likewise.
19918         * modules/uniconv/u32-strconv-from-enc-tests
19919         (test_u32_strconv_from_enc_LDADD): Likewise.
19920         * modules/uniconv/u32-strconv-to-enc-tests
19921         (test_u32_strconv_to_enc_LDADD): Likewise.
19922         * modules/uniconv/u8-conv-from-enc-tests
19923         (test_u8_conv_from_enc_LDADD): Likewise.
19924         * modules/uniconv/u8-conv-to-enc-tests
19925         (test_u8_conv_to_enc_LDADD): Likewise.
19926         * modules/uniconv/u8-strconv-from-enc-tests
19927         (test_u8_strconv_from_enc_LDADD): Likewise.
19928         * modules/uniconv/u8-strconv-to-enc-tests
19929         (test_u8_strconv_to_enc_LDADD): Likewise.
19930
19931 2007-10-22  Bruno Haible  <bruno@clisp.org>
19932
19933         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
19934         size.
19935
19936 2007-10-22  Eric Blake  <ebb9@byu.net>
19937
19938         Tweak x*printf documentation.
19939         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
19940         variable name and comments.
19941         Suggested by Bruno Haible.
19942
19943 2007-10-22  Bruno Haible  <bruno@clisp.org>
19944
19945         * lib/acl.c (copy_acl): Fix file name in comment.
19946
19947 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
19948
19949         Fix Tru64 problem with stdbool.h.
19950         * lib/stdbool.in.h (false, true):
19951         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
19952         Don't declare as an enum in this situation; it runs afoul of Tru64.
19953         Problem reported by Steven M. Schweda in
19954         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
19955
19956 2007-10-22  Eric Blake  <ebb9@byu.net>
19957
19958         Also wrap vf?printf.
19959         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
19960         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
19961         (xvprintf, xvfprintf): New functions.
19962
19963 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19964
19965         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
19966         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
19967
19968         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
19969         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
19970
19971 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
19972
19973         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
19974         by Bruno Haible.
19975
19976 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19977
19978         * lib/getloadavg.c
19979         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
19980         Undef `sys' after including sys/table.h, for Tru64 4.0D.
19981
19982         * tests/test-i-ring.c: Work for C89.
19983
19984 2007-10-22  Bruno Haible  <bruno@clisp.org>
19985
19986         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
19987         -1u, in preprocessor expression, so that we don't test for the bug
19988         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
19989         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
19990
19991 2007-10-22  Eric Blake  <ebb9@byu.net>
19992
19993         * tests/test-yesno.sh: Silence stderr during test.
19994
19995 2007-10-22  Simon Josefsson  <simon@josefsson.org>
19996
19997         * modules/crypto/gc-camellia: New file.
19998
19999         * m4/gc-camellia.m4: New file.
20000
20001         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
20002
20003         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
20004
20005 2007-10-22  Simon Josefsson  <simon@josefsson.org>
20006
20007         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
20008         --help to stdout.  Reported by sms@antinode.org (Steven
20009         M. Schweda).
20010
20011 2007-10-22  Simon Josefsson  <simon@josefsson.org>
20012
20013         * users.txt: Fix link to libksba.
20014
20015 2007-10-21  Ben Pfaff  <blp@gnu.org>
20016
20017         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
20018         round.c roundf implementation that depends on floorf and ceilf to
20019         be tested unconditionally.
20020
20021 2007-10-21  Ben Pfaff  <blp@gnu.org>
20022
20023         * m4/check-libm-func.m4: Removed.
20024         * m4/check-math-lib.m4: New file.
20025         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
20026         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
20027         definition and lack of AC_LIBOBJ([roundf]).
20028         * m4/roundl.m4: Ditto, and similarly for roundl.
20029         * modules/round: Reference new m4 file.
20030         * modules/roundf: Ditto.
20031         * modules/roundl: Ditto.
20032         * tests/test-round2.c (main): Use ROUND instead of round.
20033         Bug report from Bruno Haible.
20034
20035 2007-10-21  Bruno Haible  <bruno@clisp.org>
20036
20037         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
20038         context.
20039
20040 2007-10-21  Bruno Haible  <bruno@clisp.org>
20041
20042         * tests/test-wcwidth.c (main): Allow negative result for some control
20043         characters.
20044
20045         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
20046         Needed on OSF/1 5.1.
20047
20048 2007-10-21  Bruno Haible  <bruno@clisp.org>
20049
20050         * tests/test-floorf1.c: Include isnanf.h.
20051         (main): Use isnanf() instead of isnan().
20052         * tests/test-ceilf1.c: Include isnanf.h.
20053         (main): Use isnanf() instead of isnan().
20054         * tests/test-truncf1.c: Include isnanf.h.
20055         (main): Use isnanf() instead of isnan().
20056         * tests/test-roundf1.c: Include isnanf.h.
20057         (main): Use isnanf() instead of isnan().
20058
20059 2007-10-21  Eric Blake  <ebb9@byu.net>
20060
20061         * users.txt: Update URL for m4.
20062
20063 2007-10-21  Bruno Haible  <bruno@clisp.org>
20064
20065         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
20066
20067 2007-10-21  Bruno Haible  <bruno@clisp.org>
20068
20069         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
20070         Git's management files if the CVS files are not present.
20071
20072 2007-10-20  Bruno Haible  <bruno@clisp.org>
20073
20074         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
20075         gcc-3.4.x.
20076
20077 2007-10-20  Ben Pfaff  <blp@gnu.org>
20078
20079         * lib/math.in.h: Declare round, roundf, roundl if we are providing
20080         implementations.
20081         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
20082         * lib/round.c: New file.
20083         * lib/roundf.c: New file.
20084         * lib/roundl.c: New file.
20085         * m4/round.m4: New file.
20086         * m4/roundf.m4: New file.
20087         * m4/roundl.m4: New file.
20088         * m4/check-libm-func-m4: New file.
20089         * modules/math: Replace round, roundf, roundl related @VARS@ in
20090         math.in.h.
20091         * modules/round: New file.
20092         * modules/round-tests: New file.
20093         * modules/roundf: New file.
20094         * modules/roundf-tests: New file.
20095         * modules/roundl: New file.
20096         * modules/roundl-tests: New file.
20097         * tests/test-round1.c: New file.
20098         * tests/test-round2.c: New file.
20099         * tests/test-roundf1.c: New file.
20100         * tests/test-roundf2.c: New file.
20101         * tests/test-roundl.c: New file.
20102         * doc/functions/round.texi: Mention round module.
20103         * doc/functions/roundf.texi: Mention roundf module.
20104         * doc/functions/roundl.texi: Mention roundl module.
20105         * MODULES.html.sh: Mention new modules.
20106         Thanks to Bruno Haible for suggestions.
20107
20108 2007-10-20  Jim Meyering  <meyering@redhat.com>
20109
20110         * lib/xprintf.c: Include <config.h> unconditionally.
20111
20112         Change xprintf's license to GPL.
20113         * modules/xprintf (License): s/LGPL/GPL/, since this module
20114         depends on modules (exit and exitfail) which are GPL.
20115         Suggestion from Bruno Haible.
20116
20117         xprintf fixes.
20118         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
20119         Use a clearer diagnostic.
20120         Patch from Bruno Haible.
20121
20122 2007-10-20  Bruno Haible  <bruno@clisp.org>
20123
20124         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
20125         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
20126         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20127
20128 2007-10-20  Bruno Haible  <bruno@clisp.org>
20129
20130         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
20131         precision in the comparison result > x - 1 or similar.
20132         * tests/test-ceilf2.c (correct_result_p): Likewise.
20133         * tests/test-truncf2.c (correct_result_p): Likewise.
20134         * tests/test-trunc2.c (correct_result_p): Likewise.
20135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20136
20137 2007-10-20  Bruno Haible  <bruno@clisp.org>
20138
20139         * modules/ceil: New file.
20140         * m4/ceil.m4: New file.
20141         * doc/functions/ceil.texi: Mention the 'ceil' module.
20142
20143 2007-10-20  Bruno Haible  <bruno@clisp.org>
20144
20145         * modules/floor: New file.
20146         * m4/floor.m4: New file.
20147         * doc/functions/floor.texi: Mention the 'floor' module.
20148
20149 2007-10-20  Bruno Haible  <bruno@clisp.org>
20150
20151         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
20152         of %a.
20153         * modules/floorf-tests (Depends-on): Likewise.
20154         * modules/truncf-tests (Depends-on): Likewise.
20155         * modules/trunc-tests (Depends-on): Likewise.
20156         Reported by Ben Pfaff.
20157
20158 2007-10-19  Jim Meyering  <meyering@redhat.com>
20159
20160         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
20161         Don't bother testing specific errno values.  Just test ferror.
20162
20163         New module: xprintf
20164         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
20165
20166 2007-10-19  Bruno Haible  <bruno@clisp.org>
20167
20168         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
20169         syntax.
20170         * modules/javaexec (Makefile.am): Likewise.
20171         * modules/relocatable-prog (Makefile.am): Likewise.
20172         Suggested by Jim Meyering.
20173
20174 2007-10-18  Bruno Haible  <bruno@clisp.org>
20175
20176         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
20177         Reported by Jim Meyering.
20178
20179 2007-10-18  Eric Blake  <ebb9@byu.net>
20180
20181         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
20182
20183 2007-10-18  Bruno Haible  <bruno@clisp.org>
20184
20185         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
20186         the format string into writable memory. Needed in Fortify conditions.
20187
20188 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
20189             Bruno Haible  <bruno@clisp.org>
20190
20191         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
20192         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
20193         * modules/trim (Depends-on): Add mbchar.
20194         (configure.ac): Add gl_FUNC_MBRTOWC.
20195         (Makefile.am): Augment lib_SOURCES.
20196
20197 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
20198
20199         Modify glob.c to use fstatat and dirfd, to simplify it.
20200         Suggested by Eric Blake.
20201         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
20202         Don't include <stdbool.h>; not used.
20203         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
20204         (link_exists_p): Simplify implementation, since we can now assume
20205         dirfd and fstatat.
20206         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
20207
20208 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20209
20210         * gnulib-tool (func_get_dependencies): Fix sed script to
20211         match only tests.
20212
20213 2007-10-17  Bruno Haible  <bruno@clisp.org>
20214
20215         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
20216         allow locale names without encoding suffix.
20217         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20218         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20219
20220 2007-10-16  Bruno Haible  <bruno@clisp.org>
20221
20222         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
20223         * lib/getgroups.c (getgroups): Likewise.
20224         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
20225
20226 2007-10-16  Bruno Haible  <bruno@clisp.org>
20227
20228         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
20229         * modules/malloc-posix (License): Likewise.
20230         * modules/realloc-posix (License): Likewise.
20231         * modules/calloc-posix (License): Likewise.
20232         * modules/intprops (License): Change from GPL to LGPL, with
20233         Paul Eggert's approval.
20234
20235 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20236
20237         Merge glibc changes into lib/glob.c.
20238
20239         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
20240         2007-10-15 04:59:03 UTC.  Here are the changes:
20241
20242         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
20243
20244         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
20245
20246         * lib/glob.c: Add some branch prediction throughout.
20247
20248         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
20249
20250         [BZ #5103]
20251         * lib/glob.c (glob): Recognize patterns starting \/.
20252
20253         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
20254
20255         [BZ #3996]
20256         * lib/glob.c (attribute_hidden): Define if not defined.
20257         (glob): Unescape dirname, filename or username when needed and not
20258         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
20259         is NULL.  Handle unescaped [ in pattern without closing ].
20260         Don't pass GLOB_CHECK down to recursive glob for directories.
20261         (__glob_pattern_type): New function.
20262         (__glob_pattern_p): Implement using __glob_pattern_type.
20263         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
20264         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
20265         Remove unreachable code.
20266
20267         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
20268
20269         * lib/glob.c (glob_in_dir): Add some comments and asserts to
20270         explain why there are no leaks.
20271
20272         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
20273
20274         [BZ #3253]
20275         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
20276         time, rather allocate increasingly bigger arrays of pointers, if
20277         possible with alloca, if too large with malloc.
20278
20279 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20280
20281         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
20282         Problem reported by H.Merijn Brand in
20283         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
20284         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
20285         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
20286
20287 2007-10-15  Bruno Haible  <bruno@clisp.org>
20288
20289         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
20290         with explicit rpl_ prefix.
20291         * lib/fopen.c (fopen): Likewise.
20292         * lib/freopen.c (freopen): Likewise.
20293         * lib/iconv.c (iconv): Likewise.
20294         * lib/iconv_close.c (iconv_close): Likewise.
20295
20296 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20297
20298         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
20299
20300 2007-10-15  Bruno Haible  <bruno@clisp.org>
20301
20302         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
20303         <stddef.h> instead of <stdlib.h> since we only need NULL.
20304         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20305
20306 2007-10-15  Bruno Haible  <bruno@clisp.org>
20307
20308         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
20309         Replace paragraph talking about LIBOBJS.
20310         Reported by Colin Watson <cjwatson@debian.org>.
20311
20312 2007-10-15  Bruno Haible  <bruno@clisp.org>
20313
20314         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
20315         <stdlib.h> before using NULL.
20316
20317 2007-10-15  Simon Josefsson  <simon@josefsson.org>
20318
20319         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
20320         Reported by Albert Chin <china@thewrittenword.com>.
20321
20322 2007-10-14  Bruno Haible  <bruno@clisp.org>
20323
20324         * modules/iconv_open-utf-tests: New file.
20325         * tests/test-iconv-utf.c: New file.
20326
20327         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
20328         * modules/iconv_open-utf: New file.
20329         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
20330         (iconv, iconv_close): New declarations.
20331         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
20332         be defined.
20333         (iconv_open): Add special handling of conversion between UTF-8 and
20334         UTF-{16,32}{BE,LE}.
20335         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
20336         * lib/iconv_close.c: New file.
20337         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
20338         gl_FUNC_ICONV_OPEN.
20339         (gl_FUNC_ICONV_OPEN): Use it.
20340         (gl_FUNC_ICONV_OPEN_UTF): New macro.
20341         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
20342         and REPLACE_ICONV_UTF.
20343         * modules/iconv_open (Depends-on): Add c-strcase.
20344         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
20345         ICONV_CONST.
20346         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
20347
20348 2007-10-13  Albert Chin  <china@thewrittenword.com>
20349             Bruno Haible  <bruno@clisp.org>
20350
20351         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
20352         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
20353
20354 2007-10-13  Bruno Haible  <bruno@clisp.org>
20355
20356         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
20357         defined, use the ISO C99 inline semantics.
20358         * lib/argp.h (ARGP_EI): Likewise.
20359
20360 2007-10-13  Bruno Haible  <bruno@clisp.org>
20361
20362         Handle 'inline' change in gcc 4.3.0.
20363         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
20364         argp_fmtstream_write, argp_fmtstream_set_lmargin,
20365         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
20366         argp_fmtstream_point): Disable 'extern' declaration if the function
20367         definition is going to be provided inline.
20368         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
20369         semantics, not the ISO C99 inline semantics.
20370         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
20371         'extern' declaration if the function definition is going to be provided
20372         inline.
20373         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
20374         the GNU C inline semantics, not the ISO C99 inline semantics. With
20375         GCC 4.2, avoid a warning.
20376
20377 2007-10-13  Bruno Haible  <bruno@clisp.org>
20378
20379         * lib/freading.h (freading): Enable the use of __freading for
20380         glibc >= 2.7.
20381         * lib/freading.c (freading): Likewise.
20382
20383 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
20384
20385         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
20386         "warning: C99 inline functions are not supported; using GNU89".
20387
20388 2007-10-12  Bruno Haible  <bruno@clisp.org>
20389
20390         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
20391         of 2.
20392         * tests/test-ceilf2.c: New file.
20393         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
20394
20395         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
20396         * modules/ceilf-tests: Update.
20397
20398 2007-10-12  Bruno Haible  <bruno@clisp.org>
20399
20400         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
20401         of 2.
20402         * tests/test-floorf2.c: New file.
20403         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
20404
20405         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
20406         * modules/floorf-tests: Update.
20407
20408 2007-10-12  Bruno Haible  <bruno@clisp.org>
20409
20410         * tests/test-trunc2.c: New file.
20411         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
20412
20413         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
20414         * modules/trunc-tests: Update.
20415
20416 2007-10-12  Bruno Haible  <bruno@clisp.org>
20417
20418         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
20419         of 2.
20420         * tests/test-truncf2.c: New file.
20421         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
20422
20423         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
20424         * modules/truncf-tests: Update.
20425
20426 2007-10-11  Eric Blake  <ebb9@byu.net>
20427
20428         Don't claim strerror is broken on Interix.
20429         * doc/functions/strerror.texi (strerror): Known broken systems are
20430         now Solaris 8, and not Interix.
20431         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
20432         Interix on cross-compile.
20433         Reported by Martin Koeppe in
20434         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
20435
20436 2007-10-11  Bruno Haible  <bruno@clisp.org>
20437
20438         * modules/i-ring-tests: New file.
20439         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
20440         instead of assert.
20441
20442 2007-10-11  Bruno Haible  <bruno@clisp.org>
20443
20444         * modules/filenamecat-tests: New file.
20445         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
20446         * lib/filenamecat.c: Remove test code.
20447
20448 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
20449
20450         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
20451
20452         * lib/strerror.c: Include <string.h> always, to test interface,
20453         and to remove the need for the dummy.
20454         Include intprops.h to compute width instead of doing it ourselves
20455         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
20456         (strerror): Define it to return NULL if there's no system strerror.
20457         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
20458         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
20459         ancient pre-strerror Unix systems well any more.  Saying "unknown
20460         system error" is enough.
20461         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
20462         simpler strerror.c implementation.
20463         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
20464         Simplify the tests to reflect the simpler strerror implementation.
20465         * modules/strerror (Depends-on): Add intprops.
20466
20467 2007-10-09  Eric Blake  <ebb9@byu.net>
20468
20469         Silence test-fpending.
20470         * modules/fpending-tests (Files): Add wrapper script.
20471         * tests/test-fpending.sh: New file.
20472
20473 2007-10-09  Bruno Haible  <bruno@clisp.org>
20474
20475         * MODULES.html.sh (func_module): Don't create a hyperlink for
20476         function names like 'printf_frexp'.
20477         (Misc): Add crc, memxor.
20478         (Characteristics of floating types): New section.
20479         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
20480         isnanf-nolibm, signbit, trunc, truncf, truncl.
20481         (Enhancements for ISO C 99 functions): New subsection Input/output.
20482         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
20483         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
20484         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
20485         (Compatibility checks for POSIX:2001 functions): Add clock-time.
20486         (Enhancements for POSIX:2001 functions): Add chdir-long.
20487         (File system functions): Add areadlink, chdir-safer, read-file.
20488         Remove cycle-check.
20489         (File system as inode set): New section.
20490         (Date and time): Add gethrxtime.
20491         (Multithreading): Add openmp.
20492         (Internationalization functions): Add localename.
20493         (Unicode string functions): Add unistr/u*-mbsnlen.
20494         (Support for maintaining and releasing projects): Add git-version-gen.
20495         (Lone files): Remove directories.
20496
20497 2007-10-08  Ben Pfaff  <blp@gnu.org>
20498
20499         * lib/xmalloca.h: Fix typo in comment.
20500
20501 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
20502
20503         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
20504         when avoiding problems with integer overflow.  Use a portable test
20505         instead.
20506
20507 2007-10-08  Simon Josefsson  <simon@josefsson.org>
20508
20509         * modules/dummy (License): Change to LGPLv2+.
20510         * modules/float (License): Likewise
20511         * modules/realloc (License): Likewise
20512         * modules/stdlib (License): Likewise
20513
20514 2007-10-07  Bruno Haible  <bruno@clisp.org>
20515
20516         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
20517         * floor.c (TWO_MANT_DIG): Likewise.
20518         * ceil.c (TWO_MANT_DIG): Likewise.
20519         Reported by Ben Pfaff.
20520
20521 2007-10-07  Bruno Haible  <bruno@clisp.org>
20522
20523         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
20524         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
20525         * lib/frexp.c (FUNC): Likewise.
20526         * lib/printf-frexp.h (printf_frexp): Likewise.
20527         * lib/printf-frexpl.h (printf_frexpl): Likewise.
20528         * lib/printf-frexp.c (FUNC): Likewise.
20529         Suggested by Jim Meyering.
20530
20531 2007-10-07  Jim Meyering  <meyering@redhat.com>
20532
20533         Make xnanosleep's integer overflow test more robust.
20534         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
20535         so that gcc-4.3.0 doesn't optimize away this test for overflow.
20536
20537 2007-10-07  Bruno Haible  <bruno@clisp.org>
20538
20539         * NEWS: Mention the license change.
20540
20541         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
20542         abbreviations in the modules files.
20543
20544         Change copyright notice from GPLv2+ to GPLv3+.
20545         * README: Change copyright notice.
20546         * MODULES.html.sh: Likewise.
20547         * build-aux/bootstrap.conf: Likewise.
20548         * build-aux/config.libpath: Likewise.
20549         * build-aux/csharpcomp.sh.in: Likewise.
20550         * build-aux/csharpexec.sh.in: Likewise.
20551         * build-aux/install-reloc: Likewise.
20552         * build-aux/javacomp.sh.in: Likewise.
20553         * build-aux/javaexec.sh.in: Likewise.
20554         * build-aux/ldd.sh.in: Likewise.
20555         * build-aux/reloc-ldflags: Likewise.
20556         * build-aux/relocatable.sh.in: Likewise.
20557         * build-aux/x-to-1.in: Likewise.
20558         * check-module: Likewise.
20559         * config/srclistvars.sh: Likewise.
20560         * gnulib-tool: Likewise.
20561         * lib/acl-internal.h: Likewise.
20562         * lib/acl.c: Likewise.
20563         * lib/acl.h: Likewise.
20564         * lib/acl_entries.c: Likewise.
20565         * lib/areadlink-with-size.c: Likewise.
20566         * lib/areadlink.c: Likewise.
20567         * lib/areadlink.h: Likewise.
20568         * lib/argmatch.c: Likewise.
20569         * lib/argmatch.h: Likewise.
20570         * lib/argp-ba.c: Likewise.
20571         * lib/argp-eexst.c: Likewise.
20572         * lib/argp-fmtstream.c: Likewise.
20573         * lib/argp-fmtstream.h: Likewise.
20574         * lib/argp-fs-xinl.c: Likewise.
20575         * lib/argp-help.c: Likewise.
20576         * lib/argp-namefrob.h: Likewise.
20577         * lib/argp-parse.c: Likewise.
20578         * lib/argp-pin.c: Likewise.
20579         * lib/argp-pv.c: Likewise.
20580         * lib/argp-pvh.c: Likewise.
20581         * lib/argp-xinl.c: Likewise.
20582         * lib/argp.h: Likewise.
20583         * lib/at-func.c: Likewise.
20584         * lib/atanl.c: Likewise.
20585         * lib/backupfile.c: Likewise.
20586         * lib/backupfile.h: Likewise.
20587         * lib/basename.c: Likewise.
20588         * lib/binary-io.h: Likewise.
20589         * lib/byteswap.in.h: Likewise.
20590         * lib/c-stack.c: Likewise.
20591         * lib/c-stack.h: Likewise.
20592         * lib/c-strcasestr.c: Likewise.
20593         * lib/c-strcasestr.h: Likewise.
20594         * lib/c-strstr.c: Likewise.
20595         * lib/c-strstr.h: Likewise.
20596         * lib/c-strtod.c: Likewise.
20597         * lib/calloc.c: Likewise.
20598         * lib/canon-host.c: Likewise.
20599         * lib/canon-host.h: Likewise.
20600         * lib/canonicalize-lgpl.c: Likewise.
20601         * lib/canonicalize.c: Likewise.
20602         * lib/canonicalize.h: Likewise.
20603         * lib/ceil.c: Likewise.
20604         * lib/ceilf.c: Likewise.
20605         * lib/ceill.c: Likewise.
20606         * lib/chdir-long.c: Likewise.
20607         * lib/chdir-long.h: Likewise.
20608         * lib/chdir-safer.c: Likewise.
20609         * lib/chdir-safer.h: Likewise.
20610         * lib/chown.c: Likewise.
20611         * lib/classpath.c: Likewise.
20612         * lib/classpath.h: Likewise.
20613         * lib/clean-temp.c: Likewise.
20614         * lib/clean-temp.h: Likewise.
20615         * lib/cloexec.c: Likewise.
20616         * lib/close-stream.c: Likewise.
20617         * lib/closein.c: Likewise.
20618         * lib/closein.h: Likewise.
20619         * lib/closeout.c: Likewise.
20620         * lib/closeout.h: Likewise.
20621         * lib/concat-filename.c: Likewise.
20622         * lib/copy-file.c: Likewise.
20623         * lib/copy-file.h: Likewise.
20624         * lib/count-one-bits.h: Likewise.
20625         * lib/crc.c: Likewise.
20626         * lib/crc.h: Likewise.
20627         * lib/creat-safer.c: Likewise.
20628         * lib/csharpcomp.c: Likewise.
20629         * lib/csharpcomp.h: Likewise.
20630         * lib/csharpexec.c: Likewise.
20631         * lib/csharpexec.h: Likewise.
20632         * lib/cycle-check.c: Likewise.
20633         * lib/cycle-check.h: Likewise.
20634         * lib/diacrit.c: Likewise.
20635         * lib/diacrit.h: Likewise.
20636         * lib/diffseq.h: Likewise.
20637         * lib/dirchownmod.c: Likewise.
20638         * lib/dirent.in.h: Likewise.
20639         * lib/dirfd.c: Likewise.
20640         * lib/dirfd.h: Likewise.
20641         * lib/dirname.c: Likewise.
20642         * lib/dirname.h: Likewise.
20643         * lib/dummy.c: Likewise.
20644         * lib/dup-safer.c: Likewise.
20645         * lib/dup2.c: Likewise.
20646         * lib/eealloc.h: Likewise.
20647         * lib/error.c: Likewise.
20648         * lib/error.h: Likewise.
20649         * lib/euidaccess.c: Likewise.
20650         * lib/exclude.c: Likewise.
20651         * lib/exclude.h: Likewise.
20652         * lib/execute.c: Likewise.
20653         * lib/execute.h: Likewise.
20654         * lib/exitfail.c: Likewise.
20655         * lib/exitfail.h: Likewise.
20656         * lib/expl.c: Likewise.
20657         * lib/fatal-signal.c: Likewise.
20658         * lib/fatal-signal.h: Likewise.
20659         * lib/fbufmode.c: Likewise.
20660         * lib/fbufmode.h: Likewise.
20661         * lib/fchdir.c: Likewise.
20662         * lib/fchmodat.c: Likewise.
20663         * lib/fchownat.c: Likewise.
20664         * lib/fcntl--.h: Likewise.
20665         * lib/fcntl-safer.h: Likewise.
20666         * lib/fcntl.in.h: Likewise.
20667         * lib/fd-safer.c: Likewise.
20668         * lib/fflush.c: Likewise.
20669         * lib/file-has-acl.c: Likewise.
20670         * lib/file-set.c: Likewise.
20671         * lib/file-type.c: Likewise.
20672         * lib/file-type.h: Likewise.
20673         * lib/fileblocks.c: Likewise.
20674         * lib/filemode.c: Likewise.
20675         * lib/filemode.h: Likewise.
20676         * lib/filename.h: Likewise.
20677         * lib/filenamecat.c: Likewise.
20678         * lib/filenamecat.h: Likewise.
20679         * lib/findprog.c: Likewise.
20680         * lib/findprog.h: Likewise.
20681         * lib/float.in.h: Likewise.
20682         * lib/floor.c: Likewise.
20683         * lib/floorf.c: Likewise.
20684         * lib/floorl.c: Likewise.
20685         * lib/fopen-safer.c: Likewise.
20686         * lib/fopen.c: Likewise.
20687         * lib/fpending.c: Likewise.
20688         * lib/fpending.h: Likewise.
20689         * lib/fprintf.c: Likewise.
20690         * lib/fprintftime.h: Likewise.
20691         * lib/fpucw.h: Likewise.
20692         * lib/fpurge.c: Likewise.
20693         * lib/fpurge.h: Likewise.
20694         * lib/freadable.c: Likewise.
20695         * lib/freadable.h: Likewise.
20696         * lib/freadahead.c: Likewise.
20697         * lib/freadahead.h: Likewise.
20698         * lib/freading.c: Likewise.
20699         * lib/freading.h: Likewise.
20700         * lib/free.c: Likewise.
20701         * lib/freopen.c: Likewise.
20702         * lib/frexp.c: Likewise.
20703         * lib/frexpl.c: Likewise.
20704         * lib/fseek.c: Likewise.
20705         * lib/fseterr.c: Likewise.
20706         * lib/fseterr.h: Likewise.
20707         * lib/fstatat.c: Likewise.
20708         * lib/fstrcmp.c: Likewise.
20709         * lib/fstrcmp.h: Likewise.
20710         * lib/fsusage.c: Likewise.
20711         * lib/fsusage.h: Likewise.
20712         * lib/ftell.c: Likewise.
20713         * lib/ftello.c: Likewise.
20714         * lib/fts-cycle.c: Likewise.
20715         * lib/fts.c: Likewise.
20716         * lib/fts_.h: Likewise.
20717         * lib/full-read.c: Likewise.
20718         * lib/full-read.h: Likewise.
20719         * lib/full-write.c: Likewise.
20720         * lib/full-write.h: Likewise.
20721         * lib/fwritable.c: Likewise.
20722         * lib/fwritable.h: Likewise.
20723         * lib/fwriteerror.c: Likewise.
20724         * lib/fwriteerror.h: Likewise.
20725         * lib/fwriting.c: Likewise.
20726         * lib/fwriting.h: Likewise.
20727         * lib/gcd.c: Likewise.
20728         * lib/gcd.h: Likewise.
20729         * lib/getcwd.c: Likewise.
20730         * lib/getdate.h: Likewise.
20731         * lib/getdate.y: Likewise.
20732         * lib/getdomainname.c: Likewise.
20733         * lib/getdomainname.h: Likewise.
20734         * lib/getgroups.c: Likewise.
20735         * lib/gethostname.c: Likewise.
20736         * lib/gethrxtime.c: Likewise.
20737         * lib/gethrxtime.h: Likewise.
20738         * lib/getloadavg.c: Likewise.
20739         * lib/getndelim2.c: Likewise.
20740         * lib/getndelim2.h: Likewise.
20741         * lib/getnline.c: Likewise.
20742         * lib/getnline.h: Likewise.
20743         * lib/getopt.c: Likewise.
20744         * lib/getopt.in.h: Likewise.
20745         * lib/getopt1.c: Likewise.
20746         * lib/getopt_int.h: Likewise.
20747         * lib/getpagesize.h: Likewise.
20748         * lib/getsubopt.c: Likewise.
20749         * lib/gettime.c: Likewise.
20750         * lib/getugroups.c: Likewise.
20751         * lib/getugroups.h: Likewise.
20752         * lib/getusershell.c: Likewise.
20753         * lib/gl_anyavltree_list1.h: Likewise.
20754         * lib/gl_anyavltree_list2.h: Likewise.
20755         * lib/gl_anyhash_list1.h: Likewise.
20756         * lib/gl_anyhash_list2.h: Likewise.
20757         * lib/gl_anylinked_list1.h: Likewise.
20758         * lib/gl_anylinked_list2.h: Likewise.
20759         * lib/gl_anyrbtree_list1.h: Likewise.
20760         * lib/gl_anyrbtree_list2.h: Likewise.
20761         * lib/gl_anytree_list1.h: Likewise.
20762         * lib/gl_anytree_list2.h: Likewise.
20763         * lib/gl_anytree_oset.h: Likewise.
20764         * lib/gl_anytreehash_list1.h: Likewise.
20765         * lib/gl_anytreehash_list2.h: Likewise.
20766         * lib/gl_array_list.c: Likewise.
20767         * lib/gl_array_list.h: Likewise.
20768         * lib/gl_array_oset.c: Likewise.
20769         * lib/gl_array_oset.h: Likewise.
20770         * lib/gl_avltree_list.c: Likewise.
20771         * lib/gl_avltree_list.h: Likewise.
20772         * lib/gl_avltree_oset.c: Likewise.
20773         * lib/gl_avltree_oset.h: Likewise.
20774         * lib/gl_avltreehash_list.c: Likewise.
20775         * lib/gl_avltreehash_list.h: Likewise.
20776         * lib/gl_carray_list.c: Likewise.
20777         * lib/gl_carray_list.h: Likewise.
20778         * lib/gl_linked_list.c: Likewise.
20779         * lib/gl_linked_list.h: Likewise.
20780         * lib/gl_linkedhash_list.c: Likewise.
20781         * lib/gl_linkedhash_list.h: Likewise.
20782         * lib/gl_list.c: Likewise.
20783         * lib/gl_list.h: Likewise.
20784         * lib/gl_oset.c: Likewise.
20785         * lib/gl_oset.h: Likewise.
20786         * lib/gl_rbtree_list.c: Likewise.
20787         * lib/gl_rbtree_list.h: Likewise.
20788         * lib/gl_rbtree_oset.c: Likewise.
20789         * lib/gl_rbtree_oset.h: Likewise.
20790         * lib/gl_rbtreehash_list.c: Likewise.
20791         * lib/gl_rbtreehash_list.h: Likewise.
20792         * lib/gl_sublist.c: Likewise.
20793         * lib/gl_sublist.h: Likewise.
20794         * lib/group-member.c: Likewise.
20795         * lib/group-member.h: Likewise.
20796         * lib/hard-locale.c: Likewise.
20797         * lib/hard-locale.h: Likewise.
20798         * lib/hash-pjw.c: Likewise.
20799         * lib/hash-pjw.h: Likewise.
20800         * lib/hash-triple.c: Likewise.
20801         * lib/hash.c: Likewise.
20802         * lib/hash.h: Likewise.
20803         * lib/human.c: Likewise.
20804         * lib/human.h: Likewise.
20805         * lib/i-ring.c: Likewise.
20806         * lib/i-ring.h: Likewise.
20807         * lib/idcache.c: Likewise.
20808         * lib/imaxabs.c: Likewise.
20809         * lib/imaxdiv.c: Likewise.
20810         * lib/inet_pton.c: Likewise.
20811         * lib/inet_pton.h: Likewise.
20812         * lib/intprops.h: Likewise.
20813         * lib/inttostr.c: Likewise.
20814         * lib/inttostr.h: Likewise.
20815         * lib/inttypes.in.h: Likewise.
20816         * lib/isapipe.c: Likewise.
20817         * lib/isdir.c: Likewise.
20818         * lib/isnan.c: Likewise.
20819         * lib/isnan.h: Likewise.
20820         * lib/isnanf.c: Likewise.
20821         * lib/isnanf.h: Likewise.
20822         * lib/isnanl-nolibm.h: Likewise.
20823         * lib/isnanl.c: Likewise.
20824         * lib/isnanl.h: Likewise.
20825         * lib/javacomp.c: Likewise.
20826         * lib/javacomp.h: Likewise.
20827         * lib/javaexec.c: Likewise.
20828         * lib/javaexec.h: Likewise.
20829         * lib/javaversion.c: Likewise.
20830         * lib/javaversion.h: Likewise.
20831         * lib/javaversion.java: Likewise.
20832         * lib/lbrkprop.h: Likewise.
20833         * lib/lchmod.h: Likewise.
20834         * lib/lchown.c: Likewise.
20835         * lib/ldexpl.c: Likewise.
20836         * lib/linebreak.c: Likewise.
20837         * lib/linebreak.h: Likewise.
20838         * lib/linebuffer.c: Likewise.
20839         * lib/linebuffer.h: Likewise.
20840         * lib/locale.in.h: Likewise.
20841         * lib/logl.c: Likewise.
20842         * lib/long-options.c: Likewise.
20843         * lib/long-options.h: Likewise.
20844         * lib/lstat.c: Likewise.
20845         * lib/lstat.h: Likewise.
20846         * lib/math.in.h: Likewise.
20847         * lib/mbchar.c: Likewise.
20848         * lib/mbchar.h: Likewise.
20849         * lib/mbfile.h: Likewise.
20850         * lib/mbiter.h: Likewise.
20851         * lib/mbscasecmp.c: Likewise.
20852         * lib/mbscasestr.c: Likewise.
20853         * lib/mbschr.c: Likewise.
20854         * lib/mbscspn.c: Likewise.
20855         * lib/mbslen.c: Likewise.
20856         * lib/mbsncasecmp.c: Likewise.
20857         * lib/mbsnlen.c: Likewise.
20858         * lib/mbspbrk.c: Likewise.
20859         * lib/mbspcasecmp.c: Likewise.
20860         * lib/mbsrchr.c: Likewise.
20861         * lib/mbssep.c: Likewise.
20862         * lib/mbsspn.c: Likewise.
20863         * lib/mbsstr.c: Likewise.
20864         * lib/mbstok_r.c: Likewise.
20865         * lib/mbswidth.c: Likewise.
20866         * lib/mbswidth.h: Likewise.
20867         * lib/mbuiter.h: Likewise.
20868         * lib/memcasecmp.c: Likewise.
20869         * lib/memcasecmp.h: Likewise.
20870         * lib/memchr.c: Likewise.
20871         * lib/memcmp.c: Likewise.
20872         * lib/memcoll.c: Likewise.
20873         * lib/memcoll.h: Likewise.
20874         * lib/memcpy.c: Likewise.
20875         * lib/memrchr.c: Likewise.
20876         * lib/mkancesdirs.c: Likewise.
20877         * lib/mkdir-p.c: Likewise.
20878         * lib/mkdir-p.h: Likewise.
20879         * lib/mkdir.c: Likewise.
20880         * lib/mkdirat.c: Likewise.
20881         * lib/mkdtemp.c: Likewise.
20882         * lib/mkstemp-safer.c: Likewise.
20883         * lib/mkstemp.c: Likewise.
20884         * lib/modechange.c: Likewise.
20885         * lib/modechange.h: Likewise.
20886         * lib/mountlist.c: Likewise.
20887         * lib/mountlist.h: Likewise.
20888         * lib/mpsort.c: Likewise.
20889         * lib/nanosleep.c: Likewise.
20890         * lib/obstack.c: Likewise.
20891         * lib/obstack.h: Likewise.
20892         * lib/open-safer.c: Likewise.
20893         * lib/open.c: Likewise.
20894         * lib/openat-die.c: Likewise.
20895         * lib/openat-priv.h: Likewise.
20896         * lib/openat-proc.c: Likewise.
20897         * lib/openat.c: Likewise.
20898         * lib/openat.h: Likewise.
20899         * lib/pagealign_alloc.c: Likewise.
20900         * lib/pagealign_alloc.h: Likewise.
20901         * lib/physmem.c: Likewise.
20902         * lib/physmem.h: Likewise.
20903         * lib/pipe-safer.c: Likewise.
20904         * lib/pipe.c: Likewise.
20905         * lib/pipe.h: Likewise.
20906         * lib/posixtm.c: Likewise.
20907         * lib/posixtm.h: Likewise.
20908         * lib/posixver.c: Likewise.
20909         * lib/printf-frexp.c: Likewise.
20910         * lib/printf-frexp.h: Likewise.
20911         * lib/printf-frexpl.c: Likewise.
20912         * lib/printf-frexpl.h: Likewise.
20913         * lib/printf.c: Likewise.
20914         * lib/progname.c: Likewise.
20915         * lib/progname.h: Likewise.
20916         * lib/progreloc.c: Likewise.
20917         * lib/putenv.c: Likewise.
20918         * lib/quote.c: Likewise.
20919         * lib/quote.h: Likewise.
20920         * lib/quotearg.c: Likewise.
20921         * lib/quotearg.h: Likewise.
20922         * lib/raise.c: Likewise.
20923         * lib/readline.c: Likewise.
20924         * lib/readline.h: Likewise.
20925         * lib/readlink.c: Likewise.
20926         * lib/readtokens.c: Likewise.
20927         * lib/readtokens.h: Likewise.
20928         * lib/readtokens0.c: Likewise.
20929         * lib/readtokens0.h: Likewise.
20930         * lib/readutmp.c: Likewise.
20931         * lib/readutmp.h: Likewise.
20932         * lib/realloc.c: Likewise.
20933         * lib/relocwrapper.c: Likewise.
20934         * lib/rename-dest-slash.c: Likewise.
20935         * lib/rename.c: Likewise.
20936         * lib/rmdir.c: Likewise.
20937         * lib/rpmatch.c: Likewise.
20938         * lib/safe-read.c: Likewise.
20939         * lib/safe-read.h: Likewise.
20940         * lib/safe-write.c: Likewise.
20941         * lib/safe-write.h: Likewise.
20942         * lib/same-inode.h: Likewise.
20943         * lib/same.c: Likewise.
20944         * lib/same.h: Likewise.
20945         * lib/save-cwd.c: Likewise.
20946         * lib/save-cwd.h: Likewise.
20947         * lib/savedir.c: Likewise.
20948         * lib/savedir.h: Likewise.
20949         * lib/savewd.c: Likewise.
20950         * lib/savewd.h: Likewise.
20951         * lib/search.in.h: Likewise.
20952         * lib/setenv.c: Likewise.
20953         * lib/setenv.h: Likewise.
20954         * lib/settime.c: Likewise.
20955         * lib/sh-quote.c: Likewise.
20956         * lib/sh-quote.h: Likewise.
20957         * lib/sig2str.c: Likewise.
20958         * lib/sig2str.h: Likewise.
20959         * lib/signal.in.h: Likewise.
20960         * lib/signbitd.c: Likewise.
20961         * lib/signbitf.c: Likewise.
20962         * lib/signbitl.c: Likewise.
20963         * lib/sigprocmask.c: Likewise.
20964         * lib/sincosl.c: Likewise.
20965         * lib/sleep.c: Likewise.
20966         * lib/sprintf.c: Likewise.
20967         * lib/sqrtl.c: Likewise.
20968         * lib/stat-time.h: Likewise.
20969         * lib/stdio--.h: Likewise.
20970         * lib/stdio-safer.h: Likewise.
20971         * lib/stdlib--.h: Likewise.
20972         * lib/stdlib-safer.h: Likewise.
20973         * lib/stdlib.in.h: Likewise.
20974         * lib/stpcpy.c: Likewise.
20975         * lib/stpncpy.c: Likewise.
20976         * lib/strchrnul.c: Likewise.
20977         * lib/strcspn.c: Likewise.
20978         * lib/strerror.c: Likewise.
20979         * lib/strftime.c: Likewise.
20980         * lib/strftime.h: Likewise.
20981         * lib/striconveh.c: Likewise.
20982         * lib/striconveh.h: Likewise.
20983         * lib/striconveha.c: Likewise.
20984         * lib/striconveha.h: Likewise.
20985         * lib/stripslash.c: Likewise.
20986         * lib/strnlen1.c: Likewise.
20987         * lib/strnlen1.h: Likewise.
20988         * lib/strtod.c: Likewise.
20989         * lib/strtoimax.c: Likewise.
20990         * lib/strtok_r.c: Likewise.
20991         * lib/strtol.c: Likewise.
20992         * lib/strtoll.c: Likewise.
20993         * lib/strtoul.c: Likewise.
20994         * lib/strtoull.c: Likewise.
20995         * lib/sysexits.in.h: Likewise.
20996         * lib/tempname.c: Likewise.
20997         * lib/tempname.h: Likewise.
20998         * lib/timespec.h: Likewise.
20999         * lib/tls.c: Likewise.
21000         * lib/tls.h: Likewise.
21001         * lib/tmpdir.c: Likewise.
21002         * lib/tmpdir.h: Likewise.
21003         * lib/tmpfile-safer.c: Likewise.
21004         * lib/tmpfile.c: Likewise.
21005         * lib/trigl.c: Likewise.
21006         * lib/trigl.h: Likewise.
21007         * lib/trim.c: Likewise.
21008         * lib/trim.h: Likewise.
21009         * lib/trunc.c: Likewise.
21010         * lib/truncf.c: Likewise.
21011         * lib/truncl.c: Likewise.
21012         * lib/tsearch.c: Likewise.
21013         * lib/unicodeio.c: Likewise.
21014         * lib/unicodeio.h: Likewise.
21015         * lib/unistd--.h: Likewise.
21016         * lib/unistd-safer.h: Likewise.
21017         * lib/unistdio/ulc-fprintf.c: Likewise.
21018         * lib/unistdio/ulc-vfprintf.c: Likewise.
21019         * lib/unlinkdir.c: Likewise.
21020         * lib/unlinkdir.h: Likewise.
21021         * lib/unlocked-io.h: Likewise.
21022         * lib/unsetenv.c: Likewise.
21023         * lib/userspec.c: Likewise.
21024         * lib/utime.c: Likewise.
21025         * lib/utimecmp.c: Likewise.
21026         * lib/utimecmp.h: Likewise.
21027         * lib/utimens.c: Likewise.
21028         * lib/verify.h: Likewise.
21029         * lib/verror.c: Likewise.
21030         * lib/verror.h: Likewise.
21031         * lib/version-etc-fsf.c: Likewise.
21032         * lib/version-etc.c: Likewise.
21033         * lib/version-etc.h: Likewise.
21034         * lib/vfprintf.c: Likewise.
21035         * lib/vprintf.c: Likewise.
21036         * lib/vsprintf.c: Likewise.
21037         * lib/w32spawn.h: Likewise.
21038         * lib/wait-process.c: Likewise.
21039         * lib/wait-process.h: Likewise.
21040         * lib/wcwidth.c: Likewise.
21041         * lib/write-any-file.c: Likewise.
21042         * lib/xalloc-die.c: Likewise.
21043         * lib/xalloc.h: Likewise.
21044         * lib/xasprintf.c: Likewise.
21045         * lib/xgetcwd.c: Likewise.
21046         * lib/xgetcwd.h: Likewise.
21047         * lib/xgetdomainname.c: Likewise.
21048         * lib/xgetdomainname.h: Likewise.
21049         * lib/xgethostname.c: Likewise.
21050         * lib/xmalloc.c: Likewise.
21051         * lib/xmalloca.c: Likewise.
21052         * lib/xmalloca.h: Likewise.
21053         * lib/xmemcoll.c: Likewise.
21054         * lib/xnanosleep.c: Likewise.
21055         * lib/xreadlink.c: Likewise.
21056         * lib/xreadlink.h: Likewise.
21057         * lib/xsetenv.c: Likewise.
21058         * lib/xsetenv.h: Likewise.
21059         * lib/xstriconv.c: Likewise.
21060         * lib/xstriconv.h: Likewise.
21061         * lib/xstrndup.c: Likewise.
21062         * lib/xstrndup.h: Likewise.
21063         * lib/xstrtod.c: Likewise.
21064         * lib/xstrtod.h: Likewise.
21065         * lib/xstrtol-error.c: Likewise.
21066         * lib/xstrtol.c: Likewise.
21067         * lib/xstrtol.h: Likewise.
21068         * lib/xtime.h: Likewise.
21069         * lib/xvasprintf.c: Likewise.
21070         * lib/xvasprintf.h: Likewise.
21071         * lib/yesno.c: Likewise.
21072         * lib/yesno.h: Likewise.
21073         * posix-modules: Likewise.
21074         * tests/test-alloca-opt.c: Likewise.
21075         * tests/test-arcfour.c: Likewise.
21076         * tests/test-arctwo.c: Likewise.
21077         * tests/test-argmatch.c: Likewise.
21078         * tests/test-argp-2.sh: Likewise.
21079         * tests/test-argp.c: Likewise.
21080         * tests/test-arpa_inet.c: Likewise.
21081         * tests/test-array_list.c: Likewise.
21082         * tests/test-array_oset.c: Likewise.
21083         * tests/test-atexit.c: Likewise.
21084         * tests/test-avltree_list.c: Likewise.
21085         * tests/test-avltree_oset.c: Likewise.
21086         * tests/test-avltreehash_list.c: Likewise.
21087         * tests/test-base64.c: Likewise.
21088         * tests/test-binary-io.c: Likewise.
21089         * tests/test-byteswap.c: Likewise.
21090         * tests/test-c-ctype.c: Likewise.
21091         * tests/test-c-strcasecmp.c: Likewise.
21092         * tests/test-c-strcasestr.c: Likewise.
21093         * tests/test-c-strncasecmp.c: Likewise.
21094         * tests/test-c-strstr.c: Likewise.
21095         * tests/test-canonicalize-lgpl.c: Likewise.
21096         * tests/test-canonicalize.c: Likewise.
21097         * tests/test-carray_list.c: Likewise.
21098         * tests/test-ceilf.c: Likewise.
21099         * tests/test-ceill.c: Likewise.
21100         * tests/test-count-one-bits.c: Likewise.
21101         * tests/test-crc.c: Likewise.
21102         * tests/test-dirname.c: Likewise.
21103         * tests/test-fbufmode.c: Likewise.
21104         * tests/test-fcntl.c: Likewise.
21105         * tests/test-fflush.c: Likewise.
21106         * tests/test-floorf.c: Likewise.
21107         * tests/test-floorl.c: Likewise.
21108         * tests/test-fopen.c: Likewise.
21109         * tests/test-fprintf-posix.c: Likewise.
21110         * tests/test-fprintf-posix.h: Likewise.
21111         * tests/test-fpurge.c: Likewise.
21112         * tests/test-freadable.c: Likewise.
21113         * tests/test-freadahead.c: Likewise.
21114         * tests/test-freading.c: Likewise.
21115         * tests/test-freopen.c: Likewise.
21116         * tests/test-frexp.c: Likewise.
21117         * tests/test-frexpl.c: Likewise.
21118         * tests/test-fseek.c: Likewise.
21119         * tests/test-fseeko.c: Likewise.
21120         * tests/test-fseterr.c: Likewise.
21121         * tests/test-fstrcmp.c: Likewise.
21122         * tests/test-ftell.c: Likewise.
21123         * tests/test-ftello.c: Likewise.
21124         * tests/test-fwritable.c: Likewise.
21125         * tests/test-fwriting.c: Likewise.
21126         * tests/test-getaddrinfo.c: Likewise.
21127         * tests/test-getpass.c: Likewise.
21128         * tests/test-gettimeofday.c: Likewise.
21129         * tests/test-hmac-md5.c: Likewise.
21130         * tests/test-hmac-sha1.c: Likewise.
21131         * tests/test-iconv.c: Likewise.
21132         * tests/test-iconvme.c: Likewise.
21133         * tests/test-inttypes.c: Likewise.
21134         * tests/test-isnan.c: Likewise.
21135         * tests/test-isnanf.c: Likewise.
21136         * tests/test-isnanl-nolibm.c: Likewise.
21137         * tests/test-isnanl.c: Likewise.
21138         * tests/test-isnanl.h: Likewise.
21139         * tests/test-ldexpl.c: Likewise.
21140         * tests/test-linked_list.c: Likewise.
21141         * tests/test-linkedhash_list.c: Likewise.
21142         * tests/test-locale.c: Likewise.
21143         * tests/test-localename.c: Likewise.
21144         * tests/test-lock.c: Likewise.
21145         * tests/test-lseek.c: Likewise.
21146         * tests/test-malloca.c: Likewise.
21147         * tests/test-math.c: Likewise.
21148         * tests/test-mbscasecmp.c: Likewise.
21149         * tests/test-mbscasestr1.c: Likewise.
21150         * tests/test-mbscasestr2.c: Likewise.
21151         * tests/test-mbscasestr3.c: Likewise.
21152         * tests/test-mbscasestr4.c: Likewise.
21153         * tests/test-mbschr.c: Likewise.
21154         * tests/test-mbscspn.c: Likewise.
21155         * tests/test-mbsncasecmp.c: Likewise.
21156         * tests/test-mbspbrk.c: Likewise.
21157         * tests/test-mbspcasecmp.c: Likewise.
21158         * tests/test-mbsrchr.c: Likewise.
21159         * tests/test-mbsspn.c: Likewise.
21160         * tests/test-mbsstr1.c: Likewise.
21161         * tests/test-mbsstr2.c: Likewise.
21162         * tests/test-mbsstr3.c: Likewise.
21163         * tests/test-md5.c: Likewise.
21164         * tests/test-memmem.c: Likewise.
21165         * tests/test-netinet_in.c: Likewise.
21166         * tests/test-open.c: Likewise.
21167         * tests/test-printf-frexp.c: Likewise.
21168         * tests/test-printf-frexpl.c: Likewise.
21169         * tests/test-printf-posix.c: Likewise.
21170         * tests/test-printf-posix.h: Likewise.
21171         * tests/test-rbtree_list.c: Likewise.
21172         * tests/test-rbtree_oset.c: Likewise.
21173         * tests/test-rbtreehash_list.c: Likewise.
21174         * tests/test-read-file.c: Likewise.
21175         * tests/test-rijndael.c: Likewise.
21176         * tests/test-search.c: Likewise.
21177         * tests/test-signbit.c: Likewise.
21178         * tests/test-sleep.c: Likewise.
21179         * tests/test-snprintf-posix.c: Likewise.
21180         * tests/test-snprintf-posix.h: Likewise.
21181         * tests/test-snprintf.c: Likewise.
21182         * tests/test-sprintf-posix.c: Likewise.
21183         * tests/test-sprintf-posix.h: Likewise.
21184         * tests/test-stat-time.c: Likewise.
21185         * tests/test-stdbool.c: Likewise.
21186         * tests/test-stdint.c: Likewise.
21187         * tests/test-stdio.c: Likewise.
21188         * tests/test-stdlib.c: Likewise.
21189         * tests/test-stpncpy.c: Likewise.
21190         * tests/test-strcasestr.c: Likewise.
21191         * tests/test-striconv.c: Likewise.
21192         * tests/test-striconveh.c: Likewise.
21193         * tests/test-striconveha.c: Likewise.
21194         * tests/test-string.c: Likewise.
21195         * tests/test-sys_select.c: Likewise.
21196         * tests/test-sys_socket.c: Likewise.
21197         * tests/test-sys_stat.c: Likewise.
21198         * tests/test-sys_time.c: Likewise.
21199         * tests/test-sysexits.c: Likewise.
21200         * tests/test-time.c: Likewise.
21201         * tests/test-tls.c: Likewise.
21202         * tests/test-trunc.c: Likewise.
21203         * tests/test-truncf.c: Likewise.
21204         * tests/test-truncl.c: Likewise.
21205         * tests/test-unistd.c: Likewise.
21206         * tests/test-vasnprintf-posix.c: Likewise.
21207         * tests/test-vasnprintf-posix2.c: Likewise.
21208         * tests/test-vasnprintf.c: Likewise.
21209         * tests/test-vasprintf-posix.c: Likewise.
21210         * tests/test-vasprintf.c: Likewise.
21211         * tests/test-verify.c: Likewise.
21212         * tests/test-vfprintf-posix.c: Likewise.
21213         * tests/test-vprintf-posix.c: Likewise.
21214         * tests/test-vsnprintf-posix.c: Likewise.
21215         * tests/test-vsnprintf.c: Likewise.
21216         * tests/test-vsprintf-posix.c: Likewise.
21217         * tests/test-wchar.c: Likewise.
21218         * tests/test-wctype.c: Likewise.
21219         * tests/test-wcwidth.c: Likewise.
21220         * tests/test-xstrtol.c: Likewise.
21221         * tests/test-xvasprintf.c: Likewise.
21222         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
21223         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
21224         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
21225         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
21226         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
21227         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
21228         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
21229         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
21230         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
21231         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
21232         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
21233         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
21234         * tests/uniname/test-uninames.c: Likewise.
21235         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
21236         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
21237         * tests/unistdio/test-u16-printf1.h: Likewise.
21238         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
21239         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
21240         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
21241         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
21242         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21243         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21244         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
21245         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
21246         * tests/unistdio/test-u32-printf1.h: Likewise.
21247         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
21248         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
21249         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21250         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21251         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21252         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21253         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
21254         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
21255         * tests/unistdio/test-u8-printf1.h: Likewise.
21256         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
21257         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
21258         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
21259         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
21260         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21261         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21262         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21263         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
21264         * tests/unistdio/test-ulc-printf1.h: Likewise.
21265         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21266         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21267         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21268         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21269         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21270         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21271         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21272         * tests/uniwidth/test-u16-width.c: Likewise.
21273         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21274         * tests/uniwidth/test-u32-width.c: Likewise.
21275         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21276         * tests/uniwidth/test-u8-width.c: Likewise.
21277         * tests/uniwidth/test-uc_width.c: Likewise.
21278         * config/srclist-update: Likewise.
21279         (fixlicense): Update to GPLv3+.
21280
21281         Change copyright notice from LGPLv2.1+ to LGPLv3+.
21282         * tests/test-tsearch.c: Change copyright notice.
21283
21284         Change copyright notice from LGPLv2.0+ to LGPLv3+.
21285         * lib/c-strcaseeq.h: Change copyright notice.
21286         * lib/streq.h: Likewise.
21287         * lib/uniconv.h: Likewise.
21288         * lib/uniconv/u-conv-from-enc.h: Likewise.
21289         * lib/uniconv/u-conv-to-enc.h: Likewise.
21290         * lib/uniconv/u-strconv-from-enc.h: Likewise.
21291         * lib/uniconv/u-strconv-to-enc.h: Likewise.
21292         * lib/uniconv/u16-conv-from-enc.c: Likewise.
21293         * lib/uniconv/u16-conv-to-enc.c: Likewise.
21294         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
21295         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
21296         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
21297         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
21298         * lib/uniconv/u32-conv-from-enc.c: Likewise.
21299         * lib/uniconv/u32-conv-to-enc.c: Likewise.
21300         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
21301         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
21302         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
21303         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
21304         * lib/uniconv/u8-conv-from-enc.c: Likewise.
21305         * lib/uniconv/u8-conv-to-enc.c: Likewise.
21306         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
21307         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
21308         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
21309         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
21310         * lib/uniname.h: Likewise.
21311         * lib/uniname/uniname.c: Likewise.
21312         * lib/unistdio.h: Likewise.
21313         * lib/unistdio/u-asnprintf.h: Likewise.
21314         * lib/unistdio/u-asprintf.h: Likewise.
21315         * lib/unistdio/u-printf-args.c: Likewise.
21316         * lib/unistdio/u-printf-args.h: Likewise.
21317         * lib/unistdio/u-printf-parse.h: Likewise.
21318         * lib/unistdio/u-snprintf.h: Likewise.
21319         * lib/unistdio/u-sprintf.h: Likewise.
21320         * lib/unistdio/u-vasprintf.h: Likewise.
21321         * lib/unistdio/u-vsnprintf.h: Likewise.
21322         * lib/unistdio/u-vsprintf.h: Likewise.
21323         * lib/unistdio/u16-asnprintf.c: Likewise.
21324         * lib/unistdio/u16-asprintf.c: Likewise.
21325         * lib/unistdio/u16-printf-parse.c: Likewise.
21326         * lib/unistdio/u16-snprintf.c: Likewise.
21327         * lib/unistdio/u16-sprintf.c: Likewise.
21328         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
21329         * lib/unistdio/u16-u16-asprintf.c: Likewise.
21330         * lib/unistdio/u16-u16-snprintf.c: Likewise.
21331         * lib/unistdio/u16-u16-sprintf.c: Likewise.
21332         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
21333         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
21334         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
21335         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
21336         * lib/unistdio/u16-vasnprintf.c: Likewise.
21337         * lib/unistdio/u16-vasprintf.c: Likewise.
21338         * lib/unistdio/u16-vsnprintf.c: Likewise.
21339         * lib/unistdio/u16-vsprintf.c: Likewise.
21340         * lib/unistdio/u32-asnprintf.c: Likewise.
21341         * lib/unistdio/u32-asprintf.c: Likewise.
21342         * lib/unistdio/u32-printf-parse.c: Likewise.
21343         * lib/unistdio/u32-snprintf.c: Likewise.
21344         * lib/unistdio/u32-sprintf.c: Likewise.
21345         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
21346         * lib/unistdio/u32-u32-asprintf.c: Likewise.
21347         * lib/unistdio/u32-u32-snprintf.c: Likewise.
21348         * lib/unistdio/u32-u32-sprintf.c: Likewise.
21349         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
21350         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
21351         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
21352         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
21353         * lib/unistdio/u32-vasnprintf.c: Likewise.
21354         * lib/unistdio/u32-vasprintf.c: Likewise.
21355         * lib/unistdio/u32-vsnprintf.c: Likewise.
21356         * lib/unistdio/u32-vsprintf.c: Likewise.
21357         * lib/unistdio/u8-asnprintf.c: Likewise.
21358         * lib/unistdio/u8-asprintf.c: Likewise.
21359         * lib/unistdio/u8-printf-parse.c: Likewise.
21360         * lib/unistdio/u8-snprintf.c: Likewise.
21361         * lib/unistdio/u8-sprintf.c: Likewise.
21362         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
21363         * lib/unistdio/u8-u8-asprintf.c: Likewise.
21364         * lib/unistdio/u8-u8-snprintf.c: Likewise.
21365         * lib/unistdio/u8-u8-sprintf.c: Likewise.
21366         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
21367         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
21368         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
21369         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
21370         * lib/unistdio/u8-vasnprintf.c: Likewise.
21371         * lib/unistdio/u8-vasprintf.c: Likewise.
21372         * lib/unistdio/u8-vsnprintf.c: Likewise.
21373         * lib/unistdio/u8-vsprintf.c: Likewise.
21374         * lib/unistdio/ulc-asnprintf.c: Likewise.
21375         * lib/unistdio/ulc-asprintf.c: Likewise.
21376         * lib/unistdio/ulc-printf-parse.c: Likewise.
21377         * lib/unistdio/ulc-snprintf.c: Likewise.
21378         * lib/unistdio/ulc-sprintf.c: Likewise.
21379         * lib/unistdio/ulc-vasnprintf.c: Likewise.
21380         * lib/unistdio/ulc-vasprintf.c: Likewise.
21381         * lib/unistdio/ulc-vsnprintf.c: Likewise.
21382         * lib/unistdio/ulc-vsprintf.c: Likewise.
21383         * lib/unistr.h: Likewise.
21384         * lib/unistr/u-cpy-alloc.h: Likewise.
21385         * lib/unistr/u-cpy.h: Likewise.
21386         * lib/unistr/u-endswith.h: Likewise.
21387         * lib/unistr/u-move.h: Likewise.
21388         * lib/unistr/u-set.h: Likewise.
21389         * lib/unistr/u-startswith.h: Likewise.
21390         * lib/unistr/u-stpcpy.h: Likewise.
21391         * lib/unistr/u-stpncpy.h: Likewise.
21392         * lib/unistr/u-strcat.h: Likewise.
21393         * lib/unistr/u-strcpy.h: Likewise.
21394         * lib/unistr/u-strcspn.h: Likewise.
21395         * lib/unistr/u-strdup.h: Likewise.
21396         * lib/unistr/u-strlen.h: Likewise.
21397         * lib/unistr/u-strncat.h: Likewise.
21398         * lib/unistr/u-strncpy.h: Likewise.
21399         * lib/unistr/u-strnlen.h: Likewise.
21400         * lib/unistr/u-strpbrk.h: Likewise.
21401         * lib/unistr/u-strspn.h: Likewise.
21402         * lib/unistr/u-strstr.h: Likewise.
21403         * lib/unistr/u-strtok.h: Likewise.
21404         * lib/unistr/u16-check.c: Likewise.
21405         * lib/unistr/u16-chr.c: Likewise.
21406         * lib/unistr/u16-cmp.c: Likewise.
21407         * lib/unistr/u16-cpy-alloc.c: Likewise.
21408         * lib/unistr/u16-cpy.c: Likewise.
21409         * lib/unistr/u16-endswith.c: Likewise.
21410         * lib/unistr/u16-mblen.c: Likewise.
21411         * lib/unistr/u16-mbsnlen.c: Likewise.
21412         * lib/unistr/u16-mbtouc-aux.c: Likewise.
21413         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
21414         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
21415         * lib/unistr/u16-mbtouc.c: Likewise.
21416         * lib/unistr/u16-mbtoucr.c: Likewise.
21417         * lib/unistr/u16-move.c: Likewise.
21418         * lib/unistr/u16-next.c: Likewise.
21419         * lib/unistr/u16-prev.c: Likewise.
21420         * lib/unistr/u16-set.c: Likewise.
21421         * lib/unistr/u16-startswith.c: Likewise.
21422         * lib/unistr/u16-stpcpy.c: Likewise.
21423         * lib/unistr/u16-stpncpy.c: Likewise.
21424         * lib/unistr/u16-strcat.c: Likewise.
21425         * lib/unistr/u16-strchr.c: Likewise.
21426         * lib/unistr/u16-strcmp.c: Likewise.
21427         * lib/unistr/u16-strcpy.c: Likewise.
21428         * lib/unistr/u16-strcspn.c: Likewise.
21429         * lib/unistr/u16-strdup.c: Likewise.
21430         * lib/unistr/u16-strlen.c: Likewise.
21431         * lib/unistr/u16-strmblen.c: Likewise.
21432         * lib/unistr/u16-strmbtouc.c: Likewise.
21433         * lib/unistr/u16-strncat.c: Likewise.
21434         * lib/unistr/u16-strncmp.c: Likewise.
21435         * lib/unistr/u16-strncpy.c: Likewise.
21436         * lib/unistr/u16-strnlen.c: Likewise.
21437         * lib/unistr/u16-strpbrk.c: Likewise.
21438         * lib/unistr/u16-strrchr.c: Likewise.
21439         * lib/unistr/u16-strspn.c: Likewise.
21440         * lib/unistr/u16-strstr.c: Likewise.
21441         * lib/unistr/u16-strtok.c: Likewise.
21442         * lib/unistr/u16-to-u32.c: Likewise.
21443         * lib/unistr/u16-to-u8.c: Likewise.
21444         * lib/unistr/u16-uctomb-aux.c: Likewise.
21445         * lib/unistr/u16-uctomb.c: Likewise.
21446         * lib/unistr/u32-check.c: Likewise.
21447         * lib/unistr/u32-chr.c: Likewise.
21448         * lib/unistr/u32-cmp.c: Likewise.
21449         * lib/unistr/u32-cpy-alloc.c: Likewise.
21450         * lib/unistr/u32-cpy.c: Likewise.
21451         * lib/unistr/u32-endswith.c: Likewise.
21452         * lib/unistr/u32-mblen.c: Likewise.
21453         * lib/unistr/u32-mbsnlen.c: Likewise.
21454         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
21455         * lib/unistr/u32-mbtouc.c: Likewise.
21456         * lib/unistr/u32-mbtoucr.c: Likewise.
21457         * lib/unistr/u32-move.c: Likewise.
21458         * lib/unistr/u32-next.c: Likewise.
21459         * lib/unistr/u32-prev.c: Likewise.
21460         * lib/unistr/u32-set.c: Likewise.
21461         * lib/unistr/u32-startswith.c: Likewise.
21462         * lib/unistr/u32-stpcpy.c: Likewise.
21463         * lib/unistr/u32-stpncpy.c: Likewise.
21464         * lib/unistr/u32-strcat.c: Likewise.
21465         * lib/unistr/u32-strchr.c: Likewise.
21466         * lib/unistr/u32-strcmp.c: Likewise.
21467         * lib/unistr/u32-strcpy.c: Likewise.
21468         * lib/unistr/u32-strcspn.c: Likewise.
21469         * lib/unistr/u32-strdup.c: Likewise.
21470         * lib/unistr/u32-strlen.c: Likewise.
21471         * lib/unistr/u32-strmblen.c: Likewise.
21472         * lib/unistr/u32-strmbtouc.c: Likewise.
21473         * lib/unistr/u32-strncat.c: Likewise.
21474         * lib/unistr/u32-strncmp.c: Likewise.
21475         * lib/unistr/u32-strncpy.c: Likewise.
21476         * lib/unistr/u32-strnlen.c: Likewise.
21477         * lib/unistr/u32-strpbrk.c: Likewise.
21478         * lib/unistr/u32-strrchr.c: Likewise.
21479         * lib/unistr/u32-strspn.c: Likewise.
21480         * lib/unistr/u32-strstr.c: Likewise.
21481         * lib/unistr/u32-strtok.c: Likewise.
21482         * lib/unistr/u32-to-u16.c: Likewise.
21483         * lib/unistr/u32-to-u8.c: Likewise.
21484         * lib/unistr/u32-uctomb.c: Likewise.
21485         * lib/unistr/u8-check.c: Likewise.
21486         * lib/unistr/u8-chr.c: Likewise.
21487         * lib/unistr/u8-cmp.c: Likewise.
21488         * lib/unistr/u8-cpy-alloc.c: Likewise.
21489         * lib/unistr/u8-cpy.c: Likewise.
21490         * lib/unistr/u8-endswith.c: Likewise.
21491         * lib/unistr/u8-mblen.c: Likewise.
21492         * lib/unistr/u8-mbsnlen.c: Likewise.
21493         * lib/unistr/u8-mbtouc-aux.c: Likewise.
21494         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
21495         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
21496         * lib/unistr/u8-mbtouc.c: Likewise.
21497         * lib/unistr/u8-mbtoucr.c: Likewise.
21498         * lib/unistr/u8-move.c: Likewise.
21499         * lib/unistr/u8-next.c: Likewise.
21500         * lib/unistr/u8-prev.c: Likewise.
21501         * lib/unistr/u8-set.c: Likewise.
21502         * lib/unistr/u8-startswith.c: Likewise.
21503         * lib/unistr/u8-stpcpy.c: Likewise.
21504         * lib/unistr/u8-stpncpy.c: Likewise.
21505         * lib/unistr/u8-strcat.c: Likewise.
21506         * lib/unistr/u8-strchr.c: Likewise.
21507         * lib/unistr/u8-strcmp.c: Likewise.
21508         * lib/unistr/u8-strcpy.c: Likewise.
21509         * lib/unistr/u8-strcspn.c: Likewise.
21510         * lib/unistr/u8-strdup.c: Likewise.
21511         * lib/unistr/u8-strlen.c: Likewise.
21512         * lib/unistr/u8-strmblen.c: Likewise.
21513         * lib/unistr/u8-strmbtouc.c: Likewise.
21514         * lib/unistr/u8-strncat.c: Likewise.
21515         * lib/unistr/u8-strncmp.c: Likewise.
21516         * lib/unistr/u8-strncpy.c: Likewise.
21517         * lib/unistr/u8-strnlen.c: Likewise.
21518         * lib/unistr/u8-strpbrk.c: Likewise.
21519         * lib/unistr/u8-strrchr.c: Likewise.
21520         * lib/unistr/u8-strspn.c: Likewise.
21521         * lib/unistr/u8-strstr.c: Likewise.
21522         * lib/unistr/u8-strtok.c: Likewise.
21523         * lib/unistr/u8-to-u16.c: Likewise.
21524         * lib/unistr/u8-to-u32.c: Likewise.
21525         * lib/unistr/u8-uctomb-aux.c: Likewise.
21526         * lib/unistr/u8-uctomb.c: Likewise.
21527         * lib/unitypes.h: Likewise.
21528         * lib/uniwidth.h: Likewise.
21529         * lib/uniwidth/cjk.h: Likewise.
21530         * lib/uniwidth/u16-strwidth.c: Likewise.
21531         * lib/uniwidth/u16-width.c: Likewise.
21532         * lib/uniwidth/u32-strwidth.c: Likewise.
21533         * lib/uniwidth/u32-width.c: Likewise.
21534         * lib/uniwidth/u8-strwidth.c: Likewise.
21535         * lib/uniwidth/u8-width.c: Likewise.
21536         * lib/uniwidth/width.c: Likewise.
21537
21538 2007-10-07  Bruno Haible  <bruno@clisp.org>
21539
21540         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
21541         The file is still under LGPL (see modules/inttypes).
21542
21543 2007-10-06  Bruno Haible  <bruno@clisp.org>
21544
21545         * modules/trunc (Dependencies): Add 'extensions'.
21546         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
21547         Reported by Ben Pfaff <blp@gnu.org>.
21548
21549 2007-10-06  Bruno Haible  <bruno@clisp.org>
21550
21551         * modules/freopen-tests: New file.
21552         * tests/test-freopen.c: New file.
21553
21554         * modules/fopen-tests: New file.
21555         * tests/test-fopen.c: New file.
21556
21557         * modules/fopen: New file.
21558         * lib/fopen.c: New file.
21559         * m4/fopen.m4: New file.
21560         * modules/freopen: New file.
21561         * lib/freopen.c: New file.
21562         * m4/freopen.m4: New file.
21563         * lib/stdio.in.h (fopen, freopen): New declarations.
21564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
21565         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
21566         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
21567         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
21568         * doc/functions/fopen.texi: Mention the 'fopen' module.
21569         * doc/functions/freopen.texi: Mention the 'freopen' module.
21570
21571 2007-10-06  Bruno Haible  <bruno@clisp.org>
21572
21573         * modules/open-tests: New file.
21574         * tests/test-open.c: New file.
21575
21576         * modules/open: New file.
21577         * lib/open.c: New file.
21578         * m4/open.m4: New file.
21579         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
21580         lib/open.c does.
21581         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
21582         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
21583         macros.
21584         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
21585         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
21586         REPLACE_OPEN.
21587         * doc/functions/open.texi: Mention the 'open' module.
21588
21589 2007-10-04  Bruno Haible  <bruno@clisp.org>
21590
21591         * modules/ceill-tests: New file.
21592         * tests/test-ceill.c: New file.
21593
21594         * modules/ceill: New file.
21595         * lib/ceill.c: Replace entire file.
21596         * m4/ceill.m4: New file.
21597         * lib/math.in.h (ceill): Replace declaration.
21598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
21599         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
21600         * doc/functions/ceill.texi: Mention the 'ceill' module.
21601         * modules/mathl (Files): Remove lib/ceill.c.
21602         (Depends-on): Add ceill.
21603
21604 2007-10-04  Bruno Haible  <bruno@clisp.org>
21605
21606         * modules/ceilf-tests: New file.
21607         * tests/test-ceilf.c: New file.
21608
21609         * modules/ceilf: New file.
21610         * lib/ceil.c: New file.
21611         * lib/ceilf.c: New file.
21612         * m4/ceilf.m4: New file.
21613         * lib/math.in.h (ceilf): New declaration.
21614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
21615         HAVE_DECL_CEILF.
21616         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
21617         HAVE_DECL_CEILF.
21618         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
21619
21620 2007-10-04  Bruno Haible  <bruno@clisp.org>
21621
21622         * modules/floorl-tests: New file.
21623         * tests/test-floorl.c: New file.
21624
21625         * modules/floorl: New file.
21626         * lib/floorl.c: Replace entire file.
21627         * m4/floorl.m4: New file.
21628         * lib/math.in.h (floorl): Replace declaration.
21629         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
21630         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
21631         * doc/functions/floorl.texi: Mention the 'floorl' module.
21632         * modules/mathl (Files): Remove lib/floorl.c.
21633         (Depends-on): Add floorl.
21634
21635 2007-10-04  Bruno Haible  <bruno@clisp.org>
21636
21637         * modules/floorf-tests: New file.
21638         * tests/test-floorf.c: New file.
21639
21640         * modules/floorf: New file.
21641         * lib/floor.c: New file.
21642         * lib/floorf.c: New file.
21643         * m4/floorf.m4: New file.
21644         * lib/math.in.h (floorf): New declaration.
21645         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
21646         HAVE_DECL_FLOORF.
21647         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
21648         HAVE_DECL_FLOORF.
21649         * doc/functions/floorf.texi: Mention the 'floorf' module.
21650
21651 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
21652             Bruno Haible  <bruno@clisp.org>
21653
21654         Advertise for the Git server instead of the CVS server.
21655         * doc/gnulib-intro.texi (Steady Development): Mention the Git
21656         repository instead of the CVS one.
21657         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
21658         about all VCS systems generically.
21659         * doc/gnulib.texi (Introduction): Capitalize `Git'.
21660
21661 2007-10-04  Bruno Haible  <bruno@clisp.org>
21662
21663         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
21664         means.
21665         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
21666
21667 2007-10-04  Bruno Haible  <bruno@clisp.org>
21668
21669         * modules/truncl-tests: New file.
21670         * tests/test-truncl.c: New file.
21671
21672         * modules/truncl: New file.
21673         * lib/truncl.c: New file.
21674         * m4/truncl.m4: New file.
21675         * lib/math.in.h (truncl): New declaration.
21676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
21677         HAVE_DECL_TRUNCL.
21678         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
21679         HAVE_DECL_TRUNCL.
21680         * doc/functions/truncl.texi: Mention the 'truncl' module.
21681
21682 2007-10-04  Bruno Haible  <bruno@clisp.org>
21683
21684         * modules/truncf-tests: New file.
21685         * tests/test-truncf.c: New file.
21686
21687         * modules/truncf: New file.
21688         * lib/trunc.c: Make paramerizable through USE_* macros.
21689         * lib/truncf.c: New file.
21690         * m4/truncf.m4: New file.
21691         * lib/math.in.h (truncf): New declaration.
21692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
21693         HAVE_DECL_TRUNCF.
21694         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
21695         HAVE_DECL_TRUNCF.
21696         * doc/functions/truncf.texi: Mention the 'truncf' module.
21697
21698 2007-10-03  Bruno Haible  <bruno@clisp.org>
21699
21700         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
21701         augmentation also for tests modules.
21702         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
21703         * modules/atexit-tests (Makefile.am): Likewise.
21704         * modules/binary-io-tests (Makefile.am): Likewise.
21705         * modules/c-strcase-tests (Makefile.am): Likewise.
21706         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
21707         * modules/canonicalize-tests (Makefile.am): Likewise.
21708         * modules/closein-tests (Makefile.am): Likewise.
21709         * modules/fprintf-posix-tests (Makefile.am): Likewise.
21710         * modules/freadahead-tests (Makefile.am): Likewise.
21711         * modules/fseek-tests (Makefile.am): Likewise.
21712         * modules/fseeko-tests (Makefile.am): Likewise.
21713         * modules/ftell-tests (Makefile.am): Likewise.
21714         * modules/ftello-tests (Makefile.am): Likewise.
21715         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
21716         * modules/isnanl-tests (Makefile.am): Likewise.
21717         * modules/lseek-tests (Makefile.am): Likewise.
21718         * modules/mbscasecmp-tests (Makefile.am): Likewise.
21719         * modules/mbscasestr-tests (Makefile.am): Likewise.
21720         * modules/mbschr-tests (Makefile.am): Likewise.
21721         * modules/mbscspn-tests (Makefile.am): Likewise.
21722         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
21723         * modules/mbspbrk-tests (Makefile.am): Likewise.
21724         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
21725         * modules/mbsrchr-tests (Makefile.am): Likewise.
21726         * modules/mbsspn-tests (Makefile.am): Likewise.
21727         * modules/mbsstr-tests (Makefile.am): Likewise.
21728         * modules/printf-posix-tests (Makefile.am): Likewise.
21729         * modules/snprintf-posix-tests (Makefile.am): Likewise.
21730         * modules/sprintf-posix-tests (Makefile.am): Likewise.
21731         * modules/tsearch-tests (Makefile.am): Likewise.
21732         * modules/uniname/uniname-tests (Makefile.am): Likewise.
21733         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
21734         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
21735         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
21736         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
21737         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
21738         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
21739         * modules/vprintf-posix-tests (Makefile.am): Likewise.
21740         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
21741         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
21742         * modules/xstrtoimax-tests (Makefile.am): Likewise.
21743         * modules/xstrtol-tests (Makefile.am): Likewise.
21744         * modules/xstrtoumax-tests (Makefile.am): Likewise.
21745         * modules/yesno-tests (Makefile.am): Likewise.
21746
21747 2007-10-03  Bruno Haible  <bruno@clisp.org>
21748
21749         * modules/trunc-tests: New file.
21750         * tests/test-trunc.c: New file.
21751
21752         * modules/trunc: New file.
21753         * lib/trunc.c: New file.
21754         * m4/trunc.m4: New file.
21755         * lib/math.in.h (trunc): New declaration.
21756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
21757         HAVE_DECL_TRUNC.
21758         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
21759         HAVE_DECL_TRUNC.
21760         * doc/functions/trunc.texi: Mention the 'trunc' module.
21761
21762 2007-10-03  Bruno Haible  <bruno@clisp.org>
21763
21764         * tests/test-fpending.c: New file, mostly copied
21765         from coreutils/lib/t-fpending.c.
21766         * modules/fpending-tests: New file.
21767
21768 2007-10-03  Bruno Haible  <bruno@clisp.org>
21769
21770         Port the stdio extensions to QNX (untested).
21771         * lib/fseterr.c (fseterr): Add support for QNX.
21772         * lib/fbufmode.c (fbufmode): Likewise.
21773         * lib/freadable.c (freadable): Likewise.
21774         * lib/fwritable.c (fwritable): Likewise.
21775         * lib/freading.c (freading): Likewise.
21776         * lib/fwriting.c (fwriting): Likewise.
21777         * lib/freadahead.c (freadahed): Likewise.
21778         * lib/fpurge.c (fpurge): Likewise.
21779         * lib/fseeko.c (rpl_fseeko): Likewise.
21780
21781 2007-10-03  Bruno Haible  <bruno@clisp.org>
21782             Jim Meyering  <jim@meyering.net>
21783             Eric Blake  <ebb9@byu.net>
21784
21785         * doc/relocatable.texi: Use @command instead of @program.
21786
21787 2007-10-02  Jim Meyering  <jim@meyering.net>
21788
21789         Perform one more "_.h" -> ".in.h" substitution.
21790         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
21791         instead of unistd_.h here, too.
21792
21793 2007-10-01  Bruno Haible  <bruno@clisp.org>
21794
21795         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
21796         Needed for the alloca-opt module.
21797
21798 2007-09-30  Bruno Haible  <bruno@clisp.org>
21799
21800         * lib/alloca.in.h: Renamed from lib/alloca_.h.
21801         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
21802         alloca_.h.
21803         * lib/argz.in.h: Renamed from lib/argz_.h.
21804         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
21805         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
21806         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
21807         byteswap_.h.
21808         * lib/dirent.in.h: Renamed from lib/dirent_.h.
21809         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
21810         dirent_.h.
21811         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
21812         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
21813         fcntl_.h.
21814         * lib/float.in.h: Renamed from lib/float_.h.
21815         * modules/float (Files, Makefile.am): Use float.in.h instead of
21816         float_.h.
21817         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
21818         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
21819         fnmatch_.h.
21820         * lib/getopt.in.h: Renamed from lib/getopt_.h.
21821         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
21822         getopt_.h.
21823         * lib/glob.in.h: Renamed from lib/glob_.h.
21824         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
21825         * lib/iconv.in.h: Renamed from lib/iconv_.h.
21826         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
21827         iconv_.h.
21828         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
21829         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
21830         inttypes_.h.
21831         * lib/locale.in.h: Renamed from lib/locale_.h.
21832         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
21833         locale_.h.
21834         * lib/math.in.h: Renamed from lib/math_.h.
21835         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
21836         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
21837         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
21838         of netinet_in_.h. Add dependency.
21839         * lib/poll.in.h: Renamed from lib/poll_.h.
21840         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
21841         * lib/search.in.h: Renamed from lib/search_.h.
21842         * modules/search (Files, Makefile.am): Use search.in.h instead of
21843         search_.h.
21844         * lib/signal.in.h: Renamed from lib/signal_.h.
21845         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
21846         _signal.h.
21847         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
21848         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
21849         stdbool_.h.
21850         * lib/stdint.in.h: Renamed from lib/stdint_.h.
21851         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
21852         stdint_.h.
21853         * lib/stdio.in.h: Renamed from lib/stdio_.h.
21854         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
21855         stdio_.h.
21856         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
21857         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
21858         stdlib_.h.
21859         * lib/string.in.h: Renamed from lib/string_.h.
21860         * modules/string (Files, Makefile.am): Use string.in.h instead of
21861         string_.h.
21862         * doc/gnulib-tool.texi (Initial import): Update.
21863         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
21864         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
21865         of sys_select_.h. Add dependency.
21866         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
21867         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
21868         of sys_socket_.h.
21869         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
21870         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
21871         sys_stat_.h.
21872         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
21873         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
21874         sys_time_.h.
21875         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
21876         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
21877         sysexits_.h.
21878         * lib/time.in.h: Renamed from lib/time_.h.
21879         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
21880         * lib/unistd.in.h: Renamed from lib/unistd_.h.
21881         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
21882         unistd_.h.
21883         * lib/wchar.in.h: Renamed from lib/wchar_.h.
21884         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
21885         wchar_.h.
21886         * lib/wctype.in.h: Renamed from lib/wctype_.h.
21887         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
21888         wctype_.h.
21889         * build-aux/bootstrap (slurp): Update.
21890         * lib/.cppi-disable: Update.
21891
21892 2007-09-30  Bruno Haible  <bruno@clisp.org>
21893
21894         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
21895         Needed on BeOS.
21896
21897 2007-09-30  Bruno Haible  <bruno@clisp.org>
21898
21899         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
21900
21901 2007-09-29  Bruno Haible  <bruno@clisp.org>
21902
21903         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
21904
21905 2007-09-29  Bruno Haible  <bruno@clisp.org>
21906
21907         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
21908         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
21909         * build-aux/install-reloc: Compile also areadlink.c.
21910         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
21911
21912 2007-09-29  Bruno Haible  <bruno@clisp.org>
21913
21914         * gnulib-tool (func_emit_initmacro_done): Indentation.
21915
21916 2007-09-29  Bruno Haible  <bruno@clisp.org>
21917
21918         * README: Add CVS checkout update instructions.
21919         Info from Bob Proulx <bob@proulx.com>.
21920
21921 2007-09-28  Eric Blake  <ebb9@byu.net>
21922
21923         Provide move-if-change.
21924         * build-aux/move-if-change: New file, based on best practice
21925         rather than any canonical upstream location.
21926
21927 2007-09-28  Jim Meyering  <jim@meyering.net>
21928
21929         Fix canonicalize loop-detection corner case.
21930         Do not attempt to stat the symlink values stored via seen_triple.
21931         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
21932         on linux-2.6.18, (but not 2.6.22).
21933         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
21934         triple_compare.  The former compares dev,ino,filename, while the latter
21935         would actually stat dirname(filename) when dev and ino were equal.
21936         * lib/hash-triple.c: Install <string.h>.
21937         (STREQ): Define.
21938         (triple_compare_ino_str): New function.
21939         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
21940
21941 2007-09-28  Eric Blake  <ebb9@byu.net>
21942
21943         Enforce that AC_REPLACE_FUNCS files exist.
21944         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
21945         override check for typos.
21946
21947         Fix test-closein on Solaris 10.
21948         * tests/test-closein.c (main): Don't assume stdin can be inherited
21949         closed on all systems.
21950         * tests/test-closein.sh: Likewise.
21951         Reported by Piotr Tarnowski.
21952
21953 2007-09-28  Jim Meyering  <jim@meyering.net>
21954
21955         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
21956
21957 2007-09-27  Jim Meyering  <jim@meyering.net>
21958
21959         canonicalize: Avoid a false-positive cycle failure.
21960         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
21961         Sort.  Remove cycle-check.
21962         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
21963         not cycle-check.h.
21964         (seen_triple): New function.
21965         (canonicalize_filename_mode): Use it instead of cycle-check.
21966         * tests/test-canonicalize.c: Add a test for this bug.
21967         * tests/test-canonicalize.sh: Set up and run the test.
21968
21969         New module, file-set, from coreutils.
21970         * modules/file-set: Define it.
21971         * lib/file-set.c, lib/file-set.h: Implement.
21972
21973         New module, hash-triple, from coreutils.
21974         * modules/hash-triple: Define it.
21975         * lib/hash-triple.c, lib/hash-triple.h: Implement.
21976
21977 2007-09-25  Eric Blake  <ebb9@byu.net>
21978
21979         Fix strerror on Interix.
21980         * lib/string_.h (strerror): Declare replacement.
21981         * doc/functions/strerror.texi (strerror): Document the Interix
21982         shortcoming.
21983         * modules/string (Makefile.am): Support new hooks.
21984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
21985         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
21986         gl_FUNC_STRERROR_SEPARATE.
21987         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
21988         * lib/strerror.c (rpl_strerror): Provide replacement.
21989         * modules/strerror (Depends-on): Add string.
21990         (configure.ac): Detect use of module.
21991         * tests/test-strerror.c: New file.
21992         * modules/strerror-tests: New test module.
21993         * modules/argp (Depends-on): Add strerror.
21994         * modules/error (Depends-on): Likewise.
21995         Reported by Martin Koeppe.
21996
21997 2007-09-24  Bruno Haible  <bruno@clisp.org>
21998
21999         * README: Update git instructions.
22000
22001 2007-09-24  Eric Blake  <ebb9@byu.net>
22002
22003         Revert fpending breakage from 2007-09-08.
22004         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
22005         __fpending.c.
22006
22007 2007-09-24  Jim Meyering  <jim@meyering.net>
22008
22009         filenamecat.c: Add a test.
22010         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
22011         showing how the function works when DIR is the empty string.
22012
22013 2007-09-21  Simon Josefsson  <simon@josefsson.org>
22014
22015         * tests/test-canonicalize.sh: Turn on executable bit.
22016
22017 2007-09-19  Eric Blake  <ebb9@byu.net>
22018
22019         * README: Update CVS instructions.
22020
22021 2007-09-18  Bruno Haible  <bruno@clisp.org>
22022
22023         * modules/areadlink: New file.
22024         * lib/areadlink.h (areadlink): New declaration.
22025         * lib/areadlink.c: New file, based on lib/xreadlink.c.
22026
22027 2007-09-17  Jim Meyering  <jim@meyering.net>
22028
22029         * lib/savewd.c (ESTALE) [!defined]: Define.
22030         Reported to be required on Interix by Martin Koeppe.
22031
22032 2007-09-17  Bruno Haible  <bruno@clisp.org>
22033
22034         * gnulib-tool (func_version): Use $version.
22035
22036 2007-09-16  Bruno Haible  <bruno@clisp.org>
22037
22038         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
22039         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
22040         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
22041         Reported by Greg Schafer <gschafer@zip.com.au>.
22042
22043 2007-09-15  Bruno Haible  <bruno@clisp.org>
22044
22045         * gnulib-tool (sed): Try a little harder to make bash understand the
22046         alias.
22047         Reported by Bruce Korb <bruce.korb@gmail.com>.
22048
22049 2007-09-13  Eric Blake  <ebb9@byu.net>
22050
22051         * ChangeLog: Remove conflict markers.
22052
22053 2007-09-13  Simon Josefsson  <simon@josefsson.org>
22054
22055         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
22056         Reported by Bruno Haible <bruno@clisp.org>.
22057
22058 2007-09-12  Bruno Haible  <bruno@clisp.org>
22059
22060         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
22061         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
22062         is not defined.
22063
22064 2007-09-12  Eric Blake  <ebb9@byu.net>
22065
22066         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
22067         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
22068         Autoconf definition.
22069         * modules/euidaccess (Depends-on): Add extensions, for
22070         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
22071         * modules/fnmatch (Depends-on): Likewise.
22072         * modules/getaddrinfo (Depends-on): Likewise.
22073         * modules/getdelim (Depends-on): Likewise.
22074         * modules/getline (Depends-on): Likewise.
22075         * modules/getsubopt (Depends-on): Likewise.
22076         * modules/gettext (Depends-on): Likewise.
22077         * modules/group-member (Depends-on): Likewise.
22078         * modules/mbchar (Depends-on): Likewise.
22079         * modules/memmem (Depends-on): Likewise.
22080         * modules/mempcpy (Depends-on): Likewise.
22081         * modules/memrchr (Depends-on): Likewise.
22082         * modules/pagealign_alloc (Depends-on): Likewise.
22083         * modules/readutmp (Depends-on): Likewise.
22084         * modules/stpcpy (Depends-on): Likewise.
22085         * modules/stpncpy (Depends-on): Likewise.
22086         * modules/strchrnul (Depends-on): Likewise.
22087         * modules/strndup (Depends-on): Likewise.
22088         * modules/strsep (Depends-on): Likewise.
22089         * modules/strverscmp (Depends-on): Likewise.
22090         * modules/vasprintf (Depends-on): Likewise.
22091         * modules/wcwidth (Depends-on): Likewise.
22092         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
22093         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
22094         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
22095         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
22096         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22097         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22098         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
22099         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
22100         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
22101         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
22102         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22103         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
22104         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
22105         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22106         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
22107         * m4/readutmp.m4 (gl_READUTMP): Likewise.
22108         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
22109         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
22110         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22111         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
22112         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
22113         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
22114         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
22115         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
22116         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
22117         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22118         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
22119         so that lock.m4 can be used in gettext without extensions module.
22120
22121 2007-09-11  Bruno Haible  <bruno@clisp.org>
22122
22123         * m4/isc-posix.m4: Remove file.
22124         Suggested by Eric Blake.
22125
22126 2007-09-11  Eric Blake  <ebb9@byu.net>
22127
22128         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
22129
22130 2007-09-10  Bruno Haible  <bruno@clisp.org>
22131
22132         * posix-modules: Fix typo in error message.
22133         Reported by Matt <mkraai@beckman.com>.
22134
22135 2007-09-09  Bruno Haible  <bruno@clisp.org>
22136
22137         * doc/functions/getdelim.texi: Update list of platforms lacking the
22138         function.
22139         * doc/functions/getline.texi: Likewise.
22140
22141 2007-09-09  Jim Meyering  <jim@meyering.net>
22142
22143         * lib/hash.c (hash_initialize): Detect calloc failure.
22144         Reported by Bruno Haible.
22145
22146 2007-09-09  Bruno Haible  <bruno@clisp.org>
22147
22148         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
22149         malloc or realloc fails.
22150
22151 2007-09-09  Bruno Haible  <bruno@clisp.org>
22152
22153         * modules/getcwd (Depends-on): Add malloc-posix.
22154         * modules/glob (Depends-on): Likewise.
22155         * modules/putenv (Depends-on): Likewise.
22156         * modules/strdup (Depends-on): Likewise.
22157         * modules/getdelim (Depends-on): Add realloc-posix.
22158         * modules/read-file (Depends-on): Likewise.
22159
22160 2007-09-09  Bruno Haible  <bruno@clisp.org>
22161
22162         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
22163         (gl_FUNC_MALLOC_POSIX): Require it.
22164         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
22165         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
22166         * modules/realloc (Files): Add m4/malloc.m4.
22167         * modules/calloc (Files): Likewise.
22168
22169 2007-09-09  Bruno Haible  <bruno@clisp.org>
22170
22171         * modules/malloc-posix: New file.
22172         * modules/malloc (Depends-on): Add malloc-posix.
22173         * lib/malloc.c: Include errno.h.
22174         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
22175         and a POSIX-compatible malloc into a single function. Set ENOMEM
22176         when returning NULL.
22177         * m4/malloc.m4: New file.
22178         * doc/functions/malloc.texi: Mention the malloc-posix module.
22179         * lib/stdlib_.h (malloc): New declaration.
22180         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22181         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
22182         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
22183         and HAVE_MALLOC_POSIX.
22184
22185 2007-09-09  Bruno Haible  <bruno@clisp.org>
22186
22187         * modules/realloc-posix: New file.
22188         * modules/realloc (Depends-on): Add realloc-posix.
22189         * lib/realloc.c: Include errno.h.
22190         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
22191         and a POSIX-compatible realloc into a single function. Set ENOMEM
22192         when returning NULL.
22193         * m4/realloc.m4: New file.
22194         * doc/functions/realloc.texi: Mention the realloc-posix module.
22195         * lib/stdlib_.h (realloc): New declaration.
22196         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22197         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
22198         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
22199         and HAVE_REALLOC_POSIX.
22200
22201 2007-09-09  Bruno Haible  <bruno@clisp.org>
22202
22203         * modules/calloc-posix: New file.
22204         * modules/calloc (Depends-on): Add calloc-posix.
22205         * lib/calloc.c: Include errno.h.
22206         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
22207         and a POSIX-compatible calloc into a single function. Set ENOMEM
22208         when returning NULL.
22209         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
22210         * doc/functions/calloc.texi: Mention the calloc-posix module.
22211         * lib/stdlib_.h (calloc): New declaration.
22212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22213         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
22214         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
22215         and HAVE_CALLOC_POSIX.
22216
22217 2007-09-09  Bruno Haible  <bruno@clisp.org>
22218
22219         Allow for modules to show an arbitrary notice.
22220         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
22221         * gnulib-tool: New option --extract-notice.
22222         (func_usage): Document it.
22223         (sed_extract_prog): Update.
22224         (func_get_notice): New function.
22225         (func_modules_notice): New function.
22226         (func_import, func_create_testdir): Invoke it.
22227         Suggested by Jim Meyering.
22228
22229 2007-09-09  Bruno Haible  <bruno@clisp.org>
22230
22231         * gnulib-tool: New options --verbose, --quiet.
22232         (func_usage): Document them.
22233         (verbose): New variable.
22234         (func_execute_command): New function.
22235         (func_import): Don't show the module list and the file list if
22236         $verbose < 0.
22237         (func_create_testdir): Likewise. Use func_execute_command.
22238         (func_create_megatestdir): Use func_execute_command.
22239
22240 2007-09-08  Bruno Haible  <bruno@clisp.org>
22241
22242         * gnulib-tool (func_import): Prefer rsync over wget when available,
22243         for fetching the PO files.
22244
22245 2007-09-08  Bruno Haible  <bruno@clisp.org>
22246
22247         * posix-modules: New file. Portions copied from gnulib-tool.
22248         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
22249
22250 2007-09-08  Jim Meyering  <jim@meyering.net>
22251
22252         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
22253         * lib/fpending.h: Rename from __fpending.h.
22254         * lib/fpending.c: Rename from __fpending.c.
22255         Include "fpending.h", not "__fpending.h".
22256         * lib/__fpending.h, lib/__fpending.c: Remove files.
22257         * modules/fpending (Files): Reflect new file names.
22258         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
22259
22260 2007-09-08  Bruno Haible  <bruno@clisp.org>
22261
22262         * m4/inttypes-h.m4: Remove stub file.
22263
22264 2007-09-07  Simon Josefsson  <simon@josefsson.org>
22265
22266         * doc/headers/stdint.texi: Discuss #include_next issue.
22267
22268 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22269
22270         * build-aux/bootstrap: Remove obsolete comment about wget --help.
22271
22272 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22273
22274         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
22275         in variable name.
22276
22277 2007-09-03  Jim Meyering  <jim@meyering.net>
22278
22279         New module: git-version-gen.
22280         * modules/git-version-gen: New file.
22281
22282         Import changes from coreutils for bootstrap script.
22283
22284         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
22285
22286         bootstrap: uses rsync to download the .po files
22287         * build-aux/bootstrap (po_download_command_format): New global.
22288         (download_po_files): Use rsync.
22289         (update_po_files): Don't remove .po files after download,
22290         so future rsync runs can take advantage of the copies.
22291
22292         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
22293
22294         Solve the unnecessary-.po-file-regeneration problem once and for all.
22295         * build-aux/bootstrap (download_po_files): New function, renamed from
22296         get_translations.  Now, downloads, but doesn't update LINGUAS.
22297         (update_po_files): New function.
22298
22299         bootstrap: Ignore more.
22300         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
22301         uniwidth to e.g., lib/.gitignore.
22302         (slurp): Handle the sys_stat_.h -> sys mapping, too.
22303
22304         * build-aux/bootstrap: New setting: vc_ignore.
22305         (insert_sorted_if_absent): Create $file if absent.
22306         Adapt to new, possibly empty, list: $vc_ignore.
22307
22308         bootstrap: generate more ignorable names
22309         * build-aux/bootstrap (slurp): When generating ignorable names,
22310         also map .sin to .sed, .gperf to .c, and .y to .c.
22311
22312 2007-09-03  Jim Meyering  <jim@meyering.net>
22313
22314         * build-aux/git-version-gen: New file, from coreutils.  For details, see
22315         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
22316
22317 2007-09-02  Bruno Haible  <bruno@clisp.org>
22318
22319         Fix mis-recognition of 'mcs' on QNX 6.
22320         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
22321         output contains the string "Mono".
22322         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
22323         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
22324
22325 2007-09-01  Bruno Haible  <bruno@clisp.org>
22326
22327         Fix collision between uniwidth/* and linebreak modules.
22328         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
22329         u32_width): Remove declarations.
22330         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
22331         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
22332         streq3, streq2, streq1, streq0): Remove functions.
22333         (STREQ): Remove macro.
22334         (is_cjk_encoding): Remove function.
22335         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
22336         (uc_width, u8_width, u16_width, u32_width): Remove functions.
22337         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
22338         * NEWS: Document the change.
22339
22340 2007-09-01  Bruno Haible  <bruno@clisp.org>
22341
22342         * lib/streq.h: Add double-inclusion guard.
22343
22344 2007-09-01  Karl Berry  <karl@gnu.org>
22345
22346         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
22347
22348 2007-08-28  Jim Meyering  <jim@meyering.net>
22349
22350         Rename mreadlink_with_size to areadlink_with_size.
22351         * NEWS: Document the change.
22352         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
22353         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
22354         * lib/mreadlink.h: Rename this to...
22355         * lib/areadlink.h: ...this.
22356         * modules/mreadlink-with-size: Rename this to...
22357         * modules/areadlink-with-size: ...this.
22358         * lib/canonicalize.c: Reflect the renaming.
22359         * modules/canonicalize: Likewise.
22360
22361 2007-08-26  Bruno Haible  <bruno@clisp.org>
22362
22363         * gnulib-tool (func_import): When deciding which files to remove,
22364         consider also dangling symbolic links.
22365         Reported by Eric Blake.
22366
22367 2007-08-26  Bruno Haible  <bruno@clisp.org>
22368
22369         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
22370
22371 2007-08-23  Simon Josefsson  <simon@josefsson.org>
22372
22373         * lib/readline.c: Don't include getline.h, the prototype is now
22374         found in stdio.h.
22375
22376 2007-08-23  Jim Meyering  <jim@meyering.net>
22377
22378         Getdelim touchup.
22379         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
22380         around the funlockfile call, since funlockfile never sets errno.
22381         Don't set errno upon failed realloc.
22382
22383 2007-08-22  Eric Blake  <ebb9@byu.net>
22384
22385         Getline touchups.
22386         * lib/getdelim.c (getdelim): Revert regression that required *n to
22387         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
22388         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
22389         getdelim, rather than whether implementation is missing.
22390         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
22391         * lib/stdio_.h (getline): Also declare if replacement is
22392         required.
22393         * doc/functions/getdelim.texi: New file.
22394         * doc/functions/getline.texi: Likewise.
22395         * doc/gnulib.texi (Function Substitutes): Add new files.
22396         Reported by Bruno Haible.
22397
22398 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
22399
22400         * users.txt: Add Guile.
22401
22402 2007-08-22  Eric Blake  <ebb9@byu.net>
22403
22404         * tests/test-getdelim.c (main): Use remove, not unlink.
22405         * tests/test-getline.c (main): Likewise.
22406
22407         Move getline and getdelim into stdio.h, per POSIX 200x.
22408         * modules/getline (Files): Remove getline.h.
22409         (Depends-on): Add stdio.
22410         (configure.ac): Add module indicator.
22411         * modules/getdelim (Files): Remove getdelim.h.
22412         (Depends-on): Add stdio.
22413         (configure.ac): Add module indicator.
22414         * modules/stdio (Makefile.am): Work with new indicators.
22415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
22416         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
22417         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22418         * lib/getdelim.h: Delete.
22419         * lib/getline.h: Delete.
22420         * lib/stdio_.h (getdelim, getline): Declare.
22421         * modules/getdelim-tests: New module.
22422         * modules/getline-tests: Likewise.
22423         * tests/test-getdelim.c: New file.
22424         * tests/test-getline.c: Likewise.
22425         * NEWS: Document the change.
22426         * lib/getline.c: Update choice of header.
22427         * lib/csharpcomp.c: Likewise.
22428         * lib/getpass.c: Likewise.
22429         * lib/javacomp.c: Likewise.
22430         * lib/javaversion.c: Likewise.
22431         * lib/yesno.c: Likewise.
22432         * lib/getdelim.c: Likewise.
22433         (getdelim): Set errno on failure, and avoid memory leak.
22434
22435 2007-08-19  Bruno Haible  <bruno@clisp.org>
22436
22437         * modules/closein (Depends-on): Add freadahead.
22438         * lib/closein.c: Include freadahead.h.
22439         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
22440         is zero.
22441
22442 2007-08-19  Bruno Haible  <bruno@clisp.org>
22443
22444         * modules/freadahead-tests: New file.
22445         * tests/test-freadahead.sh: New file.
22446         * tests/test-freadahead.c: New file.
22447
22448         * modules/freadahead: New file.
22449         * lib/freadahead.h: New file.
22450         * lib/freadahead.c: New file.
22451         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
22452         fbufmode, fpurge, freadable, fwritable.
22453
22454 2007-08-19  Eric Blake  <ebb9@byu.net>
22455
22456         Test yesno in combination with closein.
22457         * lib/yesno.c (yesno): Document use of stdin.
22458         * modules/yesno-tests (Files): New module.
22459         * tests/test-yesno.c (main): New file.
22460         * tests/test-yesno.sh: Likewise.
22461
22462 2007-08-19  Bruno Haible  <bruno@clisp.org>
22463
22464         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
22465         * lib/fseeko.c (rpl_fseeko): Likewise.
22466         * lib/fseterr.c (fseterr): Likewise.
22467
22468 2007-08-19  Bruno Haible  <bruno@clisp.org>
22469
22470         * tests/test-lseek.c (main): Disable a test for BeOS.
22471         * doc/functions/lseek.texi: Document the BeOS bug.
22472
22473 2007-08-19  Bruno Haible  <bruno@clisp.org>
22474             Eric Blake  <ebb9@byu.net>
22475
22476         * lib/lseek.c: Include <sys/stat.h>.
22477         (rpl_lseek): Add workaround code also for Unix platforms.
22478         Needed for BeOS.
22479         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
22480         * doc/functions/lseek.texi: Document BeOS definiency.
22481
22482 2007-08-18  Bruno Haible  <bruno@clisp.org>
22483
22484         * modules/fstrcmp-tests: New file.
22485         * tests/test-fstrcmp.c: New file.
22486
22487 2007-08-18  Bruno Haible  <bruno@clisp.org>
22488
22489         * modules/fstrcmp: New file, from GNU gettext with modifications.
22490         * lib/fstrcmp.h: New file, from GNU gettext.
22491         * lib/fstrcmp.c: New file, from GNU gettext.
22492         * MODULES.html.sh (String handling): Add fstrcmp.
22493
22494 2007-08-18  Bruno Haible  <bruno@clisp.org>
22495
22496         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
22497         'bool'.
22498         (diag, compareseq): Remove const from the ctxt argument.
22499         (USE_HEURISTIC): Undefine at the end.
22500
22501 2007-08-18  Jim Meyering  <jim@meyering.net>
22502
22503         New file: lib/idcache.h
22504         * NEWS: Mention the addition.
22505         * modules/idcache (Files): Add lib/idcache.h
22506         * lib/idcache.c: Include "idcache.h".
22507         Don't include <sys/types.h>.
22508         Add a FIXME comment.
22509         Move file-scoped "static" declarations to the top.
22510         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
22511
22512 2007-08-17  Bruno Haible  <bruno@clisp.org>
22513         and Paul Eggert  <eggert@cs.ucla.edu>
22514
22515         * MODULES.html.sh: Add diffseq.
22516         * modules/diffseq: New file.
22517         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
22518         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
22519
22520 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22521
22522         Import changes from coreutils for bootstrap script.
22523
22524         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
22525
22526         * build-aux/bootstrap (slurp): Work even in environments where
22527         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
22528         current code does not slurp files whose names start with ".", and
22529         this looks like it might be a troublesome area.
22530
22531         2007-07-11  Jim Meyering  <jim@meyering.net>
22532
22533         If there's a GPL vN copyright comment, require that N == 3.
22534
22535         2007-07-08  Jim Meyering  <jim@meyering.net>
22536
22537         Run the coreutils-specific code only if tests/Makefile.am.in exists.
22538         * build-aux/bootstrap (mam_template): Move definition out of loop.
22539
22540         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
22541
22542         * build-aux/bootstrap (symlink_to_dir): Rename function from
22543         symlink_to_gnulib.  Add a directory parameter.  Update all
22544         callers.
22545         (cp_mark_as_generated): Also check for -- and link to -- files in
22546         gl/.
22547
22548         2007-07-08  Jim Meyering  <jim@meyering.net>
22549
22550         Adapt to deeper hierarchy in gnulib.
22551         * build-aux/bootstrap (symlink_to_dir): If the destination
22552         directory doesn't exist, create it. This is required at least for
22553         "lib/uniwidth/cjk.h".
22554
22555         2007-05-15  Jim Meyering  <jim@meyering.net>
22556
22557         * build-aux/bootstrap: Now that generated Makefile.am files
22558         are no longer under version control, they must be created at
22559         bootstrap time.
22560
22561 2007-08-14  Ben Pfaff  <blp@gnu.org>
22562
22563         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
22564
22565 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22566
22567         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
22568         given the changes below.
22569         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
22570         even on hosts that have padding bits beyond the supported 64.
22571
22572 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22573
22574         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
22575         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
22576         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
22577         depends on it.
22578         (xstrtol_error): Remove.
22579         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
22580         but with a different signature.
22581         (ATTRIBUTE_NORETURN, __attribute__): New macros.
22582         * lib/xstrtol-error.c: Include exitfail.h.
22583         (xstrtol_fatal): New function, with a different signature from the
22584         old xstrtol_error, so that the caller need not worry about passing
22585         in an exit status, or about storage management of the option argument.
22586         (xstrtol_error): Now a static function.  Redo signature to
22587         implement xstrtol_fatal.  Output the correct number of hyphens in
22588         front of the option so that the caller need not worry about
22589         storage management.
22590         (N_): New macro.
22591         (_): Remove; not used now.
22592         * modules/xstrtol: Depend on getopt.
22593         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
22594         of old STRTOL_FATAL_ERROR macro.
22595         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
22596         of test program.
22597         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
22598         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
22599
22600 2007-08-08  Eric Blake  <ebb9@byu.net>
22601
22602         * lib/xstrtol-error.c: Add missing include.
22603
22604         Move xstrtol messages into gnulib domain, when --pobase is used.
22605         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
22606         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
22607         * modules/xstrtol (Files): Distribute new file.
22608         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
22609         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
22610         * tests/test-xstrtol.c: ...into new file.
22611         * tests/test-xstrtoul.c: Also test xstrtoul.
22612         * tests/test-xstrtoimax.c: Also test xstrtoimax.
22613         * tests/test-xstrtoumax.c: Also test xstrtoumax.
22614         * tests/test-xstrtol.sh: Drive the tests.
22615         * tests/test-xstrtoimax.sh: Likewise.
22616         * tests/test-xstrtoumax.sh: Likewise.
22617         * modules/xstrtol-tests: New module.
22618         * modules/xstrtoimax-tests: Likewise.
22619         * modules/xstrtoumax-tests: Likewise.
22620
22621 2007-08-08  Jim Meyering  <jim@meyering.net>
22622
22623         New function: mfile_name_concat.
22624         * lib/filenamecat.c (mfile_name_concat): New function, just like
22625         file_name_concat, but return NULL upon failure rather than exiting
22626         with a diagnostic.
22627         * lib/filenamecat.h: Declare it.
22628
22629 2007-08-07  Bruno Haible  <bruno@clisp.org>
22630
22631         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
22632         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
22633         warning from gcc.
22634         Reported by Eric Blake.
22635
22636 2007-08-07  Simon Josefsson  <simon@josefsson.org>
22637
22638         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
22639         * modules/crypto/arcfour (License): Likewise.
22640         * modules/crypto/des-tests (License): Likewise.
22641         * modules/crypto/gc-arctwo-tests (License): Likewise.
22642         * modules/crypto/gc-des-tests (License): Likewise.
22643         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
22644         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
22645         * modules/crypto/gc-md2-tests (License): Likewise.
22646         * modules/crypto/gc-md4-tests (License): Likewise.
22647         * modules/crypto/gc-md5-tests (License): Likewise.
22648         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
22649         * modules/crypto/gc-rijndael-tests (License): Likewise.
22650         * modules/crypto/gc-sha1-tests (License): Likewise.
22651         * modules/crypto/gc-tests (License): Likewise.
22652         * modules/crypto/hmac-md5 (License): Likewise.
22653         * modules/crypto/hmac-sha1 (License): Likewise.
22654         * modules/crypto/md2-tests (License): Likewise.
22655         * modules/crypto/md4-tests (License): Likewise.
22656         * modules/crypto/md5 (License): Likewise.
22657         * modules/crypto/rijndael (License): Likewise.
22658         * modules/crypto/sha1 (License): Likewise.
22659         * modules/memxor (License): Likewise.
22660
22661 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22662         and Bruno Haible  <bruno@clisp.org>
22663
22664         * NEWS: Describe interface changes to human, xstrtol.
22665         * lib/human.h: Include <xstrtol.h>.
22666         (human_options): Return enum strtol_error, not int.  Remove
22667         bool arg; take int * instead.
22668         * lib/human.c: Don't include "gettext.h".
22669         (_): Remove; no longer used.
22670         Don't include <xstrtol.h>, since human.h does it.
22671         (human_options): Adjust to abovementioned interface changes.
22672         Do not report error to stderr; that's now the caller's
22673         responsibility.
22674         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
22675         interface change.
22676         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
22677         Str, Argument_type_string.  All uses changed.  Put " argument"
22678         in diagnostics to make them clearer.  Change wording of suffix
22679         message for clarity.
22680         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
22681         Argument_type_string.
22682         (STRTOL_FATAL_WARN): Remove; no longer used.
22683         * modules/human (Depends-on): Remove gettext-h.
22684
22685 2007-08-06  Simon Josefsson  <simon@josefsson.org>
22686
22687         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
22688
22689 2007-07-31  Bruno Haible  <bruno@clisp.org>
22690
22691         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
22692         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
22693         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
22694
22695 2007-07-31  Bruno Haible  <bruno@clisp.org>
22696
22697         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
22698         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
22699
22700 2007-07-30  Bruno Haible  <bruno@clisp.org>
22701
22702         * modules/base64 (License): Use the synonymous term "LGPLv2+".
22703         * modules/c-ctype (License): Likewise.
22704         * modules/c-strcase (License): Likewise.
22705         * modules/check-version (License): Likewise.
22706         * modules/iconv (License): Likewise.
22707         * modules/iconv_open (License): Likewise.
22708         * modules/read-file (License): Likewise.
22709         * modules/striconv (License): Likewise.
22710         * modules/strverscmp (License): Likewise.
22711         * modules/vasprintf (License): Likewise.
22712         * modules/crypto/des (License): Likewise.
22713         * modules/crypto/gc (License): Likewise.
22714         * modules/crypto/gc-arcfour (License): Likewise.
22715         * modules/crypto/gc-arctwo (License): Likewise.
22716         * modules/crypto/gc-des (License): Likewise.
22717         * modules/crypto/gc-hmac-md5 (License): Likewise.
22718         * modules/crypto/gc-hmac-sha1 (License): Likewise.
22719         * modules/crypto/gc-md2 (License): Likewise.
22720         * modules/crypto/gc-md4 (License): Likewise.
22721         * modules/crypto/gc-md5 (License): Likewise.
22722         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
22723         * modules/crypto/gc-random (License): Likewise.
22724         * modules/crypto/gc-rijndael (License): Likewise.
22725         * modules/crypto/gc-sha1 (License): Likewise.
22726         * modules/crypto/md2 (License): Likewise.
22727         * modules/crypto/md4 (License): Likewise.
22728
22729 2007-07-30  Jim Meyering  <jim@meyering.net>
22730
22731         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
22732         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
22733         it has valid stat data.  This bug would cause du not to count the
22734         sizes of inaccessible directories.
22735         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
22736         in <http://bugzilla.redhat.com/250077>.
22737
22738 2007-07-25  Peter O'Gorman  <peter@pogma.com>
22739             Bruno Haible  <bruno@clisp.org>
22740
22741         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
22742         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
22743         #include_next, gives a diagnostic about it, but reports no error in
22744         the exit code.
22745         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
22746
22747 2007-07-24  Ben Pfaff  <blp@gnu.org>
22748
22749         Improve name: "count-one-bits" is better than "popcount".
22750         * MODULES.html.sh: Update name.
22751         * lib/popcount.h: Renamed lib/count-one-bits.h.
22752         (popcount): Renamed count_one_bits.
22753         (popcountl): Renamed count_one_bits_l.
22754         (popcountll): Renamed count_one_bits_ll.
22755         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
22756         * modules/popcount: Renamed module/count-one-bits.
22757         * modules/popcount-tests: Renamed module/count-one-bits-tests.
22758         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
22759
22760 2007-07-23  Ben Pfaff  <blp@gnu.org>
22761
22762         * lib/popcount.h (popcount32): Reduce size of constants, to allow
22763         better code generation, and add U to large constants to avoid
22764         warnings, in non-GCC case.
22765         Suggested by Bruno Haible.
22766
22767 2007-07-23  Ben Pfaff  <blp@gnu.org>
22768
22769         * lib/popcount.h: Use verify_true instead of if...abort.
22770         * modules/popcount: Depend on verify module.
22771         Suggested by Jim Meyering.
22772
22773 2007-07-23  Bruno Haible  <bruno@clisp.org>
22774
22775         * gnulib-tool (func_import): Create a .cvsignore file also when the
22776         directory is not yet in CVS but the toplevel directory is. When
22777         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
22778         Reported by Karl Berry.
22779
22780 2007-07-22  Ben Pfaff  <blp@gnu.org>
22781
22782         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
22783         case.
22784         Suggested by Eric Blake.
22785
22786 2007-07-22  Ben Pfaff  <blp@gnu.org>
22787
22788         New module: popcount.
22789         * MODULES.html.sh: Add popcount.
22790         * modules/popcount: New file.
22791         * modules/popcount-tests: New file.
22792         * tests/test-popcount.c: New file.
22793         * lib/popcount.h: New file.
22794         * m4/popcount.m4: New file.
22795
22796 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
22797
22798         * build-aux/announce-gen: Update to GPLv3.
22799
22800         * build-aux/config.guess: Update from config.
22801
22802 2007-07-21  Bruno Haible  <bruno@clisp.org>
22803
22804         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
22805         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
22806
22807 2007-07-20  Jim Meyering  <jim@meyering.net>
22808
22809         * check-module: Diagnose a self-dependency.
22810
22811 2007-07-19  Bruno Haible  <bruno@clisp.org>
22812
22813         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
22814         empty.
22815         Reported by Eric Blake.
22816
22817 2007-07-18  Bruno Haible  <bruno@clisp.org>
22818
22819         * gnulib-tool: New options --po-base, --po-domain.
22820         (func_usage): Document them.
22821         (pobase, po_domain): New variables.
22822         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
22823         DEFAULT_TEXT_DOMAIN.
22824         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
22825         (func_import): Consider pobase and po_domain. Create a po/ directory.
22826         (func_create_testdir): Set pobase and po_domain to empty.
22827         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
22828         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
22829
22830 2007-07-18  Bruno Haible  <bruno@clisp.org>
22831
22832         * gnulib-tool (func_get_automake_snippet): Synthesize also an
22833         EXTRA_DIST augmentation for files in build-aux/.
22834
22835 2007-07-16  Bruno Haible  <bruno@clisp.org>
22836
22837         * modules/lseek (License): Use the synonymous term "LGPLv2+".
22838         * modules/getdelim (License): Likewise.
22839
22840 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22841
22842         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
22843         * modules/d-type (License): Likewise.
22844         * modules/extensions (License): Likewise.
22845         * modules/fnmatch (License): Likewise.
22846         * modules/fseeko (License): Likewise.
22847         * modules/getaddrinfo (License): Likewise.
22848         * modules/getline (License): Likewise.
22849         * modules/getlogin_r (License): Likewise.
22850         * modules/getpass (License): Likewise.
22851         * modules/gettimeofday (License): Likewise.
22852         * modules/glob (License): Likewise.
22853         * modules/inet_ntop (License): Likewise.
22854         * modules/malloc (License): Likewise.
22855         * modules/malloca (License): Likewise.
22856         * modules/memmem (License): Likewise.
22857         * modules/mempcpy (License): Likewise.
22858         * modules/memset (License): Likewise.
22859         * modules/minmax (License): Likewise.
22860         * modules/mktime (License): Likewise.
22861         * modules/netinet_in (License): Likewise.
22862         * modules/pathmax (License): Likewise.
22863         * modules/poll (License): Likewise.
22864         * modules/regex (License): Likewise.
22865         * modules/snprintf (License): Likewise.
22866         * modules/stdbool (License): Likewise.
22867         * modules/stdint (License): Likewise.
22868         * modules/stdio (License): Likewise.
22869         * modules/strcase (License): Likewise.
22870         * modules/strcasestr (License): Likewise.
22871         * modules/strdup (License): Likewise.
22872         * modules/string (License): Likewise.
22873         * modules/strndup (License): Likewise.
22874         * modules/strnlen (License): Likewise.
22875         * modules/strpbrk (License): Likewise.
22876         * modules/strptime (License): Likewise.
22877         * modules/strsep (License): Likewise.
22878         * modules/sys_select (License): Likewise.
22879         * modules/sys_socket (License): Likewise.
22880         * modules/sys_stat (License): Likewise.
22881         * modules/sys_time (License): Likewise.
22882         * modules/time (License): Likewise.
22883         * modules/time_r (License): Likewise.
22884         * modules/timegm (License): Likewise.
22885         * modules/unistd (License): Likewise.
22886         * modules/vsnprintf (License): Likewise.
22887         * modules/wctype (License): Likewise.
22888
22889 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22890
22891         * modules/argz (License): LGPLv2+.
22892
22893 2007-07-15  Karl Berry  <karl@gnu.org>
22894
22895         * doc/gnulib.texi: revise node structure per new fdl.texi.
22896
22897 2007-07-14  Bruno Haible  <bruno@clisp.org>
22898
22899         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
22900         the output file.
22901         * lib/uniname/uninames.h: Regenerated.
22902
22903 2007-07-14  Karl Berry  <karl@gnu.org>
22904
22905         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
22906         omitting sectioning and index commands.
22907
22908 2007-07-13  Bruno Haible  <bruno@clisp.org>
22909
22910         New gnulib-tool option --more-symlinks.
22911         * gnulib-tool (func_usage): Document --more-symlinks.
22912         (do_copyrights): New variable.
22913         Recognize option --more-symlinks.
22914         (func_import): Don't add a copyright notice transform to
22915         sed_transform_lib_file if do_copyrights is empty.
22916
22917 2007-07-13  Bruno Haible  <bruno@clisp.org>
22918
22919         * lib/vasnprintf.c (decimal_point_char): Define also if
22920         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
22921         && !NEED_PRINTF_DIRECTIVE_A.
22922         Reported by Clemens Koller <clemens.koller@anagramm.de> via
22923         Gary V. Vaughan <gary@gnu.org>.
22924
22925 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
22926
22927         * lib/inttypes_.h: Undo previous change, since it was fixed
22928         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
22929
22930 2007-07-13  Bruno Haible  <bruno@clisp.org>
22931
22932         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
22933         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
22934
22935 2007-07-13  Jim Meyering  <jim@meyering.net>
22936
22937         df: Don't fail for Tru64's "file-on-file mount".
22938         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
22939         so we fall through and use statfs instead.  Details here:
22940         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
22941         Reported by Albert Chin.
22942
22943 2007-07-13  Bruno Haible  <bruno@clisp.org>
22944
22945         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
22946         * modules/configmake (License): Likewise.
22947         * modules/gettext (License): Likewise.
22948         * modules/gettext-h (License): Likewise.
22949         * modules/include_next (License): Likewise.
22950         * modules/link-warning (License): Likewise.
22951         * modules/localcharset (License): Likewise.
22952         * modules/localename (License): Likewise.
22953         * modules/lock (License): Likewise.
22954         * modules/relocatable-lib-lgpl (License): Likewise.
22955         * modules/size_max (License): Likewise.
22956         * modules/vasnprintf (License): Likewise.
22957         * modules/wchar (License): Likewise.
22958         * modules/xsize (License): Likewise.
22959
22960 2007-07-13  Bruno Haible  <bruno@clisp.org>
22961
22962         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
22963         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
22964
22965 2007-07-12  Bruno Haible  <bruno@clisp.org>
22966
22967         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
22968         in the modules files.
22969
22970 2007-07-11  Karl Berry  <karl@gnu.org>
22971
22972         * MODULES.html.sh (func_module): use
22973          sed -e '\|^'"${includefile}"'$|d'
22974          instead of /.../d, to avoid errors on $includefile's containing /.
22975
22976 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
22977
22978         * gnulib-tool (func_import): Avoid duplication of --avoid
22979         statements
22980         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
22981         names to `_' in variable names.
22982
22983 2007-07-10  Eric Blake  <ebb9@byu.net>
22984
22985         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
22986         * NEWS: Document this change.
22987
22988 2007-07-08  Bruno Haible  <bruno@clisp.org>
22989
22990         Update to Unicode 5.0.
22991         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
22992         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
22993         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
22994         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
22995         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
22996         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
22997         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
22998         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
22999         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
23000         U+10A3F, U+1D242..U+1D244.
23001         (nonspacing_table_ind): Update.
23002         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
23003         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
23004
23005 2007-07-08  Bruno Haible  <bruno@clisp.org>
23006
23007         Update to Unicode 5.0.
23008         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
23009         code transform. Extend the name index field of unicode_name_to_code and
23010         unicode_code_to_name from 16 to 24 bits.
23011         * lib/uniname/uniname.c (unicode_character_name,
23012         unicode_name_character): Add the range 0x12xxx to the code transform.
23013         * lib/uniname/uninames.h: Regenerated.
23014         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
23015
23016 2007-07-07  Bruno Haible  <bruno@clisp.org>
23017
23018         * modules/wcwidth-tests: New file.
23019         * tests/test-wcwidth.c: New file.
23020
23021         Work around MacOS X wcwidth() bug.
23022         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
23023         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
23024         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
23025         original wcwidth in non-UTF-8 locales.
23026         * modules/wcwidth (Depends-on): Add localcharset, streq,
23027         uniwidth/width.
23028         * doc/functions/wcwidth.texi: Update.
23029
23030 2007-07-07  Bruno Haible  <bruno@clisp.org>
23031
23032         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
23033         (wcwidth): New declaration.
23034         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
23035         macros.
23036         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
23037         here. Prepare for creating <wchar.h> unconditionally.
23038         * modules/wchar (Depends-on): Add link-warning.
23039         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
23040         REPLACE_WCWIDTH, and GL_LINK_WARNING.
23041         * lib/wcwidth.h: Remove file.
23042         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
23043         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
23044         * modules/wcwidth (Files): Remove lib/wcwidth.h.
23045         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
23046         (Include): Replace wcwidth.h with <wchar.h>.
23047         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
23048         * lib/mbchar.h: Don't include wcwidth.h.
23049         * lib/mbswidth.c: Likewise.
23050         * NEWS: Mention the change.
23051
23052 2007-07-07  Bruno Haible  <bruno@clisp.org>
23053
23054         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
23055         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
23056         definition with an external declaration.
23057         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
23058         defined as a function. Remove AC_C_INLINE requirement.
23059         * modules/wcwidth (Files): Add lib/wcwidth.c.
23060         (Makefile.am): Remove redundant statement.
23061
23062 2007-07-07  Bruno Haible  <bruno@clisp.org>
23063
23064         * MODULES.html.sh (Unicode string functions): Add the new modules.
23065
23066         * tests/uniwidth/test-u32-strwidth.c: New file.
23067         * modules/uniwidth/u32-strwidth-tests: New file.
23068
23069         * lib/uniwidth/u32-strwidth.c: New file.
23070         * modules/uniwidth/u32-strwidth: New file.
23071
23072         * tests/uniwidth/test-u16-strwidth.c: New file.
23073         * modules/uniwidth/u16-strwidth-tests: New file.
23074
23075         * lib/uniwidth/u16-strwidth.c: New file.
23076         * modules/uniwidth/u16-strwidth: New file.
23077
23078         * tests/uniwidth/test-u8-strwidth.c: New file.
23079         * modules/uniwidth/u8-strwidth-tests: New file.
23080
23081         * lib/uniwidth/u8-strwidth.c: New file.
23082         * modules/uniwidth/u8-strwidth: New file.
23083
23084         * tests/uniwidth/test-u32-width.c: New file.
23085         * modules/uniwidth/u32-width-tests: New file.
23086
23087         * lib/uniwidth/u32-width.c: New file.
23088         * modules/uniwidth/u32-width: New file.
23089
23090         * tests/uniwidth/test-u16-width.c: New file.
23091         * modules/uniwidth/u16-width-tests: New file.
23092
23093         * lib/uniwidth/u16-width.c: New file.
23094         * modules/uniwidth/u16-width: New file.
23095
23096         * tests/uniwidth/test-u8-width.c: New file.
23097         * modules/uniwidth/u8-width-tests: New file.
23098
23099         * lib/uniwidth/u8-width.c: New file.
23100         * modules/uniwidth/u8-width: New file.
23101
23102         * tests/uniwidth/test-uc_width.c: New file.
23103         * modules/uniwidth/width-tests: New file.
23104
23105         * lib/uniwidth/width.c: New file, from GNU libiconv.
23106         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
23107         * modules/uniwidth/width: New file.
23108
23109         * lib/uniwidth.h: New file, from GNU libiconv.
23110         * modules/uniwidth/base: New file.
23111
23112 2007-07-07  Bruno Haible  <bruno@clisp.org>
23113
23114         * lib/uniname.h: New file, from GNU gettext.
23115         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
23116         * lib/uniname/uninames.h: New file, from GNU gettext.
23117         * lib/uniname/uniname.c: New file, from GNU gettext.
23118         * tests/uniname/test-uninames.sh: New file.
23119         * tests/uniname/test-uninames.c: New file, from GNU gettext.
23120         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
23121         * modules/uniname/base: New file.
23122         * modules/uniname/uniname: New file.
23123         * modules/uniname/uniname-tests: New file.
23124         * MODULES.html.sh (Unicode string functions): Add the new modules.
23125
23126 2007-07-06  Bruno Haible  <bruno@clisp.org>
23127
23128         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
23129
23130 2007-07-06  Bruno Haible  <bruno@clisp.org>
23131
23132         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
23133         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
23134         includes <cygwin/sys_time.h> which includes <sys/select.h> which
23135         include <sys/time.h>.
23136         Reported by Eric Blake.
23137
23138 2007-07-06  Eric Blake  <ebb9@byu.net>
23139
23140         Fix testing canonicalize on cygwin.
23141         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
23142         Revert patch from 2007-06-19.
23143         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
23144         canonicalize module is also in use.
23145         * tests/test-canonicalize.c: New file.
23146         * tests/test-canonicalize.sh: Likewise.
23147         * modules/canonicalize-tests: Likewise.
23148
23149 2007-07-06  Jim Meyering  <jim@meyering.net>
23150
23151         * lib/getugroups.c (getugroups): Detect getgrent failure.
23152         Adjust comment to reflect reality: this function may return -1.
23153
23154 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23155
23156         * build-aux/bootstrap (TP_URL,get_translations): Update to use
23157         the new TP address.
23158         (usage): Fix typo
23159         (gnulib_mk): New variable.
23160
23161 2007-07-05  Jim Meyering  <jim@meyering.net>
23162
23163         Don't let endgrent clobber errno, no matter how improbable.
23164         * lib/getugroups.c (getugroups): Save and restore errno around
23165         endgrent call.
23166
23167         Close the group DB even when failing with 2^31 or more members.
23168         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
23169
23170 2007-07-04  Jim Meyering  <jim@meyering.net>
23171
23172         * lib/getugroups.h: New file.
23173         * lib/getugroups.c: Include "getugroups.h".
23174         Remove uses of "register" keyword.
23175         Move local variable, "cp", down into scope where used.
23176         Give "username" parameter the "const" attribute.
23177         * modules/getugroups (Files): Add lib/getugroups.h
23178
23179 2007-07-04  Karl Berry  <karl@gnu.org>
23180
23181         * MODULES.html.sh (func_all_modules): Complete rename of
23182         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
23183
23184 2007-07-02  Bruno Haible  <bruno@clisp.org>
23185
23186         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
23187         mode, when inttypes.h comes from gnulib.
23188         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
23189
23190 2007-07-02  Simon Josefsson  <simon@josefsson.org>
23191
23192         * NEWS: Mention lgpl module name change.
23193
23194         * modules/lgpl-2.1: Renamed from lgpl.
23195
23196         * NEWS: Mention gpl module name change.
23197
23198         * modules/gpl-3.0: New file, based on gpl-2.0.
23199
23200         * modules/gpl-2.0: Renamed from gpl.
23201
23202         * modules/gpl: Fix filename, doc/gpl.texi is now found at
23203         doc/gpl-2.0.texi.
23204
23205 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
23206
23207         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
23208         #define __STDC_LIMIT_MACROS temporarily while including
23209         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
23210         Problem reported by Joel E. Denny in
23211         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
23212
23213 2007-07-01  Bruno Haible  <bruno@clisp.org>
23214
23215         * lib/unistdio.h: New file.
23216         * lib/unistdio/u-asnprintf.h: New file.
23217         * lib/unistdio/u-asprintf.h: New file.
23218         * lib/unistdio/u-printf-args.c: New file.
23219         * lib/unistdio/u-printf-args.h: New file.
23220         * lib/unistdio/u-printf-parse.h: New file.
23221         * lib/unistdio/u-snprintf.h: New file.
23222         * lib/unistdio/u-sprintf.h: New file.
23223         * lib/unistdio/u-vasprintf.h: New file.
23224         * lib/unistdio/u-vsnprintf.h: New file.
23225         * lib/unistdio/u-vsprintf.h: New file.
23226         * lib/unistdio/ulc-asnprintf.c: New file.
23227         * lib/unistdio/ulc-asprintf.c: New file.
23228         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
23229         * lib/unistdio/ulc-printf-parse.c: New file.
23230         * lib/unistdio/ulc-snprintf.c: New file.
23231         * lib/unistdio/ulc-sprintf.c: New file.
23232         * lib/unistdio/ulc-vasnprintf.c: New file.
23233         * lib/unistdio/ulc-vasprintf.c: New file.
23234         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
23235         * lib/unistdio/ulc-vsnprintf.c: New file.
23236         * lib/unistdio/ulc-vsprintf.c: New file.
23237         * lib/unistdio/u8-asnprintf.c: New file.
23238         * lib/unistdio/u8-asprintf.c: New file.
23239         * lib/unistdio/u8-printf-parse.c: New file.
23240         * lib/unistdio/u8-snprintf.c: New file.
23241         * lib/unistdio/u8-sprintf.c: New file.
23242         * lib/unistdio/u8-vasnprintf.c: New file.
23243         * lib/unistdio/u8-vasprintf.c: New file.
23244         * lib/unistdio/u8-vsnprintf.c: New file.
23245         * lib/unistdio/u8-vsprintf.c: New file.
23246         * lib/unistdio/u8-u8-asnprintf.c: New file.
23247         * lib/unistdio/u8-u8-asprintf.c: New file.
23248         * lib/unistdio/u8-u8-snprintf.c: New file.
23249         * lib/unistdio/u8-u8-sprintf.c: New file.
23250         * lib/unistdio/u8-u8-vasnprintf.c: New file.
23251         * lib/unistdio/u8-u8-vasprintf.c: New file.
23252         * lib/unistdio/u8-u8-vsnprintf.c: New file.
23253         * lib/unistdio/u8-u8-vsprintf.c: New file.
23254         * lib/unistdio/u16-asnprintf.c: New file.
23255         * lib/unistdio/u16-asprintf.c: New file.
23256         * lib/unistdio/u16-printf-parse.c: New file.
23257         * lib/unistdio/u16-snprintf.c: New file.
23258         * lib/unistdio/u16-sprintf.c: New file.
23259         * lib/unistdio/u16-vasnprintf.c: New file.
23260         * lib/unistdio/u16-vasprintf.c: New file.
23261         * lib/unistdio/u16-vsnprintf.c: New file.
23262         * lib/unistdio/u16-vsprintf.c: New file.
23263         * lib/unistdio/u16-u16-asnprintf.c: New file.
23264         * lib/unistdio/u16-u16-asprintf.c: New file.
23265         * lib/unistdio/u16-u16-snprintf.c: New file.
23266         * lib/unistdio/u16-u16-sprintf.c: New file.
23267         * lib/unistdio/u16-u16-vasnprintf.c: New file.
23268         * lib/unistdio/u16-u16-vasprintf.c: New file.
23269         * lib/unistdio/u16-u16-vsnprintf.c: New file.
23270         * lib/unistdio/u16-u16-vsprintf.c: New file.
23271         * lib/unistdio/u32-asnprintf.c: New file.
23272         * lib/unistdio/u32-asprintf.c: New file.
23273         * lib/unistdio/u32-printf-parse.c: New file.
23274         * lib/unistdio/u32-snprintf.c: New file.
23275         * lib/unistdio/u32-sprintf.c: New file.
23276         * lib/unistdio/u32-vasnprintf.c: New file.
23277         * lib/unistdio/u32-vasprintf.c: New file.
23278         * lib/unistdio/u32-vsnprintf.c: New file.
23279         * lib/unistdio/u32-vsprintf.c: New file.
23280         * lib/unistdio/u32-u32-asnprintf.c: New file.
23281         * lib/unistdio/u32-u32-asprintf.c: New file.
23282         * lib/unistdio/u32-u32-snprintf.c: New file.
23283         * lib/unistdio/u32-u32-sprintf.c: New file.
23284         * lib/unistdio/u32-u32-vasnprintf.c: New file.
23285         * lib/unistdio/u32-u32-vasprintf.c: New file.
23286         * lib/unistdio/u32-u32-vsnprintf.c: New file.
23287         * lib/unistdio/u32-u32-vsprintf.c: New file.
23288         * tests/unistdio/test-ulc-asnprintf1.c: New file.
23289         * tests/unistdio/test-ulc-asnprintf1.h: New file.
23290         * tests/unistdio/test-ulc-printf1.h: New file.
23291         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
23292         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
23293         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
23294         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
23295         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
23296         * tests/unistdio/test-ulc-vasprintf1.c: New file.
23297         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
23298         * tests/unistdio/test-ulc-vsprintf1.c: New file.
23299         * tests/unistdio/test-u8-asnprintf1.c: New file.
23300         * tests/unistdio/test-u8-asnprintf1.h: New file.
23301         * tests/unistdio/test-u8-printf1.h: New file.
23302         * tests/unistdio/test-u8-vasnprintf1.c: New file.
23303         * tests/unistdio/test-u8-vasnprintf2.c: New file.
23304         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
23305         * tests/unistdio/test-u8-vasnprintf3.c: New file.
23306         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
23307         * tests/unistdio/test-u8-vasprintf1.c: New file.
23308         * tests/unistdio/test-u8-vsnprintf1.c: New file.
23309         * tests/unistdio/test-u8-vsprintf1.c: New file.
23310         * tests/unistdio/test-u16-asnprintf1.c: New file.
23311         * tests/unistdio/test-u16-asnprintf1.h: New file.
23312         * tests/unistdio/test-u16-printf1.h: New file.
23313         * tests/unistdio/test-u16-vasnprintf1.c: New file.
23314         * tests/unistdio/test-u16-vasnprintf2.c: New file.
23315         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
23316         * tests/unistdio/test-u16-vasnprintf3.c: New file.
23317         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
23318         * tests/unistdio/test-u16-vasprintf1.c: New file.
23319         * tests/unistdio/test-u16-vsnprintf1.c: New file.
23320         * tests/unistdio/test-u16-vsprintf1.c: New file.
23321         * tests/unistdio/test-u32-asnprintf1.c: New file.
23322         * tests/unistdio/test-u32-asnprintf1.h: New file.
23323         * tests/unistdio/test-u32-printf1.h: New file.
23324         * tests/unistdio/test-u32-vasnprintf1.c: New file.
23325         * tests/unistdio/test-u32-vasnprintf2.c: New file.
23326         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
23327         * tests/unistdio/test-u32-vasnprintf3.c: New file.
23328         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
23329         * tests/unistdio/test-u32-vasprintf1.c: New file.
23330         * tests/unistdio/test-u32-vsnprintf1.c: New file.
23331         * tests/unistdio/test-u32-vsprintf1.c: New file.
23332         * modules/unistdio/base: New file.
23333         * modules/unistdio/u-printf-args: New file.
23334         * modules/unistdio/ulc-asnprintf: New file.
23335         * modules/unistdio/ulc-asprintf: New file.
23336         * modules/unistdio/ulc-fprintf: New file.
23337         * modules/unistdio/ulc-printf-parse: New file.
23338         * modules/unistdio/ulc-snprintf: New file.
23339         * modules/unistdio/ulc-sprintf: New file.
23340         * modules/unistdio/ulc-vasnprintf: New file.
23341         * modules/unistdio/ulc-vasprintf: New file.
23342         * modules/unistdio/ulc-vfprintf: New file.
23343         * modules/unistdio/ulc-vsnprintf: New file.
23344         * modules/unistdio/ulc-vsprintf: New file.
23345         * modules/unistdio/u8-asnprintf: New file.
23346         * modules/unistdio/u8-asprintf: New file.
23347         * modules/unistdio/u8-printf-parse: New file.
23348         * modules/unistdio/u8-snprintf: New file.
23349         * modules/unistdio/u8-sprintf: New file.
23350         * modules/unistdio/u8-vasnprintf: New file.
23351         * modules/unistdio/u8-vasprintf: New file.
23352         * modules/unistdio/u8-vsnprintf: New file.
23353         * modules/unistdio/u8-vsprintf: New file.
23354         * modules/unistdio/u8-u8-asnprintf: New file.
23355         * modules/unistdio/u8-u8-asprintf: New file.
23356         * modules/unistdio/u8-u8-snprintf: New file.
23357         * modules/unistdio/u8-u8-sprintf: New file.
23358         * modules/unistdio/u8-u8-vasnprintf: New file.
23359         * modules/unistdio/u8-u8-vasprintf: New file.
23360         * modules/unistdio/u8-u8-vsnprintf: New file.
23361         * modules/unistdio/u8-u8-vsprintf: New file.
23362         * modules/unistdio/u16-asnprintf: New file.
23363         * modules/unistdio/u16-asprintf: New file.
23364         * modules/unistdio/u16-printf-parse: New file.
23365         * modules/unistdio/u16-snprintf: New file.
23366         * modules/unistdio/u16-sprintf: New file.
23367         * modules/unistdio/u16-vasnprintf: New file.
23368         * modules/unistdio/u16-vasprintf: New file.
23369         * modules/unistdio/u16-vsnprintf: New file.
23370         * modules/unistdio/u16-vsprintf: New file.
23371         * modules/unistdio/u16-u16-asnprintf: New file.
23372         * modules/unistdio/u16-u16-asprintf: New file.
23373         * modules/unistdio/u16-u16-snprintf: New file.
23374         * modules/unistdio/u16-u16-sprintf: New file.
23375         * modules/unistdio/u16-u16-vasnprintf: New file.
23376         * modules/unistdio/u16-u16-vasprintf: New file.
23377         * modules/unistdio/u16-u16-vsnprintf: New file.
23378         * modules/unistdio/u16-u16-vsprintf: New file.
23379         * modules/unistdio/u32-asnprintf: New file.
23380         * modules/unistdio/u32-asprintf: New file.
23381         * modules/unistdio/u32-printf-parse: New file.
23382         * modules/unistdio/u32-snprintf: New file.
23383         * modules/unistdio/u32-sprintf: New file.
23384         * modules/unistdio/u32-vasnprintf: New file.
23385         * modules/unistdio/u32-vasprintf: New file.
23386         * modules/unistdio/u32-vsnprintf: New file.
23387         * modules/unistdio/u32-vsprintf: New file.
23388         * modules/unistdio/u32-u32-asnprintf: New file.
23389         * modules/unistdio/u32-u32-asprintf: New file.
23390         * modules/unistdio/u32-u32-snprintf: New file.
23391         * modules/unistdio/u32-u32-sprintf: New file.
23392         * modules/unistdio/u32-u32-vasnprintf: New file.
23393         * modules/unistdio/u32-u32-vasprintf: New file.
23394         * modules/unistdio/u32-u32-vsnprintf: New file.
23395         * modules/unistdio/u32-u32-vsprintf: New file.
23396         * modules/unistdio/ulc-asnprintf-tests: New file.
23397         * modules/unistdio/ulc-vasnprintf-tests: New file.
23398         * modules/unistdio/ulc-vasprintf-tests: New file.
23399         * modules/unistdio/ulc-vsnprintf-tests: New file.
23400         * modules/unistdio/ulc-vsprintf-tests: New file.
23401         * modules/unistdio/u8-asnprintf-tests: New file.
23402         * modules/unistdio/u8-vasnprintf-tests: New file.
23403         * modules/unistdio/u8-vasprintf-tests: New file.
23404         * modules/unistdio/u8-vsnprintf-tests: New file.
23405         * modules/unistdio/u8-vsprintf-tests: New file.
23406         * modules/unistdio/u16-asnprintf-tests: New file.
23407         * modules/unistdio/u16-vasnprintf-tests: New file.
23408         * modules/unistdio/u16-vasprintf-tests: New file.
23409         * modules/unistdio/u16-vsnprintf-tests: New file.
23410         * modules/unistdio/u16-vsprintf-tests: New file.
23411         * modules/unistdio/u32-asnprintf-tests: New file.
23412         * modules/unistdio/u32-vasnprintf-tests: New file.
23413         * modules/unistdio/u32-vasprintf-tests: New file.
23414         * modules/unistdio/u32-vsnprintf-tests: New file.
23415         * modules/unistdio/u32-vsprintf-tests: New file.
23416         * MODULES.html.sh (Unicode string functions): Add the new modules.
23417
23418 2007-07-01  Bruno Haible  <bruno@clisp.org>
23419
23420         * lib/sprintf.c (sprintf): Limit the available length estimation,
23421         to avoid address wraparound.
23422         * lib/vsprintf.c (vsprintf): Likewise.
23423         * modules/sprintf-posix (Dependencies): Add stdint.
23424         * modules/vsprintf-posix (Dependencies): Likewise.
23425
23426 2007-07-01  Bruno Haible  <bruno@clisp.org>
23427
23428         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
23429         Windows PATH as well. Conservative double-quoting. Comments.
23430
23431 2007-07-01  Bruno Haible  <bruno@clisp.org>
23432             Eric Blake  <ebb9@byu.net>
23433             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23434
23435         * gnulib-tool (self_abspathname): Fix algorithm to cope with
23436         empty components in $PATH, denoting '.'.
23437
23438 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23439
23440         * gnulib-tool: Fix indentation.
23441         (func_create_megatestdir): Likewise.
23442         Report by Bruno Haible.
23443
23444 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23445
23446         Sync from Automake.
23447         * build-aux/gnupload: Fix shell portability issues with for loops.
23448         Report by Karl Berry.
23449
23450 2007-06-29  Simon Josefsson  <simon@josefsson.org>
23451
23452         * build-aux/maint.mk (POURL): Use translationproject.org.
23453
23454 2007-06-27  Simon Josefsson  <simon@josefsson.org>
23455             Bruno Haible  <bruno@clisp.org>
23456
23457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
23458         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
23459         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
23460         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
23461         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
23462
23463 2007-06-27  Bruno Haible  <bruno@clisp.org>
23464
23465         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
23466         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
23467
23468 2007-06-26  Karl Berry  <karl@gnu.org>
23469
23470         * MODULES.html.sh: remove xreadlink-with-size.
23471
23472 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
23473
23474         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
23475         method that I hope also handles the double-include problem noted
23476         by Bruno Haible in
23477         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
23478
23479 2007-06-23  Bruno Haible  <bruno@clisp.org>
23480
23481         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23482         Don't let the 'mostlyclean' target fail if the last subdirectory could
23483         not be removed.
23484         Reported by Karl Berry.
23485
23486 2007-06-23  Bruno Haible  <bruno@clisp.org>
23487
23488         * gnulib-tool (echo): Add a speedier workaround for ksh.
23489         * tests/test-echo.sh: Likewise.
23490
23491 2007-06-23  Bruno Haible  <bruno@clisp.org>
23492
23493         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
23494         * tests/test-echo.sh: Likewise.
23495
23496 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23497
23498         * gnulib-tool (IFS): Initialize early, so we don't set it to
23499         empty later.
23500         (self_abspathname): Rewrite algorithm to set it, reindent.
23501         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
23502         (func_create_megatestdir): Merge some sed scripts.
23503
23504 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
23505
23506         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
23507         exposed by Sun Studio 11 cc on Solaris 8.
23508
23509 2007-06-22  Bruno Haible  <bruno@clisp.org>
23510
23511         * gnulib-tool (echo): Ensure the echo primitive does not interpret
23512         backslashes.
23513         * tests/test-echo.sh: New file.
23514
23515 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23516
23517         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
23518         simplify `sed_replace_build_aux' scripts, they are portable but
23519         echoing them with `echo' is not.
23520         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
23521
23522 2007-06-21  Karl Berry  <karl@gnu.org>
23523
23524         * config/srclist.txt: guess we can't handle the licenses via
23525         srclist at the moment.
23526
23527 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
23528
23529         * MODULES.html.sh: Add include_next.
23530         * modules/include_next: New file.
23531
23532 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
23533
23534         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
23535         INCLUDE_NEXT.
23536         (gl_CHECK_NEXT_HEADERS): New macro.
23537         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
23538         the obsolescent gl_ABSOLUTE_HEADER.
23539         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
23540         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
23541         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
23542         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23543         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23544         * m4/math_h.m4 (gl_MATH_H): Likewise.
23545         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
23546         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23547         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
23548         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23549         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
23550         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
23551         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
23552         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23553         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23554         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
23555         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
23556         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
23557         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
23558         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23559         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23560         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
23561         * m4/inttypes.m4 (gl_INTTYPES_H): Define
23562         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
23563         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
23564         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
23565         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
23566         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
23567         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
23568         * lib/float_.h: Likewise.
23569         * lib/inttypes_.h: Likewise.
23570         * lib/math_.h: Likewise.
23571         * lib/search_.h: Likewise.
23572         * lib/signal_.h: Likewise.
23573         * lib/stdint_.h: Likewise.
23574         * lib/stdio_.h: Likewise.
23575         * lib/stdlib_.h: Likewise.
23576         * lib/string_.h: Likewise.
23577         * lib/sys_stat_.h: Likewise.
23578         * lib/sys_time_.h: Likewise.
23579         * lib/time_.h: Likewise.
23580         * lib/unistd_.h: Likewise.
23581         * lib/wchar_.h: Likewise.
23582         * lib/wctype_.h: Likewise.
23583         * lib/dirent_.h: Likewise.
23584         * lib/iconv_.h: Likewise.
23585         * lib/locale_.h: Likewise.
23586         * lib/netinet_in_.h: Likewise.
23587         * lib/sys_select_.h: Likewise.
23588         * lib/sys_socket_.h: Likewise.
23589         * lib/sysexits_.h: Likewise.
23590         * modules/fcntl (Depends-on): Depend on include_next, not
23591         absolute_header.
23592         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
23593         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
23594         * modules/fchdir: Likewise.
23595         * modules/float: Likewise.
23596         * modules/iconv_open: Likewise.
23597         * modules/inttypes: Likewise.
23598         * modules/locale: Likewise.
23599         * modules/math: Likewise.
23600         * modules/netinet_in: Likewise.
23601         * modules/search: Likewise.
23602         * modules/signal: Likewise.
23603         * modules/stdint: Likewise.
23604         * modules/stdio: Likewise.
23605         * modules/stdlib: Likewise.
23606         * modules/string: Likewise.
23607         * modules/sys_select: Likewise.
23608         * modules/sys_socket: Likewise.
23609         * modules/sys_stat: Likewise.
23610         * modules/sys_time: Likewise.
23611         * modules/sysexits: Likewise.
23612         * modules/time: Likewise.
23613         * modules/unistd: Likewise.
23614         * modules/wchar: Likewise.
23615         * modules/wctype: Likewise.
23616         * modules/sys_stat: Change maintainer to "all".
23617         * modules/unistd: Likewise.
23618
23619 2007-06-20  Karl Berry  <karl@gnu.org>
23620
23621         * config/srclist.txt: track www changes in license files.
23622
23623 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
23624
23625         * build-aux/bootstrap: Remove stray dot.
23626         Make sure build_aux settings are honored when linking
23627         gnulib_extra_files.
23628
23629 2007-06-19  Eric Blake  <ebb9@byu.net>
23630
23631         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
23632         Allow compilation on cygwin.
23633
23634 2007-06-19  Jim Meyering  <jim@meyering.net>
23635
23636         xreadlink-with-size: Remove module.  No longer used.
23637         Ex-callers now use xreadlink or mreadlink-with-size.
23638         * modules/xreadlink-with-size: Remove module.
23639         * lib/xreadlink-with-size.c: Remove file.
23640         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
23641         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
23642         just before the function definition *is* accurate.
23643
23644         Eliminate one way canonicalize_filename_mode could exit.
23645         * lib/canonicalize.c (canonicalize_filename_mode):
23646         Use mreadlink_with_size, not xreadlink_with_size.
23647
23648 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
23649
23650         Detect porting problems to FreeBSD/arm, which has time_t wider than
23651         long int.  Original problem reported for GNU diff by Xin Li in
23652         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
23653         * modules/getdate (Depends-on): Add intprops, verify.
23654         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
23655         is an integer type no wider than long int.
23656
23657 2007-06-18  Jim Meyering  <jim@meyering.net>
23658
23659         New module: mreadlink-with-size.
23660         * MODULES.html.sh: Add mreadlink-with-size.
23661         * modules/mreadlink-with-size: New module
23662         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
23663         not xreadlink-with-size.
23664         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
23665
23666 2007-06-16  Bruno Haible  <bruno@clisp.org>
23667
23668         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
23669         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
23670         Reported by Gary V. Vaughan <gary@gnu.org>.
23671
23672 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
23673
23674         Revamp lchown so that it lives in unistd.h where it belongs.
23675         * lib/lchown.h: Remove.
23676         * lib/dirchownmod.c: Don't include lib/lchown.h.
23677         * lib/fchownat.c: Likewise.
23678         * lib/openat.c: Likewise.
23679         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
23680         does not follow symlinks.
23681         (EOPNOTSUPP): Define if not defined.
23682         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
23683         is defined to 0.
23684         (lchown): New decl.
23685         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
23686         Do not check for lchown decl.
23687         Set REPLACE_LCHOWN.
23688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
23689         REPLACE_LCHOWN.
23690         * modules/chown: Make it clear it follows symlinks.
23691         * modules/lchown: Make it clear it doesn't follow symlinks.
23692         (Files): Remove lib/lchown.h
23693         (Depends-on): Add unistd.
23694         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
23695         (Include): Include <unistd.h>, not "lchown.h".
23696         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
23697         REPLACE_LCHOWN.
23698
23699 2007-06-15  Jim Meyering  <jim@meyering.net>
23700
23701         Change license (GPL to LGPL) of fsusage and dependents.
23702         * modules/fsusage (License): Change to LGPL.
23703         * modules/full-read (License): Likewise.
23704         * modules/full-write (License): Likewise.
23705         * modules/safe-read (License): Likewise.
23706         * modules/safe-write (License): Likewise.
23707
23708 2007-06-14  Ben Pfaff  <blp@gnu.org>
23709
23710         Missing part of allocsa -> malloca transition.
23711         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
23712         gl_MALLOCA.
23713
23714 2007-06-12  Bruno Haible  <bruno@clisp.org>
23715
23716         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
23717         to ia64, x86_64, i386.
23718         Reported by Eric Blake.
23719
23720 2007-06-12  Bruno Haible  <bruno@clisp.org>
23721
23722         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
23723         cross-compiling to x86_64.
23724
23725 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
23726
23727         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
23728         glitch reported by Ralf Wildenhues in
23729         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
23730
23731         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
23732         Vin Shelton.
23733
23734 2007-06-11  Bruno Haible  <bruno@clisp.org>
23735
23736         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
23737         replacement string.
23738         Reported by Eric Blake.
23739
23740 2007-06-10  Bruno Haible  <bruno@clisp.org>
23741
23742         Prepare vasnprintf code for use with Unicode strings.
23743         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
23744         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
23745         TYPE_U32_STRING.
23746         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
23747         a_u32_string variants.
23748         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
23749         * lib/printf-args.c: Don't include config.h and the specification
23750         header if PRINTF_FETCHARGS is already defined.
23751         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
23752         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
23753         TYPE_U16_STRING, TYPE_U32_STRING.
23754         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
23755         u16_directive, u16_directives, u32_directive, u32_directives): New
23756         types.
23757         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
23758         New declarations.
23759         * lib/printf-parse.c: Don't include config.h and the specification
23760         header if PRINTF_PARSE is already defined. Eliminate the set of
23761         parameters for WIDE_CHAR_VERSION; the user of this file must provide
23762         them now. Include c-ctype.h.
23763         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
23764         directive and CHAR_T_ONLY_ASCII.
23765         * lib/vasnprintf.c: Don't include config.h and the specification header
23766         if VASNPRINTF is already defined.
23767         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
23768         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
23769         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
23770         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
23771         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
23772         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
23773         code accordingly.
23774         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
23775         pad_ourselves also in this case, with the 'c' and 's' directives, and
23776         with a different notion of "width".
23777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
23778
23779 2007-06-10  Bruno Haible  <bruno@clisp.org>
23780
23781         * modules/unistr/u32-mbsnlen: New file.
23782         * lib/unistr/u32-mbsnlen.c: New file.
23783
23784         * modules/unistr/u16-mbsnlen: New file.
23785         * lib/unistr/u16-mbsnlen.c: New file.
23786
23787         * modules/unistr/u8-mbsnlen: New file.
23788         * lib/unistr/u8-mbsnlen.c: New file.
23789
23790         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
23791         declarations.
23792
23793 2007-06-10  Bruno Haible  <bruno@clisp.org>
23794
23795         * lib/string_.h (mbsnlen): New declaration.
23796         * lib/mbsnlen.c: New file.
23797         * m4/mbsnlen.m4: New file.
23798         * modules/mbsnlen: New file.
23799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
23800         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
23801         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
23802
23803 2007-06-10  Bruno Haible  <bruno@clisp.org>
23804
23805         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
23806
23807 2007-06-10  Bruno Haible  <bruno@clisp.org>
23808
23809         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
23810         * lib/mbuiter.h: Likewise.
23811
23812 2007-06-10  Bruno Haible  <bruno@clisp.org>
23813
23814         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
23815         declaration.
23816
23817 2007-06-10  Karl Berry  <karl@gnu.org>
23818
23819         * config/srclist.txt: remove gettext entries, Bruno prefers
23820         to update individually.
23821
23822 2007-06-10  Bruno Haible  <bruno@clisp.org>
23823
23824         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
23825         'maxlen'. Ensure only length + width bytes are allocated, not
23826         length + 1 + width.
23827
23828 2007-06-09  Bruno Haible  <bruno@clisp.org>
23829
23830         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
23831         (CHAR_T): Remove macro.
23832         (VASNPRINTF): Update.
23833
23834 2007-06-09  Bruno Haible  <bruno@clisp.org>
23835
23836         * MODULES.html.sh (Unicode string functions): Add the new modules.
23837
23838         * modules/uniconv/u32-conv-to-enc: New file.
23839         * lib/uniconv/u32-conv-to-enc.c: New file.
23840         * modules/uniconv/u32-conv-to-enc-tests: New file.
23841         * tests/uniconv/test-u32-conv-to-enc.c: New file.
23842
23843         * modules/uniconv/u16-conv-to-enc: New file.
23844         * lib/uniconv/u16-conv-to-enc.c: New file.
23845         * lib/uniconv/u-conv-to-enc.h: New file.
23846         * modules/uniconv/u16-conv-to-enc-tests: New file.
23847         * tests/uniconv/test-u16-conv-to-enc.c: New file.
23848
23849         * modules/uniconv/u8-conv-to-enc: New file.
23850         * lib/uniconv/u8-conv-to-enc.c: New file.
23851         * modules/uniconv/u8-conv-to-enc-tests: New file.
23852         * tests/uniconv/test-u8-conv-to-enc.c: New file.
23853
23854         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
23855         u32_conv_to_encoding): New declarations.
23856
23857 2007-06-09  Bruno Haible  <bruno@clisp.org>
23858
23859         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
23860
23861 2007-06-09  Bruno Haible  <bruno@clisp.org>
23862
23863         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
23864         * modules/malloca: Renamed from modules/allocsa, updated.
23865         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
23866         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
23867         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
23868         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
23869         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
23870         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
23871         * modules/xmalloca: Renamed from modules/xallocsa, updated.
23872         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
23873         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
23874         * modules/c-strcasestr (Depends-on): Update.
23875         * lib/c-strcasestr.c: Update.
23876         * modules/c-strstr (Depends-on): Update.
23877         * lib/c-strstr.c: Update.
23878         * modules/canonicalize-lgpl (Depends-on): Update.
23879         * lib/canonicalize-lgpl.c: Update.
23880         * modules/clean-temp (Depends-on): Update.
23881         * lib/clean-temp.c: Update.
23882         * modules/csharpcomp (Depends-on): Update.
23883         * lib/csharpcomp.c: Update.
23884         * modules/csharpexec (Depends-on): Update.
23885         * lib/csharpexec.c: Update.
23886         * modules/javacomp (Depends-on): Update.
23887         * lib/javacomp.c: Update.
23888         * modules/javaexec (Depends-on): Update.
23889         * lib/javaexec.c: Update.
23890         * modules/mbscasestr (Depends-on): Update.
23891         * lib/mbscasestr.c: Update.
23892         * modules/mbsstr (Depends-on): Update.
23893         * lib/mbsstr.c: Update.
23894         * modules/setenv (Depends-on): Update.
23895         * lib/setenv.c: Update.
23896         * modules/strcasestr (Depends-on): Update.
23897         * lib/strcasestr.c: Update.
23898         * modules/striconveha (Depends-on): Update.
23899         * lib/striconveha.c: Update.
23900         * modules/relocatable-prog-wrapper (Files): Update.
23901         * lib/relocwrapper.c: Update.
23902         * build-aux/install-reloc: Update.
23903         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
23904
23905 2007-06-08  Bruno Haible  <bruno@clisp.org>
23906
23907         Port to uClibc.
23908         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
23909         * lib/fpurge.c (fpurge): Likewise.
23910         * lib/freading.c (freading): Likewise.
23911         * lib/fseeko.c (rpl_fseeko): Likewise.
23912         * lib/fseterr.c (fseterr): Likewise.
23913         * lib/fwriting.c (fwriting): Likewise.
23914         * tests/test-fflush.c (main): Avoid a failure on uClibc.
23915
23916 2007-06-08  Bruno Haible  <bruno@clisp.org>
23917
23918         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
23919         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
23920         * modules/gettext (Files): Add m4/intlmacosx.m4.
23921
23922 2007-06-07  Bruno Haible  <bruno@clisp.org>
23923
23924         * modules/localename-tests: New file.
23925         * tests/test-localename.c: New file.
23926
23927         New module 'localename'.
23928         * lib/localename.h: New file.
23929         * lib/localename.c: New file, from GNU gettext.
23930         * m4/localename.m4: New file.
23931         * modules/localename: New file.
23932
23933 2007-06-07  Bruno Haible  <bruno@clisp.org>
23934
23935         Work around the lack of <wchar.h> on some builds of uClibc.
23936         * doc/headers/wchar.texi: Update.
23937         * lib/wchar_.h: Include <wchar.h> only if it exists.
23938         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
23939         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
23940         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
23941         doesn't exist.
23942         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
23943         * modules/mbfile (Depends-on): Add wchar.
23944         * modules/mbiter (Depends-on): Likewise.
23945         * modules/mbuiter (Depends-on): Likewise.
23946         Reported by Simon Josefsson.
23947
23948 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
23949
23950         Work around problem reported by Steven M. Schweda in
23951         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
23952         Tru64 5.1B with the Compaq compiler environment installed declares
23953         an 'isblank' function but does not define it in the C library.
23954         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
23955         * lib/regex_internal.h (isblank): Likewise.
23956         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
23957         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
23958
23959 2007-06-05  Bruno Haible  <bruno@clisp.org>
23960
23961         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
23962         ia64.
23963         * modules/printf-safe: New file.
23964         * modules/fprintf-posix (Depends-on): Add printf-safe.
23965         * modules/printf-posix (Depends-on): Likewise.
23966         * modules/snprintf-posix (Depends-on): Likewise.
23967         * modules/sprintf-posix (Depends-on): Likewise.
23968         * modules/vasnprintf-posix (Depends-on): Likewise.
23969         * modules/vasprintf-posix (Depends-on): Likewise.
23970         * modules/vfprintf-posix (Depends-on): Likewise.
23971         * modules/vprintf-posix (Depends-on): Likewise.
23972         * modules/vsnprintf-posix (Depends-on): Likewise.
23973         * modules/vsprintf-posix (Depends-on): Likewise.
23974         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
23975         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
23976         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
23977         "no" on i386, x86_64, ia64.
23978         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
23979         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
23980         on i386, x86_64, ia64.
23981         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
23982         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
23983         on i386, x86_64, ia64.
23984         * tests/test-vasnprintf-posix.c: Include float.h.
23985         (LDBL80_WORDS): New macro.
23986         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
23987         on i386, x86_64, ia64.
23988         * tests/test-vasprintf-posix.c: Include float.h.
23989         (LDBL80_WORDS): New macro.
23990         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
23991         on i386, x86_64, ia64.
23992         * tests/test-snprintf-posix.c: Include float.h.
23993         * tests/test-sprintf-posix.c: Likewise.
23994         * tests/test-vsnprintf-posix.c: Likewise.
23995         * tests/test-vsprintf-posix.c: Likewise.
23996
23997 2007-06-05  Bruno Haible  <bruno@clisp.org>
23998
23999         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
24000         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
24001         non-IEEE numbers on i386, x86_64, ia64.
24002         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
24003         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
24004         * tests/test-isnanl.h: Include float.h.
24005         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
24006
24007 2007-06-05  Bruno Haible  <bruno@clisp.org>
24008
24009         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
24010         also the %a / %A. Handle the %a / %A code before this extra handling.
24011
24012 2007-06-05  Bruno Haible  <bruno@clisp.org>
24013
24014         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
24015         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
24016
24017 2007-06-05  Bruno Haible  <bruno@clisp.org>
24018
24019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
24020         typo in variable name.
24021
24022 2007-06-05  Eric Blake  <ebb9@byu.net>
24023
24024         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
24025         Reported by Simon Josefsson.
24026
24027 2007-06-04  Bruno Haible  <bruno@clisp.org>
24028
24029         Avoid test failures on some PowerPC platforms.
24030         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
24031         Define differently for PowerPC.
24032         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
24033         Reported by Gary V. Vaughan <gary@gnu.org>.
24034
24035 2007-06-02  Bruno Haible  <bruno@clisp.org>
24036
24037         Fix test-stdint failure on FreeBSD/ia64.
24038         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
24039         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
24040         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
24041         * doc/headers/stdint.texi: Update.
24042
24043 2007-06-01  Bruno Haible  <bruno@clisp.org>
24044
24045         * tests/test-binary-io.c (main): Pass a third argument to open().
24046         Reported by Gary V. Vaughan <gary@gnu.org>.
24047
24048 2007-06-01  Bruno Haible  <bruno@clisp.org>
24049
24050         * doc/functions/frexpl.texi: Update for mingw.
24051
24052 2007-06-01  Bruno Haible  <bruno@clisp.org>
24053
24054         * tests/test-lseek.c (main): Disable test of errno for invalid third
24055         argument.
24056         * doc/functions/lseek.texi: Update.
24057         Reported by Gary V. Vaughan <gary@gnu.org>.
24058
24059 2007-05-28  Bruno Haible  <bruno@clisp.org>
24060
24061         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
24062
24063 2007-05-31  Eric Blake  <ebb9@byu.net>
24064
24065         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
24066         cross compiling.
24067
24068 2007-05-30  Eric Blake  <ebb9@byu.net>
24069         and Bruno Haible  <bruno@clisp.org>
24070
24071         Work around mingw test failures exposed by m4-1.4.9b.
24072         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
24073         * tests/test-unistd.c: Disable uid_t and git_t tests for the
24074         moment.
24075
24076 2007-05-30  Bruno Haible  <bruno@clisp.org>
24077
24078         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
24079         assuming that they are closed. Needed on HP-UX 11.
24080
24081 2007-05-29  Bruno Haible  <bruno@clisp.org>
24082
24083         Fix a problem with #include_next.
24084         * lib/dirent_.h: Split the double-inclusion guard.
24085         * lib/fcntl_.h: Likewise.
24086         * lib/float_.h: Likewise.
24087         * lib/iconv_.h: Likewise.
24088         * lib/inttypes_.h: Likewise.
24089         * lib/locale_.h: Likewise.
24090         * lib/math_.h: Likewise.
24091         * lib/netinet_in_.h: Likewise.
24092         * lib/search_.h: Likewise.
24093         * lib/signal_.h: Likewise.
24094         * lib/stdint_.h: Likewise.
24095         * lib/stdio_.h: Likewise.
24096         * lib/stdlib_.h: Likewise.
24097         * lib/string_.h: Likewise.
24098         * lib/sys_select_.h: Likewise.
24099         * lib/sys_socket_.h: Likewise.
24100         * lib/sys_stat_.h: Likewise.
24101         * lib/sys_time_.h: Likewise.
24102         * lib/sysexits_.h: Likewise.
24103         * lib/time_.h: Likewise.
24104         * lib/unistd_.h: Likewise.
24105         * lib/wchar_.h: Likewise.
24106         * lib/wctype_.h: Likewise.
24107
24108 2007-05-29  Bruno Haible  <bruno@clisp.org>
24109
24110         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
24111         for the moment.
24112
24113 2007-05-29  Bruno Haible  <bruno@clisp.org>
24114
24115         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
24116         invocation.
24117         Reported by Eric Blake.
24118
24119 2007-05-29  Bruno Haible  <bruno@clisp.org>
24120
24121         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
24122         compiling case.
24123
24124 2007-05-29  Eric Blake  <ebb9@byu.net>
24125             Bruno Haible  <bruno@clisp.org>
24126
24127         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
24128         cross compiles.
24129
24130 2007-05-28  Eric Blake  <ebb9@byu.net>
24131
24132         * modules/closein-tests (test_closein_LDADD): Support test on
24133         cygwin with libtool.
24134
24135 2007-05-28  Bruno Haible  <bruno@clisp.org>
24136
24137         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
24138         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
24139         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
24140         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
24141         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
24142         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
24143         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
24144         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
24145         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
24146
24147 2007-05-28  Eric Blake  <ebb9@byu.net>
24148
24149         Unconditionally include <config.h> in unit tests.
24150         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
24151         * tests/test-allocsa.c, tests/test-arcfour.c,
24152         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
24153         tests/test-array_list.c, tests/test-array_oset.c,
24154         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
24155         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
24156         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
24157         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
24158         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
24159         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
24160         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
24161         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
24162         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
24163         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
24164         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
24165         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
24166         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
24167         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
24168         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
24169         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
24170         test-md5.c, test-memmem.c, test-printf-posix.c,
24171         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
24172         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
24173         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
24174         test-strcasestr.c, test-striconv.c, test-striconveh.c,
24175         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
24176         test-vasnprintf-posix2.c, test-vasnprintf.c,
24177         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
24178         test-vfprintf-posix.c, test-vprintf-posix.c,
24179         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
24180         test-xvasprintf.c: Likewise.
24181
24182 2007-05-28  Bruno Haible  <bruno@clisp.org>
24183
24184         * gnulib-tool (func_import): Remember the --with-tests command-line
24185         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
24186         Reported by Eric Blake.
24187
24188 2007-05-28  Bruno Haible  <bruno@clisp.org>
24189
24190         * modules/ftell-tests: New file.
24191         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
24192         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
24193
24194         * lib/ftell.c: New file.
24195         * modules/ftell: New file.
24196         * m4/ftell.m4: New file.
24197         * doc/functions/ftell.texi: Update.
24198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
24199         REPLACE_FTELL.
24200         * lib/stdio_.h (rpl_ftell): New declaration.
24201         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
24202         REPLACE_FTELL.
24203
24204 2007-05-28  Eric Blake  <ebb9@byu.net>
24205
24206         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
24207
24208 2007-05-28  Bruno Haible  <bruno@clisp.org>
24209
24210         * modules/fseek-tests: New file.
24211         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
24212         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
24213
24214         * lib/fseek.c: New file.
24215         * modules/fseek: New file.
24216         * m4/fseek.m4: New file.
24217         * doc/functions/fseek.texi: Update.
24218         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
24219         REPLACE_FSEEK.
24220         * lib/stdio_.h (rpl_fseek): New declaration.
24221         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
24222         REPLACE_FSEEK.
24223
24224 2007-05-28  Bruno Haible  <bruno@clisp.org>
24225
24226         * lib/stdio_.h (fflush): More comments.
24227
24228 2007-05-28  Bruno Haible  <bruno@clisp.org>
24229
24230         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
24231         runtime test.
24232
24233 2007-05-28  Eric Blake  <ebb9@byu.net>
24234
24235         Improve lseek module.
24236         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
24237         * lib/unistd_.h (lseek): Scale back link warning message.
24238         * tests/test-lseek.c: Beef up test.
24239         * tests/test-lseek.sh: Exercise more facets of lseek.
24240         Reported by Bruno Haible.
24241
24242 2007-05-28  Bruno Haible  <bruno@clisp.org>
24243
24244         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
24245         to define.
24246
24247 2007-05-27  Bruno Haible  <bruno@clisp.org>
24248
24249         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
24250
24251 2007-05-27  Bruno Haible  <bruno@clisp.org>
24252
24253         * modules/openmp: New file.
24254         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
24255         Noah Misch.
24256
24257 2007-05-26  Bruno Haible  <bruno@clisp.org>
24258
24259         * modules/chdir-long (Depends-on): Add fchdir.
24260         * modules/chdir-safer (Depends-on): Likewise.
24261         * modules/fts (Depends-on): Likewise.
24262         * modules/fts-lgpl (Depends-on): Likewise.
24263         * modules/openat (Depends-on): Likewise.
24264         * modules/savewd (Depends-on): Likewise.
24265
24266 2007-05-24  Eric Blake  <ebb9@byu.net>
24267
24268         Fix lseek on mingw.
24269         * modules/lseek: New module.
24270         * m4/lseek.m4: New file.
24271         * lib/lseek.c: New file.
24272         * modules/lseek-tests: New file.
24273         * tests/test-lseek.c: New file.
24274         * tests/test-lseek.sh: New file.
24275         * MODULES.html.sh: Document lseek module.
24276         * modules/fflush (Depends-on): Add lseek, fseeko.
24277         * modules/fseeko (Depends-on): Likewise.
24278         * modules/ftello (Depends-on): Likewise.
24279         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
24280         broken.
24281         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
24282         broken.
24283         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
24284         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
24285         * lib/ftello.c (rpl_ftello): Likewise.
24286         * tests/test-fseeko.c (main): Test this.
24287         * tests/test-fseeko.sh: Likewise.
24288         * tests/test-ftello.c (main): Likewise.
24289         * tests/test-ftello.sh: Likewise.
24290         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
24291         implies replacing fseek.
24292         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
24293         HAVE_FTELLO.
24294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
24295         * modules/unistd (Makefile.am): Likewise.
24296         * lib/unistd_.h (lseek): Declare a replacement.
24297         * doc/functions/lseek.texi (lseek): Document this fix.
24298         * doc/functions/fseek.texi (fseek): Likewise.
24299         * doc/functions/ftell.texi (ftell): Likewise.
24300
24301 2007-05-24  Bruno Haible  <bruno@clisp.org>
24302
24303         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
24304         in the printed representation of a NaN.
24305         * tests/test-vasprintf-posix.c (test_function): Likewise.
24306         * tests/test-snprintf-posix.h (test_function): Likewise.
24307         * tests/test-sprintf-posix.h (test_function): Likewise.
24308         Reported by Eric Blake.
24309
24310 2007-05-23  Eric Blake  <ebb9@byu.net>
24311
24312         Fix fseeko/ftello on cygwin 1.5.24.
24313         * doc/functions/fseeko.texi (fseeko): Document the fix.
24314         * doc/functions/ftello.texi (ftello): Document the fix.
24315         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
24316         * doc/functions/stdout.text (stdout): New file.
24317         * doc/functions/stderr.text (stderr): New file.
24318         * doc/gnulib.texi (Function Substitutes): Use new files.
24319         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
24320         prior to 1.7.0.
24321         * tests/test-ftello.c (main): Likewise for ftello.
24322         * tests/test-fseeko.sh: New file.
24323         * tests/test-ftello.sh: New file.
24324         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
24325         with seekable stdin.
24326         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
24327         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
24328         (gl_REPLACE_FSEEKO): New macro.
24329         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
24330         * modules/fseeko (Files): Distribute fseeko.c.
24331         * modules/ftello (Files): Distribute ftello.c.
24332         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
24333         mode.
24334         * lib/ftello.c (rpl_ftello): New file.
24335         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
24336         fseeko, ftello.
24337         (gl_STDIN_LARGE_OFFSET): New macro.
24338         * modules/stdio (Makefile.am): Perform the replacement.
24339         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
24340
24341 2007-05-23  Bruno Haible  <bruno@clisp.org>
24342
24343         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
24344         GNULIB_POSIXCHECK is defined.
24345
24346 2007-05-21  Bruno Haible  <bruno@clisp.org>
24347
24348         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
24349         Check also the output for NaN arguments. When cross-compiling, guess
24350         no on IRIX.
24351         * lib/vasnprintf.c: Update comments.
24352         * tests/test-vasnprintf-posix.c (strisnan): New function.
24353         (test_function): Use it.
24354         * tests/test-vasprintf-posix.c (strisnan): New function.
24355         (test_function): Use it.
24356         * tests/test-snprintf-posix.h (strisnan): New function.
24357         (test_function): Use it.
24358         * tests/test-sprintf-posix.h (strisnan): New function.
24359         (test_function): Use it.
24360         Reported by Eric Blake.
24361
24362 2007-05-20  Bruno Haible  <bruno@clisp.org>
24363
24364         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
24365         numbers that fails on BeOS.
24366         * doc/functions/frexpl.texi: Update.
24367
24368 2007-05-20  Jim Meyering  <jim@meyering.net>
24369
24370         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
24371         forced upon us by glibc-2.6.
24372
24373 2007-05-20  Bruno Haible  <bruno@clisp.org>
24374
24375         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
24376         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
24377         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
24378         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
24379         NEED_PRINTF_INFINITE.
24380         (is_infinitel): New function.
24381         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
24382         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
24383         gl_PREREQ_VASNPRINTF_INFINITE.
24384         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
24385         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24386         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
24387         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
24388         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
24389         gl_PREREQ_VASNPRINTF_INFINITE.
24390         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24391         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24392         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24393         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24394         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24395         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24396         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24397         * doc/functions/fprintf.texi: Update.
24398         * doc/functions/printf.texi: Update.
24399         * doc/functions/snprintf.texi: Update.
24400         * doc/functions/sprintf.texi: Update.
24401         * doc/functions/vfprintf.texi: Update.
24402         * doc/functions/vprintf.texi: Update.
24403         * doc/functions/vsnprintf.texi: Update.
24404         * doc/functions/vsprintf.texi: Update.
24405
24406 2007-05-20  Bruno Haible  <bruno@clisp.org>
24407
24408         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
24409         was not found in libc.
24410         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24411
24412 2007-05-20  Bruno Haible  <bruno@clisp.org>
24413
24414         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
24415         printed as "-nan" instead of "nan".
24416         * tests/test-vasprintf-posix.c (test_function): Likewise.
24417         * tests/test-snprintf-posix.h (test_function): Likewise.
24418         * tests/test-sprintf-posix.h (test_function): Likewise.
24419         Needed for HP-UX 11.
24420
24421 2007-05-20  Jim Meyering  <jim@meyering.net>
24422
24423         Fix buggy test for the fchownat-deref bug.
24424         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
24425         symlink required for the run-test.  Without it, this test would
24426         always declare that fchownat doesn't work, and client code would
24427         unnecessarily use the replacement function with fixed libc.
24428         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
24429         Reported by Greg Schafer.
24430
24431 2007-05-19  Bruno Haible  <bruno@clisp.org>
24432
24433         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
24434         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
24435         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
24436         Needed for IRIX 6.5 and Solaris 2.5.1.
24437
24438 2007-05-19  Bruno Haible  <bruno@clisp.org>
24439
24440         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
24441         (test_function): Skip tests involving -0.0 on platforms where
24442         -0.0 = 0.0.
24443         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
24444         (test_function): Skip tests involving -0.0 on platforms where
24445         -0.0 = 0.0.
24446         * tests/test-snprintf-posix.h (have_minus_zero): New function.
24447         (test_function): Skip tests involving -0.0 on platforms where
24448         -0.0 = 0.0.
24449         * tests/test-sprintf-posix.h (have_minus_zero): New function.
24450         (test_function): Skip tests involving -0.0 on platforms where
24451         -0.0 = 0.0.
24452         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
24453         tests.
24454         * tests/test-printf-posix.h (test_function): Likewise.
24455         * tests/test-printf-posix.output: Remove all -0.0 related results.
24456         Needed for IRIX 6.5.
24457
24458 2007-05-19  Bruno Haible  <bruno@clisp.org>
24459
24460         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
24461         printed as "nan0x7fffffff" instead of "nan".
24462         * tests/test-vasprintf-posix.c (test_function): Likewise.
24463         * tests/test-snprintf-posix.h (test_function): Likewise.
24464         * tests/test-sprintf-posix.h (test_function): Likewise.
24465         * tests/test-fprintf-posix.h (NaN): Remove macro.
24466         (test_function): Remove all NaN related tests.
24467         * tests/test-printf-posix.h (NaN): Remove macro.
24468         (test_function): Remove all NaN related tests.
24469         * tests/test-printf-posix.output: Remove all NaN related results.
24470         Needed for IRIX 6.5.
24471
24472 2007-05-19  Bruno Haible  <bruno@clisp.org>
24473
24474         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
24475         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24476
24477 2007-05-19  Bruno Haible  <bruno@clisp.org>
24478
24479         * lib/float_.h: New file.
24480         * m4/float_h.m4: New file.
24481         * modules/float: New file.
24482         * modules/isnanl (Dependencies): Add float.
24483         * modules/isnanl-nolibm (Dependencies): Likewise.
24484         * modules/mathl (Dependencies): Likewise.
24485         * modules/printf-frexpl (Dependencies): Likewise.
24486         * modules/signbit (Dependencies): Likewise.
24487         * modules/vasnprintf (Dependencies): Likewise.
24488         * doc/headers/float.texi: Update.
24489
24490 2007-05-19  Jim Meyering  <jim@meyering.net>
24491
24492         * lib/utimens.c (gl_futimens): Rename from futimens,
24493         now that glibc-2.6 declares futimens.
24494         * lib/utimens.h: Likewise.
24495
24496 2007-05-19  Bruno Haible  <bruno@clisp.org>
24497
24498         Avoid test failures on mingw.
24499         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
24500         * tests/test-printf-posix.sh: Likewise.
24501         * tests/test-vfprintf-posix.sh: Likewise.
24502         * tests/test-vprintf-posix.sh: Likewise.
24503
24504 2007-05-19  Bruno Haible  <bruno@clisp.org>
24505
24506         Fix *printf result for NaN, Inf, -0.0 on mingw.
24507         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
24508         * lib/vasnprintf.c: Include math.h and isnan.h.
24509         (is_infinite_or_zero): New function.
24510         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
24511         values in the %f, %F, %e, %E, %g, %G directives.
24512         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
24513         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24514         gl_PRINTF_INFINITE and test its result. Invoke
24515         gl_PREREQ_VASNPRINTF_INFINITE.
24516         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24517         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24518         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24519         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24520         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24521         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24522         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24523         * doc/functions/fprintf.texi: Update.
24524         * doc/functions/printf.texi: Update.
24525         * doc/functions/snprintf.texi: Update.
24526         * doc/functions/sprintf.texi: Update.
24527         * doc/functions/vfprintf.texi: Update.
24528         * doc/functions/vprintf.texi: Update.
24529         * doc/functions/vsnprintf.texi: Update.
24530         * doc/functions/vsprintf.texi: Update.
24531
24532 2007-05-19  Bruno Haible  <bruno@clisp.org>
24533
24534         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
24535         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
24536         Instead of multiplying with 10^k, set extra_zeroes to k.
24537         (scale10_round_long_double): Remove function.
24538
24539 2007-05-18  Bruno Haible  <bruno@clisp.org>
24540
24541         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
24542         introduced on 2007-05-06.
24543
24544 2007-05-18  Bruno Haible  <bruno@clisp.org>
24545
24546         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
24547         %g directives.
24548         * tests/test-vasprintf-posix.c (test_function): Likewise.
24549         * tests/test-snprintf-posix.h (test_function): Likewise.
24550         * tests/test-sprintf-posix.h (test_function): Likewise.
24551
24552 2007-05-18  Bruno Haible  <bruno@clisp.org>
24553
24554         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
24555         (strmatch): New function.
24556         (test_function): Test the %f directive on numbers of various exponents.
24557         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
24558         (strmatch): New function.
24559         (test_function): Test the %f directive on numbers of various exponents.
24560         * tests/test-snprintf-posix.h (strmatch): New function.
24561         (test_function): Test the %f directive on numbers of various exponents.
24562         * tests/test-sprintf-posix.h (strmatch): New function.
24563         (test_function): Test the %f directive on numbers of various exponents.
24564         * tests/test-snprintf-posix.c (SIZEOF): New macro.
24565         * tests/test-sprintf-posix.c (SIZEOF): New macro.
24566         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
24567         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
24568
24569 2007-05-18  Bruno Haible  <bruno@clisp.org>
24570
24571         Add support for 'long double' number output.
24572         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
24573         * lib/vasnprintf.c: Include math.h and float+.h.
24574         (mp_limb_t): New type.
24575         (GMP_LIMB_BITS): New macro.
24576         (mp_twolimb_t): New type.
24577         (GMP_TWOLIMB_BITS): New macro.
24578         (mpn_t): New type.
24579         (multiply, divide, convert_to_decimal, decode_long_double,
24580         scale10_round_long_double, scale10_round_decimal_long_double,
24581         floorlog10l): New functions.
24582         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
24583         for the %f, %F, %e, %E, %g, %G directives.
24584         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
24585         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24586         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
24587         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
24588         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24589         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24590         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24591         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24592         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24593         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24594         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24595         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
24596         * modules/snprintf-posix (Depends-on): Likewise.
24597         * modules/sprintf-posix (Depends-on): Likewise.
24598         * modules/vasnprintf-posix (Depends-on): Likewise.
24599         * modules/vasprintf-posix (Depends-on): Likewise.
24600         * modules/vfprintf-posix (Depends-on): Likewise.
24601         * modules/vsnprintf-posix (Depends-on): Likewise.
24602         * modules/vsprintf-posix (Depends-on): Likewise.
24603         * modules/vasnprintf (Files): Add lib/float+.h.
24604         * doc/functions/fprintf.texi: Update.
24605         * doc/functions/printf.texi: Update.
24606         * doc/functions/snprintf.texi: Update.
24607         * doc/functions/sprintf.texi: Update.
24608         * doc/functions/vfprintf.texi: Update.
24609         * doc/functions/vprintf.texi: Update.
24610         * doc/functions/vsnprintf.texi: Update.
24611         * doc/functions/vsprintf.texi: Update.
24612
24613 2007-05-18  Bruno Haible  <bruno@clisp.org>
24614
24615         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
24616
24617 2007-05-18  Bruno Haible  <bruno@clisp.org>
24618
24619         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
24620         for printing 64-bit integers. Needed for mingw.
24621
24622 2007-05-18  Bruno Haible  <bruno@clisp.org>
24623
24624         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
24625         gl_FUNC_FREXPL_WORKS.
24626         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
24627
24628 2007-05-18  Bruno Haible  <bruno@clisp.org>
24629
24630         * modules/frexpl-nolibm-tests: New file.
24631
24632         * modules/frexpl-nolibm: New file.
24633         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
24634
24635 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24636
24637         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
24638         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
24639         GCC 4.2, which otherwise issues a lot of warnings.
24640         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
24641         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
24642         Likewise.
24643         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
24644         * modules/iconv_open (iconv.h): Likewise.
24645         * modules/locale (locale.h): Likewise.
24646         * modules/netinet_in (netinet/in.h): Likewise.
24647         * modules/sys_select (sys_select.h): Likewise.
24648         * modules/sys_socket (sys/socket.h): Likewise.
24649         * modules/sys_stat (sys/stat.h): Likewise.
24650         * modules/sysexits (sysexits.h): Likewise.
24651         * modules/unistd (unistd.h): Likewise.
24652
24653 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24654
24655         * modules/closein-tests (Makefile.am): Distribute
24656         `test-closein.sh'.
24657
24658 2007-05-17  Bruno Haible  <bruno@clisp.org>
24659
24660         * tests/test-printf-posix.output: Renamed from
24661         tests/test-fprintf-posix.out.
24662         * modules/fprintf-posix-tests: Update.
24663         * modules/printf-posix-tests: Update.
24664         * modules/vfprintf-posix-tests: Update.
24665         * modules/vprintf-posix-tests: Update.
24666         * tests/test-fprintf-posix.sh: Update.
24667         * tests/test-printf-posix.sh: Update.
24668         * tests/test-vfprintf-posix.sh: Update.
24669         * tests/test-vprintf-posix.sh: Update.
24670         Reported by Ralf Wildenhues.
24671
24672 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24673
24674         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
24675         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
24676         GCC 4.2, which otherwise issues a lot of warnings.
24677         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
24678         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
24679         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
24680         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
24681         it should no longer be needed.
24682         * lib/string_.h: Likewise.
24683         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
24684         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
24685         * modules/inttypes (inttypes.h): Likewise.
24686         * modules/math (math.h): Likewise.
24687         * modules/search (search.h): Likewise.
24688         * modules/signal (signal.h): Likewise.
24689         * modules/stdint (stdint.h): Likewise.
24690         * modules/stdio (stdio.h): Likewise.
24691         * modules/stdlib (stdlib.h): Likewise.
24692         * modules/string (string.h): Likewise.
24693         * modules/sys_time (sys/time.h): Likewise.
24694         * modules/time (time.h): Likewise.
24695         * modules/wchar (wchar.h): Likewise.
24696         * modules/wctype (wtype.h): Likewise.
24697
24698 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24699
24700         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
24701
24702 2007-05-13  Bruno Haible  <bruno@clisp.org>
24703
24704         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
24705         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24706         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
24707         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
24708         (gl_PREREQ_STRTOK_R): Don't require it here.
24709
24710 2007-05-13  Bruno Haible  <bruno@clisp.org>
24711
24712         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
24713         when used in C++ mode.
24714
24715 2007-05-12  Bruno Haible  <bruno@clisp.org>
24716
24717         * lib/linebuffer.h: Tweak doc.
24718         * lib/linebuffer.c: Likewise.
24719
24720 2007-05-12  James Youngman  <jay@gnu.org>
24721
24722         * lib/linebuffer.c (readlinebuffer_delim): New function,
24723         like readlinebuffer, but use a caller-specified delimiter.
24724         (readlinebuffer): Just call readlinebuffer_delim with '\n'
24725         as the delimiter.
24726         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
24727
24728 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24729
24730         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
24731         * modules/openat (Files): Remove openat-die.c.
24732         (Depends-on): Add openat-die.
24733         * modules/openat-die: New module.
24734
24735 2007-05-06  Bruno Haible  <bruno@clisp.org>
24736
24737         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
24738         Update with info about Cygwin.
24739         * doc/functions/fprintf.texi: Update.
24740         * doc/functions/printf.texi: Update.
24741         * doc/functions/snprintf.texi: Update.
24742         * doc/functions/sprintf.texi: Update.
24743         * doc/functions/vfprintf.texi: Update.
24744         * doc/functions/vprintf.texi: Update.
24745         * doc/functions/vsnprintf.texi: Update.
24746         * doc/functions/vsprintf.texi: Update.
24747         Reported by Eric Blake.
24748
24749 2007-05-06  Bruno Haible  <bruno@clisp.org>
24750
24751         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
24752         padding ourselves for the floating-point directives.
24753         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
24754         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
24755         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
24756         gl_PRINTF_FLAG_ZERO and test its result. Invoke
24757         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
24758         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24759         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
24760         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24761         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24762         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24763         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24764         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24765         * tests/test-snprintf-posix.h (test_function): Also check the width
24766         and some flags in the %f directive.
24767         * tests/test-sprintf-posix.h (test_function): Likewise.
24768         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24769         * tests/test-vasprintf-posix.c (test_function): Likewise.
24770         * doc/functions/fprintf.texi: Update.
24771         * doc/functions/printf.texi: Update.
24772         * doc/functions/snprintf.texi: Update.
24773         * doc/functions/sprintf.texi: Update.
24774         * doc/functions/vfprintf.texi: Update.
24775         * doc/functions/vprintf.texi: Update.
24776         * doc/functions/vsnprintf.texi: Update.
24777         * doc/functions/vsprintf.texi: Update.
24778
24779 2007-05-06  Bruno Haible  <bruno@clisp.org>
24780
24781         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
24782         pass the ' flag character to sprintf or snprintf.
24783         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
24784         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
24785         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
24786         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
24787         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
24788         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24789         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
24790         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24791         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24792         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24793         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24794         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24795         * tests/test-snprintf-posix.h (test_function): Also check the grouping
24796         flag.
24797         * tests/test-sprintf-posix.h (test_function): Likewise.
24798         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24799         * tests/test-vasprintf-posix.c (test_function): Likewise.
24800         * doc/functions/fprintf.texi: Update.
24801         * doc/functions/printf.texi: Update.
24802         * doc/functions/snprintf.texi: Update.
24803         * doc/functions/sprintf.texi: Update.
24804         * doc/functions/vfprintf.texi: Update.
24805         * doc/functions/vprintf.texi: Update.
24806         * doc/functions/vsnprintf.texi: Update.
24807         * doc/functions/vsprintf.texi: Update.
24808
24809 2007-05-01  Bruno Haible  <bruno@clisp.org>
24810
24811         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
24812
24813 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
24814
24815         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
24816         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
24817
24818 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24819
24820         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
24821         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
24822         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
24823
24824 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
24825
24826         * lib/argp-help.c (struct hol_entry): New member `ord'.
24827         (HOL_ENTRY_PTRCMP): Use ord for comparison
24828         (hol_sort): Initialize ord.
24829
24830 2007-05-01  Bruno Haible  <bruno@clisp.org>
24831
24832         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
24833         Reported by Eric Blake.
24834         * doc/gnulib.texi (Function Substitutes): Update.
24835
24836 2007-05-01  Bruno Haible  <bruno@clisp.org>
24837
24838         * doc/functions.texi: Remove file, now redundant through
24839         doc/functions/*.texi.
24840
24841 2007-05-01  Bruno Haible  <bruno@clisp.org>
24842
24843         * modules/argp (Depends-on): Add sleep.
24844
24845 2007-05-01  Bruno Haible  <bruno@clisp.org>
24846
24847         * modules/sleep-tests: New file.
24848         * tests/test-sleep.c: New file.
24849
24850         * modules/sleep: New file.
24851         * lib/sleep.c: New file.
24852         * m4/sleep.m4: New file.
24853         * lib/unistd_.h (sleep): New declaration.
24854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
24855         HAVE_SLEEP.
24856         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
24857         * doc/functions/sleep.texi: Document the sleep module.
24858
24859 2007-05-01  Bruno Haible  <bruno@clisp.org>
24860
24861         * lib/sigprocmask.h: Remove file.
24862         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
24863         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
24864         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
24865         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
24866         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
24867         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
24868         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
24869         HAVE_SIGSET_T as a shell variable.
24870         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
24871         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
24872         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
24873         (Depends-on): Add signal. Remove verify.
24874         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
24875         (Include): Mention <signal.h> instead of sigprocmask.h.
24876         * NEWS: Mention the change.
24877         * lib/fatal-signal.c: Don't include sigprocmask.h.
24878
24879 2007-05-01  Bruno Haible  <bruno@clisp.org>
24880
24881         * modules/signal: New file.
24882         * lib/signal_.h: New file.
24883         * m4/signal_h.m4: New file.
24884
24885 2007-05-01  Bruno Haible  <bruno@clisp.org>
24886
24887         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
24888         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
24889         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
24890         HAVE_WCTYPE_CTMP_BUG into wctype.h.
24891
24892 2007-05-01  Bruno Haible  <bruno@clisp.org>
24893
24894         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
24895         configure time.
24896         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
24897         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
24898         * modules/sys_stat (Makefile.am): Substitute their values into
24899         sys/stat.h.
24900
24901 2007-05-01  Bruno Haible  <bruno@clisp.org>
24902
24903         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
24904         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
24905         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
24906
24907 2007-05-01  Bruno Haible  <bruno@clisp.org>
24908
24909         * doc/header/assert.texi: Undo last change: don't mention the gnulib
24910         'assert' module here.
24911
24912 2007-05-01  Bruno Haible  <bruno@clisp.org>
24913
24914         * doc/functions/*.texi: New files.
24915         * doc/functions/google-ranking.txt: New file.
24916         * doc/gnulib.texi (Function Substitutes): New chapter.
24917         (ctime, inet_ntoa): Remove sections.
24918         * doc/ctime.texi: Remove file.
24919         * doc/inet_ntoa.texi: Remove file.
24920         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
24921         dependencies.
24922         (%.info): New rule, specifying a --reference-limit.
24923
24924 2007-05-01  Bruno Haible  <bruno@clisp.org>
24925
24926         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
24927
24928 2007-05-01  Bruno Haible  <bruno@clisp.org>
24929
24930         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
24931         the portability of 'mkdir' to mingw systems.
24932
24933 2007-05-01  Bruno Haible  <bruno@clisp.org>
24934
24935         * doc/headers/google-ranking.txt: New file.
24936
24937 2007-04-30  Eric Blake  <ebb9@byu.net>
24938
24939         Prefer fseeko to fseek.
24940         * modules/getpass (Depends-on): Add fseeko.
24941         * lib/getpass.c (getpass): Use fseeko, not fseek.
24942
24943 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
24944
24945         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
24946         assumes the sorting is stable, while most qsort implementations
24947         are not.  Use argument addresses to ensure they never compare as
24948         equal.
24949
24950         * tests/test-argp-2.sh (usage-indent test): Fix output
24951         (func_compare): Restore diff options
24952         * tests/test-argp.c: Restore #include "progname.h"
24953
24954 2007-04-29  Bruno Haible  <bruno@clisp.org>
24955
24956         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
24957         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
24958         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
24959         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24960         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
24961         (configure.ac): Define CHECK_SNPRINTF_POSIX.
24962         (TESTS, check_PROGRAMS): Add test-snprintf.
24963         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
24964         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
24965         (TESTS, check_PROGRAMS): Add test-vsnprintf.
24966         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
24967         assertions that fail on HP-UX, OSF/1, or IRIX.
24968         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
24969
24970 2007-04-29  Bruno Haible  <bruno@clisp.org>
24971
24972         * MODULES.html.sh (posix_functions): Remove 'contents'.
24973
24974 2007-04-29  Karl Berry  <karl@gnu.org>
24975
24976         * config/srclist.txt (gendocs_template_min): new entry.
24977
24978 2007-04-29  Bruno Haible  <bruno@clisp.org>
24979
24980         Work around fpurge bug on BSD systems.
24981         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
24982         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
24983         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
24984         fpurge to rpl_fpurge if the system already has this function.
24985         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
24986         the case where the system already has this function. Correct invariants
24987         on BSD systems.
24988         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
24989         BSD systems.
24990
24991 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
24992
24993         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
24994         proposed by Sven Verdoolaege.
24995
24996         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
24997         options.
24998         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
24999         (usage and help tests): Update
25000
25001 2007-04-29  Bruno Haible  <bruno@clisp.org>
25002
25003         * tests/test-fflush.c (main): Use a file of size 17, not 10.
25004         Print more information in case of failure. Disable a test on BeOS.
25005
25006 2007-04-29  Bruno Haible  <bruno@clisp.org>
25007
25008         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
25009         This helps debugging on systems on which no gdb is available.
25010
25011 2007-04-29  Bruno Haible  <bruno@clisp.org>
25012
25013         * lib/freading.h: Improve comments.
25014         * lib/fwriting.h: Likewise.
25015         * tests/test-freading.c (main): Don't check freading immediately after
25016         repositioning. Needed for glibc.
25017
25018 2007-04-29  Bruno Haible  <bruno@clisp.org>
25019
25020         * lib/freading.c (freading): Trivial simplification.
25021
25022 2007-04-28  Bruno Haible  <bruno@clisp.org>
25023
25024         * tests/test-fwriting.c (main): Also test the interaction between
25025         fflush and fwriting.
25026         * modules/fwriting-tests (Depends-on): Add fflush.
25027
25028         * tests/test-freading.c (main): Also test the interaction between
25029         fflush and freading.
25030         * modules/freading-tests (Depends-on): Add fflush.
25031
25032 2007-04-28  Bruno Haible  <bruno@clisp.org>
25033
25034         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
25035         fseeko and ftello.
25036         Suggested by Eric Blake.
25037
25038 2007-04-28  Jim Meyering  <jim@meyering.net>
25039
25040         Avoid false-negative in gl_STDINT_H's C99 conformance test.
25041         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
25042         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
25043
25044 2007-04-27  Eric Blake  <ebb9@byu.net>
25045
25046         * doc/headers/assert.texi (assert.h): Document assert module use.
25047
25048 2007-04-27  Bruno Haible  <bruno@clisp.org>
25049
25050         * doc/headers/*.texi: New files.
25051         * doc/gnulib.texi (Header File Substitutes): New chapter.
25052         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
25053         dependencies.
25054         (standards.info ,standards.html, standards.dvi): Update dependencies.
25055         (mostlyclean, clean): New targets.
25056
25057 2007-04-27  Bruno Haible  <bruno@clisp.org>
25058
25059         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
25060         * modules/sysexits (Files, Makefile.am): Update.
25061
25062         * lib/sys_socket_.h: Renamed from lib/socket_.h.
25063         * modules/sys_socket (Files, Makefile.am): Update.
25064
25065         * lib/sys_stat_.h: Renamed from lib/stat_.h.
25066         * modules/sys_stat (Files, Makefile.am): Update.
25067
25068 2007-04-27  Eric Blake  <ebb9@byu.net>
25069
25070         * lib/freading.h: Improve comments.
25071         * lib/fwriting.h: Likewise.
25072         * lib/fflush.c: Likewise.
25073
25074         Fix closein for mingw.
25075         * modules/closein-tests: Add tests for closein.
25076         * tests/test-closein.c: New file.
25077         * tests/test-closein.sh: Likewise.
25078         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
25079         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
25080
25081 2007-04-27  Bruno Haible  <bruno@clisp.org>
25082
25083         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
25084         version is < 6.
25085         * lib/math_.h [__DECC]: Likewise.
25086         * lib/stdio_.h [__DECC]: Likewise.
25087         * lib/stdlib_.h [__DECC]: Likewise.
25088         * lib/string_.h [__DECC]: Likewise.
25089         * lib/time_.h [__DECC]: Likewise.
25090         * lib/wchar_.h [__DECC]: Likewise.
25091         * lib/wctype_.h [__DECC]: Likewise.
25092
25093 2007-04-27  Bruno Haible  <bruno@clisp.org>
25094
25095         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
25096
25097 2007-04-27  Bruno Haible  <bruno@clisp.org>
25098
25099         * lib/fflush.c: Add comments.
25100         * modules/fpurge-tests (Depends-on): Add fflush.
25101         * modules/freadable-tests (Depends-on): Likewise.
25102         * modules/fwritable-tests (Depends-on): Likewise.
25103
25104 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
25105
25106         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
25107         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
25108         Report by Bruno Haible <bruno@clisp.org>.
25109
25110 2007-04-26  Eric Blake  <ebb9@byu.net>
25111
25112         Fix fflush on mingw.
25113         * modules/fflush (Depends-on): Add freading.
25114         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
25115         but unread data.
25116
25117 2007-04-26  Eric Blake  <ebb9@byu.net>
25118         and Bruno Haible  <bruno@clisp.org>
25119
25120         Implement freading and fwriting.
25121         * lib/freading.c: New file.
25122         * lib/freading.h: Likewise.
25123         * m4/freading.m4: Likewise.
25124         * modules/freading: Likewise.
25125         * modules/freading-tests: Likewise.
25126         * tests/test-freading.c: Likewise.
25127         * lib/fwriting.c: New file.
25128         * lib/fwriting.h: Likewise.
25129         * m4/fwriting.m4: Likewise.
25130         * modules/fwriting: Likewise.
25131         * modules/fwriting-tests: Likewise.
25132         * tests/test-fwriting.c: Likewise.
25133         * MODULES.html.sh (File stream based Input/Output): Mention them.
25134
25135 2007-04-26  Bruno Haible  <bruno@clisp.org>
25136
25137         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
25138         'long' when we assume it.
25139         Suggested by Eric Blake.
25140
25141 2007-04-26  Bruno Haible  <bruno@clisp.org>
25142
25143         Ensure fseeko, ftello are declared on glibc systems.
25144         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
25145         * modules/fseeko (configure.ac-early): Likewise.
25146         * modules/ftello (configure.ac-early): Likewise.
25147         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
25148         AC_FUNC_FSEEKO for this.
25149         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
25150         (gl_CHECK_FSEEKO): Remove macro.
25151
25152 2007-04-26  Bruno Haible  <bruno@clisp.org>
25153
25154         * tests/test-fflush.c (main): Also check the ftell result after
25155         fflush and fseek/fseeko.
25156         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
25157         file descriptor position cache in the stream.
25158         * lib/fseeko.c (rpl_fseeko): Likewise.
25159
25160 2007-04-26  Bruno Haible  <bruno@clisp.org>
25161
25162         * modules/fflush-tests (Depends-on): Add fseeko.
25163
25164 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
25165             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25166
25167         * lib/argz_.h: ensure error_t definition is obtained in same
25168         mechanism system argz.h would have.
25169         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
25170         argz facilities are known bad.  Err on the side of caution if
25171         cross-compiling.
25172
25173 2007-04-25  Eric Blake  <ebb9@byu.net>
25174
25175         * lib/fpurge.c (includes): Use stdlib.h for free.
25176         * tests/test-fflush.c (main): Also test fflush-fseeko.
25177
25178 2007-04-25  Bruno Haible  <bruno@clisp.org>
25179
25180         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
25181         * lib/fseeko.c: New file.
25182         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
25183         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
25184         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
25185         gl_FUNC_FSEEKO.
25186         (gl_FUNC_FSEEKO): Invoke it.
25187         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
25188         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
25189         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
25190
25191 2007-04-25  Bruno Haible  <bruno@clisp.org>
25192
25193         * modules/fflush (Depends-on): Add ftello.
25194
25195 2007-04-25  Bruno Haible  <bruno@clisp.org>
25196
25197         * modules/ftello-tests: New file.
25198         * tests/test-ftello.c: New file.
25199
25200         * modules/ftello: New file.
25201         * m4/ftello.m4: New file.
25202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
25203         HAVE_FTELLO.
25204         * lib/stdio_.h (ftello): New declaration.
25205         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
25206         HAVE_FTELLO.
25207
25208 2007-04-25  Bruno Haible  <bruno@clisp.org>
25209
25210         * modules/fseeko-tests: New file.
25211         * tests/test-fseeko.c: New file.
25212
25213         * modules/fseeko: New file.
25214         * m4/fseeko.m4: New file.
25215         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
25216         HAVE_FSEEKO.
25217         * lib/stdio_.h (fseeko): New declaration.
25218         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
25219         HAVE_FSEEKO.
25220
25221 2007-04-25  Bruno Haible  <bruno@clisp.org>
25222
25223         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
25224
25225 2007-04-25  Bruno Haible  <bruno@clisp.org>
25226
25227         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
25228         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
25229         * tests/test-unistd.c: Likewise.
25230         * tests/test-fcntl.c: Likewise.
25231
25232 2007-04-23  Eric Blake  <ebb9@byu.net>
25233
25234         * lib/fflush.c: Fix missing include.
25235         Reported by Bruno Haible.
25236
25237 2007-04-23  Bruno Haible  <bruno@clisp.org>
25238
25239         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
25240         Reported by Eric Blake.
25241
25242 2007-04-23  Bruno Haible  <bruno@clisp.org>
25243
25244         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
25245
25246 2007-04-23  Bruno Haible  <bruno@clisp.org>
25247
25248         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
25249
25250 2007-04-23  Bruno Haible  <bruno@clisp.org>
25251
25252         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
25253         Needed on HP-UX 11.
25254
25255 2007-04-16  Eric Blake  <ebb9@byu.net>
25256
25257         Make fflush rely on fpurge.
25258         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
25259         open coding all variants.
25260         * modules/fflush (Depends-on): Add fpurge and unistd.
25261         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
25262         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
25263
25264         Fix --with-tests compilation on cygwin.
25265         * modules/argmatch-tests (Makefile.am): List gnulib library first
25266         in LDADD.
25267         * modules/argp-tests (Makefile.am): Likewise.
25268         * modules/array-list-tests (Makefile.am): Likewise.
25269         * modules/array-oset-tests (Makefile.am): Likewise.
25270         * modules/avltree-list-tests (Makefile.am): Likewise.
25271         * modules/avltree-oset-tests (Makefile.am): Likewise.
25272         * modules/avltreehash-list-tests (Makefile.am): Likewise.
25273         * modules/carray-list-tests (Makefile.am): Likewise.
25274         * modules/dirname-tests (Makefile.am): Likewise.
25275         * modules/frexp-tests (Makefile.am): Likewise.
25276         * modules/isnanl-tests (Makefile.am): Likewise.
25277         * modules/linked-list-tests (Makefile.am): Likewise.
25278         * modules/linkedhash-list-tests (Makefile.am): Likewise.
25279         * modules/lock-tests (Makefile.am): Likewise.
25280         * modules/rbtree-list-tests (Makefile.am): Likewise.
25281         * modules/rbtree-oset-tests (Makefile.am): Likewise.
25282         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
25283         * modules/tls-tests (Makefile.am): Likewise.
25284         * modules/tsearch-tests (Makefile.am): Likewise.
25285         * modules/xvasprintf-tests (Makefile.am): Likewise.
25286
25287         Fix fpurge for cygwin.
25288         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
25289         value.
25290         * modules/fpurge-tests (Depends-on): Clean up trash.
25291
25292 2007-04-16  Simon Josefsson  <simon@josefsson.org>
25293
25294         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
25295
25296         * m4/autobuild.m4: Re-indent.
25297
25298 2007-04-13  Bruno Haible  <bruno@clisp.org>
25299
25300         * modules/fpurge-tests: New file.
25301         * tests/test-fpurge.c: New file.
25302
25303         * modules/fpurge: New file.
25304         * lib/fpurge.h: New file.
25305         * lib/fpurge.c: New file.
25306         * m4/fpurge.m4: New file.
25307
25308 2007-04-13  Bruno Haible  <bruno@clisp.org>
25309
25310         * modules/fbufmode-tests: New file.
25311         * tests/test-fbufmode.c: New file.
25312
25313         * modules/fbufmode: New file.
25314         * lib/fbufmode.h: New file.
25315         * lib/fbufmode.c: New file.
25316         * m4/fbufmode.m4: New file.
25317
25318 2007-04-13  Bruno Haible  <bruno@clisp.org>
25319
25320         * modules/fwritable-tests: New file.
25321         * tests/test-fwritable.c: New file.
25322
25323         * modules/fwritable: New file.
25324         * lib/fwritable.h: New file.
25325         * lib/fwritable.c: New file.
25326         * m4/fwritable.m4: New file.
25327
25328 2007-04-13  Bruno Haible  <bruno@clisp.org>
25329
25330         * modules/freadable-tests: New file.
25331         * tests/test-freadable.c: New file.
25332
25333         * modules/freadable: New file.
25334         * lib/freadable.h: New file.
25335         * lib/freadable.c: New file.
25336         * m4/freadable.m4: New file.
25337
25338 2007-04-13  Bruno Haible  <bruno@clisp.org>
25339
25340         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
25341         MOSTLYCLEANFILES.
25342
25343 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25344
25345         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
25346         gzip bootstrap.conf to avoid dragging in i18n machinery.
25347         (gnulib_tool_option): Use it.
25348
25349 2007-04-13  Bruno Haible  <bruno@clisp.org>
25350
25351         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
25352         %F directives.
25353         * tests/test-vasprintf-posix.c (test_function): Likewise.
25354         * tests/test-snprintf-posix.h (test_function): Likewise.
25355         * tests/test-sprintf-posix.h (test_function): Likewise.
25356         * tests/test-fprintf-posix.h (test_function): Likewise.
25357         * tests/test-printf-posix.h (test_function): Likewise.
25358         * tests/test-fprintf-posix.out: Likewise.
25359
25360 2007-04-13  Bruno Haible  <bruno@clisp.org>
25361
25362         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
25363         * modules/tls-tests (configure.ac): Likewise.
25364         Reported by Arto C. Nirkko <anirkko@insel.ch>.
25365
25366 2007-04-13  Bruno Haible  <bruno@clisp.org>
25367
25368         * lib/tls.c (glthread_tls_get): Fix return type.
25369         Patch by Arto C. Nirkko <anirkko@insel.ch>.
25370
25371 2007-04-12  Eric Blake  <ebb9@byu.net>
25372
25373         * modules/gettime (Depends-on): Remove gettime.
25374         Reported by Dmitry V. Levin.
25375
25376 2007-04-12  Bruno Haible  <bruno@clisp.org>
25377
25378         * modules/fflush (Include): Mention <stdio.h>.
25379         * modules/strtoimax (Include): Mention <inttypes.h>.
25380         * modules/strtoumax (Include): Likewise.
25381
25382 2007-04-12  Eric Blake  <ebb9@byu.net>
25383
25384         * .cvsignore: New file.
25385         * .gitignore: Likewise.
25386
25387 2007-04-12  Bruno Haible  <bruno@clisp.org>
25388
25389         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
25390         not before, since $(LDADD) often contains libgnu.a.
25391         * modules/striconv-tests (test_striconv_LDADD): Likewise.
25392         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
25393         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
25394         Needed on Cygwin.
25395
25396 2007-04-12  Eric Blake  <ebb9@byu.net>
25397
25398         Work around glibc's failure to flush stdin on fclose.
25399         * lib/closein.c (close_stdin): Flush stdin before closing.
25400
25401         Work around glibc's failure to reset seekable stdin on exit.
25402         * modules/closein: New module.
25403         * lib/closein.c: New file.
25404         * lib/closein.h: Likewise.
25405         * m4/closein.m4: Likewise.
25406         * MODULES.html.sh (File stream based Input/Output): Document it.
25407
25408 2007-04-12  Simon Josefsson  <simon@josefsson.org>
25409
25410         * gnulib-tool: Rename generated 'autobuild' script to
25411         'do-autobuild' in --create-megatestdir output.
25412
25413         * doc/gnulib.texi (Build robot for gnulib): Fix.
25414
25415 2007-04-12  Simon Josefsson  <simon@josefsson.org>
25416
25417         * modules/sysexits (Depends-on): Add absolute-header.
25418
25419 2007-04-12  Eric Blake  <ebb9@byu.net>
25420
25421         No need to preserve errno on success.
25422         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
25423         Reported by Bruno Haible.
25424
25425 2007-04-12  Simon Josefsson  <simon@josefsson.org>
25426
25427         * MODULES.html.sh (Support for maintaining and releasing
25428         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
25429
25430 2007-04-12  Simon Josefsson  <simon@josefsson.org>
25431
25432         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
25433
25434 2007-04-12  Simon Josefsson  <simon@josefsson.org>
25435
25436         * modules/autobuild: New module.
25437
25438         * m4/autobuild.m4: New file.
25439
25440 2007-04-11  Bruno Haible  <bruno@clisp.org>
25441
25442         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
25443         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
25444         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
25445         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
25446         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25447         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25448         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
25450         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25451         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25452         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
25453         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25454         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25455         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
25456         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25457         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
25459         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25460         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25461         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
25462         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25463         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
25465         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25466         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25467         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
25468         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
25469         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25470         Reported by Eric Blake.
25471
25472 2007-04-11  Bruno Haible  <bruno@clisp.org>
25473
25474         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
25475
25476 2007-04-10  Bruno Haible  <bruno@clisp.org>
25477
25478         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
25479         for NaN and Infinity. Needed on FreeBSD 6.1.
25480         * tests/test-vasnprintf-posix.c (test_function): Undo last change
25481         regarding results for "%010a" of Infinity and NaN.
25482         * tests/test-vasprintf-posix.c (test_function): Likewise.
25483         * tests/test-snprintf-posix.h (test_function): Likewise.
25484         * tests/test-sprintf-posix.h (test_function): Likewise.
25485         * tests/test-fprintf-posix.h (test_function): Likewise.
25486         * tests/test-printf-posix.h (test_function): Likewise.
25487         * tests/test-fprintf-posix.out: Likewise.
25488
25489 2007-04-10  Bruno Haible  <bruno@clisp.org>
25490
25491         * modules/locale-tests: New file.
25492         * tests/test-locale.c: New file.
25493
25494         * modules/locale: New file.
25495         * lib/locale_.h: New file.
25496         * m4/locale_h.m4: New file.
25497
25498 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
25499             Bruno Haible  <bruno@clisp.org>
25500
25501         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
25502         be determined, test for availability of the copysignf, copysign,
25503         copysignl functions.
25504         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
25505         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
25506         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
25507
25508 2007-04-09  Eric Blake  <ebb9@byu.net>
25509
25510         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
25511         * modules/stdio (Makefile.am): Support fflush.
25512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25513         * modules/fflush: New file.
25514         * lib/fflush.c: Likewise.
25515         * m4/fflush.m4: Likewise.
25516         * modules/fflush-tests: New test.
25517         * tests/test-fflush.c: Likewise.
25518         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
25519
25520 2007-04-06  Bruno Haible  <bruno@clisp.org>
25521
25522         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
25523         (VASNPRINTF): Use signbit for faster determination whether to print a
25524         minus sign.
25525         * modules/vasnprintf (Files): Remove lib/float+.h.
25526         * modules/fprintf-posix (Depends-on): Add signbit.
25527         * modules/snprintf-posix (Depends-on): Likewise.
25528         * modules/sprintf-posix (Depends-on): Likewise.
25529         * modules/vasnprintf-posix (Depends-on): Likewise.
25530         * modules/vasprintf-posix (Depends-on): Likewise.
25531         * modules/vfprintf-posix (Depends-on): Likewise.
25532         * modules/vsnprintf-posix (Depends-on): Likewise.
25533         * modules/vsprintf-posix (Depends-on): Likewise.
25534
25535 2007-04-06  Bruno Haible  <bruno@clisp.org>
25536
25537         * tests/test-frexp.c (main): Test also the sign bit of zero results.
25538         * tests/test-frexpl.c (main): Likewise.
25539         * tests/test-ldexpl.c (main): Likewise.
25540         * modules/frexp-tests (Depends-on): Add signbit.
25541         * modules/frexpl-tests (Depdends-on): Likewise.
25542         * modules/ldexpl-tests (Depdends-on): Likewise.
25543
25544 2007-04-06  Bruno Haible  <bruno@clisp.org>
25545
25546         * modules/signbit-tests: New file.
25547         * tests/test-signbit.c: New file.
25548
25549         * modules/signbit: New file.
25550         * lib/signbitf.c: New file.
25551         * lib/signbitd.c: New file.
25552         * lib/signbitl.c: New file.
25553         * m4/signbit.m4: New file.
25554         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
25555         (signbit): New macro.
25556         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
25557         REPLACE_SIGNBIT.
25558         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
25559         REPLACE_FREXPL into math.h.
25560
25561 2007-04-06  Bruno Haible  <bruno@clisp.org>
25562
25563         * modules/isnanf-nolibm-tests: New file.
25564         * tests/test-isnanf.c: New file.
25565
25566         * modules/isnanf-nolibm: New file.
25567         * lib/isnanf.h: New file.
25568         * lib/isnanf.c: New file.
25569         * lib/isnan.c: Consider the USE_FLOAT macro.
25570         * m4/isnanf.m4: New file.
25571
25572 2007-04-06  Bruno Haible  <bruno@clisp.org>
25573
25574         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
25575         (Link): New section.
25576
25577         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
25578
25579 2007-04-06  Bruno Haible  <bruno@clisp.org>
25580
25581         Assume the 'long double' type.
25582         * m4/longdouble.m4: Remove file.
25583         * config/srclist.txt: Don't mention longdouble.m4.
25584         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
25585         * lib/float+.h: Likewise.
25586         * lib/frexp.c: Likewise.
25587         * lib/printf-args.h: Likewise.
25588         * lib/printf-args.c: Likewise.
25589         * lib/printf-frexp.c: Likewise.
25590         * lib/printf-parse.c: Likewise.
25591         * lib/vasnprintf.c: Likewise.
25592         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
25593         * m4/intl.m4: Likewise.
25594         * m4/isnanl.m4: Likewise.
25595         * m4/printf.m4: Likewise.
25596         * m4/printf-frexpl.m4: Likewise.
25597         * m4/vasnprintf.m4: Likewise.
25598         * modules/allocsa (Files): Remove m4/longdouble.m4.
25599         * modules/gettext (Files): Likewise.
25600         * modules/relocatable-prog-wrapper (Files): Likewise.
25601         * modules/vasnprintf (Files): Likewise.
25602         * modules/isnanl (Files): Likewise.
25603         (Include): Simplify.
25604         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
25605         (Include): Simplify.
25606         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
25607         (Include): Simplify.
25608         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
25609         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
25610         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
25611         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
25612         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
25613         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
25614         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
25615         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
25616         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
25617         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
25618         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
25619         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
25620         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
25621         * tests/test-isnanl.c: Likewise.
25622         * tests/test-snprintf-posix.h: Likewise.
25623         * tests/test-sprintf-posix.h: Likewise.
25624         * tests/test-vasnprintf-posix.c: Likewise.
25625         * tests/test-vasnprintf-posix2.c: Likewise.
25626         * tests/test-vasprintf-posix.c: Likewise.
25627
25628 2007-04-06  Bruno Haible  <bruno@clisp.org>
25629
25630         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
25631         * lib/math_.h [__DECC]: Include the overridden include file through
25632         #include_next, outside the double-inclusion guard.
25633         * lib/stdio_.h [__DECC]: Likewise.
25634         * lib/stdlib_.h [__DECC]: Likewise.
25635         * lib/string_.h [__DECC]: Likewise.
25636         * lib/time_.h [__DECC]: Likewise.
25637         * lib/wchar_.h [__DECC]: Likewise.
25638         * lib/wctype_.h [__DECC]: Likewise.
25639         * lib/inttypes_.h [__DECC]: Likewise.
25640         Reported by Albert Chin <china@thewrittenword.com> in
25641         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
25642
25643 2007-04-04  Eric Blake  <ebb9@byu.net>
25644
25645         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
25646         1.5.x.
25647
25648 2007-04-04  Bruno Haible  <bruno@clisp.org>
25649
25650         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
25651         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
25652
25653 2007-04-04  Bruno Haible  <bruno@clisp.org>
25654
25655         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
25656         results for "%010a" of Infinity and NaN.
25657         * tests/test-vasprintf-posix.c (test_function): Likewise.
25658         * tests/test-snprintf-posix.h (test_function): Likewise.
25659         * tests/test-sprintf-posix.h (test_function): Likewise.
25660         * tests/test-fprintf-posix.h (test_function): Remove these tests.
25661         * tests/test-printf-posix.h (test_function): Likewise.
25662         * tests/test-fprintf-posix.out: Update.
25663         Needed for FreeBSD 6.1.
25664
25665 2007-04-04  Bruno Haible  <bruno@clisp.org>
25666
25667         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
25668         directly used by the gnulib modules nor by gnulib-tool.
25669
25670 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
25671
25672         * DEPENDENCIES: Give overall description of version dependency
25673         desirability.  Use more-typical names for apps.
25674         Add shell, coreutils, diffutils, grep, tar, gzip.
25675
25676 2007-04-04  Simon Josefsson  <simon@josefsson.org>
25677
25678         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
25679
25680 2007-04-04  Karl Berry  <karl@gnu.org>
25681
25682         * MODULES.html.sh (func_module): missing '.
25683
25684 2007-04-03  Bruno Haible  <bruno@clisp.org>
25685
25686         * modules/argmatch-tests (Makefile.am): New variable
25687         test_argmatch_LDADD.
25688         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
25689         * modules/array-list-tests (Makefile.am): New variable
25690         test_array_list_LDADD.
25691         * modules/array-oset-tests (Makefile.am): New variable
25692         test_array_oset_LDADD.
25693         * modules/avltree-list-tests (Makefile.am): New variable
25694         test_avltree_list_LDADD.
25695         * modules/avltree-oset-tests (Makefile.am): New variable
25696         test_avltree_oset_LDADD.
25697         * modules/avltreehash-list-tests (Makefile.am): New variable
25698         test_avltreehash_list_LDADD.
25699         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
25700         test_canonicalize_lgpl_LDADD.
25701         * modules/carray-list-tests (Makefile.am): New variable
25702         test_carray_list_LDADD.
25703         * modules/dirname-tests (Makefile.am): New variable
25704         test_dirname_LDADD.
25705         * modules/linked-list-tests (Makefile.am): New variable
25706         test_linked_list_LDADD.
25707         * modules/linkedhash-list-tests (Makefile.am): New variable
25708         test_linkedhash_list_LDADD.
25709         * modules/rbtree-list-tests (Makefile.am): New variable
25710         test_rbtree_list_LDADD.
25711         * modules/rbtree-oset-tests (Makefile.am): New variable
25712         test_rbtree_oset_LDADD.
25713         * modules/rbtreehash-list-tests (Makefile.am): New variable
25714         test_rbtreehash_list_LDADD.
25715         * modules/xvasprintf-tests (Makefile.am): New variable
25716         test_xvasprintf_LDADD.
25717         Reported by Eric Blake.
25718
25719 2007-04-03  Eric Blake  <ebb9@byu.net>
25720
25721         * DEPENDENCIES: Weaken m4 requirements.
25722
25723 2007-04-03  Bruno Haible  <bruno@clisp.org>
25724
25725         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
25726         * modules/isnanl-tests (configure.ac): Likewise.
25727
25728 2007-04-03  Ben Pfaff  <blp@gnu.org>
25729
25730         * modules/iconv_open: Add $(srcdir)/ to source directory
25731         references in Makefile fragments that call gperf, to fix VPATH
25732         builds.
25733
25734 2007-04-03  Bruno Haible  <bruno@clisp.org>
25735
25736         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
25737         * lib/ldexpl.c: Undo last change.
25738
25739 2007-04-03  Bruno Haible  <bruno@clisp.org>
25740
25741         * modules/printf-frexpl (Depends-on): Undo last change.
25742         (Files): Add m4/ldexpl.m4.
25743
25744 2007-04-03  Bruno Haible  <bruno@clisp.org>
25745
25746         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
25747         * modules/isnanl (Link): New section.
25748
25749         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
25750         * modules/frexp (Link): New section.
25751
25752         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
25753         * modules/frexpl (Link): New section.
25754
25755         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
25756         * modules/ldexpl (Link): New section.
25757
25758 2007-04-03  Bruno Haible  <bruno@clisp.org>
25759
25760         * modules/TEMPLATE-EXTENDED: New file.
25761         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
25762
25763 2007-04-03  Bruno Haible  <bruno@clisp.org>
25764
25765         * DEPENDENCIES: New file.
25766         Suggested by Simon Josefsson.
25767
25768 2007-04-03  Bruno Haible  <bruno@clisp.org>
25769
25770         * doc/gnulib.texi: Escape @.
25771
25772 2007-04-03  James Youngman  <jay@gnu.org>
25773         and Paul Eggert  <eggert@cs.ucla.edu>
25774
25775         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
25776         birthtime on all systems that have birthtime, not just those which
25777         use st_birthtimensec rather than st_birthtim.  Putting zero in
25778         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
25779         that the birth time is not available for files on an NFS mount.
25780
25781 2007-04-03  Simon Josefsson  <simon@josefsson.org>
25782
25783         * modules/memxor: Move back from crypto/, suggested by Bruno.
25784         * modules/crypto/hmac-sha1: Fix memxor dependency.
25785
25786         * modules/crypto/gc: Moved from ../.
25787
25788 2007-04-02  Eric Blake  <ebb9@byu.net>
25789
25790         * lib/ldexpl.c (includes): Avoid libm.
25791
25792         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
25793
25794 2007-04-02  Bruno Haible  <bruno@clisp.org>
25795
25796         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
25797         on IRIX.
25798
25799 2007-04-02  Bruno Haible  <bruno@clisp.org>
25800
25801         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
25802         x86 or x86_64 platforms running MacOS X.
25803         Reported by Ryan Schmidt <@ryandesign.com>.
25804
25805 2007-04-02  Bruno Haible  <bruno@clisp.org>
25806
25807         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
25808         i386.
25809
25810 2007-04-01  Simon Josefsson  <simon@josefsson.org>
25811
25812         * modules/crypto/arcfour: Moved from ../.
25813         * modules/crypto/arcfour-tests: Moved from ../.
25814         * modules/crypto/arctwo: Moved from ../.
25815         * modules/crypto/arctwo-tests: Moved from ../.
25816         * modules/crypto/des: Moved from ../.
25817         * modules/crypto/des-tests: Moved from ../.
25818         * modules/crypto/gc-arcfour: Moved from ../.
25819         * modules/crypto/gc-arcfour-tests: Moved from ../.
25820         * modules/crypto/gc-arctwo: Moved from ../.
25821         * modules/crypto/gc-arctwo-tests: Moved from ../.
25822         * modules/crypto/gc-des: Moved from ../.
25823         * modules/crypto/gc-des-tests: Moved from ../.
25824         * modules/crypto/gc-hmac-md5: Moved from ../.
25825         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
25826         * modules/crypto/gc-hmac-sha1: Moved from ../.
25827         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
25828         * modules/crypto/gc-md2: Moved from ../.
25829         * modules/crypto/gc-md2-tests: Moved from ../.
25830         * modules/crypto/gc-md4: Moved from ../.
25831         * modules/crypto/gc-md4-tests: Moved from ../.
25832         * modules/crypto/gc-md5: Moved from ../.
25833         * modules/crypto/gc-md5-tests: Moved from ../.
25834         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
25835         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
25836         * modules/crypto/gc-random: Moved from ../.
25837         * modules/crypto/gc-rijndael: Moved from ../.
25838         * modules/crypto/gc-rijndael-tests: Moved from ../.
25839         * modules/crypto/gc-sha1: Moved from ../.
25840         * modules/crypto/gc-sha1-tests: Moved from ../.
25841         * modules/crypto/gc-tests: Moved from ../.
25842         * modules/crypto/hmac-md5: Moved from ../.
25843         * modules/crypto/hmac-md5-tests: Moved from ../.
25844         * modules/crypto/hmac-sha1: Moved from ../.
25845         * modules/crypto/hmac-sha1-tests: Moved from ../.
25846         * modules/crypto/md2: Moved from ../.
25847         * modules/crypto/md2-tests: Moved from ../.
25848         * modules/crypto/md4: Moved from ../.
25849         * modules/crypto/md4-tests: Moved from ../.
25850         * modules/crypto/md5: Moved from ../.
25851         * modules/crypto/md5-tests: Moved from ../.
25852         * modules/crypto/memxor: Moved from ../.
25853         * modules/crypto/rijndael: Moved from ../.
25854         * modules/crypto/rijndael-tests: Moved from ../.
25855         * modules/crypto/sha1: Moved from ../.
25856
25857 2007-03-30  James Youngman  <jay@gnu.org>
25858
25859         * tests/test-stat-time.c (prepare_test): use chmod() rather than
25860         rename() to change the ctime of a file (because ctime is unaffected
25861         by rename on jfs2 on AIX 5.1).
25862         (main): Start by doing cleanup, in case a previous run failed leaving
25863         test files behind.
25864
25865 2007-03-31  Bruno Haible  <bruno@clisp.org>
25866
25867         Support old proprietary implementations of iconv.
25868         * modules/iconv_open: New file.
25869         * lib/iconv_.h: New file.
25870         * m4/iconv_h.m4: New file.
25871         * lib/iconv_open.c: New file.
25872         * lib/iconv_open-aix.gperf: New file.
25873         * lib/iconv_open-hpux.gperf: New file.
25874         * lib/iconv_open-irix.gperf: New file.
25875         * lib/iconv_open-osf.gperf: New file.
25876         * m4/iconv_open.m4: New file.
25877         * modules/linebreak (Depends-on): Add iconv_open.
25878         * modules/striconv (Depends-on): Likewise.
25879         * modules/striconveh (Depends-on): Likewise.
25880         * modules/unicodeio (Depends-on): Likewise.
25881         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
25882         (iconv_t)(-1).
25883         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
25884         conversion if cd is (iconv_t)(-1).
25885         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
25886         is not possible.
25887
25888 2007-03-31  Bruno Haible  <bruno@clisp.org>
25889
25890         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
25891         work on Solaris either. Protect also second use of "autodetect_jp".
25892
25893 2007-03-31  Bruno Haible  <bruno@clisp.org>
25894
25895         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
25896         the function is not present.
25897
25898 2007-03-31  Bruno Haible  <bruno@clisp.org>
25899
25900         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
25901         the function is not present.
25902
25903 2007-03-31  Bruno Haible  <bruno@clisp.org>
25904
25905         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
25906         a bug in HP-UX iconv_open().
25907
25908 2007-03-31  Bruno Haible  <bruno@clisp.org>
25909
25910         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
25911         (Mathematics <math.h>): New section, add fpieee.
25912         (Input/output <stdio.h>): Add fseterr.
25913         (Mathematics <math.h>): New section, add printf-frexp.
25914         (Container data structures): Add sublist.
25915         (Core language properties): Add fpucw, inline.
25916         (Functions for greatest-width integer types <inttypes.h>): Add
25917         imaxabs, imaxdiv, inttypes.
25918         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
25919         isnanl-nolibm, ldexp.
25920         (Mathematics <math.h>): New section, add printf-frexpl.
25921         (Support for systems lacking POSIX:2001): Add fprintf-posix,
25922         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
25923         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
25924         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
25925         (Unicode string functions): Add unistr/u*-mbtoucr.
25926         (Java): Add javacomp-script, javaexec-script.
25927         (C#): Add csharpcomp-script, csharpexec-script.
25928         (Support for building libraries and executables): Add havelib,
25929         relocatable-*.
25930         (Support for maintaining and releasing projects): Renamed from
25931         'Support for maintaining and release projects'. Add announce-gen.
25932
25933 2007-03-31  Bruno Haible  <bruno@clisp.org>
25934
25935         * README: Talk primarily about git.
25936         (git and CVS): Renamed from CVS.
25937         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
25938         gnulib is available through git.
25939         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
25940
25941 2007-03-30  Bruno Haible  <bruno@clisp.org>
25942
25943         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
25944         * lib/poll_.h: Likewise.
25945         * lib/stat_.h: Likewise.
25946         * lib/sys_time_.h: Likewise.
25947         * lib/sysexit_.h: Likewise.
25948         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
25949         * lib/stdbool_.h: Likewise.
25950         * lib/byteswap_.h: Add double-inclusion guard.
25951
25952 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
25953
25954         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
25955
25956 2007-03-30  Karl Berry  <karl@gnu.org>
25957
25958         * config/srclist-update: double space after USA in the license
25959         substitution, since that's how it's usually (?) written.
25960
25961 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
25962
25963         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
25964         reported by Bruno Haible.
25965
25966 2007-03-29  Bruno Haible  <bruno@clisp.org>
25967
25968         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
25969         a bug in AIX iconv().
25970
25971 2007-03-29  Bruno Haible  <bruno@clisp.org>
25972
25973         * modules/ldexpl-tests: New file.
25974         * tests/test-ldexpl.c: New file.
25975
25976 2007-03-29  Bruno Haible  <bruno@clisp.org>
25977
25978         * lib/ldexpl.c: Include fpucw.h.
25979         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
25980         multiplication.
25981         * modules/ldexpl (Depends-on): Add fpucw.
25982
25983 2007-03-29  Bruno Haible  <bruno@clisp.org>
25984
25985         * modules/ldexpl: New file.
25986         * m4/ldexpl.m4: New file.
25987         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
25988         set.
25989         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
25990         REPLACE_LDEXPL.
25991         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
25992         REPLACE_LDEXPL.
25993         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
25994         gl_FUNC_LDEXPL_WORKS.
25995         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
25996         * modules/mathl (Files): Remove lib/ldexpl.c.
25997         (Depends-on): Add ldexpl.
25998
25999 2007-03-29  Bruno Haible  <bruno@clisp.org>
26000
26001         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
26002
26003 2007-03-29  Bruno Haible  <bruno@clisp.org>
26004
26005         * tests/test-striconveh.c (main): Don't assume that a direct conversion
26006         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
26007         and possibly also HP-UX.
26008         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
26009         work on AIX, IRIX, HP-UX, OSF/1.
26010         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26011         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26012         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26013         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26014         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
26015         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26016
26017 2007-03-29  Bruno Haible  <bruno@clisp.org>
26018
26019         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
26020
26021 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
26022
26023         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
26024         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
26025
26026 2007-03-29  Eric Blake  <ebb9@byu.net>
26027
26028         * lib/acl-internal.h: Remove redundant include.
26029         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
26030         Cygwin when a file is locked.
26031
26032 2007-03-29  Bruno Haible  <bruno@clisp.org>
26033
26034         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
26035         file.
26036         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
26037
26038 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
26039
26040         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
26041         try to remove a parent directory if the child couldn't be removed
26042         (except for the first rmdir, which could fail because the child
26043         doesn't exist).  Problem reported by Jeff Blaine in
26044         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
26045
26046 2007-03-28  Bruno Haible  <bruno@clisp.org>
26047
26048         * lib/striconveh.c (utf8conv_carefully): New function.
26049         (mem_cd_iconveh_internal): Invoke it.
26050
26051 2007-03-28  Bruno Haible  <bruno@clisp.org>
26052
26053         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
26054         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
26055         input.
26056         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
26057         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
26058         unistr/u8-uctomb.
26059
26060 2007-03-28  Bruno Haible  <bruno@clisp.org>
26061
26062         * modules/unistr/u8-mbtoucr: New file.
26063         * lib/unistr/u8-mbtoucr.c: New file.
26064         * modules/unistr/u16-mbtoucr: New file.
26065         * lib/unistr/u16-mbtoucr.c: New file.
26066         * modules/unistr/u16-mbtoucr: New file.
26067         * lib/unistr/u16-mbtoucr.c: New file.
26068         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
26069
26070 2007-03-27  Simon Josefsson  <simon@josefsson.org>
26071             Bruno Haible  <bruno@clisp.org>
26072
26073         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
26074         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
26075         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
26076
26077         * m4/stdio_h.m4: Add stubs for vasprintf too.
26078
26079         * modules/stdio: Support vasprintf in sed command.
26080
26081         * modules/vasprintf: Depend on stdio for prototypes.  Remove
26082         vasprintf.h.  Add stdio module indicator.
26083
26084         * lib/stdio_.h: Declare asprintf and vasprintf, based on
26085         vasprintf.h.
26086
26087         * lib/vasprintf.h: File removed.
26088
26089         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
26090         * lib/vasprintf.c: Ditto.
26091         * lib/xvasprintf.c: Ditto.
26092         * tests/test-vasprintf-posix.c: Ditto.
26093         * tests/test-vasprintf.c: Ditto.
26094
26095 2007-03-27  Bruno Haible  <bruno@clisp.org>
26096
26097         Make vasnprintf multithread-safe.
26098         * lib/vasnprintf.c (decimal_point_char): New function.
26099         (VASNPRINTF): Use it.
26100         Suggested by Simon Josefsson.
26101
26102 2007-03-27  Eric Blake  <ebb9@byu.net>
26103
26104         Support sub-second birthtime on cygwin.
26105         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
26106         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
26107         (get_stat_birthtime): Also work with st_birthtim.
26108
26109 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
26110
26111         * lib/stat-time.h (USE_BIRTHTIME): Remove.
26112         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
26113         (get_stat_birthtime_ns): Do not try to use "spare" fields.
26114         (get_stat_birthtime_ns): Simplify compile-time tests.
26115         (get_stat_birthtime): Change the API to look like
26116         get_stat_mtime etc., except return a negative tv_nsec on error.
26117         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
26118         Don't check for "spare" fields.
26119         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
26120         or for struct stat.st_birthtime, as these tests aren't used.
26121         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
26122
26123 2007-03-27  Bruno Haible  <bruno@clisp.org>
26124
26125         * lib/stat-time.h: Include <sys/stat.h>.
26126
26127 2007-03-27  James Youngman  <jay@gnu.org>
26128
26129         * lib/stat-time.h (get_stat_birthtime): New function for
26130           retrieving st_birthtime as provided by UFS2 (hence *BSD).
26131         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
26132           and its variants.
26133         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
26134         * modules/stat-time-test: New file.
26135         * tests/test-stat-time.c: New test, devised by Bruno Haible.
26136
26137 2007-03-26  Bruno Haible  <bruno@clisp.org>
26138
26139         Better support of signalling NaNs.
26140         * lib/atanl.c: Include isnanl.h.
26141         (atanl): Perform test for NaN at the beginning of the function and
26142         through a call to isnanl.
26143         * lib/cosl.c: Include isnanl.h.
26144         (cosl): Perform test for NaN at the beginning of the function and
26145         through a call to isnanl.
26146         * lib/ldexpl.c: Include isnanl.h.
26147         (ldexpl): Perform test for NaN through a call to isnanl.
26148         * lib/logl.c: Include isnanl.h.
26149         (logl): Perform test for NaN at the beginning of the function and
26150         through a call to isnanl.
26151         * lib/sinl.c: Include isnanl.h.
26152         (sinl): Perform test for NaN at the beginning of the function and
26153         through a call to isnanl.
26154         * lib/sqrtl.c: Include isnanl.h.
26155         (sqrtl): Perform test for NaN at the beginning of the function and
26156         through a call to isnanl.
26157         * lib/tanl.c: Include isnanl.h.
26158         (tanl): Perform test for NaN at the beginning of the function and
26159         through a call to isnanl.
26160         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
26161         * modules/mathl (Depends-on): Add isnanl.
26162
26163 2007-03-26  Eric Blake  <ebb9@byu.net>
26164
26165         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
26166         regression in logic sense of previous patch.
26167
26168 2007-03-26  Bruno Haible  <bruno@clisp.org>
26169
26170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
26171         unportable shell command "if ! ...".
26172         Reported by Ralf Wildenhues.
26173
26174 2007-03-25  Bruno Haible  <bruno@clisp.org>
26175
26176         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
26177         <sysexits.h> file, and only add EX_CONFIG.
26178         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
26179         absolute file name and whether it is sufficient. Substitute also
26180         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
26181         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
26182         ABSOLUTE_SYSEXITS_H into sysexits.h.
26183
26184 2007-03-25  Bruno Haible  <bruno@clisp.org>
26185
26186         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
26187         hints is NULL.
26188
26189 2007-03-25  Bruno Haible  <bruno@clisp.org>
26190
26191         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
26192         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26193
26194 2007-03-25  Bruno Haible  <bruno@clisp.org>
26195
26196         * lib/vasnprintf.c: Include langinfo.h.
26197         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
26198         multithread-safe.
26199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
26200         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
26201         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26202         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26203         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26204         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26205         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26206         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
26207         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26208         Reported by Simon Josefsson.
26209
26210 2007-03-25  Bruno Haible  <bruno@clisp.org>
26211
26212         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
26213         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
26214         * modules/vasnprintf (Depends-on): Add stdint.
26215
26216 2007-03-25  Bruno Haible  <bruno@clisp.org>
26217
26218         * modules/fpieee: New file.
26219         * m4/fpieee.m4: New file.
26220         * modules/isnan-nolibm (Depends-on): Add fpieee.
26221         * modules/isnanl-nolibm (Depends-on): Add fpieee.
26222         * modules/isnanl (Depends-on): Add fpieee.
26223
26224 2007-03-25  Bruno Haible  <bruno@clisp.org>
26225
26226         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
26227
26228 2007-03-25  Bruno Haible  <bruno@clisp.org>
26229
26230         Avoid test failures on IRIX 6.5.
26231         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
26232         (main): Use it.
26233         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
26234         macros.
26235         (main): Use them.
26236
26237 2007-03-25  Bruno Haible  <bruno@clisp.org>
26238
26239         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
26240         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
26241         exists but doesn't work.
26242         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
26243         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
26244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
26245         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
26246
26247 2007-03-25  Bruno Haible  <bruno@clisp.org>
26248
26249         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
26250         returns inf. Needed on IRIX 6.5.
26251
26252 2007-03-25  Bruno Haible  <bruno@clisp.org>
26253
26254         * tests/test-frexpl.c: Include isnanl-nolibm.h.
26255         (main): Use isnanl instead of x != x idiom.
26256         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
26257
26258         * tests/test-frexp.c: Include isnan.h.
26259         (main): Use isnan instead of x != x idiom.
26260         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
26261
26262 2007-03-25  Bruno Haible  <bruno@clisp.org>
26263
26264         * tests/test-frexp.c (NaN): New function/macro.
26265         (main): Use it instead of 0.0 / 0.0.
26266         * tests/test-isnan.c (NaN): New function/macro.
26267         (main): Use it instead of 0.0 / 0.0.
26268         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
26269         (test_function): Use it instead of 0.0 / 0.0.
26270         * tests/test-vasprintf-posix.c (NaN): New function/macro.
26271         (test_function): Use it instead of 0.0 / 0.0.
26272         * tests/test-snprintf-posix.h (NaN): New function/macro.
26273         (test_function): Use it instead of 0.0 / 0.0.
26274         * tests/test-sprintf-posix.h (NaN): New function/macro.
26275         (test_function): Use it instead of 0.0 / 0.0.
26276         * tests/test-fprintf-posix.h (NaN): New function/macro.
26277         (test_function): Use it instead of 0.0 / 0.0.
26278         * tests/test-printf-posix.h (NaN): New function/macro.
26279         (test_function): Use it instead of 0.0 / 0.0.
26280
26281         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
26282
26283 2007-03-25  Bruno Haible  <bruno@clisp.org>
26284
26285         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
26286
26287 2007-03-25  Bruno Haible  <bruno@clisp.org>
26288
26289         * lib/regexec.c (merge_state_with_log): Make static.
26290
26291 2007-03-25  Bruno Haible  <bruno@clisp.org>
26292
26293         * lib/trigl.c (kernel_rem_pio2): Make static.
26294
26295 2007-03-25  Bruno Haible  <bruno@clisp.org>
26296
26297         * lib/sincosl.c (sincosl_table): Make static.
26298
26299 2007-03-25  Bruno Haible  <bruno@clisp.org>
26300
26301         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
26302         if the compiler does not support C99.
26303
26304 2007-03-25  Bruno Haible  <bruno@clisp.org>
26305
26306         * modules/time (Makefile.am): Ensure all rule action lines start with a
26307         tab.
26308
26309 2007-03-24  Bruno Haible  <bruno@clisp.org>
26310
26311         * modules/tsearch-tests: New file.
26312         * tests/test-tsearch.sh: New file.
26313         * tests/test-tsearch.c: New file, mostly copied from glibc.
26314
26315         * modules/search-tests: New file.
26316         * tests/test-search.c: New file.
26317
26318         * modules/search: New file.
26319         * lib/search_.h: New file, incorporating lib/tsearch.h.
26320         * m4/search_h.m4: New file.
26321         * lib/tsearch.h: Remove file.
26322         * lib/tsearch.c: Include search.h instead of tsearch.h.
26323         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
26324         HAVE_TSEARCH.
26325         * modules/tsearch (Files): Remove lib/tsearch.h.
26326         (Depends-on): Add search.
26327         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
26328         (Include): Change tsearch.h into search.h.
26329
26330 2007-03-24  Bruno Haible  <bruno@clisp.org>
26331
26332         * modules/fpucw: New file.
26333         * lib/fpucw.h: New file.
26334         * lib/frexp.c: Include fpucw.h.
26335         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
26336         (FUNC): Use them.
26337         * lib/printf-frexp.c: Include fpucw.h.
26338         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
26339         (FUNC): Use them.
26340         * lib/vasnprintf.c: Include fpucw.h.
26341         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
26342         'long double' calculations.
26343         * tests/test-frexpl.c: Include fpucw.h.
26344         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
26345         * tests/test-printf-frexpl.c: Include fpucw.h.
26346         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
26347         * modules/frexpl (Depends-on): Add fpucw.
26348         * modules/printf-frexpl (Depends-on): Likewise.
26349         * modules/fprintf-posix (Depends-on): Likewise.
26350         * modules/snprintf-posix (Depends-on): Likewise.
26351         * modules/sprintf-posix (Depends-on): Likewise.
26352         * modules/vasnprintf-posix (Depends-on): Likewise.
26353         * modules/vasprintf-posix (Depends-on): Likewise.
26354         * modules/vfprintf-posix (Depends-on): Likewise.
26355         * modules/vsnprintf-posix (Depends-on): Likewise.
26356         * modules/vsprintf-posix (Depends-on): Likewise.
26357         * modules/frexpl-tests (Depends-on): Likewise.
26358         * modules/printf-frexpl-tests (Depends-on): Likewise.
26359
26360 2007-03-24  Bruno Haible  <bruno@clisp.org>
26361
26362         * lib/float+.h: New file.
26363         * lib/isnan.c: Include float+.h.
26364         (SIZE): New macro.
26365         (FUNC): Compare only SIZE bytes of the value.
26366         * lib/vasnprintf.c: Include float+.h.
26367         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
26368         SIZEOF_LDBL or SIZEOF_DBL bytes.
26369         * modules/isnan-nolibm (Files): Add lib/float+.h.
26370         * modules/isnanl-nolibm (Files): Add lib/float+.h.
26371         * modules/isnanl (Files): Add lib/float+.h.
26372         * modules/vasnprintf (Files): Add lib/float+.h.
26373
26374 2007-03-24  Bruno Haible  <bruno@clisp.org>
26375
26376         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
26377         include isnanl-nolibm.h.
26378
26379 2007-03-24  Bruno Haible  <bruno@clisp.org>
26380
26381         * tests/test-read-file.c (main): Don't produce spurious output for
26382         expected situations. Make the test fail if it encountered unexpected
26383         results.
26384
26385 2007-03-24  Bruno Haible  <bruno@clisp.org>
26386
26387         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
26388         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
26389
26390 2007-03-24  Bruno Haible  <bruno@clisp.org>
26391
26392         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
26393
26394 2007-03-24  Bruno Haible  <bruno@clisp.org>
26395
26396         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
26397         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
26398
26399         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
26400         * modules/utf8-ucs4: Turn into a symbolic link to module
26401         unistr/u8-mbtouc.
26402
26403         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
26404         utf8-ucs4-unsafe.
26405         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
26406         unistr/u8-mbtouc-unsafe.
26407
26408         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
26409         * modules/utf16-ucs4: Turn into a symbolic link to module
26410         unistr/u16-mbtouc.
26411
26412         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
26413         utf16-ucs4-unsafe.
26414         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
26415         unistr/u16-mbtouc-unsafe.
26416
26417         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
26418         * modules/ucs4-utf8: Turn into a symbolic link to module
26419         unistr/u8-ubtomb.
26420
26421         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
26422         * modules/ucs4-utf16: Turn into a symbolic link to module
26423         unistr/u16-ubtomb.
26424
26425 2007-03-24  Bruno Haible  <bruno@clisp.org>
26426
26427         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
26428         Enable the function only if HAVE_INLINE.
26429         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
26430         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
26431         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
26432         Enable the function only if HAVE_INLINE.
26433         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
26434         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
26435         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
26436         Enable the function only if HAVE_INLINE.
26437         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
26438         Enable the function only if HAVE_INLINE.
26439         * modules/utf8-ucs4: Update.
26440         * modules/utf8-ucs4-unsafe: Update.
26441         * modules/utf16-ucs4: Update.
26442         * modules/utf16-ucs4-unsafe: Update.
26443         * modules/ucs4-utf8: Update.
26444         * modules/ucs4-utf16: Update.
26445
26446 2007-03-24  Bruno Haible  <bruno@clisp.org>
26447
26448         * lib/utf8-ucs4.h: Remove file.
26449         * lib/utf8-ucs4-unsafe.h: Remove file.
26450         * lib/utf16-ucs4.h: Remove file.
26451         * lib/utf16-ucs4-unsafe.h: Remove file.
26452         * lib/ucs4-utf8.h: Remove file.
26453         * lib/ucs4-utf16.h: Remove file.
26454         * lib/unistr.h: Include their previous contents.
26455         * m4/utf-ucs4.m4: Remove file.
26456         * m4/ucs4-utf.m4: Remove file.
26457         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
26458         (Depends-on): Add unistr/base.
26459         (configure.ac): Remove gl_UTF_UCS4.
26460         (Makefile.am): Update.
26461         (Include): Change to unistr.h.
26462         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
26463         (Depends-on): Add unistr/base.
26464         (configure.ac): Remove gl_UTF_UCS4.
26465         (Makefile.am): Update.
26466         (Include): Change to unistr.h.
26467         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
26468         (Depends-on): Add unistr/base.
26469         (configure.ac): Remove gl_UTF_UCS4.
26470         (Makefile.am): Update.
26471         (Include): Change to unistr.h.
26472         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
26473         (Depends-on): Add unistr/base.
26474         (configure.ac): Remove gl_UTF_UCS4.
26475         (Makefile.am): Update.
26476         (Include): Change to unistr.h.
26477         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
26478         (Depends-on): Add unistr/base.
26479         (configure.ac): Remove gl_UCS4_UTF.
26480         (Makefile.am): Update.
26481         (Include): Change to unistr.h.
26482         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
26483         (Depends-on): Add unistr/base.
26484         (configure.ac): Remove gl_UCS4_UTF.
26485         (Makefile.am): Update.
26486         (Include): Change to unistr.h.
26487         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
26488         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
26489         utf8-ucs4-unsafe.h.
26490         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
26491         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
26492         utf16-ucs4-unsafe.h.
26493         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
26494         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
26495         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
26496         * lib/unistr/u8-strchr.c: Likewise.
26497         * lib/unistr/u8-strrchr.c: Likewise.
26498         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
26499         * lib/unistr/u16-strchr.c: Likewise.
26500         * lib/unistr/u16-strrchr.c: Likewise.
26501         * lib/striconveh.c: Update.
26502         * lib/linebreak.c: Update.
26503
26504 2007-03-24  Bruno Haible  <bruno@clisp.org>
26505
26506         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
26507         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
26508
26509 2007-03-22  Bruno Haible  <bruno@clisp.org>
26510
26511         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
26512
26513 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
26514
26515         * MODULES.html.sh (File system functions): New module write-any-file.
26516         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
26517         * m4/write-any-file.m4: New files.
26518
26519 2007-03-23  Eric Blake  <ebb9@byu.net>
26520
26521         * gnulib-tool: Rearrange space-tab sequences, since some editors
26522         like to eat them.
26523
26524 2007-03-23  Eric Blake  <ebb9@byu.net>
26525
26526         * lib/version-etc.c (version_etc_va): Update license wording to
26527         be more concise.  Recommended by Richard Stallman.
26528
26529 2007-03-22  Bruno Haible  <bruno@clisp.org>
26530
26531         * lib/poll.c (MSG_PEEK): New fallback definition.
26532
26533 2007-03-22  Bruno Haible  <bruno@clisp.org>
26534
26535         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
26536         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
26537         (main): Update.
26538         Fixes a compilation error on BeOS.
26539
26540 2007-03-22  Bruno Haible  <bruno@clisp.org>
26541
26542         * modules/frexpl-tests: New file.
26543         * tests/test-frexpl.c: New file.
26544
26545         * modules/frexpl: New file.
26546         * m4/frexpl.m4: New file.
26547         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
26548         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
26549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
26550         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
26551         (Depends-on): Add frexpl. Remove isnanl-nolibm.
26552         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
26553
26554 2007-03-22  Bruno Haible  <bruno@clisp.org>
26555
26556         * lib/frexpl.c: Share code with lib/frexp.c.
26557         * modules/mathl (Files): Add lib/frexp.c.
26558         (Depends-on): Add isnanl-nolibm.
26559
26560 2007-03-22  Bruno Haible  <bruno@clisp.org>
26561
26562         * modules/printf-frexp (Files): Add m4/frexp.m4.
26563         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
26564         only if the found frexp function actually works.
26565
26566 2007-03-22  Bruno Haible  <bruno@clisp.org>
26567
26568         * lib/frexp.c: Remove older implementation that uses divisions.
26569
26570 2007-03-21  Bruno Haible  <bruno@clisp.org>
26571
26572         * modules/frexp-tests: New file.
26573         * tests/test-frexp.c: New file.
26574
26575         * modules/frexp: New file.
26576         * lib/frexp.c: New file.
26577         * m4/frexp.m4: New file.
26578         * lib/math_.h (frexp): New declaration.
26579         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
26580         REPLACE_FREXP.
26581         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
26582
26583 2007-03-21  Bruno Haible  <bruno@clisp.org>
26584
26585         * modules/isnanl-tests: New file.
26586         * tests/test-isnanl.c: New file.
26587
26588         * modules/isnanl: New file.
26589         * lib/isnanl.h: New file.
26590         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
26591         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
26592         gl_FUNC_ISNANL_WORKS.
26593         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
26594         New macros.
26595
26596 2007-03-21  Bruno Haible  <bruno@clisp.org>
26597
26598         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
26599         lib/isnanl.h.
26600         (Include): Update.
26601         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
26602         * lib/vasnprintf.c: Update.
26603         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
26604         tests/test-isnanl.h, remove tests/test-isnanl.c.
26605         (Makefile.am): Update.
26606         * tests/test-isnanl-nolibm.c: New file.
26607         * tests/test-isnanl.h: New file.
26608         * tests/test-isnanl.c: Remove file.
26609
26610 2007-03-21  Jim Meyering  <jim@meyering.net>
26611
26612         When trying to open ".", treat ESTALE like EACCES.
26613         * lib/savewd.c (savewd_save): Resort to forking not just upon
26614         failure with EACCES, but also when errno is ESTALE.
26615
26616 2007-03-20  Bruno Haible  <bruno@clisp.org>
26617
26618         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
26619         Needed on AIX 5.1. Reported by Matthew Woehlke.
26620
26621 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
26622
26623         Suggestions by Bruno Haible:
26624         * lib/acl-internal.h: Include "gettext.h" rather than rolling
26625         our own.
26626         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
26627         * modules/acl (Depends-on): Add gettext.
26628
26629 2007-03-19  Bruno Haible  <bruno@clisp.org>
26630
26631         * modules/iconvme: Remove file.
26632         * lib/iconvme.h: Remove file.
26633         * lib/iconvme.c: Remove file.
26634         * m4/iconvme.m4: Remove file.
26635
26636 2007-03-19  Bruno Haible  <bruno@clisp.org>
26637
26638         * doc/relocatable-maint.texi: Break long shell script line.
26639         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
26640
26641 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
26642
26643         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
26644         handle file_has_acl.
26645         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
26646         * lib/acl.c: Move header inclusions and related macro defns into
26647         lib/acl-internal.h.
26648         (S_ISLNK): Remove defn, since that's now done for us.
26649         (file_has_acl): Move to lib/file-has-acl.c.
26650         Call acl_trivial if available.  This is the crucial part of the fix.
26651         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
26652         shared within the library.  Rewrite a bit, partly to make it compatible
26653         with the GNU coding style.
26654         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
26655         Remove unnecessary double-quotes.
26656         Don't test for acl_to_text; the build will catch that.
26657         Replace acl_entries if it doesn't exist and it is needed.
26658         Check for -lsec and acl_trivial (as used on Solaris 10).
26659         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
26660         lib/file-has-acl.c.
26661         (Depends-on): Add sys_stat, for S_ISLNK.
26662
26663 2007-03-19  Ben Pfaff  <blp@gnu.org>
26664
26665         * doc/gnulib.texi: Fix typos.
26666         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
26667
26668 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
26669
26670         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
26671         If size is zero here, buf must be zero.
26672
26673 2007-03-19  Simon Josefsson  <simon@josefsson.org>
26674
26675         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
26676         <bruno@clisp.org>.
26677
26678 2007-03-18  Bruno Haible  <bruno@clisp.org>
26679
26680         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
26681         Suggested by Eric Blake.
26682
26683 2007-03-18  Ben Pfaff  <blp@gnu.org>
26684
26685         * doc/relocatable.texi: Recommend using as prefix a directory
26686         that does not exist and will never be created.  Based on
26687         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
26688         and others.
26689
26690 2007-03-17  Bruno Haible  <bruno@clisp.org>
26691
26692         * lib/fchownat.c: Include lchown.h.
26693
26694 2007-03-17  Bruno Haible  <bruno@clisp.org>
26695
26696         Fix endless loop when the given allocated size was > INT_MAX.
26697         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
26698         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
26699         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
26700         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
26701         * lib/sprintf.c (sprintf): Likewise.
26702
26703 2007-03-17  Bruno Haible  <bruno@clisp.org>
26704
26705         * tests/test-argp-2.sh (func_compare): Output a context diff.
26706
26707 2007-03-17  Bruno Haible  <bruno@clisp.org>
26708
26709         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
26710         locale's decimal-point character.
26711
26712 2007-03-17  Bruno Haible  <bruno@clisp.org>
26713
26714         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
26715         before comparing it. Needed because on some platforms (e.g. x86) a
26716         'long double' occupies less bytes than sizeof (long double).
26717
26718 2007-03-17  Bruno Haible  <bruno@clisp.org>
26719
26720         * tests/test-crc.c (main): Make printf statements 64-bit clean.
26721         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
26722         * tests/test-getaddrinfo.c (simple): Likewise.
26723         * tests/test-read-file.c (main): Likewise.
26724
26725 2007-03-17  Bruno Haible  <bruno@clisp.org>
26726
26727         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
26728
26729 2007-03-17  Bruno Haible  <bruno@clisp.org>
26730
26731         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
26732         unused variable.
26733
26734 2007-03-17  Bruno Haible  <bruno@clisp.org>
26735
26736         * tests/test-c-strcasecmp.c: Include c-strcase.h.
26737         * tests/test-c-strncasecmp.c: Likewise.
26738
26739 2007-03-17  Bruno Haible  <bruno@clisp.org>
26740
26741         * modules/stdlib (Depends-on): Add unistd.
26742         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
26743         Needed for MacOS X 10.3.
26744
26745 2007-03-17  Bruno Haible  <bruno@clisp.org>
26746
26747         * lib/unistr/u-strdup.h: Include <stdlib.h>.
26748
26749 2007-03-17  Bruno Haible  <bruno@clisp.org>
26750
26751         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
26752
26753 2007-03-17  Bruno Haible  <bruno@clisp.org>
26754
26755         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
26756         to reflect files copied from gnulib (with or without modifications).
26757         Suggested by Jim Meyering.
26758
26759 2007-03-17  Eric Blake  <ebb9@byu.net>
26760
26761         * NEWS: Document stdlib change from 2007-02-18.
26762
26763 2007-03-17  Jim Meyering  <jim@meyering.net>
26764
26765         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
26766         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
26767         someone uses a name containing shell meta-characters.
26768         Reported by Alfred M. Szmidt.
26769
26770         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
26771
26772 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
26773
26774         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
26775         and copy gettext configuration files only if configure.ac contains
26776         a use of AM_GNU_GETTEXT_VERSION.
26777
26778 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
26779
26780         * build-aux/bootstrap (gnulib_name): New variable.
26781         (gnulib_tool_options): Use it.
26782
26783 2007-03-13  Simon Josefsson  <simon@josefsson.org>
26784
26785         * tests/test-des.c: Use new namespace.
26786
26787 2007-03-15  Bruno Haible  <bruno@clisp.org>
26788
26789         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
26790         Reported by James Youngman <jay@gnu.org>.
26791
26792 2007-03-15  Bruno Haible  <bruno@clisp.org>
26793
26794         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
26795         declared prototype. Needed with cc on OSF/1 5.1.
26796
26797 2007-03-15  Bruno Haible  <bruno@clisp.org>
26798
26799         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
26800         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
26801         (struct gl_list_implementation): Add dispose_fn argument to the
26802         'create_empty', 'create' methods.
26803         (struct gl_list_impl_base): Add field 'dispose_fn'.
26804         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
26805         argument.
26806         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
26807         dispose_fn argument.
26808         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
26809         dispose_fn on the dropped values.
26810         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
26811         dispose_fn argument.
26812         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
26813         dropped values.
26814         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
26815         (gl_tree_remove_node): Call dispose_fn on the dropped value.
26816         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
26817         (gl_tree_remove_node): Call dispose_fn on the dropped value.
26818         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
26819         argument.
26820         (gl_tree_list_free): Call dispose_fn on the dropped values.
26821         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
26822         the dropped values.
26823         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
26824         Add dispose_fn argument.
26825         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
26826         Call dispose_fn on the dropped values.
26827         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
26828         Add dispose_fn argument.
26829         (gl_sublist_create): Initialize the 'dispose_fn' field.
26830         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
26831         * tests/test-array_list.c (main): Update.
26832         * tests/test-carray_list.c (main): Update.
26833         * tests/test-avltree_list.c (main): Update.
26834         * tests/test-rbtree_list.c (main): Update.
26835         * tests/test-avltreehash_list.c (main): Update.
26836         * tests/test-rbtreehash_list.c (main): Update.
26837         * tests/test-linked_list.c (main): Update.
26838         * tests/test-linkedhash_list.c (main): Update.
26839         * tests/test-array_oset.c (main): Update.
26840
26841 2007-03-15  Bruno Haible  <bruno@clisp.org>
26842
26843         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
26844         (gl_oset_create_empty): Add dispose_fn argument.
26845         (struct gl_oset_implementation): Add dispose_fn argument to
26846         'create_empty' method.
26847         (struct gl_oset_impl_base): Add dispose_fn field.
26848         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
26849         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
26850         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
26851         values.
26852         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
26853         (gl_tree_oset_free): Call dispose_fn on the dropped values.
26854         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
26855         dropped value.
26856         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
26857         dropped value.
26858         * tests/test-array_oset.c (main): Update.
26859         * tests/test-avltree_oset.c (main): Update.
26860         * tests/test-rbtree_oset.c (main): Update.
26861         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
26862
26863 2007-03-13  Bruno Haible  <bruno@clisp.org>
26864
26865         * tests/test-stdbool.c (i): Update after last patch.
26866
26867 2007-03-12  Bruno Haible  <bruno@clisp.org>
26868
26869         * lib/quotearg.c: Include <wctype.h> early, before the definition of
26870         the iswprint macro. Needed on Solaris 2.5.1.
26871
26872 2007-03-12  Bruno Haible  <bruno@clisp.org>
26873
26874         * tests/test-printf-frexp.c (main): Declare x as volatile.
26875
26876 2007-03-12  Simon Josefsson  <simon@josefsson.org>
26877
26878         * doc/gnulib.texi (Build robot for gnulib): New section.
26879
26880 2007-03-12  Jim Meyering  <jim@meyering.net>
26881
26882         * build-aux/bootstrap: New file.
26883         * build-aux/bootstrap.conf: New file, from coreutils.
26884
26885 2007-03-11  Bruno Haible  <bruno@clisp.org>
26886
26887         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
26888
26889 2007-03-12  Simon Josefsson  <simon@josefsson.org>
26890
26891         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
26892         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
26893         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
26894
26895 2007-03-11  Bruno Haible  <bruno@clisp.org>
26896
26897         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
26898         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
26899
26900 2007-03-11  Bruno Haible  <bruno@clisp.org>
26901
26902         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
26903         formula. Needed for SunPRO C 5.0.
26904
26905 2007-03-11  Bruno Haible  <bruno@clisp.org>
26906
26907         * modules/long-options (Depends-on): Add getopt.
26908
26909 2007-03-11  Bruno Haible  <bruno@clisp.org>
26910
26911         * modules/modechange (Depends-on): Add stdbool.
26912
26913 2007-03-11  Bruno Haible  <bruno@clisp.org>
26914
26915         * modules/i-ring (Depends-on): Add stdbool.
26916
26917 2007-03-11  Bruno Haible  <bruno@clisp.org>
26918
26919         * modules/gc-des (Depends-on): Add stdbool.
26920
26921 2007-03-11  Bruno Haible  <bruno@clisp.org>
26922
26923         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
26924
26925 2007-03-11  Bruno Haible  <bruno@clisp.org>
26926
26927         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
26928
26929 2007-03-11  Bruno Haible  <bruno@clisp.org>
26930
26931         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
26932
26933 2007-03-11  Bruno Haible  <bruno@clisp.org>
26934
26935         * lib/vasnprintf.c (sprintf): Undefine.
26936
26937 2007-03-11  Bruno Haible  <bruno@clisp.org>
26938
26939         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
26940         initializers in SunPRO C and Compaq C compilers.
26941
26942 2007-03-11  Bruno Haible  <bruno@clisp.org>
26943
26944         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
26945         decrementing code ANSI C compliant.
26946
26947 2007-03-11  Bruno Haible  <bruno@clisp.org>
26948
26949         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
26950         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
26951
26952 2007-03-11  Bruno Haible  <bruno@clisp.org>
26953
26954         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
26955         <stdbool.h> substitute doesn't pass.
26956
26957 2007-03-11  Bruno Haible  <bruno@clisp.org>
26958
26959         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
26960
26961 2007-03-11  Bruno Haible  <bruno@clisp.org>
26962
26963         * gnulib-tool (func_create_megatestdir): Create also an autobuild
26964         script, for submission to autobuild.josefsson.org.
26965
26966 2007-03-10  Bruno Haible  <bruno@clisp.org>
26967
26968         * modules/canonicalize-lgpl-tests: New file.
26969         * tests/test-canonicalize-lgpl.sh: New file.
26970         * tests/test-canonicalize-lgpl.c: New file.
26971
26972         * modules/c-strcase-tests: New file.
26973         * tests/test-c-strcase.sh: New file.
26974         * tests/test-c-strcasecmp.c: New file.
26975         * tests/test-c-strncasecmp.c: New file.
26976
26977         * modules/atexit-tests: New file.
26978         * tests/test-atexit.sh: New file.
26979         * tests/test-atexit.c: New file.
26980
26981 2007-03-10  Bruno Haible  <bruno@clisp.org>
26982
26983         * tests/test-binary-io.sh: Use temporary filenames that are not so
26984         likely to clash with those of other tests (in a parallel make).
26985         * tests/test-binary-io.c: Likewise.
26986
26987 2007-03-10  Bruno Haible  <bruno@clisp.org>
26988
26989         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
26990         fallback; use #error instead.
26991         Suggested by Simon Josefsson.
26992
26993 2007-03-10  Bruno Haible  <bruno@clisp.org>
26994
26995         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
26996         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
26997         first and the last.
26998
26999 2007-03-10  Bruno Haible  <bruno@clisp.org>
27000
27001         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
27002
27003 2007-03-10  Bruno Haible  <bruno@clisp.org>
27004
27005         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
27006         "make distcheck".
27007         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
27008         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
27009         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
27010
27011 2007-03-10  Bruno Haible  <bruno@clisp.org>
27012
27013         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
27014         variable.
27015         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
27016         variable.
27017
27018 2007-03-09  Eric Blake  <ebb9@byu.net>
27019         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
27020
27021         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
27022         types are not being provided by gnulib.
27023         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
27024         types are supported.
27025
27026 2007-03-10  Bruno Haible  <bruno@clisp.org>
27027
27028         * lib/stdio_.h (__attribute__): New macro.
27029         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
27030         vsprintf): Specify __attribute__ __format__ for GCC.
27031         Suggested by Eric Blake.
27032
27033 2007-03-09  Bruno Haible  <bruno@clisp.org>
27034
27035         * modules/printf-posix-tests: New file.
27036         * tests/test-printf-posix.sh: New file.
27037         * tests/test-printf-posix.c: New file.
27038
27039         * modules/printf-posix: New file.
27040         * lib/printf.c: New file.
27041         * m4/printf-posix-rpl.m4: New file.
27042         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
27043         REPLACE_PRINTF.
27044         * lib/stdio_.h (printf): New declaration.
27045         (format, __format__, ____printf____, ____scanf____, ____strftime____,
27046         ____strfmon____): New macros.
27047         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
27048         REPLACE_PRINTF.
27049
27050 2007-03-09  Bruno Haible  <bruno@clisp.org>
27051
27052         * tests/test-vasnprintf-posix2.sh: New file.
27053         * tests/test-vasnprintf-posix2.c: New file.
27054         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
27055         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
27056         (Makefile.am): Activate test-vasnprintf-posix2.sh.
27057
27058         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
27059         a locale dependent decimal point, rather than always '.'.
27060
27061 2007-03-09  Eric Blake  <ebb9@byu.net>
27062
27063         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
27064         spite of platforms like Tandem/NSK that define it to -1.
27065
27066 2007-03-08  Bruno Haible  <bruno@clisp.org>
27067
27068         * modules/vprintf-posix-tests: New file.
27069         * tests/test-vprintf-posix.sh: New file.
27070         * tests/test-vprintf-posix.c: New file.
27071         * tests/test-printf-posix.h: New file.
27072
27073         * modules/vprintf-posix: New file.
27074         * lib/vprintf.c: New file.
27075         * m4/vprintf-posix.m4: New file.
27076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
27077         REPLACE_VPRINTF.
27078         * lib/stdio_.h (vprintf): New declaration.
27079         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
27080         REPLACE_VPRINTF.
27081
27082 2007-03-08  Bruno Haible  <bruno@clisp.org>
27083
27084         * modules/fprintf-posix-tests: New file.
27085         * tests/test-fprintf-posix.sh: New file.
27086         * tests/test-fprintf-posix.c: New file.
27087
27088         * modules/fprintf-posix: New file.
27089         * lib/fprintf.c: New file.
27090         * m4/fprintf-posix.m4: New file.
27091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
27092         REPLACE_FPRINTF.
27093         * lib/stdio_.h (fprintf): New declaration.
27094         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
27095         REPLACE_FPRINTF.
27096
27097 2007-03-08  Bruno Haible  <bruno@clisp.org>
27098
27099         * modules/vfprintf-posix-tests: New file.
27100         * tests/test-vfprintf-posix.sh: New file.
27101         * tests/test-vfprintf-posix.c: New file.
27102         * tests/test-fprintf-posix.h: New file.
27103         * tests/test-fprintf-posix.out: New file.
27104
27105         * modules/vfprintf-posix: New file.
27106         * lib/vfprintf.c: New file.
27107         * m4/vfprintf-posix.m4: New file.
27108         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
27109         REPLACE_VFPRINTF.
27110         * lib/stdio_.h (vfprintf): New declaration.
27111         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
27112         REPLACE_VFPRINTF.
27113
27114 2007-03-08  Bruno Haible  <bruno@clisp.org>
27115
27116         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
27117
27118 2007-03-08  Bruno Haible  <bruno@clisp.org>
27119
27120         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
27121         instead of 'expr' invocations.
27122         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27123         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27124         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27125         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27126         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27127         Suggested by Paul Eggert.
27128
27129 2007-03-08  Bruno Haible  <bruno@clisp.org>
27130
27131         * modules/fseterr-tests: New file.
27132         * tests/test-fseterr.c: New file.
27133
27134         * modules/fseterr: New file.
27135         * lib/fseterr.h: New file.
27136         * lib/fseterr.c: New file.
27137
27138 2007-03-08  Bruno Haible  <bruno@clisp.org>
27139
27140         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
27141         * lib/getopt_.h: Likewise.
27142         * lib/mbswidth.h: Likewise.
27143         * lib/setenv.h: Likewise.
27144         * lib/vasnprintf.h: Likewise.
27145         * lib/vasprintf.h: Likewise.
27146         * lib/verror.h: Likewise.
27147         * lib/xsetenv.h: Likewise.
27148         * lib/xvasprintf.h: Likewise.
27149
27150 2007-03-08  Jim Meyering  <jim@meyering.net>
27151
27152         * users.txt: Add parted.
27153
27154         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
27155
27156 2007-03-07  Bruno Haible  <bruno@clisp.org>
27157
27158         * m4/printf.m4: Make the shell script snippets copy&pastable.
27159
27160 2007-03-02  Bruno Haible  <bruno@clisp.org>
27161
27162         * lib/netinet_in_.h: New file.
27163         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
27164         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
27165         * modules/netinet_in (Files): Add lib/netinet_in_.h.
27166         (Depends-on): Add absolute-header.
27167         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
27168         into netinet/in.h.
27169
27170 2007-03-03  Bruno Haible  <bruno@clisp.org>
27171
27172         * lib/sys_select_.h: New file.
27173         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
27174         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
27175         * modules/sys_select (Files): Add lib/sys_select_.h.
27176         (Depends-on): Add absolute-header.
27177         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
27178         into sys/select.h.
27179
27180 2007-03-02  Bruno Haible  <bruno@clisp.org>
27181
27182         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
27183         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
27184         values.
27185         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
27186         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
27187         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
27188         * modules/sys_socket (Depends-on): Add absolute-header.
27189         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
27190         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
27191         (Include): Remove requirement of inclusion of <sys/types.h>.
27192
27193 2007-03-02  Bruno Haible  <bruno@clisp.org>
27194
27195         * lib/byteswap_.h (bswap_32): Fix formula.
27196
27197 2007-03-06  Bruno Haible  <bruno@clisp.org>
27198
27199         * modules/sprintf-posix-tests: New file.
27200         * tests/test-sprintf-posix.c: New file.
27201
27202         * modules/sprintf-posix: New file.
27203         * lib/sprintf.c: New file.
27204         * m4/sprintf-posix.m4: New file.
27205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
27206         REPLACE_SPRINTF.
27207         * lib/stdio_.h (sprintf): New declaration.
27208         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
27209         REPLACE_SPRINTF.
27210
27211 2007-03-06  Bruno Haible  <bruno@clisp.org>
27212
27213         * modules/vsprintf-posix-tests: New file.
27214         * tests/test-vsprintf-posix.c: New file.
27215         * tests/test-sprintf-posix.h: New file.
27216
27217         * modules/vsprintf-posix: New file.
27218         * lib/vsprintf.c: New file.
27219         * m4/vsprintf-posix.m4: New file.
27220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
27221         REPLACE_VSPRINTF.
27222         * lib/stdio_.h (vsprintf): New declaration.
27223         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
27224         REPLACE_VSPRINTF.
27225
27226 2007-03-06  Bruno Haible  <bruno@clisp.org>
27227
27228         * modules/vsnprintf (Depend-on): Remove minmax.
27229
27230 2007-03-06  Bruno Haible  <bruno@clisp.org>
27231
27232         * modules/snprintf-posix-tests: New file.
27233         * tests/test-snprintf-posix.c: New file.
27234
27235         * modules/snprintf-posix: New file.
27236         * m4/snprintf-posix.m4: New file.
27237         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
27238         gl_FUNC_SNPRINTF.
27239         (gl_FUNC_SNPRINTF): Invoke it.
27240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
27241         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
27242         is set.
27243         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
27244
27245 2007-03-06  Bruno Haible  <bruno@clisp.org>
27246
27247         * modules/vsnprintf-posix-tests: New file.
27248         * tests/test-vsnprintf-posix.c: New file.
27249         * tests/test-snprintf-posix.h: New file.
27250
27251         * modules/vsnprintf-posix: New file.
27252         * m4/vsnprintf-posix.m4: New file.
27253         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
27254         gl_FUNC_VSNPRINTF.
27255         (gl_FUNC_VSNPRINTF): Invoke it.
27256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
27257         * lib/stdio_.h (vsnprintf): Define as a replacement if
27258         REPLACE_VSNPRINTF is set.
27259         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
27260
27261 2007-03-06  Bruno Haible  <bruno@clisp.org>
27262
27263         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
27264         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
27265
27266 2007-03-06  Bruno Haible  <bruno@clisp.org>
27267
27268         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
27269         (asinl): Declare also if HAVE_DECL_ASINL is set.
27270         (atanl): Declare also if HAVE_DECL_ATANL is set.
27271         (ceill): Declare also if HAVE_DECL_CEILL is set.
27272         (cosl): Declare also if HAVE_DECL_COSL is set.
27273         (expl): Declare also if HAVE_DECL_EXPL is set.
27274         (floorl): Declare also if HAVE_DECL_FLOORL is set.
27275         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
27276         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
27277         (logl): Declare also if HAVE_DECL_LOGL is set.
27278         (sinl): Declare also if HAVE_DECL_SINL is set.
27279         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
27280         (tanl): Declare also if HAVE_DECL_TANL is set.
27281         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
27282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
27283         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
27284         declaration of frexpl, ldexpl.
27285         * modules/printf-frexpl (Depends-on): Add math.
27286         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
27287
27288 2007-03-05  Bruno Haible  <bruno@clisp.org>
27289
27290         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
27291         frexpl and ldexpl are declared.
27292         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
27293
27294 2007-03-05  Bruno Haible  <bruno@clisp.org>
27295
27296         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
27297         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
27298
27299 2007-03-05  Bruno Haible  <bruno@clisp.org>
27300
27301         * lib/stdio_.h: Include <stddef.h>.
27302
27303 2007-03-05  Bruno Haible  <bruno@clisp.org>
27304
27305         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
27306
27307 2007-03-05  Bruno Haible  <bruno@clisp.org>
27308
27309         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
27310         NetBSD 4, from Ralf Wildenhues.
27311
27312 2007-03-04  Bruno Haible  <bruno@clisp.org>
27313
27314         * lib/vasprintf.h: Update #if logic for the case when the functions
27315         exist but are overridden.
27316
27317 2007-03-04  Bruno Haible  <bruno@clisp.org>
27318
27319         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
27320         implementations: glibc-2.4 and MacOS X 10.3.
27321         * tests/test-vasnprintf-posix.c (test_function): Test also the case
27322         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
27323         * tests/test-vasprintf-posix.c (test_function): Likewise.
27324
27325 2007-03-04  Bruno Haible  <bruno@clisp.org>
27326
27327         * modules/vasprintf-posix-tests: New file.
27328         * tests/test-vasprintf-posix.c: New file.
27329
27330         * modules/vasprintf-posix: New file.
27331         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
27332         defined.
27333         * m4/vasprintf-posix.m4: New file.
27334         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
27335         gl_FUNC_VASPRINTF.
27336         (gl_FUNC_VASPRINTF): Invoke it.
27337         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
27338         here.
27339         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
27340
27341 2007-03-04  Bruno Haible  <bruno@clisp.org>
27342
27343         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
27344         REPLACE_GETTIMEOFDAY.
27345         * modules/sys_time (Makefile.am): Likewise.
27346         * m4/sys_time_h.m4: Likewise.
27347         * m4/gettimeofday.m4: Likewise.
27348
27349 2007-03-04  Bruno Haible  <bruno@clisp.org>
27350
27351         * modules/vasnprintf-posix-tests: New file.
27352         * tests/test-vasnprintf-posix.c: New file.
27353
27354         * modules/vasnprintf-posix: New file.
27355         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
27356         printf-frexpl.h.
27357         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
27358         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
27359         REPLACE_VASNPRINTF is defined.
27360         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
27361         gl_FUNC_VASNPRINTF.
27362         (gl_FUNC_VASNPRINTF): Invoke it.
27363         * m4/vasnprintf-posix.m4: New file.
27364         * m4/printf.m4: New file.
27365
27366 2007-03-04  Bruno Haible  <bruno@clisp.org>
27367
27368         Compile progreloc.c only if --enable-relocatable is specified.
27369         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
27370         if --enable-relocatable was specified.
27371         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
27372         lib_SOURCES.
27373
27374 2007-03-04  Jim Meyering  <jim@meyering.net>
27375
27376         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
27377         Use it consistently, rather than enumerating errno constants.
27378
27379 2007-03-04  Bruno Haible  <bruno@clisp.org>
27380
27381         * modules/xvasprintf-tests: New file.
27382         * tests/test-xvasprintf.c: New file.
27383
27384         * modules/vasprintf-tests: New file.
27385         * tests/test-vasprintf.c: New file.
27386
27387         * modules/vasnprintf-tests: New file.
27388         * tests/test-vasnprintf.c: New file.
27389
27390         * modules/vsnprintf-tests: New file.
27391         * tests/test-vsnprintf.c: New file.
27392
27393         * modules/snprintf-tests: New file.
27394         * tests/test-snprintf.c: New file.
27395
27396 2007-03-04  Bruno Haible  <bruno@clisp.org>
27397
27398         Compile relocatable.c only if --enable-relocatable is specified.
27399         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
27400         gl_RELOCATABLE_LIBRARY.
27401         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
27402         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
27403         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
27404         gl_RELOCATABLE_LIBRARY.
27405         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
27406         (Makefile.am): Remove lib_SOURCES.
27407         * modules/relocatable-lib-lgpl (configure.ac): Invoke
27408         gl_RELOCATABLE_LIBRARY.
27409         (Makefile.am): Remove lib_SOURCES.
27410         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
27411         always.
27412         * modules/relocatable-prog-wrapper (configure.ac): Invoke
27413         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
27414
27415 2007-03-04  Bruno Haible  <bruno@clisp.org>
27416
27417         * modules/argmatch-tests: New file.
27418         * tests/test-argmatch.c: New file.
27419
27420         * tests/test-allocsa.c (main): Halve the number of loop runs.
27421
27422         * modules/alloca-opt-tests: New file.
27423         * tests/test-alloca-opt.c: New file.
27424
27425 2007-03-04  Jim Meyering  <jim@meyering.net>
27426
27427         Work around difference between Linux ACLs and Solaris 10 ZFS.
27428         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
27429         for EINVAL.
27430
27431 2007-03-03  Bruno Haible  <bruno@clisp.org>
27432
27433         * modules/relocatable-prog (Depends-on): Add back progreloc's
27434         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
27435
27436 2007-03-03  Bruno Haible  <bruno@clisp.org>
27437
27438         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
27439         * modules/relocatable-lib: New file.
27440
27441 2007-03-03  Bruno Haible  <bruno@clisp.org>
27442
27443         * modules/relocatable-prog: Renamed from modules/relocatable.
27444         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
27445
27446 2007-03-03  Bruno Haible  <bruno@clisp.org>
27447
27448         * modules/relocatable-script (Files): Add doc/relocatable.texi,
27449         m4/relocatable-lib.m4.
27450         (Depends-on): Remove 'relocatable'.
27451         (configure.ac): Add gl_RELOCATABLE_NOP.
27452
27453 2007-03-03  Bruno Haible  <bruno@clisp.org>
27454
27455         * modules/relocatable-prog-wrapper: New file.
27456         * modules/relocatable (Depends-on): Add it. Remove all other
27457         dependencies except progname.
27458         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
27459
27460         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
27461         (gl_FUNC_STRERROR): Nop.
27462         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
27463
27464         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
27465         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
27466
27467         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
27468         (gl_FUNC_READLINK): Update.
27469
27470         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
27471
27472 2007-03-03  Bruno Haible  <bruno@clisp.org>
27473
27474         * lib/xreadlink.c: Include <unistd.h> unconditionally.
27475         * modules/xreadlink (Depends-on): Add unistd.
27476         * modules/xreadlink-with-size (Depends-on): Likewise.
27477
27478 2007-03-03  Bruno Haible  <bruno@clisp.org>
27479
27480         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
27481         extracted from gt_FUNC_SETENV.
27482         (gt_FUNC_SETENV): Remove macro.
27483         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
27484         remove gt_FUNC_SETENV.
27485
27486 2007-03-03  Bruno Haible  <bruno@clisp.org>
27487
27488         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
27489         ENABLE_RELOCATABLE here.
27490         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
27491
27492 2007-03-03  Bruno Haible  <bruno@clisp.org>
27493
27494         * modules/rbtreehash-list-tests (Depends-on): Add progname.
27495         * tests/test-rbtreehash_list.c: Include progname.h.
27496         (main): Call set_program_name.
27497
27498         * modules/rbtree-oset-tests (Depends-on): Add progname.
27499         * tests/test-rbtree_oset.c: Include progname.h.
27500         (main): Call set_program_name.
27501
27502         * modules/rbtree-list-tests (Depends-on): Add progname.
27503         * tests/test-rbtree_list.c: Include progname.h.
27504         (main): Call set_program_name.
27505
27506         * modules/linked-list-tests (Depends-on): Add progname.
27507         * tests/test-linked_list.c: Include progname.h.
27508         (main): Call set_program_name.
27509
27510 2007-03-03  Bruno Haible  <bruno@clisp.org>
27511
27512         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
27513         All uses of __restrict changed to _Restrict_.
27514         * lib/glob_.h (__restrict): Remove macro.
27515
27516 2007-03-02  Bruno Haible  <bruno@clisp.org>
27517
27518         * modules/gettext (configure.ac): Require gettext infrastructure
27519         from version 0.16.1.
27520
27521 2007-03-02  Bruno Haible  <bruno@clisp.org>
27522
27523         * modules/linkedhash-list-tests (Depends-on): Add progname.
27524         * tests/test-linkedhash_list.c: Include progname.h.
27525         (main): Call set_program_name.
27526
27527         * modules/carray-list-tests (Depends-on): Add progname.
27528         * tests/test-carray_list.c: Include progname.h.
27529         (main): Call set_program_name.
27530
27531         * modules/avltreehash-list-tests (Depends-on): Add progname.
27532         * tests/test-avltreehash_list.c: Include progname.h.
27533         (main): Call set_program_name.
27534
27535         * modules/avltree-oset-tests (Depends-on): Add progname.
27536         * tests/test-avltree_oset.c: Include progname.h.
27537         (main): Call set_program_name.
27538
27539         * modules/avltree-list-tests (Depends-on): Add progname.
27540         * tests/test-avltree_list.c: Include progname.h.
27541         (main): Call set_program_name.
27542
27543         * modules/array-oset-tests (Depends-on): Add progname.
27544         * tests/test-array_oset.c: Include progname.h.
27545         (main): Call set_program_name.
27546
27547         * modules/array-list-tests (Depends-on): Add progname.
27548         * tests/test-array_list.c: Include progname.h.
27549         (main): Call set_program_name.
27550
27551         * modules/argp-tests (Depends-on): Add progname.
27552         * tests/test-argp.c: Include argp.h first. Include progname.h.
27553         (main): Call set_program_name.
27554
27555 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
27556
27557         * doc/gnulib-tool.texi (Initial import): Reword description of
27558         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
27559         limited effect even if defined after the first system include.
27560
27561 2007-03-01  Bruno Haible  <bruno@clisp.org>
27562
27563         * build-aux/config.libpath: Update to libtool-1.5.22.
27564         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27565
27566 2007-03-01  Bruno Haible  <bruno@clisp.org>
27567
27568         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
27569         foo_CFLAGS.
27570         Reported by Ralf Wildenhues.
27571
27572 2007-03-01  Bruno Haible  <bruno@clisp.org>
27573
27574         * build-aux/install-reloc: Remove object files left over by some
27575         compilers.
27576         Reported by Ralf Wildenhues.
27577
27578 2007-03-01  Bruno Haible  <bruno@clisp.org>
27579
27580         * build-aux/install-reloc: Break long lines.
27581
27582 2007-03-01  Bruno Haible  <bruno@clisp.org>
27583
27584         * doc/relocatable.texi: Document that it may not work on OpenBSD.
27585         Reported by Ralf Wildenhues.
27586
27587 2007-03-01  Bruno Haible  <bruno@clisp.org>
27588
27589         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
27590         include ordering constraints.
27591
27592 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
27593
27594         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
27595         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
27596         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
27597         as another example.
27598         * lib/time_.h: Fix misspelling.
27599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
27600         Require gl_HEADER_TIME_H_DEFAULTS.
27601         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
27602         * m4/time_r.m4 (gl_TIME_R): Likewise.
27603         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
27604
27605 2007-03-01  Bruno Haible  <bruno@clisp.org>
27606
27607         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
27608         * m4/utimens.m4 (gl_UTIMENS): Likewise.
27609
27610 2007-03-01  Jim Meyering  <jim@meyering.net>
27611
27612         * modules/xreadlink (Maintainer): Add my name.
27613         * modules/xreadlink-with-size (Depends-on): Alphabetize.
27614
27615 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
27616             Bruno Haible  <bruno@clisp.org>
27617
27618         * build-aux/install-reloc: Compile also c-ctype.c.
27619         * build-aux/relocatable.sh.in: New file.
27620         * doc/relocatable.texi: New file.
27621         * doc/relocatable-maint.texi: New file.
27622         * doc/gnulib.texi: Include relocatable-maint.texi.
27623         * lib/progreloc.c: Include unistd.h unconditionally.
27624         * lib/relocwrapper.c: Include unistd.h unconditionally.
27625         Include c-ctype.h.
27626         (add_dotbin): Use c_tolower.
27627         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
27628         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
27629         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
27630         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
27631         to m4/relocatable-lib.m4.
27632         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
27633         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
27634         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
27635         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
27636         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
27637         * modules/relocatable: New file.
27638         * modules/relocatable-lib: New file.
27639         * modules/relocatable-script: New file.
27640
27641 2007-02-28  Bruno Haible  <bruno@clisp.org>
27642
27643         Import --enable-relocatable infrastructure.
27644         * build-aux/config.libpath: New file, from GNU gettext.
27645         * build-aux/install-reloc: New file, from GNU gettext.
27646         * build-aux/reloc-ldflags: New file, from GNU gettext.
27647         * lib/relocatable.h: New file, from GNU gettext.
27648         * lib/relocatable.c: New file, from GNU gettext.
27649         * lib/relocwrapper.c: New file, from GNU gettext.
27650         * m4/relocatable.m4: New file, from GNU gettext.
27651
27652 2007-02-28  Bruno Haible  <bruno@clisp.org>
27653
27654         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
27655
27656         * modules/xreadlink: New file, from GNU gettext with modifications.
27657         * lib/xreadlink.c: New file, from GNU gettext.
27658         * lib/xreadlink.h: Add comments.
27659         (xreadlink): New declaration.
27660
27661         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
27662         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
27663         lib/xreadlink-with-size.c.
27664         (configure.ac): Remove gl_XREADLINK invocation.
27665         (Makefile.am): Augment lib_SOURCES.
27666         * m4/xreadlink.m4: Remove file.
27667         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
27668         (xreadlink_with_size): Renamed from xreadink.
27669         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
27670         * modules/canonicalize (Depends-on): Replace xreadlink with
27671         xreadlink-with-size.
27672         * lib/canonicalize.c (canonicalize_filename_mode): Update.
27673
27674 2007-02-25  Jim Meyering  <jim@meyering.net>
27675
27676         * build-aux/announce-gen: When complaining about excess arguments,
27677         list them.
27678
27679 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
27680
27681         * README: Document signed integer overflow situation more
27682         accurately.
27683
27684 2007-02-25  Bruno Haible  <bruno@clisp.org>
27685
27686         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
27687         'a' or 'A' conversion.
27688
27689 2007-02-25  Bruno Haible  <bruno@clisp.org>
27690
27691         * modules/filename: Renamed from modules/pathname.
27692         (Files): Replace lib/pathname.h with lib/filename.h. Replace
27693         lib/concatpath.c with lib/concat-filename.c.
27694         (Makefile.am): Update.
27695         (Include): Replace pathname.h with filename.h.
27696         * lib/filename.h: Renamed from lib/pathname.h.
27697         (concatenated_filename): Renamed from concatenated_pathname.
27698         * lib/concat-filename.c: Renamed from lib/concatpath.c.
27699         (concatenated_filename): Renamed from concatenated_pathname.
27700         * lib/findprog.c: Include filename.h instead of pathname.h.
27701         (find_in_path): Update.
27702         * lib/javacomp.c: Include filename.h instead of pathname.h.
27703         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
27704         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
27705         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
27706         is_oldgcj_14_13_usable, is_javac_usable): Update.
27707         * lib/javaexec.c: Include filename.h instead of pathname.h.
27708         (execute_java_class): Update.
27709         * modules/findprog: Update.
27710         * modules/javacomp: Update.
27711         * modules/javaexec: Update.
27712         * MODULES.html.sh (File system functions): Add 'filename', remove
27713         'pathname'.
27714
27715 2007-02-25  Bruno Haible  <bruno@clisp.org>
27716
27717         * modules/printf-frexpl-tests: New file.
27718         * tests/test-printf-frexpl.c: New file.
27719
27720         * modules/printf-frexpl: New file.
27721         * lib/printf-frexpl.h: New file.
27722         * lib/printf-frexpl.c: New file.
27723         * m4/printf-frexpl.m4: New file.
27724
27725 2007-02-25  Bruno Haible  <bruno@clisp.org>
27726
27727         * modules/printf-frexp-tests: New file.
27728         * tests/test-printf-frexp.c: New file.
27729
27730         * modules/printf-frexp: New file.
27731         * lib/printf-frexp.h: New file.
27732         * lib/printf-frexp.c: New file.
27733         * m4/printf-frexp.m4: New file.
27734
27735 2007-02-25  Bruno Haible  <bruno@clisp.org>
27736
27737         Assume automake >= 1.10 for the tests.
27738         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
27739         * modules/arctwo-tests: Likewise.
27740         * modules/argp-tests: Likewise.
27741         * modules/avltree-list-tests: Likewise.
27742         * modules/avltree-oset-tests: Likewise.
27743         * modules/avltreehash-list-tests: Likewise.
27744         * modules/carray-list-tests: Likewise.
27745         * modules/crc-tests: Likewise.
27746         * modules/des-tests: Likewise.
27747         * modules/gc-arcfour-tests: Likewise.
27748         * modules/gc-arctwo-tests: Likewise.
27749         * modules/gc-des-tests: Likewise.
27750         * modules/gc-hmac-md5-tests: Likewise.
27751         * modules/gc-hmac-sha1-tests: Likewise.
27752         * modules/gc-md2-tests: Likewise.
27753         * modules/gc-md4-tests: Likewise.
27754         * modules/gc-md5-tests: Likewise.
27755         * modules/gc-pbkdf2-sha1-tests: Likewise.
27756         * modules/gc-rijndael-tests: Likewise.
27757         * modules/gc-sha1-tests: Likewise.
27758         * modules/gc-tests: Likewise.
27759         * modules/getaddrinfo-tests: Likewise.
27760         * modules/hmac-md5-tests: Likewise.
27761         * modules/hmac-sha1-tests: Likewise.
27762         * modules/linked-list-tests: Likewise.
27763         * modules/linkedhash-list-tests: Likewise.
27764         * modules/lock-tests: Likewise.
27765         * modules/md2-tests: Likewise.
27766         * modules/md4-tests: Likewise.
27767         * modules/md5-tests: Likewise.
27768         * modules/rbtree-list-tests: Likewise.
27769         * modules/rbtree-oset-tests: Likewise.
27770         * modules/rbtreehash-list-tests: Likewise.
27771         * modules/read-file-tests: Likewise.
27772         * modules/rijndael-tests: Likewise.
27773         * modules/stdint-tests: Likewise.
27774         * modules/tls-tests: Likewise.
27775
27776 2007-02-24  Bruno Haible  <bruno@clisp.org>
27777
27778         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
27779         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
27780         function; instead check whether isnan with a double argument links.
27781         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
27782         function; instead check whether isnan with a 'long double' argument
27783         links.
27784         Reported by Eric Blake <ebb9@byu.net>.
27785
27786 2007-02-24  Bruno Haible  <bruno@clisp.org>
27787
27788         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
27789         defined.
27790         * lib/isnanl.c: Remove all code. Just include isnan.c.
27791         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
27792
27793 2007-02-25  Jim Meyering  <jim@meyering.net>
27794
27795         Avoid conflicting types for 'unsetenv' on FreeBSD.
27796         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
27797         conflicting with FreeBSD's (5.0 and 6.1) function declaration
27798         in stdlib.h.
27799
27800 2007-02-24  Bruno Haible  <bruno@clisp.org>
27801
27802         * modules/isnanl-nolibm-tests: New file.
27803         * tests/test-isnanl.c: New file.
27804
27805         * modules/isnanl-nolibm: New file.
27806         * lib/isnanl.h: New file.
27807         * lib/isnanl.c: New file.
27808         * m4/isnanl.m4: New file.
27809
27810 2007-02-24  Bruno Haible  <bruno@clisp.org>
27811
27812         * modules/isnan-nolibm-tests: New file.
27813         * tests/test-isnan.c: New file.
27814
27815         * modules/isnan-nolibm: New file.
27816         * lib/isnan.h: New file.
27817         * lib/isnan.c: New file.
27818         * m4/isnan.m4: New file.
27819
27820 2007-02-24  Bruno Haible  <bruno@clisp.org>
27821
27822         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
27823         assume that an exponent fits in 20 bits.
27824
27825 2007-02-24  Jim Meyering  <jim@meyering.net>
27826
27827         * m4/regex.m4: Update the description of the configure-time option,
27828         --without-included-regex, to state accurately what the defaults are,
27829         and perhaps to give people an idea why using this option is risky.
27830
27831 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
27832
27833         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
27834         loops on small arguments.  This attempts to avoid the problem
27835         Bruno Haible reported for AIX 4.3.2 in
27836         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
27837
27838 2007-02-23  Bruno Haible  <bruno@clisp.org>
27839
27840         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
27841         Needed for help2man.
27842
27843 2007-02-23  Karl Berry  <karl@gnu.org>
27844
27845         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
27846         exists, foo.h should be cvs-ignored, not committed.
27847
27848 2007-02-23  Eric Blake  <ebb9@byu.net>
27849
27850         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
27851         * lib/stat-time.h (includes): Likewise.
27852         * lib/utimecmp.c (includes): Likewise.
27853         * lib/utimens.h (includes): Likewise.
27854         * lib/getdate.y (includes): Also include "timespec.h" for use
27855         internal to the module.
27856         * modules/utimens (Depends-on): Revert yesterday's patch.
27857         * modules/nanosleep (Depends-on): Add missing dependency.
27858
27859 2007-02-22  Bruno Haible  <bruno@clisp.org>
27860
27861         * lib/glob.c: Don't include getlogin_r.h.
27862
27863 2007-02-22  Jim Meyering  <jim@meyering.net>
27864
27865         * modules/utimens (Depends-on): Add timespec, required for
27866         utimens.h's inclusion of timespec.h.
27867
27868 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
27869
27870         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
27871         long unreadable paths in GNU/Linux.  Problem reported by Andreas
27872         Schwab in
27873         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
27874         I'll try to think of a better way to fix the Solaris problem.
27875
27876         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
27877         like glibc; on Solaris 10, it fails with errno == EINVAL.
27878         POSIX says the behavior is unspecified if the first argument is NULL,
27879         so play it safe and never pass NULL to the system getcwd.
27880
27881 2007-02-21  Jim Meyering  <jim@meyering.net>
27882
27883         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
27884         of gettimeofday.  It would conflict with the one now always
27885         provided via sys_time_.h.  Reported by Matthew Woehlke, as
27886         an IRIX 6.5 build failure.
27887
27888 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
27889
27890         Minor fixups to port to Solaris 10 with Sun C 5.8.
27891         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
27892         * modules/getcwd (Depends-on): Add dirfd.
27893         * lib/putenv.c (putenv): #undef it.
27894         (rpl_putenv): New decl.
27895         (malloc, free): Include <stdlib.h> rather than prototyping separately.
27896
27897 2007-02-20  Bruno Haible  <bruno@clisp.org>
27898
27899         * modules/stdio-tests: New file.
27900         * tests/test-stdio.c: New file.
27901
27902         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
27903         (Depends-on): Add stdio.
27904         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27905         (Include): Use <stdio.h> instead of vsnprintf.h.
27906         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
27907         HAVE_DECL_VSNPRINTF.
27908         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
27909
27910         * modules/snprintf (Files): Remove lib/snprintf.h.
27911         (Depends-on): Add stdio.
27912         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27913         (Include): Use <stdio.h> instead of snprintf.h.
27914         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
27915         HAVE_DECL_SNPRINTF.
27916         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
27917         * lib/getaddrinfo.c: Likewise.
27918
27919         * modules/stdio: New file.
27920         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
27921         * lib/snprintf.h: Remove file.
27922         * lib/vsnprintf.h: Remove file.
27923         * lib/.cppi-disable: Remove snprintf.h.
27924         * m4/stdio_h.m4: New file.
27925         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
27926
27927 2007-02-20  Jim Meyering  <jim@meyering.net>
27928
27929         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
27930         used by e.g., mingw.  From Bruno Haible.
27931
27932 2007-02-19  Bruno Haible  <bruno@clisp.org>
27933
27934         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
27935         warnings.
27936         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27937
27938 2007-02-19  Bruno Haible  <bruno@clisp.org>
27939
27940         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
27941         from mingw users.
27942
27943 2007-02-19  Bruno Haible  <bruno@clisp.org>
27944
27945         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
27946         warnings.
27947         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
27948
27949 2007-02-19  Jim Meyering  <jim@meyering.net>
27950
27951         Don't use FD after a successful "fdopendir (fd)".
27952         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
27953         Reset it by calling dirfd on the just-obtained DIR*.
27954
27955         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
27956         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
27957
27958 2007-02-18  Bruno Haible  <bruno@clisp.org>
27959
27960         * lib/readlink.c: Include <unistd.h>.
27961         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
27962         HAVE_READLINK.
27963         * modules/readlink (Depends-on): Add unistd.
27964         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27965         (Include): Add <unistd.h>.
27966
27967         * lib/getlogin_r.h: Remove file.
27968         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
27969         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
27970         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
27971         HAVE_DECL_GETLOGIN_R.
27972         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
27973         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27974         (Include): Use <unistd.h> instead of getlogin_r.h.
27975
27976         * lib/getcwd.h: Remove file.
27977         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
27978         * lib/xgetcwd.c: Likewise.
27979         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
27980         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
27981         * modules/getcwd (Files): Remove lib/getcwd.h.
27982         (Depends-on): Add unistd.
27983         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27984         (Include): Use <unistd.h> instad of getcwd.h.
27985
27986         * lib/ftruncate.c: Include <unistd.h> first.
27987         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
27988         Set HAVE_FTRUNCATE.
27989         * modules/ftruncate (Depends-on): Add unistd.
27990         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27991
27992         * lib/fchdir.c: Include <unistd.h> first.
27993         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
27994         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
27995         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
27996         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27997         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
27998
27999         * lib/dup2.c: Include <unistd.h> first.
28000         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
28001         HAVE_DUP2.
28002         * modules/dup2 (Depends-on): Add unistd.
28003         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28004
28005         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
28006         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
28007         REPLACE_CHOWN. Don't define chown as a macro here.
28008         * modules/chown (Depends-on): Add unistd.
28009         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28010
28011         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
28012         Add definition for GL_LINK_WARNING.
28013         (chown, dup2): New declarations.
28014         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
28015         link warning.
28016         (ftruncate): New declaration.
28017         (getcwd): New declaration, taken from old getcwd.h.
28018         (getlogin_r): New declaration, taken from old getlogin_r.h.
28019         (readlink): New declaration.
28020         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
28021         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
28022         (gl_PREREQ_UNISTD): Remove macro.
28023         (gl_UNISTD_MODULE_INDICATOR): New macro.
28024         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
28025         many new variables. Don't set UNISTD_H.
28026         * modules/unistd (Description): Change.
28027         (Depends-on): Add link-warning.
28028         (configure.ac): Update.
28029         (Makefile.am): Create unistd.h always. Substitute many new variables
28030         into it.
28031
28032 2007-02-18  Bruno Haible  <bruno@clisp.org>
28033
28034         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
28035         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
28036         HAVE_GETSUBOPT.
28037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
28038         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
28039         * lib/getsubopt.h: Remove file.
28040         * modules/getsubopt (Files): Remove lib/getsubopt.h.
28041         (Depends-on): Add stdlib.
28042         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28043         (Includes): Use <stdlib.h> instead of getsubopt.h.
28044         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
28045         Set HAVE_GETSUBOPT.
28046         * lib/getsubopt.c: Don't include getsubopt.h.
28047
28048 2007-02-18  Bruno Haible  <bruno@clisp.org>
28049
28050         * modules/fchdir (Depends-on): Add dup2.
28051
28052 2007-02-18  Bruno Haible  <bruno@clisp.org>
28053
28054         * lib/stdlib_.h: Handle glibc's special invocation convention
28055         specially.
28056
28057 2007-02-18  Bruno Haible  <bruno@clisp.org>
28058
28059         * modules/stdlib-tests: New file.
28060         * tests/test-stdlib.c: New file.
28061
28062         * modules/mkstemp (Files): Remove lib/mkstemp.h.
28063         (Depends-on): Add stdlib.
28064         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28065         (Includes): Use <stdlib.h> instead of mkstemp.h.
28066         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
28067         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
28068         * lib/mkstemp.c: Don't include mkstemp.h.
28069         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
28070         * lib/stdlib--.h: Don't include mkstemp.h.
28071
28072         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
28073         (Depends-on): Add stdlib.
28074         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28075         (Includes): Use <stdlib.h> instead of mkdtemp.h.
28076         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
28077         HAVE_MKDTEMP.
28078         * lib/mkdtemp.c: Don't include mkdtemp.h.
28079         * lib/clean-temp.c: Don't include mkdtemp.h.
28080
28081         * modules/exit (Files): Remove lib/exit.h.
28082         (Depends-on): Add stdlib.
28083         (Makefile.am): Remove lib_SOURCES.
28084         (Include): Use <stdlib.h> instead of exit.h.
28085         * lib/argmatch.c: Don't include exit.h.
28086         * lib/execute.c: Likewise.
28087         * lib/pagealign_alloc.c: Likewise.
28088         * lib/pipe.c: Likewise.
28089         * lib/wait-process.c: Likewise.
28090         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
28091         * lib/exitfail.c: Likewise.
28092         * lib/savewd.c: Likewise.
28093         * lib/xsetenv.c: Likewise.
28094
28095         * modules/stdlib: New file.
28096         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
28097         and extra comments about mkstemp().
28098         * lib/exit.h: Remove file.
28099         * lib/mkdtemp.h: Remove file.
28100         * lib/mkstemp.h: Remove file.
28101         * m4/stdlib_h.m4: New file.
28102         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
28103
28104 2007-02-18  Bruno Haible  <bruno@clisp.org>
28105
28106         * modules/math-tests: New file.
28107         * tests/test-math.c: New file.
28108
28109         * modules/math: New file.
28110         * modules/mathl (Files): Remove lib/mathl.h.
28111         (Depends-on): Add math.
28112         (Makefile.am): Don't mention mathl.h.
28113         (Include): Use <math.h> instead of mathl.h.
28114         * lib/math_.h: New file.
28115         * lib/mathl.h: Remove file.
28116         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
28117         mathl.h.
28118         * lib/asinl.c: Likewise.
28119         * lib/atanl.c: Likewise.
28120         * lib/ceill.c: Likewise.
28121         * lib/cosl.c: Likewise.
28122         * lib/expl.c: Likewise.
28123         * lib/floorl.c: Likewise.
28124         * lib/frexpl.c: Likewise.
28125         * lib/ldexpl.c: Likewise.
28126         * lib/logl.c: Likewise.
28127         * lib/sincosl.c: Likewise.
28128         * lib/sinl.c: Likewise.
28129         * lib/sqrtl.c: Likewise.
28130         * lib/tanl.c: Likewise.
28131         * lib/trigl.c: Likewise.
28132         * m4/math_h.m4: New file.
28133         * MODULES.html.sh (Mathematics): Add math.
28134
28135 2007-02-17  Bruno Haible  <bruno@clisp.org>
28136
28137         * modules/wctype-tests: New file.
28138         * tests/test-wctype.c: New file.
28139
28140         * modules/wchar-tests: New file.
28141         * tests/test-wchar.c: New file.
28142
28143         * modules/unistd-tests: New file.
28144         * tests/test-unistd.c: New file.
28145
28146         * modules/time-tests: New file.
28147         * tests/test-time.c: New file.
28148
28149         * modules/sysexits-tests: New file.
28150         * tests/test-sysexits.c: New file.
28151
28152         * modules/sys_time-tests: New file.
28153         * tests/test-sys_time.c: New file.
28154
28155         * modules/sys_stat-tests: New file.
28156         * tests/test-sys_stat.c: New file.
28157
28158         * modules/sys_socket-tests: New file.
28159         * tests/test-sys_socket.c: New file.
28160
28161         * modules/sys_select-tests: New file.
28162         * tests/test-sys_select.c: New file.
28163
28164         * modules/string-tests: New file.
28165         * tests/test-string.c: New file.
28166
28167         * modules/stdbool-tests: New file.
28168         * tests/test-stdbool.c: New file.
28169
28170         * modules/netinet_in-tests: New file.
28171         * tests/test-netinet_in.c: New file.
28172
28173         * modules/inttypes-tests: New file.
28174         * tests/test-inttypes.c: New file.
28175
28176         * modules/fcntl-tests: New file.
28177         * tests/test-fcntl.c: New file.
28178
28179         * modules/byteswap-tests: New file.
28180         * tests/test-byteswap.c: New file.
28181
28182         * modules/arpa_inet-tests: New file.
28183         * tests/test-arpa_inet.c: New file.
28184
28185 2007-02-17  Bruno Haible  <bruno@clisp.org>
28186
28187         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
28188         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
28189         if the corresponding module is not enabled. Emit link warnings if
28190         the function is used nevertheless.
28191         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
28192         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
28193         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
28194         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
28195         * modules/inttypes (Depends-on): Add link-warning.
28196         (Makefile.am): Copy the contents of build-aux/link-warning.h into
28197         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
28198         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
28199         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
28200         * modules/imaxdiv (configure.ac): Likewise.
28201         * modules/strtoimax (configure.ac): Likewise.
28202         * modules/strtoumax (configure.ac): Likewise.
28203
28204 2007-02-17  Bruno Haible  <bruno@clisp.org>
28205
28206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
28207         gl_STRING_MODULE_INDICATOR_DEFAULTS.
28208         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
28209         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
28210
28211 2007-02-17  Bruno Haible  <bruno@clisp.org>
28212
28213         * modules/link-warning: New file.
28214         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
28215         * lib/string_.h (GL_LINK_WARNING): Remove definition.
28216         * modules/string (Depends-on): Add link-warning.
28217         (Makefile.am): Copy the contents of build-aux/link-warning.h into
28218         string.h.
28219         * MODULES.html.sh (Support for building libraries and executables): Add
28220         link-warning.
28221
28222 2007-02-17  Bruno Haible  <bruno@clisp.org>
28223
28224         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
28225         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
28226         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
28227         long lines.
28228
28229 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
28230             Bruno Haible  <bruno@clisp.org>
28231
28232         * modules/tmpfile: New file.
28233         * lib/tmpfile.c: New file.
28234         * m4/tmpfile.m4: New file.
28235         * MODULES.html.sh (func_all_modules): New section "Input/output".
28236
28237 2007-02-15  Bruno Haible  <bruno@clisp.org>
28238
28239         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
28240         (supports_delete_on_close): New function.
28241         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
28242
28243 2007-02-14  Bruno Haible  <bruno@clisp.org>
28244
28245         * modules/mbspcasecmp-tests: New file.
28246         * tests/test-mbspcasecmp.sh: New file.
28247         * tests/test-mbspcasecmp.c: New file.
28248
28249         New module mbspcasecmp.
28250         * modules/mbspcasecmp: New file.
28251         * lib/mbspcasecmp.c: New file.
28252         * lib/string_.h (strncasecmp): Change warning message.
28253         (mbspcasecmp): New declaration.
28254         * m4/mbspcasecmp.m4: New file.
28255         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28256         GNULIB_MBSPCASECMP.
28257         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
28258         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
28259
28260 2007-02-14  Bruno Haible  <bruno@clisp.org>
28261
28262         * modules/mbsncasecmp-tests: New file.
28263         * tests/test-mbsncasecmp.sh: New file.
28264         * tests/test-mbsncasecmp.c: New file.
28265
28266         New module mbsncasecmp.
28267         * modules/mbsncasecmp: New file.
28268         * lib/mbsncasecmp.c: New file.
28269         * lib/string_.h (mbsncasecmp): New declaration.
28270         * m4/mbsncasecmp.m4: New file.
28271         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28272         GNULIB_MBSNCASECMP.
28273         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
28274         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
28275
28276 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
28277
28278         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
28279         Verify that it doesn't overlap with our flags.
28280         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
28281         do not have the desired effect in multibyte locales; instead, use
28282         mbscasecmp.
28283         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
28284         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
28285         we don't require GNU fnmatch ourselves (if our users require it, they
28286         should do so explicitly).
28287
28288         Fix regex code so it doesn't rely on strcasecmp.
28289         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
28290         Otherwise, include gnulib's langinfo.h.
28291         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
28292         undesirable behavior in non-C locales.  Instead, rely on localecharset.
28293         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
28294         * modules/regex (FILES): Remove m4/codeset.m4.
28295         (Depends-on): Add localcharset.  Remove strcase.
28296
28297 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28298
28299         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
28300         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28301
28302 2007-02-13  Bruno Haible  <bruno@clisp.org>
28303
28304         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
28305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28306
28307 2007-02-12  Bruno Haible  <bruno@clisp.org>
28308
28309         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
28310         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
28311         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
28312         time warning rather than a link error.
28313
28314 2007-02-12  Bruno Haible  <bruno@clisp.org>
28315
28316         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
28317         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28318         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28319
28320 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
28321
28322         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
28323         args, not 2.
28324
28325 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
28326
28327         New module 'time', so that apps can include <time.h> as per
28328         POSIX and GNU instead of separate include files like time_r.h
28329         and timegm.h.  This implementation tries out a simpler approach
28330         for replacing decls in standard include files (as compared to
28331         the string module), somewhat as an experiment.
28332
28333         * config/srclist.txt: Comment out mktime.c for now.
28334         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
28335         since it doesn't apply any more.  Use generic wording instead.
28336         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
28337         'time'.
28338         * lib/time_.h, m4/time_h.m4, modules/time: New files.
28339         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
28340         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
28341         Don't include <sys/types.h>; no longer needed since we assume C89.
28342         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
28343         * lib/strftime.c: Likewise.
28344         * lib/time_r.c: Likewise.
28345         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
28346         * lib/nanosleep.c: Include <time.h> first, to check interface.
28347         * lib/strptime.c: Likewise.
28348         * lib/time_r.c: Likewise.
28349         * lib/timegm.c: Likewise.
28350         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
28351         needed.
28352         * lib/timegm.c: Don't include timegm.h; no longer needed.
28353         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
28354         time.h now handles any problems in that area.
28355         (struct timespec, nanosleep): Remove; time.h now arranges for these.
28356         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
28357         that time.h defines struct timespec.
28358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
28359         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
28360         handles that.
28361         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
28362         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
28363         needed.  Set REPLACE_LOCALTIME.
28364         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
28365         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
28366         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
28367         nanosleep; time_h.m4 now does that.  Don't require
28368         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
28369         module handles this now.
28370         * modules/getdate (Depends-on): Remove timespec.  Add time.
28371         * modules/nanosleep (Depends-on): Likewise.
28372         * modules/stat-time (Depends-on): Likewise.
28373         * modules/nanosleep (Include): Include time.h, not timespec.h.
28374         * modules/strptime (Files): Remove lib/strptime.h.
28375         (Depends-on): Add extensions, time.
28376         (Include): Include time.h, not strptime.h.
28377         * modules/time_r (Files): Remove lib/time_r.h.
28378         (Depends-on): Add time.
28379         (Include): Include time.h, not time_r.h.
28380         * modules/timegm: Likewise.
28381         * modules/timespec (Description): Now does timespec-related decls
28382         of our own, instead of struct timespec itself.
28383         (Depends-on): Add time; remove extensions.
28384         (Maintainer): Add self.
28385         * modules/utimecmp (Depends-on): Add time; remove timespec.
28386         * modules/utimens (Depends-on): Likewise.
28387         * modules/xnanosleep (Depends-on): Likewise.
28388
28389 2007-02-11  Bruno Haible  <bruno@clisp.org>
28390
28391         * lib/c-strstr.c: Include allocsa.h.
28392         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
28393         * lib/c-strcasestr.c: Include allocsa.h.
28394         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
28395         * lib/strcasestr.c: Include allocsa.h.
28396         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
28397         * lib/mbsstr.c: Include allocsa.h.
28398         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
28399         allocsa/freesa instead of malloc/free.
28400         * lib/mbscasestr.c: Include allocsa.h.
28401         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
28402         allocsa/freesa instead of malloc/free.
28403         * modules/c-strstr (Depends-on): Add allocsa.
28404         * modules/c-strcasestr (Depends-on): Likewise.
28405         * modules/strcasestr (Depends-on): Likewise.
28406         * modules/mbsstr (Depends-on): Likewise.
28407         * modules/mbscasestr (Depends-on): Likewise.
28408
28409 2007-02-11  Bruno Haible  <bruno@clisp.org>
28410
28411         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
28412
28413         * modules/mbsspn-tests: New file.
28414         * tests/test-mbsspn.sh: New file.
28415         * tests/test-mbsspn.c: New file.
28416
28417 2007-02-11  Bruno Haible  <bruno@clisp.org>
28418
28419         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
28420
28421         * modules/mbspbrk-tests: New file.
28422         * tests/test-mbspbrk.sh: New file.
28423         * tests/test-mbspbrk.c: New file.
28424
28425 2007-02-11  Bruno Haible  <bruno@clisp.org>
28426
28427         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
28428         unneeded cast.
28429
28430         * modules/mbscspn-tests: New file.
28431         * tests/test-mbscspn.sh: New file.
28432         * tests/test-mbscspn.c: New file.
28433
28434 2007-02-11  Bruno Haible  <bruno@clisp.org>
28435
28436         * modules/mbscasecmp-tests: New file.
28437         * tests/test-mbscasecmp.sh: New file.
28438         * tests/test-mbscasecmp.c: New file.
28439
28440 2007-02-11  Bruno Haible  <bruno@clisp.org>
28441
28442         Ensure O(n) worst-case complexity of mbscasestr.
28443         * lib/mbscasestr.c: Include stdbool.h.
28444         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
28445         functions.
28446         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
28447         the bookkeeping indicates that it's worth it.
28448         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
28449
28450         * modules/mbscasestr-tests: New file.
28451         * tests/test-mbscasestr1.c: New file.
28452         * tests/test-mbscasestr2.sh: New file.
28453         * tests/test-mbscasestr2.c: New file.
28454         * tests/test-mbscasestr3.sh: New file.
28455         * tests/test-mbscasestr3.c: New file.
28456         * tests/test-mbscasestr4.sh: New file.
28457         * tests/test-mbscasestr4.c: New file.
28458         * m4/locale-tr.m4: New file.
28459
28460 2007-02-11  Bruno Haible  <bruno@clisp.org>
28461
28462         Ensure O(n) worst-case complexity of mbsstr.
28463         * lib/mbsstr.c: Include stdbool.h.
28464         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
28465         functions.
28466         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
28467         bookkeeping indicates that it's worth it.
28468         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
28469
28470         * modules/mbsstr-tests: New file.
28471         * tests/test-mbsstr1.c: New file.
28472         * tests/test-mbsstr2.sh: New file.
28473         * tests/test-mbsstr2.c: New file.
28474         * tests/test-mbsstr3.sh: New file.
28475         * tests/test-mbsstr3.c: New file.
28476         * m4/locale-fr.m4: New file.
28477
28478 2007-02-11  Bruno Haible  <bruno@clisp.org>
28479
28480         * lib/mbsrchr.c (mbsrchr): Fix bug.
28481
28482         * modules/mbsrchr-tests: New file.
28483         * tests/test-mbsrchr.sh: New file.
28484         * tests/test-mbsrchr.c: New file.
28485
28486 2007-02-11  Bruno Haible  <bruno@clisp.org>
28487
28488         * lib/mbschr.c (mbschr): Fix bug.
28489
28490         * modules/mbschr-tests: New file.
28491         * tests/test-mbschr.sh: New file.
28492         * tests/test-mbschr.c: New file.
28493         * m4/locale-zh.m4: New file.
28494
28495 2007-02-11  Bruno Haible  <bruno@clisp.org>
28496
28497         Support for copying multibyte string iterators.
28498         * lib/mbiter.h: Include <string.h>.
28499         (mbiter_multi_copy): New function.
28500         (mbi_copy): New macro.
28501         * lib/mbuiter.h: Include <string.h>.
28502         (mbuiter_multi_copy): New function.
28503         (mbui_copy): New macro.
28504
28505 2007-02-11  Bruno Haible  <bruno@clisp.org>
28506
28507         New module mbslen.
28508         * modules/mbslen: New file.
28509         * lib/mbslen.c: New file.
28510         * lib/string_.h (mbslen): New declaration.
28511         * m4/mbslen.m4: New file.
28512         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28513         GNULIB_MBSLEN.
28514         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
28515         * MODULES.html.sh (Internationalization functions): Add mbslen.
28516
28517 2007-02-11  Bruno Haible  <bruno@clisp.org>
28518
28519         Ensure O(n) worst-case complexity of strcasestr substitute.
28520         * lib/strcasestr.c: Include stdbool.h.
28521         (knuth_morris_pratt): New function.
28522         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
28523         bookkeeping indicates that it's worth it.
28524         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
28525
28526         * modules/strcasestr-tests: New file.
28527         * tests/test-strcasestr.c: New file.
28528
28529 2007-02-11  Bruno Haible  <bruno@clisp.org>
28530
28531         Ensure O(n) worst-case complexity of c_strcasestr.
28532         * lib/c-strcasestr.c: Include stdbool.h, string.h.
28533         (knuth_morris_pratt): New function.
28534         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
28535         the bookkeeping indicates that it's worth it.
28536         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
28537
28538         * modules/c-strcasestr-tests: New file.
28539         * tests/test-c-strcasestr.c: New file.
28540
28541 2007-02-11  Bruno Haible  <bruno@clisp.org>
28542
28543         Ensure O(n) worst-case complexity of c_strstr.
28544         * lib/c-strstr.c: Include stdbool.h, string.h.
28545         (knuth_morris_pratt): New function.
28546         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
28547         bookkeeping indicates that it's worth it.
28548         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
28549
28550         * lib/c-strstr.c: Complete rewrite for maintainability.
28551
28552         * modules/c-strstr-tests: New file.
28553         * tests/test-c-strstr.c: New file.
28554
28555 2007-02-11  Bruno Haible  <bruno@clisp.org>
28556
28557         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
28558         5.2.1 and earlier, whereby \055 was treated just like the range
28559         delimiter '-'.
28560         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
28561
28562 2007-02-08  Bruno Haible  <bruno@clisp.org>
28563
28564         * modules/regex (Depends-on): Add stdbool.
28565         Reported by Dalibor Topic <robilad@kaffe.org>.
28566
28567 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
28568
28569         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
28570         Prefer returning from main to exiting from it.
28571         Remove unnecessary parens after sizeof.
28572
28573 2007-02-05  Bruno Haible  <bruno@clisp.org>
28574
28575         New module mbssep.
28576         * modules/mbssep: New file.
28577         * lib/mbssep.c: New file.
28578         * lib/string_.h (strsep): Add a conditional link warning.
28579         (mbssep): New declaration.
28580         * m4/mbssep.m4: New file.
28581         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28582         GNULIB_MBSSEP.
28583         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
28584         * MODULES.html.sh (Internationalization functions): Add mbssep.
28585
28586 2007-02-05  Bruno Haible  <bruno@clisp.org>
28587
28588         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
28589         Optimize search in case of 1 delimiter.
28590
28591 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
28592
28593         * lib/acl.h: Include sys/types.h before sys/acl.h.
28594
28595 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
28596
28597         Merge upstream fix for glibc bugzilla #3957:
28598
28599         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
28600
28601         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
28602         bit for RE_HAT_LISTS_NOT_NEWLINE.
28603         (build_charclass_op): Remove bogus comment.
28604
28605 2007-02-05  Simon Josefsson  <simon@josefsson.org>
28606
28607         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
28608
28609 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
28610
28611         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
28612         * lib/memmem.c [!defined _LIBC]: Include config.h.
28613
28614 2007-02-04  Bruno Haible  <bruno@clisp.org>
28615
28616         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
28617         warning message.
28618
28619 2007-02-04  Bruno Haible  <bruno@clisp.org>
28620
28621         New module mbstok_r.
28622         * modules/mbstok_r: New file.
28623         * lib/mbstok_r.c: New file.
28624         * lib/string_.h (strtok_r): Change argument names to match the
28625         comments. Add a conditional link warning.
28626         (mbstok_r): New declaration.
28627         * m4/mbstok_r.m4: New file.
28628         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28629         GNULIB_MBSTOK_R.
28630         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
28631         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
28632
28633 2007-02-04  Bruno Haible  <bruno@clisp.org>
28634
28635         New module mbsspn.
28636         * modules/mbsspn: New file.
28637         * lib/mbsspn.c: New file.
28638         * lib/string_.h (strspn): Add a conditional link warning.
28639         (mbsspn): New declaration.
28640         * m4/mbsspn.m4: New file.
28641         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28642         GNULIB_MBSSPN.
28643         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
28644         * MODULES.html.sh (Internationalization functions): Add mbsspn.
28645
28646 2007-02-04  Bruno Haible  <bruno@clisp.org>
28647
28648         New module mbspbrk.
28649         * modules/mbspbrk: New file.
28650         * lib/mbspbrk.c: New file.
28651         * lib/string_.h (strpbrk): Add a conditional link warning.
28652         (mbspbrk): New declaration.
28653         * m4/mbspbrk.m4: New file.
28654         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28655         GNULIB_MBSPBRK.
28656         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
28657         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
28658
28659 2007-02-04  Bruno Haible  <bruno@clisp.org>
28660
28661         New module mbscspn.
28662         * modules/mbscspn: New file.
28663         * lib/mbscspn.c: New file.
28664         * lib/string_.h (strcspn): Add a conditional link warning.
28665         (mbscspn): New declaration.
28666         * m4/mbscspn.m4: New file.
28667         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28668         GNULIB_MBSCSPN.
28669         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
28670         * MODULES.html.sh (Internationalization functions): Add mbscspn.
28671
28672 2007-02-04  Bruno Haible  <bruno@clisp.org>
28673
28674         New module mbscasestr, reduced goal of strcasestr.
28675         * modules/mbscasestr: New file.
28676         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
28677         (mbscasestr): Renamed from strcasestr.
28678         * lib/strcasestr.c: Don't include mbuiter.h.
28679         (strcasestr): Remove support for multibyte locales.
28680         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
28681         Change the conditional link warning.
28682         (mbscasestr): New declaration.
28683         * m4/mbscasestr.m4: New file.
28684         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
28685         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
28686         REPLACE_STRCASESTR.
28687         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
28688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28689         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
28690         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
28691         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
28692         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
28693         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
28694         (Depends-on): Remove mbuiter.
28695         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
28696
28697 2007-02-04  Bruno Haible  <bruno@clisp.org>
28698
28699         Simplify handling of strncasecmp.
28700         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
28701         the conditional link warning.
28702         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28703         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
28704         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
28705         * modules/strcase (configure.ac): Don't invoke
28706         gl_STRING_MODULE_INDICATOR.
28707         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
28708
28709 2007-02-04  Bruno Haible  <bruno@clisp.org>
28710
28711         New module mbscasecmp, reduced goal of strcasecmp.
28712         * modules/mbscasecmp: New file.
28713         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
28714         (mbscasecmp): Renamed from strcasecmp.
28715         * lib/strcasecmp.c: Don't include mbuiter.h.
28716         (strcasecmp): Remove support for multibyte locales.
28717         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
28718         Change the conditional link warning.
28719         (mbscasecmp): New declaration.
28720         * m4/mbscasecmp.m4: New file.
28721         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
28722         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
28723         REPLACE_STRCASECMP.
28724         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
28725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28726         GNULIB_MBSCASECMP.
28727         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
28728         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
28729         * modules/strcase (Files): Remove m4/mbrtowc.m4.
28730         (Depends-on): Remove mbuiter.
28731         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
28732
28733 2007-02-04  Bruno Haible  <bruno@clisp.org>
28734
28735         New module mbsstr. Remove module strstr.
28736         * modules/mbsstr: New file.
28737         * modules/strstr: Remove file.
28738         * lib/mbsstr.c: Renamed from lib/strstr.c.
28739         (mbsstr): Renamed from strstr.
28740         * lib/string_.h (strstr): Remove declaration. Change the conditional
28741         link warning.
28742         (mbsstr): New declaration.
28743         * m4/mbsstr.m4: New file.
28744         * m4/strstr.m4: Remove file.
28745         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28746         REPLACE_STRSTR.
28747         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
28748         Don't initialize GNULIB_STRSTR.
28749         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
28750         substitute GNULIB_STRSTR and REPLACE_STRSTR.
28751         * MODULES.html.sh (Internationalization functions): Add mbsstr.
28752         (Support for systems lacking ANSI C 89): Remove strstr.
28753
28754 2007-02-04  Bruno Haible  <bruno@clisp.org>
28755
28756         New module mbsrchr.
28757         * modules/mbsrchr: New file.
28758         * lib/mbsrchr.c: New file.
28759         * lib/string_.h (strrchr): Add a conditional link warning.
28760         (mbsrchr): New declaration.
28761         * m4/mbsrchr.m4: New file.
28762         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28763         GNULIB_MBSRCHR.
28764         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
28765         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
28766
28767 2007-02-04  Bruno Haible  <bruno@clisp.org>
28768
28769         New module mbschr.
28770         * modules/mbschr: New file.
28771         * lib/mbschr.c: New file.
28772         * lib/string_.h (strchr): Add a conditional link warning.
28773         (mbschr): New declaration.
28774         * m4/mbschr.m4: New file.
28775         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
28776         GNULIB_MBSCHR.
28777         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
28778         * MODULES.html.sh (Internationalization functions): Add mbschr.
28779
28780 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
28781
28782         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
28783
28784         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
28785
28786 2007-02-04  Bruno Haible  <bruno@clisp.org>
28787
28788         New module description section 'configure.ac-early'.
28789         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
28790         (func_get_autoconf_early_snippet): New function.
28791         (func_import, func_create_testdir): Use it. Remove special cases for
28792         modules 'extensions' and 'lock'.
28793         * modules/extensions (configure.ac-early): Require
28794         gl_USE_SYSTEM_EXTENSIONS.
28795         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
28796
28797 2007-02-04  Bruno Haible  <bruno@clisp.org>
28798
28799         Make use of gcj-4.3's -fsource and -ftarget option.
28800         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
28801         and if so try the options -fsource and -ftarget.
28802         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
28803         source_version, ftarget_option, target_version arguments.
28804         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
28805         (is_envjavac_oldgcj_14_14_usable): Renamed from
28806         is_envjavac_gcj_14_14_usable.
28807         (is_envjavac_oldgcj_14_13_usable): Renamed from
28808         is_envjavac_gcj_14_13_usable.
28809         (is_gcj_present): Update.
28810         (is_gcj_43, is_gcj43_usable): New functions.
28811         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
28812         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
28813         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
28814         try the options -fsource and -ftarget.
28815
28816 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
28817
28818         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
28819         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
28820         larger value.
28821
28822 2007-02-03  Jim Meyering  <jim@meyering.net>
28823
28824         Give tools a better chance to allocate space for very large buffers.
28825         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
28826
28827         Make pwd and readlink work also when run with an unreadable parent dir
28828         on systems with openat support.
28829         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
28830         provided getcwd function, even when we have openat support.
28831         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
28832
28833 2007-02-02  Bruno Haible  <bruno@clisp.org>
28834
28835         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
28836         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
28837         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
28838         portability problems if one of these functions is only used on specific
28839         platforms.
28840         Reported by Paul Eggert.
28841
28842 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28843
28844         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
28845         is causing more trouble than it's curing.
28846         * lib/regex_internal.h (__mempcpy): Remove.
28847         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
28848         (and make the code a tad smaller to boot).
28849         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
28850
28851 2007-02-02  Jim Meyering  <jim@meyering.net>
28852
28853         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
28854         section, not in the Makefile.am: one.
28855
28856 2007-02-02  Eric Blake  <ebb9@byu.net>
28857
28858         * lib/strchrnul.c: Always include config.h first.
28859
28860         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
28861         gnulib strstr is not necessary here.
28862
28863 2007-02-02  Simon Josefsson  <simon@josefsson.org>
28864
28865         * m4/socklen.m4: Fix typo.
28866
28867 2007-02-02  Eric Blake  <ebb9@byu.net>
28868
28869         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
28870         * modules/netinet_in (Makefile.am): Likewise.
28871
28872 2007-02-01  Bruno Haible  <bruno@clisp.org>
28873
28874         * lib/string_.h (GL_LINK_WARNING): New macro.
28875         (strcasecmp, strstr, strcasestr): If provided by the system,
28876         conditionally define as a macro that leads to a warning instead of to
28877         an error.
28878         (strncasecmp): Conditionally define as a macro that leads to a warning.
28879
28880 2007-02-01  Karl Berry  <karl@gnu.org>
28881
28882         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
28883
28884 2007-02-01  Bruno Haible  <bruno@clisp.org>
28885
28886         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
28887         renamings.
28888
28889 2007-02-01  Eric Blake  <ebb9@byu.net>
28890
28891         * modules/regex (Depends-on): Revert dependence on mempcpy.
28892         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
28893         module's definition of mempcpy.
28894         Reported by Paul Eggert.
28895
28896 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
28897
28898         * lib/string_.h: If the gnulib module XYZ is not present, undefine
28899         the symbol XYZ before redefining it.  This fixes a problem with
28900         programs that don't use XYZ, when compiled on systems that define
28901         XYZ to something else.
28902
28903 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
28904
28905         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
28906         occurs when "mkdir -m foo" creates a setgid directory that is (1)
28907         writeable to group or other and (2) is intended to have a special
28908         mode bit that is set or cleared.  In such a case, the directory
28909         should be neither group- nor other-writeable until the special
28910         mode bits are right.
28911
28912 2007-01-31  Eric Blake  <ebb9@byu.net>
28913
28914         * modules/mountlist (Depends-on): Add strstr.
28915
28916         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
28917         bug.
28918         * modules/string (Makefile.am): Remove redundant replacement.
28919         * modules/regex (Depends-on): Add mempcpy.
28920
28921 2007-01-31  Bruno Haible  <bruno@clisp.org>
28922
28923         New module description field 'Link'.
28924         * gnulib-tool (func_usage): Document --extract-link-directive.
28925         (sed_extract_prog): Recognize 'Link' directive.
28926         (func_get_link_directive): New function.
28927         (func_import): Show summary of link directives.
28928         Handle --extract-link-directive option.
28929         * modules/acl (Link): New section.
28930         * modules/clock-time (Link): New section.
28931         * modules/euidaccess (Link): New section.
28932         * modules/gettext (Link): New section.
28933         * modules/iconv (Link): New section.
28934         * modules/lock (Link): New section.
28935         * modules/nanosleep (Link): New section.
28936         * modules/readline (Link): New section.
28937
28938 2007-01-27  Bruno Haible  <bruno@clisp.org>
28939
28940         Enforce the use of gnulib modules for unportable <string.h> functions.
28941         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
28942         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
28943         (gl_HEADER_STRING_H_BODY): Require it.
28944         * lib/string_.h: If the gnulib module XYZ is not present, redefine
28945         the symbol XYZ to one that gives a link error.
28946         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
28947         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
28948         * modules/mempcpy (configure.ac): Likewise.
28949         * modules/memrchr (configure.ac): Likewise.
28950         * modules/stpcpy (configure.ac): Likewise.
28951         * modules/stpncpy (configure.ac): Likewise.
28952         * modules/strcase (configure.ac): Likewise.
28953         * modules/strcasestr (configure.ac): Likewise.
28954         * modules/strchrnul (configure.ac): Likewise.
28955         * modules/strdup (configure.ac): Likewise.
28956         * modules/strndup (configure.ac): Likewise.
28957         * modules/strnlen (configure.ac): Likewise.
28958         * modules/strpbrk (configure.ac): Likewise.
28959         * modules/strsep (configure.ac): Likewise.
28960         * modules/strstr (configure.ac): Likewise.
28961         * modules/strtok_r (configure.ac): Likewise.
28962
28963 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
28964
28965         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
28966
28967 2007-01-30  Jim Meyering  <jim@meyering.net>
28968
28969         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
28970
28971 2007-01-29  Bruno Haible  <bruno@clisp.org>
28972
28973         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
28974         * lib/execute.c: Likewise.
28975         * lib/pipe.c: Likewise.
28976         * lib/printf-args.h: Likewise.
28977         * lib/printf-args.c: Likewise.
28978         * lib/printf-parse.c: Likewise.
28979         * lib/vasnprintf.c: Likewise.
28980
28981 2007-01-29  Eric Blake  <ebb9@byu.net>
28982
28983         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
28984         declaration.
28985
28986 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
28987
28988         * lib/strptime.h (strptime): Use 'restrict' for args where
28989         POSIX requires this.
28990         * lib/strptime.c (strptime): Likewise.
28991         Change license notice from LGPL to GPL, since gnulib-tool will
28992         change this as needed.
28993         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
28994         defined.
28995         Include "strptime.h" first, to check interface.
28996         Do not #undef _LIBC and _NL_CURRENT.
28997         Do not include <stdlib.h>; no longer needed.
28998         Include "time_r.h" and declare ptime_locale_status
28999         only if _LIBC is not defined.
29000         (__P): Remove unused macro.
29001         (match_string): Bring back glibc version, but use it only if _LIBC
29002         is defined.
29003         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
29004         Remove unnecessary assertion and abort() call.
29005         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
29006         * m4/strptime.m4: Fix serial number comment.
29007         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
29008         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
29009         (Depends-on): Add time_r.
29010
29011 2007-01-29  Bruno Haible  <bruno@clisp.org>
29012
29013         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29014         strptime.
29015         * modules/strptime (Depends-on): Add stdbool.
29016         * lib/strptime.h: Include <time.h> always. Add comments.
29017
29018 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29019
29020         * modules/strptime: New file.
29021         * lib/strptime.h: New file.
29022         * lib/strptime.c: New file.
29023         * m4/strptime.m4: New file.
29024
29025 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
29026
29027         * MODULES.html.sh: New module mpsort.
29028         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
29029
29030         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
29031         a circularity problem with HP-UX ia64 reported by Bob Proulx in
29032         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
29033         All uses changed.
29034         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
29035         All uses changed.
29036         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
29037         to _Restrict_.
29038         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
29039         the parameter matches the prototype.
29040
29041 2007-01-28  Jim Meyering  <jim@meyering.net>
29042
29043         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
29044         sys/time.h here, reverting that part of the previous patch:
29045         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
29046
29047 2007-01-28  Bruno Haible  <bruno@clisp.org>
29048
29049         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
29050         value of $(SYS_TIME_H).
29051         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
29052         remove it conditionally, too. [added by Jim Meyering]
29053         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
29054         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
29055         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
29056         GETTIMEOFDAY_REPLACEMENT to 1.
29057
29058 2007-01-28  Bruno Haible  <bruno@clisp.org>
29059
29060         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
29061         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
29062         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
29063         Set UNISTD_H instead of UNISTD_H2.
29064         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
29065
29066 2007-01-28  Bruno Haible  <bruno@clisp.org>
29067
29068         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
29069         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
29070
29071 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29072
29073         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
29074         (func_create_testdir): Ensure C locale for `grep' and `tr'
29075         character ranges.
29076         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
29077         ACLOCAL_AMFLAGS parsing state machine.
29078
29079 2007-01-27  Bruno Haible  <bruno@clisp.org>
29080
29081         * modules/unistr/base: Update.
29082
29083 2007-01-27  Bruno Haible  <bruno@clisp.org>
29084
29085         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
29086         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
29087         * modules/unistr/u32-mbtouc-unsafe: Renamed from
29088         modules/unistr/u32-mbtouc.
29089         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
29090         * lib/unistr.h: Update.
29091         * lib/linebreak.c: Update.
29092         * modules/unistr/u32-mbtouc: Renamed from
29093         modules/unistr/u32-mbtouc-safe.
29094         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
29095         * lib/unistr.h: Update.
29096         * lib/unistr/u32-to-u8.c: Update.
29097         * lib/unistr/u32-to-u16.c: Update.
29098
29099 2007-01-27  Bruno Haible  <bruno@clisp.org>
29100
29101         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
29102         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
29103         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
29104         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
29105         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
29106         * modules/unistr/u16-mbtouc-unsafe: Renamed from
29107         modules/unistr/u16-mbtouc.
29108         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
29109         * lib/unistr.h: Update.
29110         * lib/linebreak.c: Update.
29111         * modules/linebreak: Update.
29112         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
29113         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
29114         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
29115         * modules/unistr/u16-mbtouc: Renamed from
29116         modules/unistr/u16-mbtouc-safe.
29117         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
29118         * lib/unistr.h: Update.
29119         * lib/unistr/u16-to-u8.c: Update.
29120         * modules/unistr/u16-to-u8: Update.
29121         * lib/unistr/u16-to-u32.c: Update.
29122         * modules/unistr/u16-to-u32: Update.
29123
29124 2007-01-27  Bruno Haible  <bruno@clisp.org>
29125
29126         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
29127         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
29128         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
29129         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
29130         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
29131         * modules/unistr/u8-mbtouc-unsafe: Renamed from
29132         modules/unistr/u8-mbtouc.
29133         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
29134         * lib/unistr.h: Update.
29135         * lib/striconveh.c: Update.
29136         * modules/striconveh: Update.
29137         * lib/linebreak.c: Update.
29138         * modules/linebreak: Update.
29139         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
29140         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
29141         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
29142         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
29143         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
29144         * lib/unistr.h: Update.
29145         * lib/striconveh.c: Update.
29146         * modules/striconveh: Update.
29147         * lib/unistr/u8-to-u16.c: Update.
29148         * modules/unistr/u8-to-u16: Update.
29149         * lib/unistr/u8-to-u32.c: Update.
29150         * modules/unistr/u8-to-u32: Update.
29151
29152 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29153
29154         Sync from Libtool.
29155         * lib/argz.c: Do not include strings.h nor memory.h, include
29156         string.h unconditionally.  Patch by Simon Josefsson.
29157
29158 2007-01-27  Bruno Haible  <bruno@clisp.org>
29159
29160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
29161         from gl_HEADER_STRING_H_BODY.
29162         (gl_HEADER_STRING_H_BODY): Require it.
29163         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
29164         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
29165         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
29166         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
29167         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29168         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
29169         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29170         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
29171         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
29172         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29173         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
29174         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
29175         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
29176         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29177         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
29178
29179 2007-01-27  Bruno Haible  <bruno@clisp.org>
29180
29181         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
29182         check_PROGRAMS into noinst_PROGRAMS.
29183         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
29184         check_PROGRAMS in this case.
29185         (func_import): Set for_test to false.
29186         (func_create_testdir): Set for_test to true.
29187
29188 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
29189             Bruno Haible  <bruno@clisp.org>
29190
29191         * modules/strcasestr (Files): Remove lib/strcasestr.h.
29192         (Depends-on): Add string.
29193         (Includes): Use <string.h> instead of strcasestr.h.
29194         * modules/string (Makefile.am): Also substitute the value of
29195         REPLACE_STRCASESTR.
29196         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
29197         assume strcasestr is declared in <string.h> not <strings.h>. Also
29198         set REPLACE_STRCASESTR.
29199         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
29200         REPLACE_STRCASESTR.
29201         * lib/strcasestr.h: Remove file.
29202         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
29203         * lib/string_.h (strcasestr): New declaration.
29204
29205 2007-01-27  Bruno Haible  <bruno@clisp.org>
29206
29207         * lib/string_.h: Use 'extern'.
29208
29209 2007-01-27  Jim Meyering  <jim@meyering.net>
29210
29211         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
29212         of set-but-not-used local, "q".
29213
29214         * lib/mempcpy.c: Include <config.h> before <string.h>.
29215         This fixes a compilation error on HP-UX, due to the system's
29216         "restrict"-using mempcpy prototype.
29217
29218 2007-01-26  Bruno Haible  <bruno@clisp.org>
29219
29220         Small optimization.
29221         * lib/javacomp.c: Include c-strstr.h.
29222          (is_envjavac_gcj): Use c_strstr instead of strstr.
29223         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
29224
29225 2007-01-26  Bruno Haible  <bruno@clisp.org>
29226
29227         * MODULES.html.sh (Unicode string functions): Add the new modules.
29228
29229         * modules/uniconv/u32-strconv-to-locale: New file.
29230         * lib/uniconv/u32-strconv-to-locale.c: New file.
29231
29232         * modules/uniconv/u16-strconv-to-locale: New file.
29233         * lib/uniconv/u16-strconv-to-locale.c: New file.
29234
29235         * modules/uniconv/u8-strconv-to-locale: New file.
29236         * lib/uniconv/u8-strconv-to-locale.c: New file.
29237
29238         * modules/uniconv/u32-strconv-from-locale: New file.
29239         * lib/uniconv/u32-strconv-from-locale.c: New file.
29240
29241         * modules/uniconv/u16-strconv-from-locale: New file.
29242         * lib/uniconv/u16-strconv-from-locale.c: New file.
29243
29244         * modules/uniconv/u8-strconv-from-locale: New file.
29245         * lib/uniconv/u8-strconv-from-locale.c: New file.
29246
29247         * modules/uniconv/u32-strconv-to-enc: New file.
29248         * lib/uniconv/u32-strconv-to-enc.c: New file.
29249         * modules/uniconv/u32-strconv-to-enc-tests: New file.
29250         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
29251
29252         * modules/uniconv/u16-strconv-to-enc: New file.
29253         * lib/uniconv/u16-strconv-to-enc.c: New file.
29254         * lib/uniconv/u-strconv-to-enc.h: New file.
29255         * modules/uniconv/u16-strconv-to-enc-tests: New file.
29256         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
29257
29258         * modules/uniconv/u8-strconv-to-enc: New file.
29259         * lib/uniconv/u8-strconv-to-enc.c: New file.
29260         * modules/uniconv/u8-strconv-to-enc-tests: New file.
29261         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
29262
29263         * modules/uniconv/u32-strconv-from-enc: New file.
29264         * lib/uniconv/u32-strconv-from-enc.c: New file.
29265         * modules/uniconv/u32-strconv-from-enc-tests: New file.
29266         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
29267
29268         * modules/uniconv/u16-strconv-from-enc: New file.
29269         * lib/uniconv/u16-strconv-from-enc.c: New file.
29270         * modules/uniconv/u16-strconv-from-enc-tests: New file.
29271         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
29272
29273         * modules/uniconv/u8-strconv-from-enc: New file.
29274         * lib/uniconv/u8-strconv-from-enc.c: New file.
29275         * lib/uniconv/u-strconv-from-enc.h: New file.
29276         * modules/uniconv/u8-strconv-from-enc-tests: New file.
29277         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
29278
29279         * modules/uniconv/u32-conv-from-enc: New file.
29280         * lib/uniconv/u32-conv-from-enc.c: New file.
29281         * modules/uniconv/u32-conv-from-enc-tests: New file.
29282         * tests/uniconv/test-u32-conv-from-enc.c: New file.
29283
29284         * modules/uniconv/u16-conv-from-enc: New file.
29285         * lib/uniconv/u16-conv-from-enc.c: New file.
29286         * lib/uniconv/u-conv-from-enc.h: New file.
29287         * modules/uniconv/u16-conv-from-enc-tests: New file.
29288         * tests/uniconv/test-u16-conv-from-enc.c: New file.
29289
29290         * modules/uniconv/u8-conv-from-enc: New file.
29291         * lib/uniconv/u8-conv-from-enc.c: New file.
29292         * modules/uniconv/u8-conv-from-enc-tests: New file.
29293         * tests/uniconv/test-u8-conv-from-enc.c: New file.
29294
29295         * modules/uniconv/base: New file.
29296         * lib/uniconv.h: New file.
29297
29298 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
29299
29300         * doc/gnulib-tool.texi (Initial import): Update to match current
29301         behavior with strdup module.
29302         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
29303         * lib/memmem.h: Remove; all uses removed.  This is now done
29304         by <string.h>.
29305         * lib/mempcpy.h: Likewise.
29306         * lib/memrchr.h: Likewise.
29307         * lib/stpcpy.h: Likewise.
29308         * lib/stpncpy.h: Likewise.
29309         * lib/strcase.h: Likewise.
29310         * lib/strchrnul.h: Likewise.
29311         * lib/strdup.h: Likewise.
29312         * lib/strndup.h: Likewise.
29313         * lib/strnlen.h: Likewise.
29314         * lib/strpbrk.h: Likewise.
29315         * lib/strsep.h: Likewise.
29316         * lib/strstr.h: Likewise.
29317         * lib/strtok_r.h: Likewise.
29318         * lib/string_.h: New file.
29319         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
29320         Rely on <string.h> instead.
29321         * lib/canon-host.c: Likewise.
29322         * lib/chdir-long.c: Likewise.
29323         * lib/concatpath.c: Likewise.
29324         * lib/exclude.c: Likewise.
29325         * lib/fchdir.c: Likewise.
29326         * lib/getaddrinfo.c: Likewise.
29327         * lib/getcwd.c: Likewise.
29328         * lib/getsubopt.c: Likewise.
29329         * lib/glob.c: Likewise.
29330         * lib/hard-locale.c: Likewise.
29331         * lib/iconvme.c: Likewise.
29332         * lib/javacomp.c: Likewise.
29333         * lib/mempcpy.c: Likewise.
29334         * lib/memrchr.c: Likewise.
29335         * lib/regex_internal.h: Likewise.
29336         * lib/stpncpy.c: Likewise.
29337         * lib/strcasecmp.c: Likewise.
29338         * lib/strchrnul.c: Likewise.
29339         * lib/strdup.c: Likewise.
29340         * lib/striconv.c: Likewise.
29341         * lib/striconveh.c: Likewise.
29342         * lib/striconveha.c: Likewise.
29343         * lib/strncasecmp.c: Likewise.
29344         * lib/strndup.c: Likewise.
29345         * lib/strnlen.c: Likewise.
29346         * lib/strsep.c: Likewise.
29347         * lib/strstr.c: Likewise.
29348         * lib/strtok_r.c: Likewise.
29349         * lib/userspec.c: Likewise.
29350         * lib/w32spawn.h: Likewise.
29351         * lib/xstrndup.c: Likewise.
29352         * lib/mountlist.c (strstr): Remove decl.
29353         * m4/string_h.m4: New file.
29354         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
29355         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
29356         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
29357         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
29358         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
29359         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
29360         Set REPLACE_STRCASECMP if necessary.
29361         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
29362         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
29363         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
29364         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
29365         HAVE_DECL_STRDUP if necessary.
29366         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
29367         since gl_FUNC_STRNDUP does that now.
29368         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
29369         Check for decl here...
29370         (gl_PREREQ_STRNLEN): ... not here.
29371         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
29372         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
29373         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
29374         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
29375         necessary.
29376         * modules/string: New file.
29377         * modules/memmem (Files): Remove special-purpose include file.
29378         (Depends-on): Add string.
29379         (Include): Include <string.h>, not the removed file.
29380         * modules/mempcpy: Likewise.
29381         * modules/memrchr: Likewise.
29382         * modules/stpcpy: Likewise.
29383         * modules/stpncpy: Likewise.
29384         * modules/strcase: Likewise.
29385         * modules/strchrnul: Likewise.
29386         * modules/strdup: Likewise.
29387         * modules/strndup: Likewise.
29388         * modules/strnlen: Likewise.
29389         * modules/strpbrk: Likewise.
29390         * modules/strsep: Likewise.
29391         * modules/strstr: Likewise.
29392         * modules/strtok_r: Likewise.
29393         * tests/test-dirname.c: Don't include "strdup.h", since
29394         <string.h> now suffices.
29395         * tests/test-memmem.c: Don't include "memmem.h", since
29396         <string.h> now suffices.
29397
29398 2007-01-25  Bruno Haible  <bruno@clisp.org>
29399
29400         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
29401         *resultp is 0.
29402
29403         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
29404         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
29405         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
29406         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
29407
29408         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
29409         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
29410         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
29411         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
29412         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
29413         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
29414
29415 2007-01-24  Bruno Haible  <bruno@clisp.org>
29416
29417         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
29418         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
29419         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
29420         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
29421         gl_FUNC_FTS_CORE.
29422         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
29423         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
29424         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
29425         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
29426         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
29427         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
29428         gl_FUNC_FCHOWNAT.
29429         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
29430         gl_FUNC_STRFTIME.
29431         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
29432         Reported by Ralf Wildenhues.
29433
29434 2007-01-24  Bruno Haible  <bruno@clisp.org>
29435
29436         Drop AC_REQUIRE calls that are redundant with the module dependencies.
29437         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
29438         gl_GETADDRINFO.
29439         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
29440         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
29441         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
29442
29443 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29444
29445         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
29446         Don't use 'exit'; just return from 'main'.
29447         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
29448
29449         * lib/fnmatch_.h: Readjust white space and comments to match
29450         glibc, to avoid spurious diffs.
29451
29452 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29453
29454         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
29455         2004-12-01 change by Jakub Jelinek, since this code won't compile
29456         if !LIBC.  Problem reported by Bob Proulx.
29457
29458 2007-01-23  Bruno Haible  <bruno@clisp.org>
29459
29460         * lib/striconveh.c: Include c-strcaseeq.h.
29461         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
29462         * modules/striconveh (Depends-on): Add c-strcaseeq.
29463
29464 2007-01-23  Bruno Haible  <bruno@clisp.org>
29465
29466         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
29467
29468         * modules/c-strcaseeq: New file.
29469         * lib/c-strcaseeq.h: New file.
29470
29471         * modules/streq: New file.
29472         * lib/streq.h: New file.
29473
29474 2007-01-23  Bruno Haible  <bruno@clisp.org>
29475
29476         * modules/striconveha-tests: New file.
29477         * tests/test-striconveha.c: New file.
29478
29479         * lib/striconveha.h: Include <stdbool.h>.
29480         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
29481         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
29482         (mem_iconveha_notranslit): Renamed from mem_iconveha.
29483         (mem_iconveha): New function.
29484         (str_iconveha_notranslit): Renamed from str_iconveha.
29485         (str_iconveha): New function.
29486         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
29487         c-strcase.
29488
29489 2007-01-23  Bruno Haible  <bruno@clisp.org>
29490
29491         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
29492         encodings without forgiving before trying any encoding with handler.
29493         (str_iconveha): Try all encodings without forgiving before trying any
29494         encoding with handler.
29495
29496 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29497
29498         Import the following changes from libc.
29499
29500         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
29501
29502         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
29503
29504         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
29505
29506         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
29507         normal_bracket label.
29508
29509         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
29510
29511         [BZ #361]
29512         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
29513         to normal_bracket after fetching the next character.
29514
29515 2007-01-22  Bruno Haible  <bruno@clisp.org>
29516
29517         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
29518         argument.
29519         * lib/striconveh.c (iconv_carefully_1): New function.
29520         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
29521         argument.
29522         (str_cd_iconveh): Update.
29523         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
29524         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
29525         * tests/test-striconveh.c (MAGIC): New macro.
29526         (new_offsets): New function.
29527         (main): Test call with and without offsets.
29528
29529 2007-01-22  Bruno Haible  <bruno@clisp.org>
29530
29531         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
29532         * modules/sys_select (Makefile.am): Likewise.
29533         * modules/sys_socket (Makefile.am): Likewise.
29534         * modules/sys_time (Makefile.am): Likewise.
29535
29536 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
29537
29538         * modules/gettimeofday (License): Change from GPL to LGPL, since
29539         gettimeofday is a library function.
29540
29541 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29542
29543         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
29544
29545 2007-01-21  Bruno Haible  <bruno@clisp.org>
29546
29547         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
29548
29549 2007-01-21  Bruno Haible  <bruno@clisp.org>
29550
29551         * modules/striconveha: New file.
29552         * lib/striconveha.h: New file.
29553         * lib/striconveha.c: New file.
29554         * MODULES.html.sh (Internationalization functions): Add striconveha.
29555         * lib/striconv.c (str_iconv): Optimize the case of an empty input
29556         string.
29557         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
29558
29559 2007-01-21  Bruno Haible  <bruno@clisp.org>
29560
29561         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
29562         * lib/striconveh.c (str_iconveh): Likewise.
29563
29564 2007-01-21  Bruno Haible  <bruno@clisp.org>
29565
29566         * lib/striconveh.h (mem_iconveh): New declaration.
29567         * lib/striconveh.c (mem_iconveh): New function.
29568         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
29569
29570 2007-01-21  Bruno Haible  <bruno@clisp.org>
29571
29572         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
29573
29574         * lib/striconveh.h (mem_cd_iconveh): Change specification.
29575         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
29576         original result buffer.
29577         (str_cd_iconveh): Update.
29578         * tests/test-striconveh.c (main): Update.
29579
29580         * lib/striconv.h (mem_cd_iconv): Change specification.
29581         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
29582         result buffer.
29583         (str_cd_iconv): Update.
29584         * tests/test-striconv.c (main): Update.
29585
29586 2007-01-21  Bruno Haible  <bruno@clisp.org>
29587
29588         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
29589
29590 2007-01-20  Jim Meyering  <jim@meyering.net>
29591
29592         * lib/userspec.c (parse_with_separator): If a user or group string
29593         starts with "+", skip the corresponding name-to-ID look-up, since
29594         such a look-up must fail: user and group names may not include "+".
29595
29596 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
29597
29598         * lib/poll.c: Include sys/time.h and time.h unconditionally,
29599         since we now assume the sys_time module.
29600         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
29601         check for sys/time.h; no longer needed.
29602         * modules/poll (Depends-on): Depend on sys_time.
29603
29604 2007-01-18  Bruno Haible  <bruno@clisp.org>
29605
29606         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
29607         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
29608
29609         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
29610         gettimeofday.
29611
29612         * tests/test-gettimeofday.c: Include <time.h>.
29613         (dummy): Remove variable.
29614
29615         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
29616         gl_HEADER_SYS_TIME_H.
29617         (gl_HEADER_SYS_TIME_H): New macro.
29618
29619         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
29620         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
29621         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
29622         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
29623         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
29624         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
29625         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
29626         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
29627         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
29628         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
29629         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
29630
29631         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
29632         last change; it caused a compilation error when cross-compiling to
29633         Cygwin.
29634
29635 2007-01-18  Jim Meyering  <jim@meyering.net>
29636
29637         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
29638         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
29639         than the race-prone "test -d sys || mkdir sys".
29640         (configure.ac): Use AC_PROG_MKDIR_P.
29641         * modules/sys_select: Likewise.
29642         * modules/sys_socket: Likewise.
29643         * modules/sys_time: Likewise.
29644
29645 2007-01-18  Eric Blake  <ebb9@byu.net>
29646
29647         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
29648         replace gettimeofday.
29649         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
29650         name, to avoid infinite recursion.
29651
29652 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
29653
29654         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
29655         module sys_time.
29656         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
29657         assume timespec.h defines struct timeval.
29658         * lib/settime.c: Likewise.
29659         * lib/utimens.c: Likewise.
29660         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
29661         since we now assume the gettimeofday module.
29662         * lib/tempname.c (__gen_tempname): Likewise.
29663         * lib/gettimeofday.h: Remove.
29664         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
29665         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
29666         Include <time.h>, for 'time()'.
29667         (localtime_buffer_addr): Also use this workaround if
29668         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
29669         to simplify the uses.  All uses changed.
29670         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
29671         that #undef is inside {}, and 'const' follows type name consistently.
29672         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
29673         (gettimeofday): Do not use the maximum possible value for
29674         tv->tv_usec, since that might break usages other than ls.c.
29675         Instead, we'll leave ls.c alone.  This undoes today's patch
29676         by Bruno.  Add a compile-time warning for 1s-clock resolution;
29677         we've never observed the problem but might as well keep the
29678         canary.
29679         * lib/nanosleep.c: Include timespec.h first, for interface check.
29680         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
29681         now assume the sys_time module.
29682         * lib/tempname.c: Likewise.
29683         * lib/timespec.h: Likewise.
29684         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
29685         needed.
29686         * lib/strftime.c: Likewise.
29687         * lib/timespec.h: Likewise.
29688         * lib/posixtm.c: Include posixtm.h first, for interface check.
29689         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
29690         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
29691         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
29692         * lib/sys_time_.h: New file.
29693         * lib/timespec.h (struct timespec): Use long int, not long.
29694         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
29695         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
29696         Remove obsolescent call to AC_HEADER_TIME.
29697         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
29698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29699         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
29700         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
29701         Likewise.
29702         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
29703         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
29704         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
29705         into the sys_time module.  Check for gettimeofday just once.
29706         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
29707         for gettimeofday signature to just check the signature.  Merely
29708         compile it, since linking doesn't test signature.  Improve test for
29709         whether gettimeofday.o is actually needed.
29710         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
29711         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
29712         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
29713         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
29714         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
29715         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
29716         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
29717         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
29718         than worrying about sys/time.h.
29719         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
29720         Don't bother worrying about TIME_WITH_SYS_TIME.
29721         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
29722         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
29723         * m4/sys_time_h.m4: New file.
29724         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
29725         Don't include sys/time.h.  Return from main rather than exiting.
29726         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
29727         all uses changed.
29728         * modules/gethrxtime (Depends-on): Add sys_time.
29729         * modules/gettime (Depends-on): Likewise.
29730         * modules/gettimeofday (Depends-on): Likewise.
29731         * modules/nanosleep (Depends-on): Likewise.
29732         * modules/settime (Depends-on): Likewise.
29733         * modules/tempname (Depends-on): Likewise.
29734         * modules/utimens (Depends-on): Likewise.
29735         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
29736         (Include:) Change back to <sys/time.h>.
29737         (Maintainer:) Add self.
29738         * modules/sys_time: New file.
29739         * modules/tempname (Depends-on): Add gettimeofday.
29740         * tests/test-gettimeofday.c: Include <sys/time.h>
29741         rather than gettimeofday.h.
29742
29743 2007-01-17  Bruno Haible  <bruno@clisp.org>
29744
29745         * gnulib-tool (func_get_license): Revert last patch. Instead, let
29746         the license default to GPL.
29747         (func_create_testdir): Don't complain if a module is LGPL and its
29748         tests module depends on GPLed modules.
29749
29750 2007-01-17  Bruno Haible  <bruno@clisp.org>
29751
29752         * lib/gettimeofday.c (gettimeofday): Add code for the case
29753         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
29754         maximum possible value for tv->tv_usec, rather than the minimum one.
29755
29756 2005-10-08  Martin Lambers  <marlam@marlam.de>
29757 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29758 2007-01-16  Bruno Haible  <bruno@clisp.org>
29759
29760         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
29761         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
29762         gl_FUNC_GETTIMEOFDAY.
29763         (Include): Add gettimeofday.h.
29764         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
29765         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
29766         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
29767         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
29768         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
29769         * lib/gettimeofday.h: New file.
29770         * lib/gettimeofday.c: Include <sys/timeb.h>.
29771         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
29772         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
29773         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
29774         fall back on time().
29775
29776         * tests/test-gettimeofday.c: New file.
29777         * modules/gettimeofday-tests: New file.
29778
29779 2007-01-16  Eric Blake  <ebb9@byu.net>
29780
29781         * modules/fnmatch (Depends-on): Depend on wchar.
29782         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
29783         * m4/fnmatch.m4: Likewise.
29784         * modules/mbchar (Makefile.am): Assume <wchar.h>.
29785         * m4/mbchar.m4: Likewise.
29786         * modules/mbswidth (Depends-on): Depend on wchar.
29787         * lib/mbswidth.c: Assume <wchar.h>.
29788         * m4/mbswidth.m4: Likewise.
29789         * modules/quotearg (Depends-on): Depend on wchar.
29790         * lib/quotearg.c: Assume <wchar.h>.
29791         * m4/quotearg.m4: Likewise.
29792         * modules/regex (Depends-on): Depend on wchar.
29793         * lib/regex_internal.h: Assume <wchar.h>.
29794         * m4/regex.m4: Likewise.
29795         * modules/stdint (Depends-on): Depend on wchar.
29796         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
29797         * m4/stdint.m4: Likewise.
29798         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
29799         * modules/strftime (Depends-on): Depend on wchar.
29800         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
29801         * modules/strtol (Depends-on): Depend on wchar.
29802         * lib/strtol.c: Assume <wchar.h>.
29803         * modules/wcwidth (Depends-on): Depend on wchar.
29804         * lib/wcwidth.h: Assume <wchar.h>.
29805         * m4/wcwidth.m4: Likewise.
29806
29807 2007-01-16  Bruno Haible  <bruno@clisp.org>
29808
29809         * modules/csharpexec-script: New, created from...
29810         * modules/csharpexec: ... this.
29811
29812 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
29813
29814         * modules/javaexec-script: New, created from...
29815         * modules/javaexec: ... this.
29816
29817 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29818
29819         * modules/poll (Dependencies): Add sys_select.
29820
29821 2007-01-15  Jim Meyering  <jim@meyering.net>
29822
29823         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
29824         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
29825         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
29826         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
29827
29828 2007-01-15  Bruno Haible  <bruno@clisp.org>
29829
29830         * modules/striconveh: New file.
29831         * lib/striconveh.h: New file.
29832         * lib/striconveh.c: New file.
29833         * MODULES.html.sh (Internationalization functions): Add striconveh.
29834
29835         * modules/striconveh-tests: New file.
29836         * tests/test-striconveh.c: New file.
29837
29838 2007-01-15  Bruno Haible  <bruno@clisp.org>
29839
29840         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
29841         not from GNU libiconv or GNU libc.
29842
29843 2007-01-15  Bruno Haible  <bruno@clisp.org>
29844
29845         * doc/gnulib-intro.texi (Copyright): Explain the different license
29846         terms for module descriptions, autoconf macros, tests, documentation.
29847
29848 2007-01-14  Bruno Haible  <bruno@clisp.org>
29849
29850         * modules/striconv-tests: New file.
29851         * tests/test-striconv.c: New file.
29852
29853 2007-01-14  Bruno Haible  <bruno@clisp.org>
29854
29855         * modules/iconv-tests: New file.
29856         * tests/test-iconv.c: New file.
29857
29858 2007-01-14  Bruno Haible  <bruno@clisp.org>
29859
29860         * gnulib-tool (func_get_license): For test modules, use the license of
29861         the main module.
29862
29863 2007-01-14  Bruno Haible  <bruno@clisp.org>
29864
29865         * modules/iconv (Include): Clarify that <iconv.h> can only be included
29866         if iconv is found to exist.
29867
29868 2007-01-14  Bruno Haible  <bruno@clisp.org>
29869
29870         * modules/c-ctype-tests: New file.
29871         * tests/test-c-ctype.c: New file.
29872
29873 2007-01-14  Bruno Haible  <bruno@clisp.org>
29874
29875         * modules/binary-io-tests: New file.
29876         * tests/test-binary-io.sh: New file.
29877         * tests/test-binary-io.c: New file.
29878
29879 2007-01-14  Bruno Haible  <bruno@clisp.org>
29880
29881         * modules/array-oset-tests: New file.
29882         * tests/test-array_oset.c: New file.
29883
29884 2007-01-14  Bruno Haible  <bruno@clisp.org>
29885
29886         * modules/array-list-tests: New file.
29887         * tests/test-array_list.c: New file.
29888
29889 2007-01-14  Bruno Haible  <bruno@clisp.org>
29890
29891         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
29892         and make.
29893         Reported by Simon Josefsson in
29894         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
29895
29896 2007-01-14  Bruno Haible  <bruno@clisp.org>
29897
29898         * modules/allocsa-tests: New file.
29899         * tests/test-allocsa.c: New file.
29900
29901 2007-01-14  Bruno Haible  <bruno@clisp.org>
29902
29903         * modules/fchdir (Depends-on): Add absolute-header.
29904         * modules/unistd (Depends-on): Likewise.
29905
29906 2006-12-30  Bruno Haible  <bruno@clisp.org>
29907
29908         * modules/fchdir: New file.
29909         * modules/unistd (Files): Add lib/unistd_.h.
29910         (Makefile.am): Generate unistd.h from unistd_.h.
29911         * lib/fchdir.c: New file.
29912         * lib/dirent_.h: New file.
29913         * lib/unistd_.h: New file.
29914         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
29915         * m4/fchdir.m4: New file.
29916         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
29917         (gl_HEADER_UNISTD): Invoke it.
29918         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
29919         function.
29920         * lib/backupfile.c (opendir, closedir): Undefine.
29921         * lib/chown.c (open, close): Undefine.
29922         * lib/clean-temp.c (open, close): Undefine.
29923         * lib/copy-file.c (open, close): Undefine.
29924         * lib/execute.c (open, close): Undefine.
29925         * lib/fsusage.c (open, close): Undefine.
29926         * lib/gc-gnulib.c (open, close): Undefine.
29927         * lib/getcwd.c (opendir, closedir): Undefine.
29928         * lib/glob.c (opendir, closedir): Undefine.
29929         * lib/javacomp.c (open, close): Undefine.
29930         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
29931         * lib/openat-proc.c (open, close): Undefine.
29932         * lib/pagealign_alloc.c (open, close): Undefine.
29933         * lib/pipe.c (open, close): Undefine.
29934         * lib/progreloc.c (open, close): Undefine.
29935         * lib/savedir.c (opendir, closedir): Undefine.
29936         * lib/utime.c (open, close): Undefine.
29937         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
29938
29939 2007-01-10  Bruno Haible  <bruno@clisp.org>
29940
29941         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
29942
29943 2007-01-12  Eric Blake  <ebb9@byu.net>
29944
29945         Provide a robust <wchar.h>.  Further simplifications are now
29946         possible in other modules, but not included here.
29947         * modules/wchar: New module.
29948         * m4/wchar.m4: New file.
29949         * lib/wchar_.h: Likewise.
29950         * modules/mbchar (Depends-on): Depend on wchar, as the first use
29951         of the new module.
29952         * MODULES.html.sh (Extended multibyte and wide character utilities):
29953         New section.
29954
29955 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29956
29957         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
29958         to a reasonable default for memory allocation.
29959         (xreadlink): Don't allocate a huge buffer, to work around a buggy
29960         file system that reports garbage st_size values for symlinks.
29961         Problem reported by Liyang Hu.
29962
29963 2007-01-11  Simon Josefsson  <simon@josefsson.org>
29964
29965         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
29966         Emacs .#* auto-save files).
29967
29968 2007-01-11  Bruno Haible  <bruno@clisp.org>
29969
29970         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
29971         directory.
29972
29973 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
29974
29975         Use @...@ consistently in lib/wctype_.h.
29976         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
29977         on it being set to 1 or 0.
29978         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
29979         go back to AC_SUBSTing it.
29980         * modules/wctype (Makefile.am): Undo previous change.
29981
29982 2007-01-10  Eric Blake  <ebb9@byu.net>
29983
29984         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
29985         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
29986         * modules/wctype (Makefile.am): Likewise.
29987         Reported by Chris McGuire.
29988
29989 2007-01-10  Jim Meyering  <jim@meyering.net>
29990
29991         fts.c: a small readability/maintainability improvement
29992         * lib/fts.c (fts_read): Make this code slightly more readable and
29993         maintainable by hoisting the "sp->fts_cur = p" assignments to
29994         immediately follow the statements that set P.  Derived from
29995         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
29996
29997 2007-01-10  Eric Blake  <ebb9@byu.net>
29998
29999         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
30000         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
30001         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30002         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30003         Reported by Chris McGuire.
30004
30005 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30006
30007         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
30008         in sed script.
30009
30010 2007-01-09  Bruno Haible  <bruno@clisp.org>
30011
30012         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
30013         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
30014         variables.
30015         (func_module): Use them.
30016
30017 2007-01-09  Bruno Haible  <bruno@clisp.org>
30018
30019         * modules/unistr/base: New file.
30020         * lib/unistr.h: New file.
30021
30022         * modules/unistr/u8-to-u16: New file.
30023         * lib/unistr/u8-to-u16.c: New file.
30024
30025         * modules/unistr/u8-to-u32: New file.
30026         * lib/unistr/u8-to-u32.c: New file.
30027
30028         * modules/unistr/u16-to-u8: New file.
30029         * lib/unistr/u16-to-u8.c: New file.
30030
30031         * modules/unistr/u16-to-u32: New file.
30032         * lib/unistr/u16-to-u32.c: New file.
30033
30034         * modules/unistr/u32-to-u8: New file.
30035         * lib/unistr/u32-to-u8.c: New file.
30036
30037         * modules/unistr/u32-to-u16: New file.
30038         * lib/unistr/u32-to-u16.c: New file.
30039
30040         * modules/unistr/u8-check: New file.
30041         * modules/unistr/u16-check: New file.
30042         * modules/unistr/u32-check: New file.
30043         * lib/unistr/u8-check.c: New file.
30044         * lib/unistr/u16-check.c: New file.
30045         * lib/unistr/u32-check.c: New file.
30046
30047         * modules/unistr/u8-chr: New file.
30048         * modules/unistr/u16-chr: New file.
30049         * modules/unistr/u32-chr: New file.
30050         * lib/unistr/u8-chr.c: New file.
30051         * lib/unistr/u16-chr.c: New file.
30052         * lib/unistr/u32-chr.c: New file.
30053
30054         * modules/unistr/u8-cmp: New file.
30055         * modules/unistr/u16-cmp: New file.
30056         * modules/unistr/u32-cmp: New file.
30057         * lib/unistr/u8-cmp.c: New file.
30058         * lib/unistr/u16-cmp.c: New file.
30059         * lib/unistr/u32-cmp.c: New file.
30060
30061         * modules/unistr/u8-cpy: New file.
30062         * modules/unistr/u16-cpy: New file.
30063         * modules/unistr/u32-cpy: New file.
30064         * lib/unistr/u8-cpy.c: New file.
30065         * lib/unistr/u16-cpy.c: New file.
30066         * lib/unistr/u32-cpy.c: New file.
30067         * lib/unistr/u-cpy.h: New file.
30068
30069         * modules/unistr/u8-cpy-alloc: New file.
30070         * modules/unistr/u16-cpy-alloc: New file.
30071         * modules/unistr/u32-cpy-alloc: New file.
30072         * lib/unistr/u8-cpy-alloc.c: New file.
30073         * lib/unistr/u16-cpy-alloc.c: New file.
30074         * lib/unistr/u32-cpy-alloc.c: New file.
30075         * lib/unistr/u-cpy-alloc.h: New file.
30076
30077         * modules/unistr/u8-endswith: New file.
30078         * modules/unistr/u16-endswith: New file.
30079         * modules/unistr/u32-endswith: New file.
30080         * lib/unistr/u8-endswith.c: New file.
30081         * lib/unistr/u16-endswith.c: New file.
30082         * lib/unistr/u32-endswith.c: New file.
30083         * lib/unistr/u-endswith.h: New file.
30084
30085         * modules/unistr/u8-mblen: New file.
30086         * modules/unistr/u16-mblen: New file.
30087         * modules/unistr/u32-mblen: New file.
30088         * lib/unistr/u8-mblen.c: New file.
30089         * lib/unistr/u16-mblen.c: New file.
30090         * lib/unistr/u32-mblen.c: New file.
30091
30092         * modules/unistr/u8-mbtouc: New file.
30093         * modules/unistr/u16-mbtouc: New file.
30094         * modules/unistr/u32-mbtouc: New file.
30095         * lib/unistr/u8-mbtouc.c: New file.
30096         * lib/unistr/u16-mbtouc.c: New file.
30097         * lib/unistr/u32-mbtouc.c: New file.
30098
30099         * modules/unistr/u8-mbtouc-safe: New file.
30100         * modules/unistr/u16-mbtouc-safe: New file.
30101         * modules/unistr/u32-mbtouc-safe: New file.
30102         * lib/unistr/u8-mbtouc-safe.c: New file.
30103         * lib/unistr/u16-mbtouc-safe.c: New file.
30104         * lib/unistr/u32-mbtouc-safe.c: New file.
30105
30106         * modules/unistr/u8-move: New file.
30107         * modules/unistr/u16-move: New file.
30108         * modules/unistr/u32-move: New file.
30109         * lib/unistr/u8-move.c: New file.
30110         * lib/unistr/u16-move.c: New file.
30111         * lib/unistr/u32-move.c: New file.
30112         * lib/unistr/u-move.h: New file.
30113
30114         * modules/unistr/u8-next: New file.
30115         * modules/unistr/u16-next: New file.
30116         * modules/unistr/u32-next: New file.
30117         * lib/unistr/u8-next.c: New file.
30118         * lib/unistr/u16-next.c: New file.
30119         * lib/unistr/u32-next.c: New file.
30120
30121         * modules/unistr/u8-prev: New file.
30122         * modules/unistr/u16-prev: New file.
30123         * modules/unistr/u32-prev: New file.
30124         * lib/unistr/u8-prev.c: New file.
30125         * lib/unistr/u16-prev.c: New file.
30126         * lib/unistr/u32-prev.c: New file.
30127
30128         * modules/unistr/u8-set: New file.
30129         * modules/unistr/u16-set: New file.
30130         * modules/unistr/u32-set: New file.
30131         * lib/unistr/u8-set.c: New file.
30132         * lib/unistr/u16-set.c: New file.
30133         * lib/unistr/u32-set.c: New file.
30134         * lib/unistr/u-set.h: New file.
30135
30136         * modules/unistr/u8-startswith: New file.
30137         * modules/unistr/u16-startswith: New file.
30138         * modules/unistr/u32-startswith: New file.
30139         * lib/unistr/u8-startswith.c: New file.
30140         * lib/unistr/u16-startswith.c: New file.
30141         * lib/unistr/u32-startswith.c: New file.
30142         * lib/unistr/u-startswith.h: New file.
30143
30144         * modules/unistr/u8-stpcpy: New file.
30145         * modules/unistr/u16-stpcpy: New file.
30146         * modules/unistr/u32-stpcpy: New file.
30147         * lib/unistr/u8-stpcpy.c: New file.
30148         * lib/unistr/u16-stpcpy.c: New file.
30149         * lib/unistr/u32-stpcpy.c: New file.
30150         * lib/unistr/u-stpcpy.h: New file.
30151
30152         * modules/unistr/u8-stpncpy: New file.
30153         * modules/unistr/u16-stpncpy: New file.
30154         * modules/unistr/u32-stpncpy: New file.
30155         * lib/unistr/u8-stpncpy.c: New file.
30156         * lib/unistr/u16-stpncpy.c: New file.
30157         * lib/unistr/u32-stpncpy.c: New file.
30158         * lib/unistr/u-stpncpy.h: New file.
30159
30160         * modules/unistr/u8-strcat: New file.
30161         * modules/unistr/u16-strcat: New file.
30162         * modules/unistr/u32-strcat: New file.
30163         * lib/unistr/u8-strcat.c: New file.
30164         * lib/unistr/u16-strcat.c: New file.
30165         * lib/unistr/u32-strcat.c: New file.
30166         * lib/unistr/u-strcat.h: New file.
30167
30168         * modules/unistr/u8-strchr: New file.
30169         * modules/unistr/u16-strchr: New file.
30170         * modules/unistr/u32-strchr: New file.
30171         * lib/unistr/u8-strchr.c: New file.
30172         * lib/unistr/u16-strchr.c: New file.
30173         * lib/unistr/u32-strchr.c: New file.
30174
30175         * modules/unistr/u8-strcmp: New file.
30176         * modules/unistr/u16-strcmp: New file.
30177         * modules/unistr/u32-strcmp: New file.
30178         * lib/unistr/u8-strcmp.c: New file.
30179         * lib/unistr/u16-strcmp.c: New file.
30180         * lib/unistr/u32-strcmp.c: New file.
30181
30182         * modules/unistr/u8-strcpy: New file.
30183         * modules/unistr/u16-strcpy: New file.
30184         * modules/unistr/u32-strcpy: New file.
30185         * lib/unistr/u8-strcpy.c: New file.
30186         * lib/unistr/u16-strcpy.c: New file.
30187         * lib/unistr/u32-strcpy.c: New file.
30188         * lib/unistr/u-strcpy.h: New file.
30189
30190         * modules/unistr/u8-strcspn: New file.
30191         * modules/unistr/u16-strcspn: New file.
30192         * modules/unistr/u32-strcspn: New file.
30193         * lib/unistr/u8-strcspn.c: New file.
30194         * lib/unistr/u16-strcspn.c: New file.
30195         * lib/unistr/u32-strcspn.c: New file.
30196         * lib/unistr/u-strcspn.h: New file.
30197
30198         * modules/unistr/u8-strdup: New file.
30199         * modules/unistr/u16-strdup: New file.
30200         * modules/unistr/u32-strdup: New file.
30201         * lib/unistr/u8-strdup.c: New file.
30202         * lib/unistr/u16-strdup.c: New file.
30203         * lib/unistr/u32-strdup.c: New file.
30204         * lib/unistr/u-strdup.h: New file.
30205
30206         * modules/unistr/u8-strlen: New file.
30207         * modules/unistr/u16-strlen: New file.
30208         * modules/unistr/u32-strlen: New file.
30209         * lib/unistr/u8-strlen.c: New file.
30210         * lib/unistr/u16-strlen.c: New file.
30211         * lib/unistr/u32-strlen.c: New file.
30212         * lib/unistr/u-strlen.h: New file.
30213
30214         * modules/unistr/u8-strmblen: New file.
30215         * modules/unistr/u16-strmblen: New file.
30216         * modules/unistr/u32-strmblen: New file.
30217         * lib/unistr/u8-strmblen.c: New file.
30218         * lib/unistr/u16-strmblen.c: New file.
30219         * lib/unistr/u32-strmblen.c: New file.
30220
30221         * modules/unistr/u8-strmbtouc: New file.
30222         * modules/unistr/u16-strmbtouc: New file.
30223         * modules/unistr/u32-strmbtouc: New file.
30224         * lib/unistr/u8-strmbtouc.c: New file.
30225         * lib/unistr/u16-strmbtouc.c: New file.
30226         * lib/unistr/u32-strmbtouc.c: New file.
30227
30228         * modules/unistr/u8-strncat: New file.
30229         * modules/unistr/u16-strncat: New file.
30230         * modules/unistr/u32-strncat: New file.
30231         * lib/unistr/u8-strncat.c: New file.
30232         * lib/unistr/u16-strncat.c: New file.
30233         * lib/unistr/u32-strncat.c: New file.
30234         * lib/unistr/u-strncat.h: New file.
30235
30236         * modules/unistr/u8-strncmp: New file.
30237         * modules/unistr/u16-strncmp: New file.
30238         * modules/unistr/u32-strncmp: New file.
30239         * lib/unistr/u8-strncmp.c: New file.
30240         * lib/unistr/u16-strncmp.c: New file.
30241         * lib/unistr/u32-strncmp.c: New file.
30242
30243         * modules/unistr/u8-strncpy: New file.
30244         * modules/unistr/u16-strncpy: New file.
30245         * modules/unistr/u32-strncpy: New file.
30246         * lib/unistr/u8-strncpy.c: New file.
30247         * lib/unistr/u16-strncpy.c: New file.
30248         * lib/unistr/u32-strncpy.c: New file.
30249         * lib/unistr/u-strncpy.h: New file.
30250
30251         * modules/unistr/u8-strnlen: New file.
30252         * modules/unistr/u16-strnlen: New file.
30253         * modules/unistr/u32-strnlen: New file.
30254         * lib/unistr/u8-strnlen.c: New file.
30255         * lib/unistr/u16-strnlen.c: New file.
30256         * lib/unistr/u32-strnlen.c: New file.
30257         * lib/unistr/u-strnlen.h: New file.
30258
30259         * modules/unistr/u8-strpbrk: New file.
30260         * modules/unistr/u16-strpbrk: New file.
30261         * modules/unistr/u32-strpbrk: New file.
30262         * lib/unistr/u8-strpbrk.c: New file.
30263         * lib/unistr/u16-strpbrk.c: New file.
30264         * lib/unistr/u32-strpbrk.c: New file.
30265         * lib/unistr/u-strpbrk.h: New file.
30266
30267         * modules/unistr/u8-strrchr: New file.
30268         * modules/unistr/u16-strrchr: New file.
30269         * modules/unistr/u32-strrchr: New file.
30270         * lib/unistr/u8-strrchr.c: New file.
30271         * lib/unistr/u16-strrchr.c: New file.
30272         * lib/unistr/u32-strrchr.c: New file.
30273
30274         * modules/unistr/u8-strspn: New file.
30275         * modules/unistr/u16-strspn: New file.
30276         * modules/unistr/u32-strspn: New file.
30277         * lib/unistr/u8-strspn.c: New file.
30278         * lib/unistr/u16-strspn.c: New file.
30279         * lib/unistr/u32-strspn.c: New file.
30280         * lib/unistr/u-strspn.h: New file.
30281
30282         * modules/unistr/u8-strstr: New file.
30283         * modules/unistr/u16-strstr: New file.
30284         * modules/unistr/u32-strstr: New file.
30285         * lib/unistr/u8-strstr.c: New file.
30286         * lib/unistr/u16-strstr.c: New file.
30287         * lib/unistr/u32-strstr.c: New file.
30288         * lib/unistr/u-strstr.h: New file.
30289
30290         * modules/unistr/u8-strtok: New file.
30291         * modules/unistr/u16-strtok: New file.
30292         * modules/unistr/u32-strtok: New file.
30293         * lib/unistr/u8-strtok.c: New file.
30294         * lib/unistr/u16-strtok.c: New file.
30295         * lib/unistr/u32-strtok.c: New file.
30296         * lib/unistr/u-strtok.h: New file.
30297
30298         * modules/unistr/u8-uctomb: New file.
30299         * modules/unistr/u16-uctomb: New file.
30300         * modules/unistr/u32-uctomb: New file.
30301         * lib/unistr/u8-uctomb.c: New file.
30302         * lib/unistr/u16-uctomb.c: New file.
30303         * lib/unistr/u32-uctomb.c: New file.
30304
30305         * MODULES.html.sh (Unicode string functions): Add the new modules.
30306
30307 2007-01-08  Bruno Haible  <bruno@clisp.org>
30308
30309         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
30310         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
30311         subdirectories.
30312
30313 2007-01-08  Karl Berry  <karl@gnu.org>
30314
30315         * doc/error.texi: mention that main() fns must set program_name
30316         when progname is used.
30317
30318 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
30319
30320         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
30321         WCTYPE_H is empty, for the benefit of builds from non-distclean
30322         directories.  Problem reported by Eric Blake in
30323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
30324
30325 2007-01-08  Bruno Haible  <bruno@clisp.org>
30326
30327         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
30328         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
30329         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
30330         PROVIDE_CANONICALIZE_FILENAME_MODE.
30331         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
30332
30333 2007-01-08  Bruno Haible  <bruno@clisp.org>
30334
30335         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
30336         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
30337         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
30338         * lib/fts.c: Likewise.
30339         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
30340
30341 2006-12-25  Bruno Haible  <bruno@clisp.org>
30342
30343         * modules/utf8-ucs4-safe: New file.
30344         * lib/utf8-ucs4-safe.h: New file.
30345         * lib/unistr/utf8-ucs4-safe.c: New file.
30346
30347         * modules/utf16-ucs4-safe: New file.
30348         * lib/utf16-ucs4-safe.h: New file.
30349         * lib/unistr/utf16-ucs4-safe.c: New file.
30350
30351         * MODULES.html.sh (Unicode string functions): Add the new modules.
30352
30353 2007-01-08  Bruno Haible  <bruno@clisp.org>
30354
30355         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
30356         (Depends-on): Add unitypes.
30357         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
30358         (u8_mbtouc_aux): Move out to separate file.
30359         (u8_mbtouc): Use ucs4_t, uint8_t types.
30360         * lib/unistr/utf8-ucs4.c: New file.
30361
30362         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
30363         (Depends-on): Add unitypes.
30364         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
30365         (u16_mbtouc_aux): Move out to separate file.
30366         (u16_mbtouc): Use ucs4_t, uint16_t types.
30367         * lib/unistr/utf16-ucs4.c: New file.
30368
30369         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
30370         (Depends-on): Add unitypes.
30371         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
30372         (u8_uctomb_aux): Move out to separate file.
30373         (u8_uctomb): Use ucs4_t, uint8_t types.
30374         * lib/unistr/ucs4-utf8.c: New file.
30375
30376         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
30377         (Depends-on): Add unitypes.
30378         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
30379         (u16_uctomb_aux): Move out to separate file.
30380         (u16_uctomb): Use ucs4_t, uint16_t types.
30381         * lib/unistr/ucs4-utf16.c: New file.
30382
30383 2006-12-25  Bruno Haible  <bruno@clisp.org>
30384
30385         * modules/unitypes: New file.
30386         * lib/unitypes.h: New file.
30387         * MODULES.html.sh (func_all_modules): New section "Unicode string
30388         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
30389         this section. Add unitypes.
30390
30391 2007-01-08  Bruno Haible  <bruno@clisp.org>
30392
30393         Avoid variable names that conflict with those from libtool.
30394         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
30395         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
30396         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
30397         library_names_spec to acl_library_names_spec, hardcode_* to
30398         acl_hardcode_*.
30399         Reported by Ralf Wildenhues.
30400
30401 2007-01-08  Bruno Haible  <bruno@clisp.org>
30402
30403         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
30404         definition.
30405         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
30406         definition.
30407         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
30408         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
30409         definition.
30410         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
30411         definition.
30412         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
30413         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
30414         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
30415         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
30416         definition.
30417         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
30418         definition.
30419         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
30420         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
30421         GC_USE_<algorithm>.
30422         * lib/gc-libgcrypt.c: Likewise.
30423         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
30424         * modules/gc-arctwo (configure.ac): Likewise.
30425         * modules/gc-des (configure.ac): Likewise.
30426         * modules/gc-hmac-md5 (configure.ac): Likewise.
30427         * modules/gc-hmac-sha1 (configure.ac): Likewise.
30428         * modules/gc-md2 (configure.ac): Likewise.
30429         * modules/gc-md4 (configure.ac): Likewise.
30430         * modules/gc-md5 (configure.ac): Likewise.
30431         * modules/gc-random (configure.ac): Likewise.
30432         * modules/gc-rijndael (configure.ac): Likewise.
30433         * modules/gc-sha1 (configure.ac): Likewise.
30434
30435 2007-01-08  Bruno Haible  <bruno@clisp.org>
30436
30437         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
30438         macro definition.
30439         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
30440         definition.
30441         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
30442         definition.
30443         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
30444         * modules/fcntl-safer (configure.ac): Likewise.
30445         * modules/fopen-safer (configure.ac): Likewise.
30446         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
30447         GNULIB_FWRITEERROR macro definition.
30448
30449 2007-01-08  Bruno Haible  <bruno@clisp.org>
30450
30451         * m4/gnulib-common.m4: New file.
30452         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
30453         (func_get_filelist): Add m4/gnulib-common.m4.
30454
30455 2007-01-08  Bruno Haible  <bruno@clisp.org>
30456
30457         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
30458         command.
30459
30460 2007-01-08  Jim Meyering  <jim@meyering.net>
30461
30462         Use a more robust test for a "can't happen" condition.
30463         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
30464         narrowed the st_size value.  Presuming the "can't happen" condition
30465         is true, that narrowing could conceivably convert an invalid st_size
30466         value into a valid one.  Instead, use a change based on Matthew
30467         Woehlke's original patch.
30468
30469         Slight readability improvement: use an assert-like macro
30470         in place of literal "abort ()" uses.
30471         * lib/fts.c (fts_assert): Define.
30472         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
30473         Use this macro instead of a bare 'abort'.
30474
30475 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
30476
30477         Don't worry about using IRIX 5.3's wctype.h broken definitions;
30478         simply work around them.
30479         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
30480         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
30481         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
30482         declaring.
30483         Don't bother to define as macros, since the standard doesn't require it.
30484         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
30485         longer worry about IRIX 5.3.
30486         (HAVE_WCTYPE_CTMP_BUG): Remove.
30487
30488 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
30489
30490         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
30491         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
30492         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
30493         Problems reported by Georg Schwarz for IRIX 5.3.
30494
30495         * gnulib-tool (autoconf_minversion): Take the maximum version number
30496         found, not the minimum.  Problem reported by James Youngman.
30497
30498 2007-01-03  Karl Berry  <karl@gnu.org>
30499
30500         * doc/error.texi: new file, explaining interaction with progname.
30501         * doc/gnulib.texi: include it.  Update copyright.
30502
30503 2007-01-03  Simon Josefsson  <simon@josefsson.org>
30504
30505         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
30506         AC_CANONICAL_HOST, to improve autobuild outputs.
30507
30508 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
30509             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
30510
30511         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
30512         sockets, server sockets, and other file descriptors.  Count errors
30513         to compute the return value.  Reorder the code a bit to be easier
30514         to follow.  Don't set event bits that were not requested (except
30515         POLLERR and POLLHUP).
30516
30517 2007-01-01  Bruno Haible  <bruno@clisp.org>
30518
30519         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
30520
30521 2007-01-03  Jim Meyering  <jim@meyering.net>
30522
30523         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
30524
30525 2007-01-02  Bruno Haible  <bruno@clisp.org>
30526
30527         * modules/settime (Include): Require timespec.h.
30528         * modules/nanosleep (Include): Likewise.
30529
30530 2007-01-01  Bruno Haible  <bruno@clisp.org>
30531
30532         * gnulib-tool (func_emit_copyright_notice): Bump year.
30533         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
30534
30535 2007-01-01  Bruno Haible  <bruno@clisp.org>
30536
30537         Improve support for OpenBSD.
30538         * build-aux/config.rpath (libname_spec): Export.
30539         (library_names_spec): New variable. Export.
30540         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
30541         library_names_spec from the config.rpath output. Locate shared library
30542         through the name pattern in library_names_spec.
30543
30544 2007-01-01  Eric Blake  <ebb9@byu.net>
30545
30546         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
30547
30548 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30549
30550         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
30551         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
30552         assume the C locale, and avoid an "eval" that could cause trouble.
30553         Problem with SORT reported by Bob Proulx.
30554
30555         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
30556         Define.  Trivial patch from Henning Nielsen Lund, originally
30557         sent to bug-grep@gnu.org today.
30558
30559 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
30560
30561         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
30562         struct stat.  Problem reported by Henning Nielsen Lund.
30563         * lib/acl.c: Include acl.h first, to check interface.  Don't
30564         bother to include sys/types.h and sys/stat.h again.
30565
30566 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
30567
30568         Import the following change from libc; problem reported by
30569         Sven Verdoolaege.
30570
30571         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
30572
30573         [BZ #1373]
30574         * lib/argp.h: Remove __NTH for __argp_usage inline function.
30575
30576 2006-12-28  Jim Meyering  <jim@meyering.net>
30577
30578         * build-aux/announce-gen: Do not assume that the package
30579         builds any of tar.gz, tar.bz2, and .xdelta files.
30580         Suggestion from Simon Josefsson.
30581
30582 2006-12-28  Simon Josefsson  <simon@josefsson.org>
30583
30584         * modules/announce-gen: New file.
30585
30586 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
30587
30588         * lib/mbchar.h: Just include <wctype.h>; the wctype module
30589         handles its gotchas now.
30590         * lib/mbswidth.c: Likewise.
30591         * lib/wcwidth.h: Likewise.
30592         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
30593         and iswcntrl; the wctype module does this stuff now.
30594         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30595         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30596         * modules/mbchar (Depends-on): Add wctype.
30597         * modules/mbswidth (Depends-on): Likewise.
30598         * modules/wcwidth (Depends-on): Likewise.
30599
30600 2006-12-27  Eric Blake  <ebb9@byu.net>
30601
30602         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
30603         module uses more than what <wctype.h> is required to provide.
30604
30605 2006-12-26  Eric Blake  <ebb9@byu.net>
30606
30607         * gnulib-tool (sed_extract_prog): Avoid space-tab.
30608
30609 2006-12-26  Eric Blake  <ebb9@byu.net>
30610
30611         * modules/absolute-header: New module.
30612         * modules/fcntl (Depends-on): Depend on it.
30613         * modules/inttypes (Depends-on): Likewise.
30614         * modules/stdint (Depends-on): Likewise.
30615         * modules/sys_stat (Depends-on): Likewise.
30616         * modules/wctype (Depends-on): Likewise.
30617         * MODULES.html.sh (Support for building libraries and
30618         executables): Document it.
30619
30620 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
30621
30622         * gnulib-tool (SED): Remove, undoing previous change.
30623         The problem was that it broke coreutils on Solaris, because
30624         "sed --posix" leaked into a makefile.
30625         (sed): New alias, if 'alias' and GNU sed.
30626
30627 2006-12-24  Jim Meyering  <jim@meyering.net>
30628
30629         Work around an fchownat bug in glibc-2.4:
30630         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
30631         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
30632         in spite of the -P option.
30633         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
30634         New macros.
30635         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
30636         * modules/openat (Files): Add lib/fchownat.c.
30637         * lib/openat.c (fchownat): Don't define here.  Move to...
30638         * lib/fchownat.c: ...this new file.
30639
30640 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
30641
30642         Fix bug reported by Bruno Haible in
30643         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
30644         where quotearg.c didn't compile on Mac OS X 10.2 because it
30645         lacks <wchar.h> and wint_t.
30646         * lib/wctype_.h (__wctype_wint_t): New type.
30647         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
30648         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
30649         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
30650         Arg is now of type __wctype_wint_t, not wint_t.
30651         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
30652         substitute HAVE_WINT_T.
30653         * modules/wctype (Files): Add m4/wint_t.m4.
30654         (wctype.h): Substitute HAVE_WINT_T.
30655
30656 2006-12-23  Bruno Haible  <bruno@clisp.org>
30657
30658         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
30659
30660 2006-12-23  Bruno Haible  <bruno@clisp.org>
30661
30662         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
30663         S_ISLNK.
30664         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
30665         mingw.
30666
30667 2006-12-22  Bruno Haible  <bruno@clisp.org>
30668
30669         * lib/copy-file.c: Include acl.h.
30670         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
30671         Close the file descriptors only after being done with copy_acl.
30672         * modules/copy-file (Depends-on): Add acl.
30673
30674 2006-12-22  Bruno Haible  <bruno@clisp.org>
30675
30676         * gnulib-tool (SED): New variable.
30677         Use $SED instead of sed everywhere.
30678
30679 2006-12-22  Bruno Haible  <bruno@clisp.org>
30680
30681         * modules/no-c++: New file.
30682         * m4/no-c++.m4: New file.
30683         * MODULES.html.sh (Support for building libraries and executables):
30684         Add no-c++.
30685
30686 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
30687
30688         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
30689         Include <limits.h>, and use its INT_MAX to rewrite the
30690         j loop so that it does not overflow 'int'.  Problem reported by
30691         Ralf Wildenhues in
30692         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
30693         Play it safe by shifting left by 1 rather than multiplying by 2,
30694         as GCC is less likely to optimize this away when the value
30695         is signed (when it assumes overflow leads to undefined behavior).
30696         Also, don't assume time_t uses two's complement.
30697
30698 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
30699
30700         * MODULES.html.sh: New module wctype.
30701         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
30702         * lib/fnmatch.c: Don't bother to include <wchar.h> before
30703         <wctype.h>, since the new wctype module should fix this.
30704         * lib/quotearg.c: Include <wctype.h> unconditionally, since
30705         the wctype module should arrange for it.
30706         * lib/regex_internal.h: Likewise.
30707         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
30708         since the wctype module should handle this now.
30709         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
30710         * modules/fnmatch (Depends-on): Add wctype.
30711         * modules/quotearg (Depends-on): Likewise.
30712         * modules/regex (Depends-on): Likewise.
30713
30714 2006-12-19  Bruno Haible  <bruno@clisp.org>
30715
30716         * lib/strdup.h [C++]: Wrap definitions in extern "C".
30717         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
30718
30719 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30720
30721         * modules/savewd (Depends-on): Fix dependency on fcntl.
30722
30723 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
30724
30725         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
30726         conforms to C99, rather than relying on the user's environment
30727         setting of STDINT_H.
30728
30729 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
30730         and Eric Blake  <ebb9@byu.net>
30731
30732         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
30733         This is more consistent with the other defines here.
30734         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
30735         Port to z/OS.  Problem reported by Paul Gilmartin.
30736         Change local vars to use gl_ prefix rather than ac_.
30737         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
30738         with other defines.
30739         * modules/double-slash-root: New module.
30740         * modules/dirname (Files): Remove m4/double-slash-root.m4.
30741         (Depends-on): Add double-slash-root.
30742         * MODULES.html.sh (File system functions): Mention new module.
30743
30744 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
30745
30746         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
30747         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
30748         This is for the benefit of gzip, which doesn't do i18n.
30749
30750 2006-12-12  Jim Meyering  <jim@meyering.net>
30751
30752         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
30753         Reported by Andreas Schwab <schwab@suse.de>.
30754
30755 2006-12-12  Bruno Haible  <bruno@clisp.org>
30756
30757         Merge these changes.
30758         2006-09-05  Bruno Haible  <bruno@clisp.org>
30759         * lib/iconvme.c (iconv_string): No need to save and restore errno when
30760         iconv_alloc succeeded.
30761         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
30762         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
30763         test for " && dest " at the end - dest is always != NULL there. Call
30764         iconv with 4xNULL arguments initially, to reset the state. Call iconv
30765         with 2xNULL arguments, also to flush the state storage. Handle the
30766         IRIX iconv behaviour. Realloc the final result, to throw away unused
30767         memory.
30768
30769 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
30770
30771         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
30772         and fchmodat unconditionally, since glibc 2.4 has them.
30773         Problem reported by Arkadiusz Miskiewicz.
30774
30775 2006-12-10  Bruno Haible  <bruno@clisp.org>
30776
30777         * gnulib-tool (func_import): Show the include files only for those
30778         modules that are copied and specified.
30779         Reported by Karl Berry.
30780
30781 2006-12-08  Jim Meyering  <jim@meyering.net>
30782
30783         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
30784         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
30785
30786         * build-aux/announce-gen: Add two new options, both optional:
30787         --bootstrap-tools=TOOL_LIST
30788               a comma-separated list of tools, e.g.,
30789               autoconf,automake,bison,gnulib
30790         --gnulib-snapshot-date=DATE
30791               if gnulib is in the bootstrap tool list,
30792               then report this as the snapshot date.
30793               If not specified, use the current date/time.
30794               If you specify a date here, be sure it's UTC.
30795
30796 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30797
30798         * tests/test-argp-2.sh: Fix test to match actual output.
30799         (func_compare): Fix sed script to be portable.
30800
30801 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
30802
30803         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
30804         workaround for this case.  It is not autoconfigured now; offhand
30805         it's hard to see how to autoconfigure it.
30806
30807 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
30808
30809         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
30810         a directory that is about to be chowned.  Such a directory's
30811         initial file permissions should permit the owner only and this
30812         should not be changed until after the chown, since the group and
30813         other bits would be incorrect if they granted permission before
30814         the chown.
30815
30816         Fix porting problem for iswctype reported by Georg Schwarz in:
30817         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
30818         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
30819         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
30820         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
30821         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30822
30823 2006-12-03  Jim Meyering  <jim@meyering.net>
30824
30825         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
30826         p->fts_statp may not yet be defined.
30827         (fts_read): Instead, set it in the caller, once p->fts_statp is
30828         sure to be defined, and corresponds to a top-level directory.
30829         This bug made du -x fail.  Here's the coreutils test case:
30830         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
30831         Reported by Mike Frysinger.
30832
30833 2006-12-01  Jim Meyering  <jim@meyering.net>
30834
30835         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
30836         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
30837         Reported by Simon Josefsson.
30838
30839 2006-11-30  Jim Meyering  <jim@meyering.net>
30840
30841         * m4/warning.m4: Use the all-permissive copyright notice
30842         recommended by RMS (rather than LGPL).
30843         * m4/vararrays.m4: Likewise.
30844         * m4/flexmember.m4: Likewise.
30845
30846 2006-11-29  Bruno Haible  <bruno@clisp.org>
30847
30848         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
30849         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
30850         using +=.
30851         Reported by Simon Josefsson <simon@josefsson.org>.
30852
30853 2006-11-28  James Youngman <jay@gnu.org>
30854
30855         * README: Advise users that they might find the bug-gnulib@gnu.org
30856         and autotools-announce@gnu.org mailing lists useful.
30857
30858 2006-11-28  Bruno Haible  <bruno@clisp.org>
30859
30860         * m4/ptrdiff_max.m4: Remove file.
30861
30862 2006-11-21  Bruno Haible  <bruno@clisp.org>
30863
30864         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
30865         _AC_COMPUTE_INT.
30866         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
30867         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
30868         _AC_COMPUTE_INT.
30869         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
30870         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
30871         _AC_COMPUTE_INT.
30872         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
30873
30874 2006-11-28  Jim Meyering  <jim@meyering.net>
30875
30876         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
30877         warning from "gcc -Wshadow" about shadowing the builtin.
30878
30879 2006-11-27  Bruno Haible  <bruno@clisp.org>
30880
30881         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
30882         _AC_COMPUTE_INT.
30883         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
30884
30885 2006-11-27  Bruno Haible  <bruno@clisp.org>
30886             Paul Eggert  <eggert@cs.ucla.edu>
30887
30888         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
30889
30890 2006-11-26  Bruno Haible  <bruno@clisp.org>
30891
30892         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
30893         noinst_LTLIBRARIES.
30894
30895 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
30896             Bruno Haible  <bruno@clisp.org>
30897
30898         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
30899         if compiling with "gcc -ansi".
30900
30901 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
30902
30903         Fix some incompatibilities with gcc -ansi -pedantic.
30904         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
30905         if compiling pedantically with GCC, unless it's C99 or later.
30906         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
30907         it mishandles gcc -ansi -pedantic as well.
30908         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
30909         if gcc -pedantic.
30910         * lib/regexec.c (check_node_accept_bytes): Don't use auto
30911         initializers for struct if -pedantic, unless it's C99 or later.
30912
30913 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
30914
30915         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
30916         Don't close an fd more than once. Identical atimes indicate
30917         success, not failure.
30918
30919 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
30920
30921         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
30922
30923 2006-11-23  Jim Meyering  <jim@meyering.net>
30924
30925         * build-aux/announce-gen: New file.  From coreutils.
30926
30927 2006-11-22  Jim Meyering  <jim@meyering.net>
30928
30929         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
30930         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
30931         (fts_read): Use a temporary to narrow the overused st_size member
30932         before using it in a switch statement.  Reported by Matthew Woehlke.
30933
30934         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
30935         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
30936
30937 2006-11-20  Bruno Haible  <bruno@clisp.org>
30938
30939         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
30940         changequote instead of pairs of brackets.
30941         Reported by Andreas Schwab <schwab@suse.de>.
30942
30943 2006-11-21  Jim Meyering  <jim@meyering.net>
30944
30945         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
30946         so as to remain compatible with older compilers.
30947         Patch from Michael Deutschmann.
30948
30949 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30950
30951         * MODULES.html.sh (File system functions): Add openat.
30952
30953         * lib/openat.h (rpl_fstatat): New macro, if
30954         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
30955         (fstatat): Define to rpl_fstatat under the same conditions,
30956         unless COMPILING_FSTATAT.
30957         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
30958         seems to have the bug.
30959         * lib/fstatat.c: New file.
30960         * modules/openat (Files): Add it.
30961
30962 2006-11-20  Bruno Haible  <bruno@clisp.org>
30963
30964         * Makefile: New file.
30965
30966 2006-11-20  Jim Meyering  <jim@meyering.net>
30967
30968         The beginnings of syntax-related checks for gnulib.
30969         * lib/Makefile: New file.
30970         * lib/t-idcache: New script.  Ensure that the two halves of
30971         idcache.c stay in sync.
30972
30973         * lib/idcache.c: Adjust comments in user- and group- portions to
30974         be more accurate, and to be consistent with one another.
30975
30976 2006-11-20  Jim Meyering  <jim@meyering.net>
30977
30978         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
30979         continue using the flexible array member (thus, this module performs
30980         half as many malloc calls), with the addition that...
30981         (getgroup, getuser): Consistently record a non-match via an empty
30982         "name" string, and map an empty string match to a NULL return value.
30983         * modules/idcache (Depends-on): Re-add flexmember.
30984
30985         * lib/idcache.c (getuser): Remove all uses of the register keyword.
30986         (getuidbyname, getgroup, getgidbyname): Likewise.
30987
30988         Use cleaner syntax: NULL rather than 0.
30989         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
30990
30991 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30992
30993         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
30994         It mishandled the case where the group was missing.
30995         Problem reported by Greg Schafer.
30996         * modules/idcache: Likewise.
30997
30998 2006-11-18  Jim Meyering  <jim@meyering.net>
30999
31000         * check-module (%exempt_header): Add exception for some
31001         conditionally-included headers.
31002
31003         * modules/i-ring (Depends-on): Add verify.
31004         (License): Change to LGPL.
31005
31006 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
31007
31008         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
31009         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
31010         and inttostr.h.  Use snprintf rather than uinttostr, so that
31011         LGPLed code doesn't depend on GPLed.
31012
31013 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
31014
31015         * modules/inline (License): Change from GPL to LGPL.
31016
31017 2006-11-17  Jim Meyering  <jim@meyering.net>
31018
31019         * modules/d-type (License): Switch to LGPL.
31020
31021 2006-11-15  Bruno Haible  <bruno@clisp.org>
31022
31023         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
31024
31025 2006-11-15  Eric Blake  <ebb9@byu.net>
31026
31027         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
31028         the module dependency.
31029
31030 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31031             Bruno Haible  <bruno@clisp.org>
31032
31033         * gnulib-tool (func_create_testdir): Add license consistency check.
31034
31035 2006-11-15  Eric Blake  <ebb9@byu.net>
31036
31037         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
31038         random "(cached)" in configure output.
31039
31040 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31041
31042         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
31043         test for conforming inttypes.h is both announced and cached.
31044
31045         * MODULES.html.sh (seen_modules, seen_files): New variables.
31046         (func_module): Rewrite to use a few less gnulib-tool and sed
31047         invocations.  Avoid a couple of quadratic algorithms for ...
31048         (missed_modules, missed_files): ... these, with ...
31049         (func_append, func_tmpdir): ... these new functions, from
31050         gnulib-tool.  Analogously, install traps for cleanup.
31051
31052         * tests/test-gc.c (main): Remove unused variables.
31053         * tests/test-read-file.c: Include stdlib.h, for 'free'.
31054
31055 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31056
31057         * modules/inttostr (License): Change to LGPL.
31058
31059 2006-11-14  Eric Blake  <ebb9@byu.net>
31060
31061         * modules/tempname (License): Change to LGPL.
31062
31063 2006-11-14  Eric Blake  <ebb9@byu.net>
31064
31065         * doc/functions.texi (Function Portability): *printf functions on
31066         Cygwin now understand all POSIX size specifiers.
31067
31068 2006-11-14  Bruno Haible  <bruno@clisp.org>
31069
31070         * modules/c-ctype (License): Change to LGPL.
31071
31072 2006-11-12  Bruno Haible  <bruno@clisp.org>
31073
31074         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31075         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
31076         for GNOME libraries, for which the include files are installed in
31077         subdirectories of $prefix/include.
31078
31079 2006-11-12  Bruno Haible  <bruno@clisp.org>
31080
31081         * m4/lib-link.m4: Require at least autoconf-2.54.
31082         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
31083         name to underscores for the --with option.
31084
31085 2006-11-13  Bruno Haible  <bruno@clisp.org>
31086
31087         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
31088         the tests directory.
31089         Reported by Ralf Wildenhues.
31090
31091 2006-11-13  Bruno Haible  <bruno@clisp.org>
31092
31093         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
31094         (func_emit_initmacro_end): Undo the override here.
31095         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
31096         Works around the famous automake error in coreutils.
31097
31098 2006-11-13  Eric Blake  <ebb9@byu.net>
31099
31100         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
31101         element, not its node.
31102
31103 2006-11-12  Bruno Haible  <bruno@clisp.org>
31104
31105         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
31106         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
31107
31108 2006-11-12  Bruno Haible  <bruno@clisp.org>
31109
31110         * gnulib-tool: New option --local-symlink.
31111         (func_usage): Document it.
31112         (lsymbolic): New variable.
31113         (func_import, func_create_testdir): If --symlink was not specified,
31114         test whether --local-symlink was specified and the file comes from
31115         the local_gnulib_dir.
31116
31117 2006-11-12  Bruno Haible  <bruno@clisp.org>
31118
31119         * gnulib-tool (func_ln): New function.
31120         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
31121
31122 2006-11-12  Bruno Haible  <bruno@clisp.org>
31123
31124         Finish support for source files in subdirectories.
31125         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
31126         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
31127         AUTOMAKE_OPTIONS.
31128         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
31129
31130 2006-11-12  Bruno Haible  <bruno@clisp.org>
31131
31132         * gnulib-tool (func_get_automake_snippet): Synthesize also an
31133         EXTRA_lib_SOURCES augmentation.
31134         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
31135
31136 2006-11-12  Jim Meyering  <jim@meyering.net>
31137
31138         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
31139         file descriptors.  This also averts a failure on systems with
31140         native openat support when a traversed directory lacks "x" access.
31141         * lib/fts_.h: Include "i-ring.h"
31142         (struct FTS) [fts_fd_ring]: New member.
31143         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
31144         (FCHDIR): Add parentheses.
31145         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
31146         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
31147         When descending, rather than simply closing the previous
31148         fts_cwd_fd value, push that file descriptor onto the ring.
31149         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
31150         (fts_open): Initialize the new fd_ring member.
31151         (fts_close): Clear the ring.
31152         (fts_safe_changedir): When possible, use our new fd_ring to skip
31153         the diropen and fstat and dev/ino comparison that would normally
31154         accompany a virtual `chdir ("..")'.
31155
31156         * modules/fts (Depends-on): Add i-ring.
31157         * modules/i-ring: New module.
31158         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
31159         * m4/i-ring.m4: New file.
31160
31161 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31162
31163         * gnulib-tool (func_create_testdir): Fix replacement of
31164         `build-aux' in configure.ac.  Run autotools in gltests
31165         subdirectory.
31166         (func_create_testdir, func_create_megatestdir, test): There is
31167         no need for '--force' in most autotool invocations in a new
31168         tree.  Actually fail the whole test if any of the tools, or the
31169         configure or make stages fail.
31170
31171         Sync from Automake.
31172         * build-aux/gnupload: Revert last change.  Add pointer to upload
31173         instructions of the GNU Maintenance Instructions.
31174         Suggestion by Karl Berry.
31175
31176 2006-11-10  Jim Meyering  <jim@meyering.net>
31177
31178         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
31179
31180 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
31181
31182         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
31183         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
31184         (bind_textdomain_codeset) [! ENABLE_NLS]:
31185         Evaluate all the arguments.  That way, callers get compatible behavior
31186         if the arguments have side effects.  Also, it avoids some GCC
31187         diagnostics in some cases; Joel E. Denny reported problems when Bison
31188         was configured with --enable-gcc-warnigs.
31189
31190 2006-11-10  Jim Meyering  <jim@meyering.net>
31191
31192         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
31193         relevant options in CFLAGS (like -O, -fno-inline) are taken into
31194         account.
31195
31196 2006-11-10  Jim Meyering  <jim@meyering.net>
31197
31198         * modules/inline: New file/module.
31199         * modules/xalloc (Files): Remove m4/inline.m4.
31200         (Depends-on): Add inline, instead.
31201         * modules/oset: Likewise.
31202         * modules/list: Likewise.
31203
31204 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
31205
31206         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
31207         Problem reported by Matthew Woehlke.
31208
31209 2006-11-09  Bruno Haible  <bruno@clisp.org>
31210
31211         * lib/tempname.c (gen_tempname): Remove variant that invokes
31212         __gen_tempname.
31213         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
31214         __gen_tempname.
31215
31216 2006-11-08  Bruno Haible  <bruno@clisp.org>
31217
31218         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
31219         to 'yes' instead of 'cross-compiling'.
31220
31221 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
31222
31223         * lib/quotearg.h (quotearg_free): New decl.
31224         * lib/quotearg.c (quotearg_free): New function.
31225         (slot0, nslots, slotvec0, slotvec):
31226         Now file-scope so that quotearg_free can get at them.
31227
31228 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31229
31230         Sync from Automake.
31231         * build-aux/gnupload: Add missing 'gnu' to example URL.
31232         Report by Karl Berry.
31233
31234 2006-11-08  Bruno Haible  <bruno@clisp.org>
31235
31236         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
31237         Suggested by Paul Eggert.
31238
31239 2006-11-08  Jim Meyering  <jim@meyering.net>
31240
31241         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
31242         It's already included if !_LIBC.
31243         (fts_safe_changedir): Add a comment.
31244
31245 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
31246
31247         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
31248         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
31249         Matthew Woehlke.
31250
31251         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
31252         definitions up, to avoid colliding with change below.
31253         (static_inline) [HAVE_INLINE]: New macro.
31254         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
31255         Provide extern decls when !HAVE_INLINE.  Do not define unless
31256         static_inline is defined, either by us or by xmalloc.c.  Use
31257         static_inline rather than static inline.
31258         (XCALLOC): Optimize sizeof(T) = 1 case.
31259         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
31260
31261 2006-11-07  Bruno Haible  <bruno@clisp.org>
31262
31263         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
31264         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
31265         AC_C_INLINE.
31266         * modules/xalloc (Files): Add m4/inline.m4.
31267
31268 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31269
31270         * README: Fix typo.
31271         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
31272         (Miscellanous Notes): ...from this.
31273
31274 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
31275
31276         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
31277         Mention that offsetof should be used instead of sizeof.
31278         From Bruno Haible.
31279
31280 2006-11-07  Bruno Haible  <bruno@clisp.org>
31281
31282         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
31283
31284 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31285
31286         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
31287         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
31288         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
31289         (gl_tree_add_before, gl_tree_add_after):
31290         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
31291         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
31292         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
31293         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
31294         (gl_linked_add_after, gl_linked_add_at): Likewise.
31295         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
31296         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
31297         (gl_tree_add_before, gl_tree_add_after): Likewise.
31298         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
31299         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
31300         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31301
31302 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31303
31304         * lib/gl_oset.h: Use C comment style, not C++ comment style.
31305
31306 2006-11-06  Bruno Haible  <bruno@clisp.org>
31307
31308         * m4/inline.m4: New file.
31309         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
31310         * modules/list (Files): Add m4/inline.m4.
31311         * modules/oset (Files): Likewise.
31312
31313 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31314
31315         * lib/idcache.c: Include <stddef.h>, for offsetof.
31316         (struct userid.name): Change from char * to a flexible array member.
31317         All uses changed.
31318         * modules/idcache (Depends-on): Add flexmember.
31319
31320         * MODULES.html.sh (Core language properties): New module flexmember.
31321         * modules/flexmember, m4/flexmember.m4: New files.
31322
31323         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
31324         inline functions that are identical with the old xnmalloc_inline,
31325         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
31326         that we can avoid some unnecessary integer multiplications and
31327         divisions in the common case where the element size is known at
31328         compile time.
31329         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
31330         needed.
31331         (xnboundedmalloc): Remove.
31332         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
31333         arguments, for consistency with rest of this header.
31334         (xcharalloc): Rewrite using XNMALLOC.
31335         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
31336         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
31337         versions have been moved to lib/xalloc.h and renamed to be the
31338         non-*_inline versions.
31339         (xmalloc, xrealloc): Implement without reference to the xnmalloc
31340         and xnrealloc functions, since those functions are now inline and
31341         now call us.
31342         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
31343         renaming described above.
31344         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
31345         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
31346         captures the dependency in AC_C_INLINE.
31347
31348         New module canonicalize-lgpl, proposed by Charles Wilson in
31349         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
31350         with a few small changes afterwards.
31351         * MODULES.html.sh (File system functions): New module
31352         canonicalize-lgpl.
31353         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
31354         and canonicalize_file_name.
31355         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
31356         * modules/canonicalize-lgpl: New files.
31357
31358 2006-11-05  Bruno Haible  <bruno@clisp.org>
31359
31360         * gnulib-tool (func_import, func_create_testdir): Create directories
31361         also for files in subdirectories of lib/.
31362
31363 2006-11-05  Bruno Haible  <bruno@clisp.org>
31364
31365         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
31366         ANSI C compliant.
31367
31368 2006-11-03  Bruno Haible  <bruno@clisp.org>
31369
31370         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
31371         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
31372         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
31373         (xnboundedmalloc): New inline function.
31374         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
31375         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
31376         xmalloc.
31377         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
31378         xmalloc.
31379         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
31380         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
31381         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
31382         xmalloc.
31383         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
31384         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
31385         xmalloc.
31386         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
31387         gl_tree_add_after): Use XMALLOC instead of xmalloc.
31388         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
31389         xmalloc.
31390         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
31391         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
31392         gl_tree_add_after): Use XMALLOC instead of xmalloc.
31393         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
31394         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
31395         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
31396         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
31397
31398 2006-11-03  Bruno Haible  <bruno@clisp.org>
31399
31400         * lib/c-ctype.h [C++]: Define functions without name mangling.
31401         * lib/fwriteerror.h [C++]: Likewise.
31402         * lib/gcd.h [C++]: Likewise.
31403         * lib/linebreak.h [C++]: Likewise.
31404
31405 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
31406
31407         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
31408         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
31409         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
31410         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
31411         Check for functions and headers just once.
31412         Check for declaration of canonicalize_file_name.
31413         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
31414
31415 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
31416
31417         * gnulib-tool (func_import): Fix typo in actioncmd.
31418
31419 2006-11-02  Bruno Haible  <bruno@clisp.org>
31420
31421         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
31422         newline sequence in the Makefile.am snippet as a space, like "make"
31423         does.
31424         Reported by Roger Persson <perrog@gmail.com>.
31425
31426 2006-11-01  Bruno Haible  <bruno@clisp.org>
31427
31428         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
31429         already declared in <string.h>.
31430         * lib/strcase.h (strncasecmp): Don't declare it if yes.
31431
31432 2006-11-01  Bruno Haible  <bruno@clisp.org>
31433
31434         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
31435         * lib/strcase.h: Include <string.h>.
31436         (strcasecmp): Define to rpl_strcasecmp here.
31437
31438 2006-11-01  Bruno Haible  <bruno@clisp.org>
31439
31440         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
31441
31442 2006-11-01  Eric Blake  <ebb9@byu.net>
31443
31444         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
31445
31446         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
31447
31448 2006-10-29  Bruno Haible  <bruno@clisp.org>
31449
31450         Make it compile in C++ mode.
31451         * lib/full-write.c (full_rw): Add a cast.
31452
31453 2006-11-01  Bruno Haible  <bruno@clisp.org>
31454
31455         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
31456         be POSIX compliant.
31457         Reported by Roger Persson <perrog@gmail.com>.
31458
31459 2006-11-01  Eric Blake  <ebb9@byu.net>
31460
31461         * lib/getopt_.h: Fix comments.
31462
31463 2006-10-31  Eric Blake  <ebb9@byu.net>
31464
31465         * modules/tmpdir (Depends-on): Add sys_stat.
31466         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
31467         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
31468         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
31469         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
31470         tempname.
31471
31472 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
31473
31474         Avoid some C++ diagnostics reported by Bruno Haible.
31475         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
31476         xmalloc.
31477         (quotearg_alloc): Use xcharalloc rather than xmalloc.
31478         (struct slotvec): Move to top level.
31479         (quotearg_n_options): Rewrite to avoid xmalloc.
31480         * lib/xalloc.h (xcharalloc): New function.
31481         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
31482         [defined __cplusplus]: Add function template that provides result
31483         type propagation.  This part of the change is from Bruno Haible.
31484
31485 2006-10-29  Bruno Haible  <bruno@clisp.org>
31486
31487         Make it compile in C++ mode.
31488         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
31489         * lib/strnlen1.c (strnlen1): Cast memchr result.
31490         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
31491         * lib/clean-temp.c (string_equals, string_hash): Add casts.
31492         (create_temp_dir): Rename local variable 'template'.
31493         (compile_csharp_using_sscli): Add cast.
31494         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
31495         * lib/findprog.c (find_in_path): Likewise.
31496         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
31497         * lib/wait-process.c (register_slave_subprocess): Likewise.
31498
31499 2006-10-22  Bruno Haible  <bruno@clisp.org>
31500
31501         * modules/tsearch: New file.
31502         * lib/tsearch.h: New file.
31503         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
31504         * m4/tsearch.m4: New file.
31505         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
31506
31507 2006-10-29  Eric Blake  <ebb9@byu.net>
31508
31509         * lib/arcfour.c: Assume config.h.
31510         * lib/arctwo.c: Likewise.
31511         * lib/base64.c: Likewise.
31512         * lib/check-version.c: Likewise.
31513         * lib/crc.c: Likewise.
31514         * lib/des.c: Likewise.
31515         * lib/gc-gnulib.c: Likewise.
31516         * lib/gc-libgcrypt.c: Likewise.
31517         * lib/gc-pbkdf2-sha1.c: Likewise.
31518         * lib/getaddrinfo.c: Likewise.
31519         * lib/getdelim.c: Likewise.
31520         * lib/getline.c: Likewise.
31521         * lib/hmac-md5.c: Likewise.
31522         * lib/hmac-sha1.c: Likewise.
31523         * lib/iconvme.c: Likewise.
31524         * lib/md2.c: Likewise.
31525         * lib/md4.c: Likewise.
31526         * lib/memxor.c: Likewise.
31527         * lib/read-file.c: Likewise.
31528         * lib/readline.c: Likewise.
31529         * lib/rijndael-alg-fst.c: Likewise.
31530         * lib/rijndael-api-fst.c: Likewise.
31531         * lib/xgetdomainname.c: Likewise.
31532
31533 2006-10-28  Eric Blake  <ebb9@byu.net>
31534
31535         * lib/xstrndup.c: Assume config.h.
31536
31537 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
31538
31539         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
31540         stat-macros.h is now for our own macros, whereas stat_h is for
31541         macros in the <sys/stat.h> name space.
31542         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
31543         (STAT_MACROS_H): Remove.
31544         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
31545         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
31546         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
31547         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
31548         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
31549         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
31550         Move these macros to ...
31551         * lib/stat_.h: here.  Don't include stat-macros.h.
31552         * lib/canonicalize.c: Don't include stat-macros.h.
31553         * lib/chown.c: Likewise.
31554         * lib/euidaccess.c: Likewise.
31555         * lib/file-type.c: Likewise.
31556         * lib/filemode.c: Likewise.
31557         * lib/glob.c: Likewise.
31558         * lib/isapipe.c: Likewise.
31559         * lib/lchown.c: Likewise.
31560         * lib/lstat.c: Likewise.
31561         * lib/mkdir-p.c: Likewise.
31562         * lib/rmdir.c: Likewise.
31563         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
31564         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
31565         unless mkdir isn't declared, to speed up 'configure'.
31566         Always create sys/stat.h, since it's unlikely any real sys/stat.h
31567         would define all the S_* symbols.
31568         * modules/canonicalize (Depends-on):
31569         Depend on sys_stat, not stat-macros.
31570         * modules/chown: Likewise.
31571         * modules/euidaccess: Likewise.
31572         * modules/filemode: Likewise.
31573         * modules/file-type: Likewise.
31574         * modules/glob: Likewise.
31575         * modules/isapipe: Likewise.
31576         * modules/lchown: Likewise.
31577         * modules/lstat: Likewise.
31578         * modules/mkancesdirs: Likewise.
31579         * modules/rmdir: Likewise.
31580         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
31581         * modules/modechange: Likewise.
31582         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
31583         (configure.ac): Remove gl_STAT_MACROS.
31584         * modules/sys_stat (Depends-on): Remove stat-macros.
31585
31586 2006-10-27  Bruno Haible  <bruno@clisp.org>
31587
31588         * m4/signed.m4: Remove file.
31589         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
31590         invocation.
31591         * modules/vasnprintf (Files): Remove m4/signed.m4.
31592
31593 2006-10-27  Bruno Haible  <bruno@clisp.org>
31594
31595         Update to GNU gettext 0.16.
31596         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
31597         m4/inttypes-h.m4, m4/signed.m4.
31598         * m4/gettext.m4: Update to GNU gettext 0.16.
31599         * m4/intl.m4: New file, from GNU gettext.
31600         * m4/intldir.m4: New file, from GNU gettext.
31601         * config/srclist.txt: Update
31602
31603 2006-10-27  Eric Blake  <ebb9@byu.net>
31604
31605         * MODULES.html.sh: Document tempname.
31606         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
31607         dependencies.
31608         (Files): Move lib/tempname.c...
31609         * modules/tempname: ...to this new module.
31610         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
31611         (gl_PREREQ_TEMPNAME): Move...
31612         * m4/tempname.m4: ...to this new file.
31613         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
31614         * modules/sys_stat (Depends-on): Add stat-macros.
31615         * lib/stat_.h (includes): Pick up stat macros.
31616         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
31617         if stat macros are broken.
31618         * lib/tempname.c (includes): No need to include "stat-macros.h".
31619         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
31620         (direxists, __path_search) [!_LIBC]: Don't compile these in
31621         gnulib; the tmpdir module covers that.
31622         * lib/tempname.h: New file.
31623
31624 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
31625
31626         * COPYING: Explain how gnulib-tool converts licence headers.
31627         Almost all wording by Eric Blake.
31628
31629 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
31630
31631         * lib/mbchar.h (is_basic_table): Make read-only.
31632         * lib/mbchar.c (is_basic_table): Likewise.
31633         Reported by John Darrington.
31634
31635 2006-10-25  Bruno Haible  <bruno@clisp.org>
31636
31637         * lib/progname.h (set_program_name): Undefine before defining.
31638
31639 2006-10-25  Bruno Haible  <bruno@clisp.org>
31640
31641         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
31642         false for non-gcc C++ compilers.
31643         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31644
31645 2006-10-24  Bruno Haible  <bruno@clisp.org>
31646
31647         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
31648         iconv implementations like Irix iconv.
31649
31650 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31651
31652         * modules/vararrays: New file.
31653         * m4/vararrays.m4: New file, taken from diffutils.
31654         * MODULES.html.sh: New module vararrays.
31655
31656 2006-10-24  Karl Berry  <karl@gnu.org>
31657
31658         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
31659         Don't call GNU Unix.
31660
31661 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31662
31663         * users.txt: Add Libtool.
31664
31665         Sync from Libtool:
31666
31667         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31668
31669         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
31670         to gnulib's policy of including config.h unconditionally.
31671
31672 2006-10-24  Bruno Haible  <bruno@clisp.org>
31673
31674         * modules/wcwidth (Files): Add m4/wint_t.m4.
31675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
31676         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
31677
31678 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31679
31680         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
31681         to pacify GCC with some -W flags enabled.  Problem reported by
31682         Bruno Haible.
31683
31684 2006-10-24  Jim Meyering  <jim@meyering.net>
31685
31686         * MODULES.html.sh: Remove uinttostr.  It's not a module.
31687         Reported by Karl Berry.
31688
31689 2006-10-23  Bruno Haible  <bruno@clisp.org>
31690
31691         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
31692
31693 2006-10-24  Bruno Haible  <bruno@clisp.org>
31694
31695         * lib/gl_list.h: Use C comment style, not C++ comment style.
31696
31697 2006-10-23  Eric Blake  <ebb9@byu.net>
31698
31699         * lib/getaddrinfo.c (includes): Add missing include.
31700
31701 2006-10-23  Bruno Haible  <bruno@clisp.org>
31702             Paul Eggert  <eggert@cs.ucla.edu>
31703
31704         Ability to rename obstack_free.
31705         * lib/obstack.h (__obstack_free): New macro. Declare instead of
31706         obstack_free.
31707         (obstack_free): Invoke the __obstack_free macro.
31708         * lib/obstack.c (obstack_free): Use __obstack_free macro.
31709
31710 2006-10-23  Bruno Haible  <bruno@clisp.org>
31711             Paul Eggert  <eggert@cs.ucla.edu>
31712
31713         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
31714         __argc, __argv from the declaration. (They are defined as macros on
31715         mingw.)
31716
31717 2006-10-22  Bruno Haible  <bruno@clisp.org>
31718
31719         * doc/gnulib-intro.texi: New file.
31720         * doc/gnulib.texi: Include it.
31721
31722 2006-10-21  Bruno Haible  <bruno@clisp.org>
31723
31724         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
31725         "Introduction", "Miscellanous Notes", "Particular Modules".
31726
31727 2006-10-21  Bruno Haible  <bruno@clisp.org>
31728
31729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31730         Change mostlyclean-local rule to avoid sh syntax error from bash
31731         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
31732
31733 2006-10-23  Jim Meyering  <jim@meyering.net>
31734
31735         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
31736         in place of snprintf.
31737
31738         * modules/inttostr (Files): Add lib/uinttostr.c.
31739         * lib/uinttostr.c (inttostr): New file/function.
31740         * lib/inttostr.h (uinttostr): Declare.
31741         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
31742         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
31743         Add uinttostr.
31744         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
31745
31746 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
31747
31748         * lib/canonicalize.c (ELOOP): Define if not already defined.
31749         Problem reported by Bruno Haible in
31750         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
31751
31752 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
31753
31754         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
31755         Problem reported by Perry Smith and Ville Laurikari.
31756
31757         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
31758         uses.
31759
31760 2006-10-19  Bruno Haible  <bruno@clisp.org>
31761
31762         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
31763         for mingw.
31764
31765 2006-10-19  Bruno Haible  <bruno@clisp.org>
31766
31767         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
31768         Needed for mingw.
31769
31770 2006-10-19  Bruno Haible  <bruno@clisp.org>
31771
31772         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
31773
31774 2006-10-19  Bruno Haible  <bruno@clisp.org>
31775
31776         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
31777         it.
31778
31779 2006-10-19  Bruno Haible  <bruno@clisp.org>
31780
31781         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
31782         invocation.
31783
31784 2006-10-19  Bruno Haible  <bruno@clisp.org>
31785
31786         * gnulib-tool (func_create_testdir): Don't include ftruncate and
31787         mountlist by default.
31788
31789 2006-10-16  Bruno Haible  <bruno@clisp.org>
31790
31791         * lib/c-strstr.c: Include c-strstr.h.
31792
31793 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
31794
31795         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
31796         in a slash.
31797
31798 2006-10-18  Bruno Haible  <bruno@clisp.org>
31799
31800         * lib/lock.h [C++]: Wrap definitions in extern "C".
31801
31802 2006-10-18  Bruno Haible  <bruno@clisp.org>
31803
31804         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
31805         gl_LIBOBJS list.
31806
31807 2006-10-18  Bruno Haible  <bruno@clisp.org>
31808
31809         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
31810
31811 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
31812
31813         * lib/xstrtol.h: Include gettext.h.
31814         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
31815         Problem reported by Eric Blake.
31816         * modules/xstrtol (Depends-on): Add gettext-h.
31817
31818 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
31819
31820         * lib/strftime.c (advance): New macro.
31821         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
31822         incomplete type, so you can't add 0 to it.  Problem and patch
31823         reported by Eelco Dolstra for dietlibc.
31824
31825 2006-10-18  Jim Meyering  <jim@meyering.net>
31826
31827         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
31828         type for a local, and rename it: s/up/user_proc/.
31829
31830 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
31831
31832         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
31833         READ_UTMP_USER_PROCESS.
31834         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
31835
31836 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
31837
31838         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
31839         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
31840
31841 2006-10-17  Eric Blake  <ebb9@byu.net>
31842
31843         * lib/sigprocmask.c (sigprocmask): Fix typo.
31844
31845         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
31846
31847         * modules/clean-temp (Makefile.am): Don't add to make output...
31848         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
31849         config.h.
31850
31851 2006-10-17  Bruno Haible  <bruno@clisp.org>
31852
31853         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
31854         differently if DEFAULT_TEXT_DOMAIN is set.
31855
31856 2006-10-16  Bruno Haible  <bruno@clisp.org>
31857
31858         * lib/clean-temp.c: Include fwriteerror.h.
31859
31860 2006-10-16  Bruno Haible  <bruno@clisp.org>
31861
31862         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
31863
31864 2006-10-16  Bruno Haible  <bruno@clisp.org>
31865
31866         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
31867         * lib/sigprocmask.h: Include <sys/types.h>.
31868         (sigset_t): Use the system's definition if present.
31869
31870 2006-10-17  Eric Blake  <ebb9@byu.net>
31871
31872         * lib/xvasprintf.c (includes): Assume config.h.
31873         * lib/xasprintf.c (includes): Likewise.
31874
31875 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31876
31877         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
31878         at least as wide as intmax_t.
31879
31880 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
31881
31882         (Imported from Automake.)
31883         * build-aux/gnupload: Update to version 1.1 of directive file.
31884
31885 2006-10-16  Eric Blake  <ebb9@byu.net>
31886
31887         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
31888         match Automake 1.10a.
31889
31890 2006-10-14  Bruno Haible  <bruno@clisp.org>
31891
31892         * modules/sigprocmask: New file.
31893         * lib/sigprocmask.h: New file.
31894         * lib/sigprocmask.c: New file.
31895         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
31896         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
31897         request sigprocmask.o.
31898         (gl_PREREQ_SIGPROCMASK): New macro.
31899         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
31900         (Depends-on): Add sigprocmask.
31901         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
31902         gt_SIGNALBLOCKING. Test for 'raise' only once.
31903         * lib/fatal-signal.c: Include sigprocmask.h.
31904         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
31905         unblock_fatal_signals): Define always.
31906         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31907         sigprocmask.
31908
31909 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
31910
31911         Sync from Automake.
31912         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
31913         which incorrectly sets the mode of an existing destination
31914         directory.  In some cases the unpatched install-sh could do the
31915         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
31916         system.  We hope this is rare in practice, but it's clearly worth
31917         fixing.  Problem reported by Alex Unleashed in
31918         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
31919         Also, don't bother to check for -m bugs unless we're using -m;
31920         suggested by Stepan Kasal.
31921
31922 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31923
31924         Sync from Automake.
31925         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
31926         `-c' flag, so they appear at the same position as in %FASTDEP%
31927         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
31928         which ignores unknown options only after the first non-option.
31929         Bug report against M4 by Nelson H. F. Beebe.
31930
31931 2006-10-13  Jim Meyering  <jim@meyering.net>
31932
31933         Fix a bug in yesterday's change.
31934         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
31935         p->fts_statp->st_dev would be used uninitialized.
31936         Ensures that we always call fts_stat on the very first entry.
31937         Miklos Szeredi reported that find -xdev stopped working.
31938
31939 2006-10-12  Bruno Haible  <bruno@clisp.org>
31940
31941         * gnulib-tool (func_get_automake_snippet): Append an automatically
31942         computed EXTRA_DIST augmentation.
31943         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
31944         * modules/alloca-opt (Makefile.am): Likewise.
31945         * modules/allocsa (Makefile.am): Likewise.
31946         * modules/arcfour (Makefile.am): Likewise.
31947         * modules/arctwo (Makefile.am): Likewise.
31948         * modules/argmatch (Makefile.am): Likewise.
31949         * modules/argz (Makefile.am): Likewise.
31950         * modules/atexit (Makefile.am): Likewise.
31951         * modules/backupfile (Makefile.am): Likewise.
31952         * modules/byteswap (Makefile.am): Likewise.
31953         * modules/c-strtod (Makefile.am): Likewise.
31954         * modules/c-strtold (Makefile.am): Likewise.
31955         * modules/calloc (Makefile.am): Likewise.
31956         * modules/canon-host (Makefile.am): Likewise.
31957         * modules/canonicalize (Makefile.am): Likewise.
31958         * modules/chdir-long (Makefile.am): Likewise.
31959         * modules/chdir-safer (Makefile.am): Likewise.
31960         * modules/check-version (Makefile.am): Likewise.
31961         * modules/chown (Makefile.am): Likewise.
31962         * modules/cloexec (Makefile.am): Likewise.
31963         * modules/close-stream (Makefile.am): Likewise.
31964         * modules/closeout (Makefile.am): Likewise.
31965         * modules/crc (Makefile.am): Likewise.
31966         * modules/csharpexec (Makefile.am): Likewise.
31967         * modules/cycle-check (Makefile.am): Likewise.
31968         * modules/des (Makefile.am): Likewise.
31969         * modules/dev-ino (Makefile.am): Likewise.
31970         * modules/dirfd (Makefile.am): Likewise.
31971         * modules/dirname (Makefile.am): Likewise.
31972         * modules/dup2 (Makefile.am): Likewise.
31973         * modules/eealloc (Makefile.am): Likewise.
31974         * modules/error (Makefile.am): Likewise.
31975         * modules/euidaccess (Makefile.am): Likewise.
31976         * modules/exclude (Makefile.am): Likewise.
31977         * modules/exitfail (Makefile.am): Likewise.
31978         * modules/fcntl-safer (Makefile.am): Likewise.
31979         * modules/fcntl (Makefile.am): Likewise.
31980         * modules/file-type (Makefile.am): Likewise.
31981         * modules/fileblocks (Makefile.am): Likewise.
31982         * modules/filemode (Makefile.am): Likewise.
31983         * modules/filenamecat (Makefile.am): Likewise.
31984         * modules/fnmatch (Makefile.am): Likewise.
31985         * modules/fopen-safer (Makefile.am): Likewise.
31986         * modules/fpending (Makefile.am): Likewise.
31987         * modules/fprintftime (Makefile.am): Likewise.
31988         * modules/free (Makefile.am): Likewise.
31989         * modules/fsusage (Makefile.am): Likewise.
31990         * modules/ftruncate (Makefile.am): Likewise.
31991         * modules/fts (Makefile.am): Likewise.
31992         * modules/gc-arcfour (Makefile.am): Likewise.
31993         * modules/gc-des (Makefile.am): Likewise.
31994         * modules/gc-hmac-md5 (Makefile.am): Likewise.
31995         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
31996         * modules/gc-md4 (Makefile.am): Likewise.
31997         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
31998         * modules/gc-sha1 (Makefile.am): Likewise.
31999         * modules/gc (Makefile.am): Likewise.
32000         * modules/getaddrinfo (Makefile.am): Likewise.
32001         * modules/getcwd (Makefile.am): Likewise.
32002         * modules/getdelim (Makefile.am): Likewise.
32003         * modules/getdomainname (Makefile.am): Likewise.
32004         * modules/getgroups (Makefile.am): Likewise.
32005         * modules/gethostname (Makefile.am): Likewise.
32006         * modules/gethrxtime (Makefile.am): Likewise.
32007         * modules/getline (Makefile.am): Likewise.
32008         * modules/getloadavg (Makefile.am): Likewise.
32009         * modules/getlogin_r (Makefile.am): Likewise.
32010         * modules/getndelim2 (Makefile.am): Likewise.
32011         * modules/getopt (Makefile.am): Likewise.
32012         * modules/getpagesize (Makefile.am): Likewise.
32013         * modules/getpass-gnu (Makefile.am): Likewise.
32014         * modules/getpass (Makefile.am): Likewise.
32015         * modules/getsubopt (Makefile.am): Likewise.
32016         * modules/gettime (Makefile.am): Likewise.
32017         * modules/gettimeofday (Makefile.am): Likewise.
32018         * modules/getugroups (Makefile.am): Likewise.
32019         * modules/getusershell (Makefile.am): Likewise.
32020         * modules/glob (Makefile.am): Likewise.
32021         * modules/group-member (Makefile.am): Likewise.
32022         * modules/hard-locale (Makefile.am): Likewise.
32023         * modules/hash (Makefile.am): Likewise.
32024         * modules/hmac-md5 (Makefile.am): Likewise.
32025         * modules/hmac-sha1 (Makefile.am): Likewise.
32026         * modules/human (Makefile.am): Likewise.
32027         * modules/idcache (Makefile.am): Likewise.
32028         * modules/imaxabs (Makefile.am): Likewise.
32029         * modules/imaxdiv (Makefile.am): Likewise.
32030         * modules/inet_ntop (Makefile.am): Likewise.
32031         * modules/inet_pton (Makefile.am): Likewise.
32032         * modules/intprops (Makefile.am): Likewise.
32033         * modules/inttostr (Makefile.am): Likewise.
32034         * modules/inttypes (Makefile.am): Likewise.
32035         * modules/isapipe (Makefile.am): Likewise.
32036         * modules/javaversion (Makefile.am): Likewise.
32037         * modules/lchmod (Makefile.am): Likewise.
32038         * modules/lchown (Makefile.am): Likewise.
32039         * modules/localcharset (Makefile.am): Likewise.
32040         * modules/long-options (Makefile.am): Likewise.
32041         * modules/lstat (Makefile.am): Likewise.
32042         * modules/malloc (Makefile.am): Likewise.
32043         * modules/mathl (Makefile.am): Likewise.
32044         * modules/mbchar (Makefile.am): Likewise.
32045         * modules/md2 (Makefile.am): Likewise.
32046         * modules/md4 (Makefile.am): Likewise.
32047         * modules/md5 (Makefile.am): Likewise.
32048         * modules/memcasecmp (Makefile.am): Likewise.
32049         * modules/memchr (Makefile.am): Likewise.
32050         * modules/memcmp (Makefile.am): Likewise.
32051         * modules/memcoll (Makefile.am): Likewise.
32052         * modules/memcpy (Makefile.am): Likewise.
32053         * modules/memmem (Makefile.am): Likewise.
32054         * modules/memmove (Makefile.am): Likewise.
32055         * modules/mempcpy (Makefile.am): Likewise.
32056         * modules/memrchr (Makefile.am): Likewise.
32057         * modules/memset (Makefile.am): Likewise.
32058         * modules/memxor (Makefile.am): Likewise.
32059         * modules/mkancesdirs (Makefile.am): Likewise.
32060         * modules/mkdir-p (Makefile.am): Likewise.
32061         * modules/mkdir (Makefile.am): Likewise.
32062         * modules/mkdtemp (Makefile.am): Likewise.
32063         * modules/mkstemp (Makefile.am): Likewise.
32064         * modules/mktime (Makefile.am): Likewise.
32065         * modules/modechange (Makefile.am): Likewise.
32066         * modules/mountlist (Makefile.am): Likewise.
32067         * modules/nanosleep (Makefile.am): Likewise.
32068         * modules/obstack (Makefile.am): Likewise.
32069         * modules/openat (Makefile.am): Likewise.
32070         * modules/pagealign_alloc (Makefile.am): Likewise.
32071         * modules/pathmax (Makefile.am): Likewise.
32072         * modules/physmem (Makefile.am): Likewise.
32073         * modules/poll (Makefile.am): Likewise.
32074         * modules/posixtm (Makefile.am): Likewise.
32075         * modules/posixver (Makefile.am): Likewise.
32076         * modules/putenv (Makefile.am): Likewise.
32077         * modules/quote (Makefile.am): Likewise.
32078         * modules/quotearg (Makefile.am): Likewise.
32079         * modules/raise (Makefile.am): Likewise.
32080         * modules/read-file (Makefile.am): Likewise.
32081         * modules/readline (Makefile.am): Likewise.
32082         * modules/readlink (Makefile.am): Likewise.
32083         * modules/readtokens (Makefile.am): Likewise.
32084         * modules/readutmp (Makefile.am): Likewise.
32085         * modules/realloc (Makefile.am): Likewise.
32086         * modules/regex (Makefile.am): Likewise.
32087         * modules/rename-dest-slash (Makefile.am): Likewise.
32088         * modules/rename (Makefile.am): Likewise.
32089         * modules/rijndael (Makefile.am): Likewise.
32090         * modules/rmdir (Makefile.am): Likewise.
32091         * modules/rpmatch (Makefile.am): Likewise.
32092         * modules/safe-read (Makefile.am): Likewise.
32093         * modules/safe-write (Makefile.am): Likewise.
32094         * modules/same-inode (Makefile.am): Likewise.
32095         * modules/same (Makefile.am): Likewise.
32096         * modules/save-cwd (Makefile.am): Likewise.
32097         * modules/savedir (Makefile.am): Likewise.
32098         * modules/setenv (Makefile.am): Likewise.
32099         * modules/settime (Makefile.am): Likewise.
32100         * modules/sha1 (Makefile.am): Likewise.
32101         * modules/sig2str (Makefile.am): Likewise.
32102         * modules/snprintf (Makefile.am): Likewise.
32103         * modules/stat-macros (Makefile.am): Likewise.
32104         * modules/stat-time (Makefile.am): Likewise.
32105         * modules/stdbool (Makefile.am): Likewise.
32106         * modules/stdint (Makefile.am): Likewise.
32107         * modules/stdlib-safer (Makefile.am): Likewise.
32108         * modules/stpcpy (Makefile.am): Likewise.
32109         * modules/stpncpy (Makefile.am): Likewise.
32110         * modules/strcase (Makefile.am): Likewise.
32111         * modules/strcasestr (Makefile.am): Likewise.
32112         * modules/strchrnul (Makefile.am): Likewise.
32113         * modules/strcspn (Makefile.am): Likewise.
32114         * modules/strdup (Makefile.am): Likewise.
32115         * modules/strerror (Makefile.am): Likewise.
32116         * modules/strftime (Makefile.am): Likewise.
32117         * modules/strndup (Makefile.am): Likewise.
32118         * modules/strnlen (Makefile.am): Likewise.
32119         * modules/strpbrk (Makefile.am): Likewise.
32120         * modules/strsep (Makefile.am): Likewise.
32121         * modules/strstr (Makefile.am): Likewise.
32122         * modules/strtod (Makefile.am): Likewise.
32123         * modules/strtoimax (Makefile.am): Likewise.
32124         * modules/strtok_r (Makefile.am): Likewise.
32125         * modules/strtol (Makefile.am): Likewise.
32126         * modules/strtoll (Makefile.am): Likewise.
32127         * modules/strtoul (Makefile.am): Likewise.
32128         * modules/strtoull (Makefile.am): Likewise.
32129         * modules/strtoumax (Makefile.am): Likewise.
32130         * modules/strverscmp (Makefile.am): Likewise.
32131         * modules/sys_socket (Makefile.am): Likewise.
32132         * modules/sys_stat (Makefile.am): Likewise.
32133         * modules/sysexits (Makefile.am): Likewise.
32134         * modules/time_r (Makefile.am): Likewise.
32135         * modules/timegm (Makefile.am): Likewise.
32136         * modules/timespec (Makefile.am): Likewise.
32137         * modules/tmpfile-safer (Makefile.am): Likewise.
32138         * modules/trim (Makefile.am): Likewise.
32139         * modules/unistd-safer (Makefile.am): Likewise.
32140         * modules/unlinkdir (Makefile.am): Likewise.
32141         * modules/unlocked-io (Makefile.am): Likewise.
32142         * modules/userspec (Makefile.am): Likewise.
32143         * modules/utime (Makefile.am): Likewise.
32144         * modules/utimecmp (Makefile.am): Likewise.
32145         * modules/utimens (Makefile.am): Likewise.
32146         * modules/vasnprintf (Makefile.am): Likewise.
32147         * modules/vasprintf (Makefile.am): Likewise.
32148         * modules/vsnprintf (Makefile.am): Likewise.
32149         * modules/xalloc (Makefile.am): Likewise.
32150         * modules/xgetcwd (Makefile.am): Likewise.
32151         * modules/xnanosleep (Makefile.am): Likewise.
32152         * modules/xreadlink (Makefile.am): Likewise.
32153         * modules/xstrtod (Makefile.am): Likewise.
32154         * modules/xstrtol (Makefile.am): Likewise.
32155         * modules/xstrtold (Makefile.am): Likewise.
32156         * modules/yesno (Makefile.am): Likewise.
32157         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
32158
32159 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
32160
32161         * modules/error (Makefile.am): Distribute files through
32162         EXTRA_DIST, not lib_SOURCES.
32163
32164 2006-10-12  Eric Blake  <ebb9@byu.net>
32165
32166         * modules/error (Makefile.am): Distribute files in /lib.
32167         * modules/obstack (Makefile.am): Likewise.
32168
32169 2006-10-12  Bruno Haible  <bruno@clisp.org>
32170
32171         * modules/acl (Makefile.am): Distribute all files in lib/ through
32172         EXTRA_DIST.
32173         * modules/arcfour (Makefile.am): Likewise.
32174         * modules/arctwo (Makefile.am): Likewise.
32175         * modules/argmatch (Makefile.am): Likewise.
32176         * modules/argz (Makefile.am): Likewise.
32177         * modules/atexit (Makefile.am): Likewise.
32178         * modules/backupfile (Makefile.am): Likewise.
32179         * modules/c-strtod (Makefile.am): Likewise.
32180         * modules/c-strtold (Makefile.am): Likewise.
32181         * modules/calloc (Makefile.am): Likewise.
32182         * modules/canon-host (Makefile.am): Likewise.
32183         * modules/canonicalize (Makefile.am): Likewise.
32184         * modules/chdir-long (Makefile.am): Likewise.
32185         * modules/chdir-safer (Makefile.am): Likewise.
32186         * modules/check-version (Makefile.am): Likewise.
32187         * modules/chown (Makefile.am): Likewise.
32188         * modules/cloexec (Makefile.am): Likewise.
32189         * modules/close-stream (Makefile.am): Likewise.
32190         * modules/closeout (Makefile.am): Likewise.
32191         * modules/crc (Makefile.am): Likewise.
32192         * modules/cycle-check (Makefile.am): Likewise.
32193         * modules/des (Makefile.am): Likewise.
32194         * modules/dirfd (Makefile.am): Likewise.
32195         * modules/dirname (Makefile.am): Likewise.
32196         * modules/dup2 (Makefile.am): Likewise.
32197         * modules/euidaccess (Makefile.am): Likewise.
32198         * modules/exclude (Makefile.am): Likewise.
32199         * modules/exitfail (Makefile.am): Likewise.
32200         * modules/fcntl-safer (Makefile.am): Likewise.
32201         * modules/file-type (Makefile.am): Likewise.
32202         * modules/fileblocks (Makefile.am): Likewise.
32203         * modules/filemode (Makefile.am): Likewise.
32204         * modules/filenamecat (Makefile.am): Likewise.
32205         * modules/fnmatch (Makefile.am): Likewise.
32206         * modules/fopen-safer (Makefile.am): Likewise.
32207         * modules/fpending (Makefile.am): Likewise.
32208         * modules/fprintftime (Makefile.am): Likewise.
32209         * modules/free (Makefile.am): Likewise.
32210         * modules/fsusage (Makefile.am): Likewise.
32211         * modules/ftruncate (Makefile.am): Likewise.
32212         * modules/fts (Makefile.am): Likewise.
32213         * modules/gc (Makefile.am): Likewise.
32214         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
32215         * modules/getaddrinfo (Makefile.am): Likewise.
32216         * modules/getcwd (Makefile.am): Likewise.
32217         * modules/getdelim (Makefile.am): Likewise.
32218         * modules/getdomainname (Makefile.am): Likewise.
32219         * modules/getgroups (Makefile.am): Likewise.
32220         * modules/gethostname (Makefile.am): Likewise.
32221         * modules/gethrxtime (Makefile.am): Likewise.
32222         * modules/getline (Makefile.am): Likewise.
32223         * modules/getloadavg (Makefile.am): Likewise.
32224         * modules/getlogin_r (Makefile.am): Likewise.
32225         * modules/getopt (Makefile.am): Likewise.
32226         * modules/getpass (Makefile.am): Likewise.
32227         * modules/getpass-gnu (Makefile.am): Likewise.
32228         * modules/getsubopt (Makefile.am): Likewise.
32229         * modules/gettime (Makefile.am): Likewise.
32230         * modules/gettimeofday (Makefile.am): Likewise.
32231         * modules/getugroups (Makefile.am): Likewise.
32232         * modules/getusershell (Makefile.am): Likewise.
32233         * modules/glob (Makefile.am): Likewise.
32234         * modules/group-member (Makefile.am): Likewise.
32235         * modules/hard-locale (Makefile.am): Likewise.
32236         * modules/hash (Makefile.am): Likewise.
32237         * modules/hmac-md5 (Makefile.am): Likewise.
32238         * modules/hmac-sha1 (Makefile.am): Likewise.
32239         * modules/human (Makefile.am): Likewise.
32240         * modules/idcache (Makefile.am): Likewise.
32241         * modules/imaxabs (Makefile.am): Likewise.
32242         * modules/imaxdiv (Makefile.am): Likewise.
32243         * modules/inet_ntop (Makefile.am): Likewise.
32244         * modules/inet_pton (Makefile.am): Likewise.
32245         * modules/inttostr (Makefile.am): Likewise.
32246         * modules/isapipe (Makefile.am): Likewise.
32247         * modules/lchown (Makefile.am): Likewise.
32248         * modules/long-options (Makefile.am): Likewise.
32249         * modules/lstat (Makefile.am): Likewise.
32250         * modules/malloc (Makefile.am): Likewise.
32251         * modules/mathl (Makefile.am): Likewise.
32252         * modules/mbchar (Makefile.am): Likewise.
32253         * modules/md2 (Makefile.am): Likewise.
32254         * modules/md4 (Makefile.am): Likewise.
32255         * modules/md5 (Makefile.am): Likewise.
32256         * modules/memcasecmp (Makefile.am): Likewise.
32257         * modules/memchr (Makefile.am): Likewise.
32258         * modules/memcmp (Makefile.am): Likewise.
32259         * modules/memcoll (Makefile.am): Likewise.
32260         * modules/memcpy (Makefile.am): Likewise.
32261         * modules/memmem (Makefile.am): Likewise.
32262         * modules/memmove (Makefile.am): Likewise.
32263         * modules/mempcpy (Makefile.am): Likewise.
32264         * modules/memrchr (Makefile.am): Likewise.
32265         * modules/memset (Makefile.am): Likewise.
32266         * modules/memxor (Makefile.am): Likewise.
32267         * modules/mkancesdirs (Makefile.am): Likewise.
32268         * modules/mkdir (Makefile.am): Likewise.
32269         * modules/mkdir-p (Makefile.am): Likewise.
32270         * modules/mkdtemp (Makefile.am): Likewise.
32271         * modules/mkstemp (Makefile.am): Likewise.
32272         * modules/mktime (Makefile.am): Likewise.
32273         * modules/modechange (Makefile.am): Likewise.
32274         * modules/mountlist (Makefile.am): Likewise.
32275         * modules/nanosleep (Makefile.am): Likewise.
32276         * modules/openat (Makefile.am): Likewise.
32277         * modules/pagealign_alloc (Makefile.am): Likewise.
32278         * modules/physmem (Makefile.am): Likewise.
32279         * modules/poll (Makefile.am): Likewise.
32280         * modules/posixtm (Makefile.am): Likewise.
32281         * modules/posixver (Makefile.am): Likewise.
32282         * modules/putenv (Makefile.am): Likewise.
32283         * modules/quote (Makefile.am): Likewise.
32284         * modules/quotearg (Makefile.am): Likewise.
32285         * modules/raise (Makefile.am): Likewise.
32286         * modules/read-file (Makefile.am): Likewise.
32287         * modules/readline (Makefile.am): Likewise.
32288         * modules/readlink (Makefile.am): Likewise.
32289         * modules/readtokens (Makefile.am): Likewise.
32290         * modules/readutmp (Makefile.am): Likewise.
32291         * modules/realloc (Makefile.am): Likewise.
32292         * modules/regex (Makefile.am): Likewise.
32293         * modules/rename (Makefile.am): Likewise.
32294         * modules/rename-dest-slash (Makefile.am): Likewise.
32295         * modules/rijndael (Makefile.am): Likewise.
32296         * modules/rmdir (Makefile.am): Likewise.
32297         * modules/rpmatch (Makefile.am): Likewise.
32298         * modules/safe-read (Makefile.am): Likewise.
32299         * modules/safe-write (Makefile.am): Likewise.
32300         * modules/same (Makefile.am): Likewise.
32301         * modules/save-cwd (Makefile.am): Likewise.
32302         * modules/savedir (Makefile.am): Likewise.
32303         * modules/setenv (Makefile.am): Likewise.
32304         * modules/settime (Makefile.am): Likewise.
32305         * modules/sha1 (Makefile.am): Likewise.
32306         * modules/sig2str (Makefile.am): Likewise.
32307         * modules/snprintf (Makefile.am): Likewise.
32308         * modules/stdlib-safer (Makefile.am): Likewise.
32309         * modules/stpcpy (Makefile.am): Likewise.
32310         * modules/stpncpy (Makefile.am): Likewise.
32311         * modules/strcase (Makefile.am): Likewise.
32312         * modules/strcasestr (Makefile.am): Likewise.
32313         * modules/strchrnul (Makefile.am): Likewise.
32314         * modules/strcspn (Makefile.am): Likewise.
32315         * modules/strdup (Makefile.am): Likewise.
32316         * modules/strerror (Makefile.am): Likewise.
32317         * modules/strftime (Makefile.am): Likewise.
32318         * modules/strndup (Makefile.am): Likewise.
32319         * modules/strnlen (Makefile.am): Likewise.
32320         * modules/strpbrk (Makefile.am): Likewise.
32321         * modules/strsep (Makefile.am): Likewise.
32322         * modules/strstr (Makefile.am): Likewise.
32323         * modules/strtod (Makefile.am): Likewise.
32324         * modules/strtoimax (Makefile.am): Likewise.
32325         * modules/strtok_r (Makefile.am): Likewise.
32326         * modules/strtol (Makefile.am): Likewise.
32327         * modules/strtoll (Makefile.am): Likewise.
32328         * modules/strtoul (Makefile.am): Likewise.
32329         * modules/strtoull (Makefile.am): Likewise.
32330         * modules/strtoumax (Makefile.am): Likewise.
32331         * modules/strverscmp (Makefile.am): Likewise.
32332         * modules/time_r (Makefile.am): Likewise.
32333         * modules/timegm (Makefile.am): Likewise.
32334         * modules/tmpfile-safer (Makefile.am): Likewise.
32335         * modules/unistd-safer (Makefile.am): Likewise.
32336         * modules/unlinkdir (Makefile.am): Likewise.
32337         * modules/userspec (Makefile.am): Likewise.
32338         * modules/utime (Makefile.am): Likewise.
32339         * modules/utimecmp (Makefile.am): Likewise.
32340         * modules/utimens (Makefile.am): Likewise.
32341         * modules/vasnprintf (Makefile.am): Likewise.
32342         * modules/vasprintf (Makefile.am): Likewise.
32343         * modules/vsnprintf (Makefile.am): Likewise.
32344         * modules/xalloc (Makefile.am): Likewise.
32345         * modules/xgetcwd (Makefile.am): Likewise.
32346         * modules/xnanosleep (Makefile.am): Likewise.
32347         * modules/xreadlink (Makefile.am): Likewise.
32348         * modules/xstrtod (Makefile.am): Likewise.
32349         * modules/xstrtol (Makefile.am): Likewise.
32350         * modules/xstrtold (Makefile.am): Likewise.
32351         * modules/yesno (Makefile.am): Likewise.
32352
32353 2006-10-12  Jim Meyering  <jim@meyering.net>
32354
32355         * m4/getloadavg.m4: Revert the change below.
32356
32357         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
32358         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
32359         fail with a symlink, which is what coreutils' ./bootstrap now
32360         creates by default.
32361
32362 2006-10-12  Bruno Haible  <bruno@clisp.org>
32363
32364         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
32365         mingw.
32366         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
32367         MSVC and mingw explicitly.
32368
32369 2006-10-11  Simon Josefsson  <jas@extundo.com>
32370             Bruno Haible  <bruno@clisp.org>
32371
32372         Add support for multiple gnulib-tool invocations in the scope of a
32373         single configure.ac file.
32374         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
32375         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
32376         with the same contents as the _LIBADD variable.
32377         (func_emit_initmacro_start, func_emit_initmacro_end,
32378         func_emit_initmacro_done): New functions.
32379         (func_import, func_create_testdir): Invoke them. Allow the identifiers
32380         gl_LIBOBJS and gl_LTLIBOBJS.
32381
32382 2006-10-11  Bruno Haible  <bruno@clisp.org>
32383
32384         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
32385         (func_create_testdir): Don't create po/Makefile.am, don't invoke
32386         autoreconf. Instead, invoke autopoint explicitly but move back the
32387         *.m4 files from gnulib.
32388
32389 2006-10-11  Bruno Haible  <bruno@clisp.org>
32390
32391         * gnulib-tool (func_usage): Make module names after --create-testdir
32392         optional.
32393         (func_create_testdir): If no module was specified, use nearly all
32394         modules.
32395
32396 2006-10-12  Jim Meyering  <jim@meyering.net>
32397
32398         Big performance improvement for fts-based tools that use FTS_NOSTAT.
32399         Avoid spurious inode-mismatch problems on non-POSIX file systems.
32400         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
32401         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
32402         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
32403         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
32404         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
32405         (fts_set_stat_required): New function.
32406         (fts_open): Defer the calls to fts_stat, if possible or requested.
32407         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
32408         into fts_stat itself.
32409         (fts_read): Perform any required (deferred) fts_stat call.
32410         (fts_build): Likewise, for the directory we're about to open and read.
32411         In the readdir loop, carefully decide whether each entry will require
32412         an eventual call to fts_stat, using dirent.d_type info if available.
32413         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
32414         a command line argument into this function.  Update all callers.
32415         Map a return value of FTS_DOT to FTS_D for a command line argument.
32416         * modules/fts (Depends-on): Add d-type.  Alphabetize.
32417         Thanks to Miklos Szeredi for his tenacity and for the initial
32418         bug report about "find" failing on a FUSE-based file system.
32419
32420         * lib/fts.c (fts_open): Use consistent indentation.
32421
32422 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
32423
32424         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
32425         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
32426         reported by Jim Meyering.  All uses of cache variables renamed
32427         to match Autoconf's.
32428         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
32429         the other one.
32430
32431         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
32432         Fix misspelling in diagnostic.
32433
32434 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
32435
32436         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
32437         defined.  Problem reported by Matthew Woehlke.
32438
32439         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
32440         Add support for Tandem NonStop R series.
32441         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
32442         Use new macro.
32443
32444         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
32445         (has_trailing_slash): Omit size arg; all callers changed.
32446         Omit 'inline', since it doesn't help performance and we'd
32447         need to configure it.
32448         Don't count //, ///, etc. as having a trailing slash.
32449         As a side effect, this removes a C99ism reported by Matthew Woehlke.
32450         (rpl_rename_dest_slash): On failure, use rename's errno rather
32451         than (in some cases) an incorrect or junk errno.
32452         Simplify code by removing need to compute length; this does
32453         cause it to make two passes instead of one over the file name,
32454         but it's worth it.
32455
32456         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
32457         change, since Autoconf's version may no longer be appropriate now
32458         that we are using CVS Autoconf's version.  Add support for Tandem.
32459
32460 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
32461             Bruno Haible  <bruno@clisp.org>
32462
32463         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
32464         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
32465         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
32466         gl_AC_TYPE_LONG_LONG.
32467
32468         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
32469         instead of HAVE_LONG_LONG.
32470         * lib/printf-args.c (printf_fetchargs): Likewise.
32471         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
32472         * lib/vasnprintf.c (VASNPRINTF): Likewise.
32473         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
32474         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
32475         gl_AC_TYPE_LONG_LONG.
32476
32477 2006-10-11  Bruno Haible  <bruno@clisp.org>
32478
32479         * m4/longlong.m4: Add comments.
32480         * m4/ulonglong.m4: Likewise.
32481
32482 2006-10-10  Bruno Haible  <bruno@clisp.org>
32483
32484         Make it possible to #define stpcpy, strdup to aliases.
32485         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
32486         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
32487
32488 2006-10-10  Bruno Haible  <bruno@clisp.org>
32489
32490         Make it possible to #define gcd to an alias.
32491         * lib/gcd.c: Include config.h.
32492
32493 2006-10-10  Bruno Haible  <bruno@clisp.org>
32494
32495         Make it possible to #define c_isascii to an alias.
32496         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
32497         defined. Undefine the macros before defining them, to avoid gcc
32498         warnings.
32499         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
32500         define NO_C_CTYPE_MACROS early.
32501
32502 2006-10-10  Bruno Haible  <bruno@clisp.org>
32503
32504         Make it possible to #define set_program_name to an alias.
32505         * lib/progname.c: Don't undefine set_program_name; instead, undefine
32506         ENABLE_RELOCATABLE early.
32507
32508 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32509
32510         Port to Tandem NSK OSS, which has 64-bit signed int but at most
32511         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
32512         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
32513         More generally, don't assume that 64-bit signed int is available
32514         if unsigned int is, and vice versa.
32515         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
32516         unsigned symbols, not on their signed counterparts.
32517         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
32518         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
32519         (UINT64_C, UINTMAX_C):
32520         Likewise.
32521         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
32522         unsigned counterparts.
32523         (Have_long_long, Unsigned): New macros.
32524         (Int): Renamed from INT.
32525         (strtoimax): Use the new macros.
32526         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
32527         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
32528         * modules/inttypes (inttypes.h): Substitute
32529         HAVE_UNSIGNED_LONG_LONG_INT.
32530         * modules/stdint (stdint.h): Likewise.
32531         (Files): Add m4/ulonglong.m4.
32532
32533 2006-10-10  Bruno Haible  <bruno@clisp.org>
32534
32535         Fix a gcc -Wshadow warning.
32536         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
32537         to 'bucket'.
32538         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
32539         gl_linked_indexof_from_to): Likewise.
32540         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
32541         Likewise.
32542         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
32543         Likewise.
32544         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
32545         Reported by Eric Blake.
32546
32547 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
32548
32549         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
32550         for NetBSD.  Problem reported by Bruno Haible.
32551
32552 2006-10-09  Jim Meyering  <jim@meyering.net>
32553
32554         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
32555         Patch from Bruno Haible.
32556
32557 2006-10-09  Jim Meyering  <jim@meyering.net>
32558
32559         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
32560         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
32561         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
32562
32563 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
32564
32565         Don't include <config.h> twice; this doesn't work in some cases,
32566         e.g., when config.h has "#define intmax_t long long int" and
32567         we include <config.h>, <inttypes.h>, <config.h> in that order.
32568         Problem reported by Matthew Woehlke in:
32569         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
32570         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
32571         * lib/fts-cycle.c: Don't include config.h.
32572         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
32573         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
32574         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
32575         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
32576         inttypes.h.
32577         * lib/xstrtoumax.c: Likewise.
32578         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
32579         __strtol and the like, so that this module is more like its siblings.
32580         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
32581         Remove; no longer needed now that we assume gnulib inttypes.h.
32582
32583 2006-10-08  Bruno Haible  <bruno@clisp.org>
32584
32585         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
32586         option.
32587
32588 2006-10-07  Jim Meyering  <jim@meyering.net>
32589
32590         * modules/inttypes (inttypes.h): Revert what seems to have been
32591         an inadvertent part of today's change: use "|", not "/" in the
32592         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
32593
32594 2006-10-07  Bruno Haible  <bruno@clisp.org>
32595
32596         * modules/sublist: New file.
32597
32598 2006-10-07  Bruno Haible  <bruno@clisp.org>
32599
32600         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
32601         * modules/argz (argz.h): Likewise.
32602         * modules/arpa_inet (arpa/inet.h): Likewise.
32603         * modules/byteswap (byteswap.h): Likewise.
32604         * modules/configmake (configmake.h): Likewise.
32605         * modules/fcntl (fcntl.h): Likewise.
32606         * modules/fnmatch (fnmatch.h): Likewise.
32607         * modules/getopt (getopt.h): Likewise.
32608         * modules/glob (glob.h): Likewise.
32609         * modules/inttypes (inttypes.h): Likewise.
32610         * modules/netinet_in (netinet/in.h): Likewise.
32611         * modules/poll (poll.h): Likewise.
32612         * modules/stdbool (stdbool.h): Likewise.
32613         * modules/stdint (stdint.h): Likewise.
32614         * modules/sys_select (sys/select.h): Likewise.
32615         * modules/sys_socket (sys/socket.h): Likewise.
32616         * modules/sys_stat (sys/stat.h): Likewise.
32617         * modules/sysexits (sysexits.h): Likewise.
32618         * modules/unistd (unistd.h): Likewise.
32619         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32620         Add a "DO NOT EDIT" comment to the generated file.
32621         (func_import): Likewise for gnulib-comp.m4.
32622
32623 2006-10-07  Bruno Haible  <bruno@clisp.org>
32624
32625         * lib/gl_sublist.h: New file.
32626         * lib/gl_sublist.c: New file.
32627
32628 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
32629
32630         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
32631         name (relative to the original working directory) and the file
32632         name component (relative to the temporary working directory).  All
32633         callers changed.
32634         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
32635         * lib/mkdir-p.c (make_dir_parents): Likewise.
32636         * lib/mkdir-p.h (make_dir_parents): Likewise.
32637
32638 2006-10-06  Eric Blake  <ebb9@byu.net>
32639
32640         Define several macros for use by the clean-temp module.
32641         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
32642         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
32643         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
32644
32645         * lib/clean-temp.h (close_stream_temp): New declaration.
32646         * lib/clean-temp.c (includes): Pull in headers according to what
32647         other modules are in use.
32648         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
32649
32650 2006-10-06  Bruno Haible  <bruno@clisp.org>
32651
32652         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
32653         instead of fopen, fwriteerror.
32654
32655 2006-10-06  Bruno Haible  <bruno@clisp.org>
32656
32657         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
32658         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
32659         int.
32660         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
32661         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
32662         Return an error indicator.
32663         Suggested by Eric Blake.
32664
32665 2006-10-06  Bruno Haible  <bruno@clisp.org>
32666
32667         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
32668         Reported by Eric Blake.
32669
32670 2006-10-06  Bruno Haible  <bruno@clisp.org>
32671
32672         * modules/closeout (Description): Mention stderr too.
32673
32674 2006-10-06  Bruno Haible  <bruno@clisp.org>
32675         and Paul Eggert  <eggert@cs.ucla.edu>
32676
32677         * lib/closeout.c (close_stdout): Also close stderr.
32678         * lib/closeout.h: Update comment.
32679
32680 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
32681
32682         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
32683         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
32684         * lib/dirchownmod.c: Include lchown.h.
32685         * lib/lchown.c: Don't include files that lchown.h now includes.
32686         Don't declare chown, since lchown.h now does that.
32687         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
32688         (lchown): Define to rpl_chown if lchown is declared but
32689         does not exist.  Declare using a prototype if lchown is not
32690         declared.  Add a copyright notice.
32691         * lib/mkstemp.h: Include <unistd.h>.
32692         * lib/openat.c: Include lchown.h.
32693
32694         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
32695         we now test for that separately.
32696         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
32697         rather than O_NOFOLLOW, when testing whether it's possible to
32698         avoid a race condition reliably.
32699         * lib/savewd.c (savewd_chdir): Likewise.
32700
32701         Remove macros that are no longer needed now that stdint.h is
32702         reliable.
32703         * lib/fsusage.c (UINTMAX_MAX): Remove.
32704         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
32705         * lib/utimecmp.c (SIZE_MAX): Remove.
32706
32707         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
32708
32709         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
32710         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
32711         O_NOATIME works.
32712
32713 2006-10-05  Bruno Haible  <bruno@clisp.org>
32714
32715         * lib/gl_list.h (gl_sortedlist_search_from_to,
32716         gl_sortedlist_indexof_from_to): New declarations.
32717         (gl_list_implementation): New fields sortedlist_search_from_to,
32718         sortedlist_indexof_from_to.
32719         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
32720         inline functions.
32721         * lib/gl_list.c (gl_sortedlist_search_from_to,
32722         gl_sortedlist_indexof_from_to): New functions.
32723         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
32724         function.
32725         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
32726         (gl_array_sortedlist_search_from_to): New function.
32727         (gl_array_list_implementation): Update.
32728         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
32729         function.
32730         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
32731         (gl_carray_sortedlist_search_from_to): New function.
32732         (gl_carray_list_implementation): Update.
32733         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
32734         gl_linked_sortedlist_indexof_from_to): New functions.
32735         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
32736         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
32737         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
32738         gl_tree_sortedlist_indexof_from_to): New functions.
32739         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
32740         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
32741         Update.
32742         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
32743         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
32744         Update.
32745
32746 2006-10-05  Bruno Haible  <bruno@clisp.org>
32747
32748         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
32749         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
32750         (struct gl_list_implementation): Add fields search_from_to,
32751         indexof_from_to. Remove fields search, indexof.
32752         (gl_list_search): Use the search_from_to method.
32753         (gl_list_search_from, gl_list_search_from_to): New functions.
32754         (gl_list_indexof): Use the indexof_from_to method.
32755         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
32756         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
32757         (gl_list_search_from, gl_list_search_from_to): New functions.
32758         (gl_list_indexof): Use the indexof_from_to method.
32759         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
32760         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
32761         gl_array_indexof. Add start_index, end_index arguments.
32762         (gl_array_search_from_to): Renamed from gl_array_search. Add
32763         start_index, end_index arguments.
32764         (gl_array_remove, gl_array_list_implementation): Update.
32765         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
32766         gl_carray_indexof. Add start_index, end_index arguments.
32767         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
32768         start_index, end_index arguments.
32769         (gl_carray_remove, gl_carray_list_implementation): Update.
32770         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
32771         gl_linked_search. Add start_index, end_index arguments.
32772         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
32773         start_index, end_index arguments.
32774         (gl_linked_remove): Update.
32775         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
32776         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
32777         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
32778         field to 'size_t'.
32779         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
32780         gl_tree_search. Add start_index, end_index arguments.
32781         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
32782         start_index, end_index arguments.
32783         (gl_tree_remove): Update.
32784         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
32785         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
32786         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
32787         function.
32788         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
32789         gl_tree_search. Add start_index, end_index arguments.
32790         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
32791         start_index, end_index arguments.
32792         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
32793         Update.
32794         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
32795
32796 2006-10-05  Bruno Haible  <bruno@clisp.org>
32797
32798         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
32799
32800         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
32801         fwriteerror_temp): New declarations.
32802         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
32803         (descriptors): New variable.
32804         (cleanup): First, close the descriptors.
32805         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
32806         fclose_temp, fwriteerror_temp): New functions.
32807
32808 2006-10-04  Jim Meyering  <jim@meyering.net>
32809
32810         * lib/fts.c (fts_open): Tiny comment change.
32811
32812 2006-10-04  Bruno Haible  <bruno@clisp.org>
32813
32814         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
32815         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
32816         gl_LOCK_BODY.
32817         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
32818         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
32819         gl_LOCK_EARLY_BODY.
32820         (gl_LOCK): Require gl_LOCK_BODY.
32821
32822 2006-10-04  Bruno Haible  <bruno@clisp.org>
32823
32824         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
32825         (gl_oset_search_atleast): New declaration.
32826         (struct gl_oset_implementation): Add field 'search_atleast'.
32827         (gl_oset_search_atleast): New inline function.
32828         * lib/gl_oset.c (gl_oset_search_atleast): New function.
32829         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
32830         (gl_array_oset_implementation): Update.
32831         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
32832         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
32833         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
32834
32835 2006-10-04  Bruno Haible  <bruno@clisp.org>
32836
32837         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
32838
32839 2006-10-03  Bruno Haible  <bruno@clisp.org>
32840
32841         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
32842         from gl_avltreehash_list_implementation.
32843
32844 2006-10-03  Bruno Haible  <bruno@clisp.org>
32845
32846         * lib/gl_oset.c (gl_oset_add): Fix return type.
32847
32848 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
32849
32850         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
32851
32852 2006-10-02  Eric Blake  <ebb9@byu.net>
32853
32854         * modules/strnlen (Depends-on): Add extensions.
32855
32856 2006-10-02  Eric Blake  <ebb9@byu.net>
32857
32858         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
32859         definition in 2.60+.
32860
32861 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
32862
32863         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
32864         checks.
32865
32866 2006-10-02  Bruno Haible  <bruno@clisp.org>
32867
32868         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
32869         to the AUTOMAKE_OPTIONS.
32870         Reported by Jim Meyering.
32871
32872 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
32873
32874         Work around bug in Solaris 10 /proc file system:
32875         /proc/self/fd/NNN/.. isn't the parent directory of
32876         the directory whose file descriptor is NNN.  This needs to
32877         be worked around at run time, not compile time, since a
32878         program might be built on Solaris 8, where things work, and
32879         run on Solaris 10.
32880         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
32881         to use the following interface instead:
32882         (OPENAT_BUFFER_SIZE): New macro.
32883         (openat_proc_name): New function.
32884         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
32885         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
32886         Likewise.
32887         * lib/openat-proc.c: New file.
32888         * modules/openat (Files): Add lib/openat-proc.c.
32889         (Depends-on): Add same-inode, stdbool.
32890         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
32891
32892 2006-09-29  Bruno Haible  <bruno@clisp.org>
32893
32894         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
32895         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
32896         argument. Set stdout_closed before testing for ferror, not after.
32897         (fwriteerror, fwriteerror_no_ebadf): New functions.
32898
32899 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32900
32901         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
32902
32903 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
32904
32905         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
32906         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
32907
32908 2006-09-28  Jim Meyering  <jim@meyering.net>
32909
32910         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
32911         Include <unistd.h>.
32912
32913 2006-09-28  Bruno Haible  <bruno@clisp.org>
32914
32915         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
32916         * modules/linkedhash-list (Depends-on): Likewise.
32917         * modules/rbtreehash-list (Depends-on): Likewise.
32918
32919 2006-09-28  Bruno Haible  <bruno@clisp.org>
32920
32921         * lib/strndup.h: Simplify the redefinition of strndup.
32922         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
32923         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
32924
32925 2006-09-28  Bruno Haible  <bruno@clisp.org>
32926
32927         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
32928         * lib/gl_linkedhash_list.c: Likewise.
32929         * lib/gl_rbtreehash_list.c: Likewise.
32930
32931 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
32932
32933         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
32934         getaddrinfo.
32935
32936         * lib/__fpending.h: Don't include <stdio_ext.h> unless
32937         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
32938         it causes <stdio_ext.h> to cause a compile-time error.
32939         Problem reported by Nelson H. F. Beebe.
32940         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
32941         of HAVE_DECL___PENDING.
32942
32943         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
32944         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
32945         declaration.
32946
32947 2006-09-27  Jim Meyering  <jim@meyering.net>
32948
32949         This file could end up with a definition for a function
32950         named __strndup, rather than rpl_strndup on a system with
32951         incomplete weak_alias support.
32952         * lib/strndup.c (strndup): Rename from __strndup.
32953         Remove #defines that used to map __strndup to strndup.
32954         Don't use K&R prototypes.
32955         Remove LIBC-related code, since this file is not sync'd with glibc.
32956         * lib/strndup.h: Revamp, accordingly.
32957         * m4/strndup.m4: Modernize.
32958
32959 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
32960
32961         * modules/savewd (Depends-on): Add 'raise'.
32962         * lib/savewd.c: Include <signal.h>, for 'raise'.
32963
32964 2006-09-26  Jim Meyering  <jim@meyering.net>
32965
32966         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
32967         when we detect Darwin 8.7.0's acl_get_file bug.
32968         Rearrange to perform the new (below) run-test while $LIBS
32969         contains any acl-related library.  Set USE_ACL at the end.
32970         (gl_ACL_GET_FILE): New function.
32971
32972 2006-09-26  Eric Blake  <ebb9@byu.net>
32973
32974         * lib/verror.c: Include <config.h> unconditionally.
32975
32976 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
32977
32978         * modules/clock-time (Maintainer): Add self.
32979         * modules/getlogin_r (Depends-on): Add extensions.
32980
32981 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32982
32983         * modules/clock-time: New module.
32984         * modules/nanosleep (Depends-on): Add clock-time.
32985         * modules/gethrxtime (Depends-on): Likewise.
32986         * modules/gettime (Depends-on): Likewise.
32987         * modules/settime (Depends-on): Likewise.
32988
32989         * modules/fts-lgpl: Depend on openat.
32990         * modules/mkancesdirs: Depend on savewd.
32991         * modules/mkdir-p: Likewise.
32992
32993 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32994
32995         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
32996
32997         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
32998         `gl_have_arbitrary_file_name_length_limit' to
32999         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
33000         actually works between configure runs.
33001
33002 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33003             Bruno Haible  <bruno@clisp.org>
33004
33005         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
33006
33007 2006-09-25  Jim Meyering  <jim@meyering.net>
33008
33009         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
33010         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
33011
33012 2006-09-25  Eric Blake  <ebb9@byu.net>
33013
33014         * gnulib-tool (func_import, func_create_testdir): Fix typos in
33015         exec's in 2006-09-18 patch when shuffling fds.
33016
33017 2006-09-25  Bruno Haible  <bruno@clisp.org>
33018
33019         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
33020         Reported by Jim Meyering.
33021
33022 2006-09-24  Jim Meyering  <jim@meyering.net>
33023
33024         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
33025         compare a pointer against a literal "0".  That caused failures with
33026         at least HP-UX's hpcc.
33027
33028 2006-09-22  Simon Josefsson  <jas@extundo.com>
33029
33030         * modules/gc-sha1:
33031         * modules/gc-md4:
33032         * modules/gc-hmac-sha1:
33033         * modules/gc-hmac-md5:
33034         * modules/gc-des:
33035         * modules/gc-arcfour: Distribute more files.
33036
33037 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33038
33039         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
33040         (gl_linked_iterator_from_to): Initialize struct completely.
33041         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
33042         (gl_tree_iterator_from_to): Likewise
33043         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
33044         * lib/gl_array_list.c [lint] (gl_array_iterator)
33045         (gl_array_iterator_from_to): Likewise.
33046         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
33047         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
33048         (gl_carray_iterator_from_to): Likewise.
33049
33050         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
33051         * lib/md4.c (md4_process_block): Remove unused variable.
33052         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
33053         parentheses for clarity.
33054
33055 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33056
33057         * modules/bison-i18n (Depends-on): Add gettext.
33058
33059 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33060
33061         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
33062         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
33063         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
33064         also add missing comma that caused broken test.
33065         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
33066         stdlib.h, for `abort'.
33067         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
33068         variables.
33069         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
33070         include unistd.h if present, for `rmdir'.
33071         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
33072         variables.
33073         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
33074         in the process include standard headers for prototypes.
33075         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
33076         gets declared on GNU/Linux.
33077         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
33078         unistd.h, for `rmdir'.
33079         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
33080
33081         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
33082         always true.
33083         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
33084
33085         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
33086
33087 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33088
33089         * gnulib-tool (func_version): Create output all at once.  This
33090         may help avoid triggering unnecessary SIGPIPEs, and at any
33091         rate it doesn't hurt.
33092
33093 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33094             Bruno Haible  <bruno@clisp.org>
33095
33096         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
33097         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33098         * m4/signed.m4 (bh_C_SIGNED): Likewise.
33099
33100         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
33101         (gl_FUNC_VASPRINTF): Invoke it.
33102
33103 2006-09-22  Bruno Haible  <bruno@clisp.org>
33104
33105         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
33106         getloadavg.c as first argument.
33107
33108 2006-09-22  Bruno Haible  <bruno@clisp.org>
33109
33110         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
33111         at the beginning of the gl_INIT macro.
33112         * modules/getloadavg (configure.ac): Pass $gl_source_base to
33113         gl_GETLOADAVG.
33114
33115 2006-09-22  Bruno Haible  <bruno@clisp.org>
33116
33117         * gnulib-tool (func_create_megatestdir): Don't include the config-h
33118         module.
33119         Suggested by Ralf Wildenhues.
33120
33121 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
33122
33123         Import this patch from libc:
33124
33125         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
33126
33127         * lib/regex_internal.c (re_string_reconstruct): Handle
33128         offset < pstr->valid_raw_len && pstr->offsets_needed case.
33129         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
33130         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
33131         re_string_context_at.
33132
33133         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
33134         now requires it.
33135         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
33136         gl_REGEX now does it for us.
33137         (gl_REGEX): Add test taken from
33138         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
33139
33140         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
33141         Check that large offsets work.  Modernize Autoconf usages.
33142         Prefer "yes" to mean a good thing rather than a bad.
33143         Don't put "#define mkstemp" in config.h, as this might interfere
33144         with standard system headers that "#define mkstemp mkstemp64".
33145
33146         * modules/mkstemp (Depends-on): Add extensions, so that
33147         mkstemp is visible on some platforms.
33148         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
33149         (Include): Change to "mkstemp.h" from <stdlib.h>.
33150         (Files): Add mkstemp.h.
33151
33152         * lib/mkstemp.h: New file, since some standard headers
33153         #define mkstemp.
33154         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
33155         Include "mkstemp.h".
33156         Make the _LIBC code resemble glibc original more,
33157         e.g., use K&R style.
33158         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
33159         (mkstemp): Remove, since mkstemp.h does this for us.
33160         * lib/stdlib--.h: Include mkstemp.h.
33161
33162         Import this patch from libc:
33163
33164         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
33165
33166         * lib/tempname.c (__gen_tempname): Change attempts_min
33167         into a macro.  Use preprocessor to decide how to initialize
33168         attempts [Coverity CID 67].
33169
33170 2006-09-20  Bruno Haible  <bruno@clisp.org>
33171
33172         * lib/mkdtemp.c: Import from libc.
33173         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
33174                 * sysdeps/posix/tempname.c (__gen_tempname): Change
33175                 attempts_min into a macro.  Use preprocessor to decide how to
33176                 initialize attempts [Coverity CID 67].
33177         2001-11-27  Paul Eggert  <eggert@twinsun.com>
33178                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
33179                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
33180
33181 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33182
33183         * gnulib-tool (func_exit): New function, to allow to pass the
33184         exit status portably through the trap.  Use everywhere.
33185         (--help, --version): Signal a write error.
33186         (trap): catch SIGPIPE, for write errors.
33187         Exit at the end of the trap, with the correct exit status.
33188
33189 2006-09-19  Karl Berry  <karl@gnu.org>
33190
33191         * doc/gnulib.texi: note about the license texinfo files.
33192
33193 2006-09-19  Eric Blake  <ebb9@byu.net>
33194
33195         * gnulib-tool: Avoid space-tab.
33196
33197 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
33198
33199         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
33200         that prevented coreutils 6.1 from building.  Problem reported
33201         by Petter Reinholdtsen.
33202
33203 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
33204
33205         * gnulib-tool (avoidlist): Fix typo that broke options like
33206         --avoid=lock that are used by coreutils bootstrap.
33207
33208 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
33209
33210         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
33211         more systematically.
33212
33213 2006-09-18  Jim Meyering  <jim@meyering.net>
33214
33215         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
33216
33217 2006-09-18  Bruno Haible  <bruno@clisp.org>
33218
33219         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
33220
33221 2006-09-18  Bruno Haible  <bruno@clisp.org>
33222
33223         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
33224         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
33225         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
33226         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
33227         * m4/gettext.m4: Require autoconf >= 2.52.
33228         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
33229         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
33230         of gl_cv_header_inttypes_h.
33231
33232 2006-09-18  Bruno Haible  <bruno@clisp.org>
33233
33234         * lib/javaversion.c: Include configmake.h.
33235
33236 2006-09-18  Bruno Haible  <bruno@clisp.org>
33237
33238         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
33239         avoid that the while loops be executed in a subshell.
33240
33241 2006-09-18  Bruno Haible  <bruno@clisp.org>
33242
33243         * MODULES.html.sh (func_module): Break long lines.
33244         Suggested by Bruce Korb <bkorb@gnu.org>.
33245
33246 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33247
33248         Speed up by a factor of 1.12.
33249         * gnulib-tool (nl): New variable.
33250         (func_import): Rewrite include directive extraction to only read each
33251         directive once.
33252
33253 2006-09-17  Bruno Haible  <bruno@clisp.org>
33254
33255         * modules/javaversion (Makefile.am): Remove DEFS setting.
33256         (Depends-on): Add configmake, for PKGDATADIR definition.
33257
33258 2006-09-17  Bruno Haible  <bruno@clisp.org>
33259
33260         * gnulib-tool (func_create_testdir): Rewrite all files at once.
33261
33262 2006-09-17  Bruno Haible  <bruno@clisp.org>
33263
33264         * gnulib-tool (func_append): New function, stolen from libtool.m4.
33265         (func_modules_transitive_closure, func_modules_add_dummy,
33266         func_modules_to_filelist, func_import, func_create_testdir,
33267         func_create_megatestdir, ...): Use it wherever possible.
33268         Suggested by Ralf Wildenhues.
33269
33270 2006-09-16  Karl Berry  <karl@gnu.org>
33271
33272         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
33273         to avoid sectioning errors.
33274         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
33275         [ifinfo]: blank line after @center-ed titles.
33276         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
33277         Spell FSF address consistently with others.
33278         (These changes approved by rms.)
33279
33280 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33281
33282         Speed up by a factor of 1.61.
33283         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
33284         already checked module names again.
33285
33286 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33287
33288         Speed up by a factor of 1.13.
33289         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
33290         for new_files, and the input to func_add_or_update.
33291
33292 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33293
33294         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
33295         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
33296
33297 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33298
33299         * modules/mkancesdirs (Depends-on): Add fcntl.
33300         * modules/savewd: New file.
33301         * MODULES.html.sh (File system functions): Add savewd.
33302
33303         * modules/configmake (Makefile.am): Add support for the
33304         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
33305
33306 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33307
33308         * m4/savewd.m4: New file.
33309
33310 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33311
33312         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
33313         (dirchownmod): New arg FD.  All callers changed.
33314         Use FD rather than opening the directory ourself, as opening is
33315         now the caller's responsibility.
33316         * lib/dirchownmod.h: Likewise.
33317         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
33318         hosts that require <sys/types.h> before <sys/stat.h>.  Include
33319         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
33320         (test_dir): Remove.
33321         (mkancesdirs): Return length of prefix of FILE that has already
33322         been made, or -2 if there is a child doing the work.  Redo
33323         algorithm so that it is O(N) rather than O(N**2).  Optimize away
33324         ".", and treat ".." specially since it might stray back into
33325         already-created areas.  Use a subprocess if necessary.  New arg
33326         WD; all users changed.  MAKE_DIR function should now return 1
33327         if it creates a directory that is not readable.  Return -2 if
33328         a child process is spun off.
33329         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
33330         Adjust signature to match code.
33331         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
33332         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
33333         all users changed.
33334         * lib/savewd.c, lib/savewd.h: New files.
33335
33336 2006-09-15  Jim Meyering  <jim@meyering.net>
33337
33338         * modules/rename-dest-slash: New module.
33339         * MODULES.html.sh (posix_compat): Add it here.
33340
33341         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
33342
33343 2006-09-15  Jim Meyering  <jim@meyering.net>
33344
33345         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
33346         file.
33347
33348         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
33349
33350 2006-09-15  Jim Meyering  <jim@meyering.net>
33351
33352         * lib/rename-dest-slash.c (has_trailing_slash): Use
33353         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
33354         (rpl_rename_dest_slash): Perform the cheaper trailing slash
33355         test before testing whether SRC is a directory.
33356         Suggestions from Bruno Haible.
33357
33358         Avoid a warning about an unused variable.
33359         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
33360         into the #ifdef block where it's used.
33361
33362         * lib/rename-dest-slash.c: New file.
33363
33364 2006-09-14  Bruno Haible  <bruno@clisp.org>
33365
33366         * lib/allocsa.c: Include <config.h> unconditionally.
33367         * lib/asnprintf.c: Likewise.
33368         * lib/asprintf.c: Likewise.
33369         * lib/c-strcasecmp.c: Likewise.
33370         * lib/c-strcasestr.c: Likewise.
33371         * lib/c-strncasecmp.c: Likewise.
33372         * lib/c-strstr.c: Likewise.
33373         * lib/classpath.c: Likewise.
33374         * lib/clean-temp.c: Likewise.
33375         * lib/concatpath.c: Likewise.
33376         * lib/copy-file.c: Likewise.
33377         * lib/csharpcomp.c: Likewise.
33378         * lib/csharpexec.c: Likewise.
33379         * lib/execute.c: Likewise.
33380         * lib/fatal-signal.c: Likewise.
33381         * lib/findprog.c: Likewise.
33382         * lib/fwriteerror.c: Likewise.
33383         * lib/gl_array_list.c: Likewise.
33384         * lib/gl_array_oset.c: Likewise.
33385         * lib/gl_avltree_list.c: Likewise.
33386         * lib/gl_avltree_oset.c: Likewise.
33387         * lib/gl_avltreehash_list.c: Likewise.
33388         * lib/gl_carray_list.c: Likewise.
33389         * lib/gl_linked_list.c: Likewise.
33390         * lib/gl_linkedhash_list.c: Likewise.
33391         * lib/gl_list.c: Likewise.
33392         * lib/gl_oset.c: Likewise.
33393         * lib/gl_rbtree_list.c: Likewise.
33394         * lib/gl_rbtree_oset.c: Likewise.
33395         * lib/gl_rbtreehash_list.c: Likewise.
33396         * lib/imaxabs.c: Likewise.
33397         * lib/imaxdiv.c: Likewise.
33398         * lib/javacomp.c: Likewise.
33399         * lib/javaexec.c: Likewise.
33400         * lib/javaversion.c: Likewise.
33401         * lib/linebreak.c: Likewise.
33402         * lib/localcharset.c: Likewise.
33403         * lib/lock.c: Likewise.
33404         * lib/mbchar.c: Likewise.
33405         * lib/mbswidth.c: Likewise.
33406         * lib/mkdtemp.c: Likewise.
33407         * lib/pipe.c: Likewise.
33408         * lib/printf-args.c: Likewise.
33409         * lib/printf-parse.c: Likewise.
33410         * lib/progname.c: Likewise.
33411         * lib/progreloc.c: Likewise.
33412         * lib/readlink.c: Likewise.
33413         * lib/sh-quote.c: Likewise.
33414         * lib/stpcpy.c: Likewise.
33415         * lib/stpncpy.c: Likewise.
33416         * lib/strcasecmp.c: Likewise.
33417         * lib/strcasestr.c: Likewise.
33418         * lib/strcspn.c: Likewise.
33419         * lib/striconv.c: Likewise.
33420         * lib/strncasecmp.c: Likewise.
33421         * lib/strnlen1.c: Likewise.
33422         * lib/strstr.c: Likewise.
33423         * lib/strtok_r.c: Likewise.
33424         * lib/tls.c: Likewise.
33425         * lib/tmpdir.c: Likewise.
33426         * lib/unicodeio.c: Likewise.
33427         * lib/unsetenv.c: Likewise.
33428         * lib/vasnprintf.c: Likewise.
33429         * lib/vasprintf.c: Likewise.
33430         * lib/wait-process.c: Likewise.
33431         * lib/xallocsa.c: Likewise.
33432         * lib/xsetenv.c: Likewise.
33433         * lib/xstriconv.c: Likewise.
33434
33435 2006-09-13  Simon Josefsson  <jas@extundo.com>
33436
33437         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
33438         that internally, suggested by Ralf Wildenhues
33439         <Ralf.Wildenhues@gmx.de>.
33440
33441 2006-09-13  Simon Josefsson  <jas@extundo.com>
33442
33443         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
33444         @LIBOBJS@.
33445         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33446
33447 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
33448
33449         * lib/_fpending.c: Include <config.h> unconditionally, since we no
33450         longer worry about uses that don't define HAVE_CONFIG_H.
33451         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
33452         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
33453         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
33454         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
33455         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
33456         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
33457         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
33458         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
33459         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
33460         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
33461         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
33462         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
33463         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
33464         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
33465         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
33466         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
33467         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
33468         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
33469         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
33470         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
33471         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
33472         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
33473         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
33474         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
33475         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
33476         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
33477         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
33478         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
33479         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
33480         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
33481         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
33482         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
33483         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
33484         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
33485         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
33486         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
33487         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
33488         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
33489         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
33490         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
33491         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
33492         Likewise.
33493
33494 2006-09-13  Eric Blake  <ebb9@byu.net>
33495
33496         * lib/getopt.c: Fix typo in last commit.
33497
33498 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33499
33500         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
33501         dgettext.
33502
33503 2006-09-12  Jim Meyering  <jim@meyering.net>
33504
33505         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
33506         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
33507         Reported by Nelson H. F. Beebe.
33508
33509 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
33510
33511         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
33512         program_invocation_name and program_invocation_short_name are
33513         initialized.
33514         * lib/argp-namefrob.h: Move declarations of program_invocation_name
33515         and program_invocation_short_name to argp.h, so they are visible
33516         to user programs.
33517         * lib/argp.h: Likewise
33518
33519 2006-09-10  Bruno Haible  <bruno@clisp.org>
33520
33521         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
33522         m4/inttypes_h.m4, m4/uintmax_t.m4.
33523
33524 2006-09-10  Bruno Haible  <bruno@clisp.org>
33525
33526         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
33527         gl_AC_TYPE_UINTMAX_T.
33528
33529 2006-09-10  Bruno Haible  <bruno@clisp.org>
33530
33531         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
33532
33533 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
33534
33535         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
33536         convention.  Text proposed by Bruno Haible.
33537         (struct argp_option): Document the use of N_() wrappers.
33538
33539         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
33540         '\v', and translate the two parts separately, instead of feeding
33541         the whole string to gettext.  This allows to exclude
33542         '\v' from the strings visible to the translator by writing doc
33543         strings as N_("..") "\v" N_("..").
33544
33545 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
33546
33547         * config/srclist.txt: Undo latest change; the bug was fixed.
33548
33549 2006-09-09  Bruno Haible  <bruno@clisp.org>
33550
33551         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
33552         assignments if building a library without libtool.
33553         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
33554         in func_emit_lib_Makefile_am.
33555         (func_import): When building a static library libfoo.a, arrange to
33556         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
33557         (func_create_testdir): Likewise.
33558         * modules/gc (configure.ac, Makefile.am): If building statically,
33559         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
33560         * modules/iconvme (configure.ac, Makefile.am): Likewise.
33561         * modules/striconv (configure.ac, Makefile.am): Likewise.
33562         Based on a suggestion by Ralf Wildenhues.
33563
33564 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
33565
33566         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
33567         Check for unistd.h too, since Autoconf doesn't assume POSIX.
33568         Also:
33569
33570         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
33571         Add year_2050_test to catch glibc bug 2821
33572         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
33573
33574         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33575         Prefer #ifdef to #if.
33576
33577         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
33578         Return from 'main' instead of calling 'exit'.
33579
33580 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
33581
33582         * lib/mktime.c (guess_time_tm): Fix bug where mktime
33583         returned the maximum time_t value rather than (time_t) -1.
33584         Problem originally reported by William Bardwell
33585         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
33586
33587         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
33588         Moved to here ...
33589         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
33590         ... from here.
33591
33592 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
33593
33594         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
33595         2821 is fixed.
33596
33597 2006-09-08  Jim Meyering  <jim@meyering.net>
33598
33599         Don't make generated files read-only.  That would bother too many
33600         people.  However, do retain the ability to work when targets are
33601         read-only: remove the destination and temporary files before writing
33602         them (when generated via sed or echo), or by using the -f option for
33603         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
33604         * modules/alloca-opt, modules/argz, modules/arpa_inet:
33605         * modules/byteswap, modules/configmake, modules/fcntl:
33606         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
33607         * modules/localcharset, modules/netinet_in, modules/poll:
33608         * modules/stdbool, modules/stdint, modules/sys_select:
33609         * modules/sys_socket, modules/sys_stat, modules/sysexits:
33610
33611 2006-09-08  Jim Meyering  <jim@meyering.net>
33612
33613         Avoid new build failure on FreeBSD 6.0.
33614         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
33615         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
33616         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
33617
33618 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33619
33620         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
33621
33622 2006-09-07  Jim Meyering  <jim@meyering.net>
33623
33624         Fix global typo in last change: use chmod u-w, not chmod u-x.
33625         Spotted by Paul Eggert and Bruce Korb.
33626         * modules/alloca-opt, modules/argz, modules/arpa_inet:
33627         * modules/byteswap, modules/configmake, modules/fcntl:
33628         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
33629         * modules/localcharset, modules/netinet_in, modules/poll:
33630         * modules/stdbool, modules/stdint, modules/sys_select:
33631         * modules/sys_socket, modules/sys_stat, modules/sysexits:
33632
33633 2006-09-06  Jim Meyering  <jim@meyering.net>
33634
33635         Make generated files be read-only.
33636         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
33637         Ensure that each generated file is now read-only.
33638         * modules/argz: Likewise.
33639         * modules/arpa_inet: Likewise.
33640         * modules/byteswap: Likewise.
33641         * modules/configmake: Likewise.
33642         * modules/fcntl: Likewise.
33643         * modules/fnmatch: Likewise.
33644         * modules/getopt: Likewise.
33645         * modules/glob: Likewise.
33646         * modules/inttypes: Likewise.
33647         * modules/netinet_in: Likewise.
33648         * modules/poll: Likewise.
33649         * modules/stdbool: Likewise.
33650         * modules/stdint: Likewise.
33651         * modules/sys_select: Likewise.
33652         * modules/sys_socket: Likewise.
33653         * modules/sys_stat: Likewise.
33654         * modules/sysexits: Likewise.
33655         * modules/localcharset: Same as above, but continue using temporary
33656         file named "t-$@" (why different?) rather than the "$@-t" used
33657         everywhere else.
33658
33659         * modules/sysexits (Makefile.am): Replace literal occurrences
33660         of "sysexit.h" more readable, and more consistent, "$@".
33661
33662 2006-09-06  Bruno Haible  <bruno@clisp.org>
33663
33664         * modules/striconv: New file.
33665         * modules/xstriconv: New file.
33666         * MODULES.html.sh (Internationalization functions): Add striconv,
33667         xstriconv.
33668
33669 2006-09-06  Bruno Haible  <bruno@clisp.org>
33670
33671         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
33672         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
33673         not using libtool correctly.
33674
33675 2006-09-06  Bruno Haible  <bruno@clisp.org>
33676
33677         * lib/striconv.h: New file.
33678         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
33679         iconvstring.c.
33680         * lib/xstriconv.h: New file.
33681         * lib/xstriconv.c: New file.
33682
33683 2006-09-06  Bruno Haible  <bruno@clisp.org>
33684
33685         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33686         lib_..._LDFLAGS.
33687
33688 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33689
33690         * lib/argz_.h: Sync from Libtool.
33691
33692         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
33693                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
33694
33695         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
33696
33697 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
33698
33699         * modules/trim: New file.
33700
33701 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
33702
33703         * lib/trim.h: New file.
33704         * lib/trim.c: New file.
33705
33706 2006-09-05  Bruno Haible  <bruno@clisp.org>
33707
33708         * MODULES.html.sh (String handling): Add trim.
33709
33710 2006-09-04  Karl Berry  <karl@gnu.org>
33711
33712         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
33713         until next release.
33714
33715 2006-09-03  Bruno Haible  <bruno@clisp.org>
33716
33717         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
33718         correctly.
33719
33720 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33721
33722         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
33723         not gl_GETLOADAVG.  Omit unneeded semicolons.
33724         Problems reported by Ralf Wildenhues in
33725         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
33726         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
33727         at the end, which is the usual gnulib style.
33728
33729         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
33730         of doing all the work ourselves.
33731         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
33732         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
33733
33734 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33735
33736         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
33737         Problem reported by Ralf Wildenhues in
33738         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
33739
33740         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
33741         HAVE_STRUCT_STATFS_F_FSTYPENAME.
33742
33743 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33744
33745         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
33746         yesterday's patch by changing test -n to test -z.
33747
33748 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33749
33750         * modules/getloadavg (Files): Add m4/getloadavg.m4.
33751         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
33752         the former is now obsolescent.
33753
33754         * modules/chdir-long (Depends-on): Add fcntl.
33755
33756 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33757
33758         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
33759         obsolescent, and programs should use gnulib instead.
33760         * m4/getloadavg.m4: New file, with contents taken from Autoconf
33761         but with prefixes changed.
33762
33763 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33764
33765         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
33766         or stdbool.h, because they might not exist while configuring.
33767
33768         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
33769         Don't include unistd.h or limits.h; not needed, since chdir-long.h
33770         does that for us.
33771         (O_DIRECTORY): Remove.
33772
33773 2006-08-31  Eric Blake  <ebb9@byu.net>
33774
33775         * gnulib-tool: Don't let emacs change spaces to TAB.
33776
33777 2006-08-31  Bruno Haible  <bruno@clisp.org>
33778
33779         * gnulib-tool: When calling func_import more than once, do it in a
33780         subshell.
33781         Reported by Eric Blake <ebb9@byu.net>.
33782
33783 2006-08-31  Bruno Haible  <bruno@clisp.org>
33784
33785         * gnulib-tool (nl): Remove variable.
33786         (sed_transform_lib_file): Use more robust test for config-h module.
33787         (func_import): Fix typo in 2006-08-25 patch.
33788
33789 2006-08-31  Bruno Haible  <bruno@clisp.org>
33790
33791         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
33792         specified, augment Makefile.am variables instead of assigning them.
33793
33794 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33795
33796         Work around a bug in both the Linux and SunOS 64-bit kernels:
33797         nanosleep mishandles sleeps for longer than 2**31 seconds.
33798         Problem reported by Frank v Waveren in
33799         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
33800         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
33801         Check for nanosleep bug.
33802         (LIB_NANOSLEEP): Append clock_gettime library if needed.
33803
33804 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33805
33806         Work around a bug in both the Linux and SunOS 64-bit kernels:
33807         nanosleep mishandles sleeps for longer than 2**31 seconds.
33808         Problem reported by Frank v Waveren in
33809         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
33810         * lib/nanosleep.c (BILLION): New constant.
33811         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
33812         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
33813         implementation.
33814
33815 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33816
33817         * modules/nanosleep (Depends-on): Add gettime.
33818
33819 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33820         and Simon Josefsson  <jas@extundo.com>
33821         and Oskar Liljeblad  <oskar@osk.mine.nu>
33822
33823         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
33824         * gnulib-tool (func_import): New license type 'unmodifiable license
33825         text'.
33826         * modules/fdl: Use it.  Longer description.
33827         * module/gpl, module/lgpl: New files.
33828
33829 2006-08-30  Jim Meyering  <jim@meyering.net>
33830
33831         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
33832         shadowing the parameter.
33833
33834 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33835
33836         Sync from Libtool:
33837
33838         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33839
33840         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
33841         sharing with gnulib.  Report by Eric Blake.
33842
33843 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33844
33845         * modules/isapipe: New file.
33846         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
33847
33848 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33849
33850         * modules/configmake (Makefile.am): Add a comment, and omit
33851         the CONFIGMAKE_ prefix from generated macro names.  Suggested
33852         by Bruno Haible.
33853
33854 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33855
33856         * m4/isapipe.m4: New file.
33857
33858 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33859
33860         * lib/isapipe.c, lib/isapipe.h: New files.
33861
33862 2006-08-29  Jim Meyering  <jim@meyering.net>
33863
33864         * modules/configmake (Makefile.am): Make configmake.h depend on
33865         Makefile.  Otherwise, a stale configmake.h could hang around.
33866
33867 2006-08-29  Eric Blake  <ebb9@byu.net>
33868
33869         * lib/error.c (error_at_line, print_errno_message): Match libc, after
33870         resolution of upstream bug 3044.
33871
33872 2006-08-29  Bruno Haible  <bruno@clisp.org>
33873
33874         * modules/localcharset (Depends-on): Add configmake.
33875         (Makefile.am): Remove setting of LIBDIR through DEFS.
33876
33877 2006-08-29  Bruno Haible  <bruno@clisp.org>
33878
33879         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
33880         defined.
33881
33882 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33883
33884         * modules/fcntl: New file.
33885         * modules/chdir-safer (Depends-on): Add fcntl.
33886         * modules/fts: Likewise.
33887         * modules/mkdir-p: Likewise.
33888
33889         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
33890         This undoes the most recent change, since we're now addressing the
33891         problem in a different way.
33892
33893         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
33894         into output, since the output might be called Makefile.am even
33895         if $makefile_name is something different.
33896         (func_import): Use $makefile_am rather than
33897         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
33898         empty.
33899
33900         * modules/inttypes (Files): Add m4/inttypes-h.m4.
33901
33902 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33903
33904         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
33905         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
33906         recent change to stdint.m4, since we're now addressing the problem in a
33907         different way.
33908
33909 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33910
33911         * m4/fcntl_h.m4: New file.
33912
33913 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33914
33915         * lib/fcntl_.h: New file.
33916         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
33917         the fcntl module.
33918         * lib/dirchownmod.c: Likewise.
33919         * lib/fts.c: Likewise.
33920
33921         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
33922         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
33923         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
33924         just before including <inttypes.h>, to avoid circular inclusion.
33925
33926 2006-08-28  Jim Meyering  <jim@meyering.net>
33927
33928         * doc/visibility.texi: Actually read and correct the grammar of the
33929         sentence affected by yesterday's change.
33930
33931 2006-08-28  Eric Blake  <ebb9@byu.net>
33932
33933         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
33934         needs wrapper.
33935
33936 2006-08-28  Eric Blake  <ebb9@byu.net>
33937
33938         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
33939
33940 2006-08-28  Eric Blake  <ebb9@byu.net>
33941
33942         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
33943
33944 2006-08-28  Bruno Haible  <bruno@clisp.org>
33945
33946         * modules/c-strstr: New file, from GNU gettext.
33947         * MODULES.html.sh (String handling): Add c-strstr.
33948
33949 2006-08-28  Bruno Haible  <bruno@clisp.org>
33950
33951         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
33952         macros.
33953         Reported by Eric Blake.
33954
33955 2006-08-28  Bruno Haible  <bruno@clisp.org>
33956
33957         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
33958         (VASNPRINTF): Return a string of length > INT_MAX without failing.
33959         * lib/vasprintf.c: Include errno.h, limits.h.
33960         (EOVERFLOW): New fallback definition.
33961         (vasprintf): Test here whether the string length is > INT_MAX.
33962         * lib/vsnprintf.c: Include errno.h, limits.h.
33963         (EOVERFLOW): New fallback definition.
33964         (vsnprintf): Fix bug when generated string was too long for the buffer.
33965         Test here whether the string length is > INT_MAX.
33966
33967 2006-08-28  Bruno Haible  <bruno@clisp.org>
33968
33969         * lib/inttypes_.h (SCNX*): Remove definitions.
33970         Reported by Eric Blake.
33971
33972 2006-08-28  Bruno Haible  <bruno@clisp.org>
33973
33974         * lib/c-strstr.h: New file, from GNU gettext.
33975         * lib/c-strstr.c: New file, from GNU gettext.
33976
33977 2006-08-28  Bruno Haible  <bruno@clisp.org>
33978
33979         * gnulib-tool: Reorder some statements.
33980
33981 2006-08-28  Bruno Haible  <bruno@clisp.org>
33982
33983         * gnulib-tool: New option --makefile-name.
33984         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
33985         $makefile_name.
33986         (func_import): Write $makefile_name to the cache file, and read it from
33987         there unless explicitly specified. Use $makefile_name as file name
33988         instead of Makefile.am. Adjust the recommendations accordingly.
33989
33990 2006-08-28  Bruno Haible  <bruno@clisp.org>
33991
33992         * gnulib-tool (func_verify_module): Check against misapplying patch.
33993
33994 2006-08-28  Bruno Haible  <bruno@clisp.org>
33995
33996         * gnulib-tool (func_relativize, func_relconcat): New functions.
33997         Give an error if --local-dir is given with --update.
33998         Remove trailing slashes from $local_gnulib_dir.
33999         (func_import): Store the relativized $local_gnulib_dir in
34000         gnulib-cache.m4, and read it from there if not specified explicitly.
34001
34002 2006-08-28  Bruno Haible  <bruno@clisp.org>
34003
34004         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
34005         is the current directory. Respect also $local_gnulib_dir.
34006
34007 2006-08-28  Bruno Haible  <bruno@clisp.org>
34008             Simon Josefsson  <jas@extundo.com>
34009
34010         BeOS portability.
34011         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
34012
34013 2006-08-27  Jim Meyering  <jim@meyering.net>
34014
34015         * doc/visibility.texi: Remove duplicate word: "pointer".
34016
34017 2006-08-26  Bruno Haible  <bruno@clisp.org>
34018
34019         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
34020         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
34021         (Makefile.am): Create inttypes.h from inttypes_.h.
34022         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
34023
34024         * modules/imaxabs: New file.
34025
34026         * modules/imaxdiv: New file.
34027
34028 2006-08-26  Bruno Haible  <bruno@clisp.org>
34029
34030         * m4/inttypes.m4: New file.
34031         * m4/_inttypes_h.m4: Remove file.
34032         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
34033         PRI_MACROS_BROKEN.
34034         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
34035
34036         * m4/imaxabs.m4: New file.
34037
34038         * m4/imaxdiv.m4: New file.
34039
34040 2006-08-26  Bruno Haible  <bruno@clisp.org>
34041
34042         * lib/inttypes_.h: New file.
34043         * lib/inttypes.h: Remove file.
34044         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
34045
34046         * lib/imaxabs.c: New file.
34047
34048         * lib/imaxdiv.c: New file.
34049
34050 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
34051
34052         New config-h module, so that "make" output needn't be cluttered
34053         by -DHAVE_CONFIG_H.
34054         * MODULES.html.sh (Support for building libraries and executables):
34055         Add config-h.
34056         * modules/config-h: New file.
34057         * gnulib-tool (nl, sed_transform_lib_file): New vars.
34058         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
34059         the config-h module is used.
34060
34061         New configmake module, so that "make" output needn't be cluttered
34062         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
34063         * MODULES.html.sh (Support for building libraries and executables):
34064         Add configmake.
34065         * modules/configmake: New file.
34066
34067 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
34068
34069         * m4/config-h.m4: New file.
34070
34071 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
34072
34073         * config/srclist.txt: Add elisp-comp.
34074
34075 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
34076
34077         * MODULES.html.sh (Support for building libraries and executables):
34078         Add elisp-comp.
34079         * build-aux/elisp-comp: New file.
34080         * modules/elisp-comp: New file.
34081
34082 2006-08-24  Bruno Haible  <bruno@clisp.org>
34083
34084         * gnulib-tool (func_create_testdir): Use non-default values of
34085         sourcebase and m4base.
34086
34087 2006-08-24  Bruno Haible  <bruno@clisp.org>
34088
34089         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
34090         HTML structure.
34091
34092 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34093
34094         * modules/openat (Depends-on): Add lchown.
34095
34096 2006-08-23  Bruno Haible  <bruno@clisp.org>
34097
34098         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
34099         of gl_LOCK_EARLY instead of gl_LOCK.
34100
34101 2006-08-23  Bruno Haible  <bruno@clisp.org>
34102
34103         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
34104         on OSF/1 to no.
34105         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
34106
34107 2006-08-23  Bruno Haible  <bruno@clisp.org>
34108
34109         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
34110         as unusable.
34111
34112         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
34113         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
34114         (gl_LOCK): New macro.
34115
34116 2006-08-22  Simon Josefsson  <jas@extundo.com>
34117
34118         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
34119         to md5 module.
34120
34121 2006-08-22  Simon Josefsson  <jas@extundo.com>
34122
34123         * MODULES.html.sh: Add "Support for maintaining and release
34124         projects".
34125
34126         * build-aux/gnupload: New file, from coreutils.
34127
34128 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34129
34130         Avoid the need for AC_LIBSOURCES in m4 macros.
34131         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
34132         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
34133         * modules/check-version (EXTRA_DIST): Add check-version.h.
34134         * modules/crc (EXTRA_DIST): Add crc.h.
34135         * modules/des (EXTRA_DIST): Add des.h.
34136         * modules/gc (EXTRA_DIST): Add gc.h.
34137         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
34138         * modules/getline (EXTRA_DIST): Add getline.h.
34139         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
34140         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
34141         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
34142         * modules/md2 (EXTRA_DIST): Add md2.h.
34143         * modules/md4 (EXTRA_DIST): Add md4.h.
34144         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
34145         * modules/read-file (EXTRA_DIST): Add read-file.h.
34146         * modules/readline (EXTRA_DIST): Add readline.h.
34147         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
34148         rijndael-api-fst.h.
34149
34150 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34151
34152         * m4/rijndael.m4 (gl_ARCFOUR):
34153         * m4/arctwo.m4 (gl_ARCTWO):
34154         * m4/check-version.m4 (gl_CHECK_VERSION):
34155         * m4/crc.m4 (gl_CRC):
34156         * m4/des.m4 (gl_DES):
34157         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
34158         * m4/gc.m4 (gl_GC):
34159         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
34160         * m4/getline.m4 (gl_FUNC_GETLINE):
34161         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
34162         * m4/hmac-md5.m4 (gl_HMAC_MD5):
34163         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
34164         * m4/md2.m4 (gl_MD2):
34165         * m4/md4.m4 (gl_MD4):
34166         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
34167         * m4/read-file.m4 (gl_FUNC_READ_FILE):
34168         * m4/readline.m4 (gl_FUNC_READLINE):
34169         * m4/rijndael.m4 (gl_RIJNDAEL):
34170         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
34171         to get the necessary .h files and whatnot.
34172
34173 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
34174
34175         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
34176         gnulib rather than the other way around.
34177         * config/srclistvars.sh (COREUTILS): Remove.
34178
34179 2006-08-22  Jim Meyering  <jim@meyering.net>
34180
34181         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
34182
34183         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
34184
34185 2006-08-22  Eric Blake  <ebb9@byu.net>
34186
34187         * modules/regexprops-generic: New file.
34188         * MODULES.html.sh (Support for building documentation): List it.
34189
34190 2006-08-22  Eric Blake  <ebb9@byu.net>
34191
34192         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
34193         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
34194         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
34195         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
34196
34197 2006-08-22  Bruno Haible  <bruno@clisp.org>
34198
34199         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
34200         and lib_LTLIBRARIES like the other lib_* variables.
34201
34202 2006-08-22  Bruno Haible  <bruno@clisp.org>
34203
34204         * build-aux/x-to-1.in: New file, from GNU gettext.
34205
34206 2006-08-22  Bruno Haible  <bruno@clisp.org>
34207
34208         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
34209         <utmpx.h> exists.
34210
34211 2006-08-22  Bruno Haible  <bruno@clisp.org>
34212
34213         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
34214         <utmpx.h> exists.
34215
34216 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34217
34218         BeOS portability.
34219         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
34220         exist.
34221         Problem reported by Bruno Haible.
34222
34223 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34224
34225         Avoid the need for AC_LIBSOURCES in m4 macros.
34226         * modules/acl (EXTRA_DIST): Add acl.h.
34227         * modules/argmatch (Files): Add m4/argmatch.m4.
34228         (configure.ac): Add gl_ARGMATCH.
34229         (EXTRA_DIST): Renamed from lib_SOURCES, for
34230         consistency with the other modules.  Remove argmatch.c.
34231         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
34232         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
34233         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
34234         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
34235         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
34236         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
34237         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
34238         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
34239         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
34240         * modules/closeout (EXTRA_DIST): Add closeout.h.
34241         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
34242         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
34243         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
34244         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
34245         dirname.h; remove basename.c and stripslash.c.
34246         * modules/exclude (EXTRA_DIST): Add exclude.h.
34247         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
34248         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
34249         * modules/file-type (EXTRA_DIST): Add file-type.h.
34250         * modules/filemode (EXTRA_DIST): Add filemode.h.
34251         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
34252         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
34253         * modules/fpending (EXTRA_DIST): Add __fpending.h.
34254         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
34255         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
34256         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
34257         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
34258         * modules/getdate (EXTRA_DIST): Add getdate.c.
34259         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
34260         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
34261         * modules/getpass (EXTRA_DIST): Add getpass.h.
34262         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
34263         * modules/group-member (EXTRA_DIST): Add group-member.h.
34264         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
34265         * modules/hash (EXTRA_DIST): Add hash.h.
34266         * modules/human (EXTRA_DIST): Add human.h.
34267         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
34268         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
34269         * modules/lchown (EXTRA_DIST): Add lchown.h.
34270         * modules/long-options (EXTRA_DIST): Add long-options.h.
34271         * modules/lstat (EXTRA_DIST): Add lstat.h.
34272         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
34273         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
34274         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
34275         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
34276         * modules/memxor (EXTRA_DIST): Add memxor.h.
34277         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
34278         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
34279         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
34280         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
34281         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
34282         * modules/physmem (EXTRA_DIST): Add physmem.h.
34283         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
34284         * modules/posixver (EXTRA_DIST): Add posixver.h.
34285         * modules/quote (EXTRA_DIST): Add quote.h.
34286         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
34287         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
34288         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
34289         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
34290         regex_internal.h regexec.c.
34291         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
34292         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
34293         * modules/same (EXTRA_DIST): Add same.h.
34294         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
34295         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
34296         * modules/savedir (EXTRA_DIST): Add savedir.h.
34297         * modules/sha1 (EXTRA_DIST): Add sha1.h.
34298         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
34299         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
34300         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
34301         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
34302         * modules/strdup (EXTRA_DIST): Add strdup.h.
34303         * modules/strftime (EXTRA_DIST): Add strftime.h.
34304         * modules/strndup (EXTRA_DIST): Add strndup.h.
34305         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
34306         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
34307         * modules/time_r (EXTRA_DIST): Add time_r.h.
34308         * modules/timespec (EXTRA_DIST): Add timespec.h.
34309         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
34310         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
34311         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
34312         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
34313         * modules/userspec (EXTRA_DIST): Add userspec.h.
34314         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
34315         * modules/utimens (EXTRA_DIST): Add utimens.h.
34316         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
34317         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
34318         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
34319         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
34320         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
34321         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
34322         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
34323         * modules/yesno (EXTRA_DIST): Add yesno.h.
34324
34325 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
34326
34327         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
34328
34329         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
34330         * m4/dev-ino.m4, same-inode.m4: Remove.
34331
34332         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
34333         * m4/acl.m4 (AC_FUNC_ACL):
34334         * m4/backupfile.m4 (gl_BACKUPFILE):
34335         * m4/c-strtod.m4 (gl_C99_STRTOLD):
34336         * m4/canon-host.m4 (gl_CANON_HOST):
34337         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
34338         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
34339         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
34340         * m4/cloexec.m4 (gl_CLOEXEC):
34341         * m4/close-stream.m4 (gl_CLOSE_STREAM):
34342         * m4/closeout.m4 (gl_CLOSEOUT):
34343         * m4/dirfd.m4 (gl_FUNC_DIRFD):
34344         * m4/dirname.m4 (gl_DIRNAME):
34345         * m4/exclude.m4 (gl_EXCLUDE):
34346         * m4/exitfail.m4 (gl_EXITFAIL):
34347         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
34348         * m4/file-type.m4 (gl_FILE_TYPE):
34349         * m4/filemode.m4 (gl_FILEMODE):
34350         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
34351         * m4/fpending.m4 (gl_FUNC_FPENDING):
34352         * m4/fprintftime.m4 (gl_FPRINTFTIME):
34353         * m4/fts.m4 (gl_FUNC_FTS):
34354         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
34355         * m4/getdate.m4 (gl_GETDATE):
34356         * m4/gethrxtime.m4 (gl_GETHRXTIME):
34357         * m4/getpagesize.m4 (gl_GETPAGESIZE):
34358         * m4/getpass.m4 (gl_FUNC_GETPASS):
34359         * m4/gettime.m4 (gl_GETTIME):
34360         * m4/getugroups.m4 (gl_GETUGROUPS):
34361         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
34362         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
34363         * m4/hard-locale.m4 (gl_HARD_LOCALE):
34364         * m4/hash.m4 (gl_HASH):
34365         * m4/idcache.m4 (gl_IDCACHE):
34366         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
34367         * m4/lchown.m4 (gl_FUNC_LCHOWN):
34368         * m4/long-options.m4 (gl_LONG_OPTIONS):
34369         * m4/lstat.m4 (gl_FUNC_LSTAT):
34370         * m4/md5.m4 (gl_MD5):
34371         * m4/memcasecmp.m4 (gl_MEMCASECMP):
34372         * m4/memcoll.m4 (gl_MEMCOLL):
34373         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
34374         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
34375         * m4/memxor.m4 (gl_MEMXOR):
34376         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
34377         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
34378         * m4/modechange.m4 (gl_MODECHANGE):
34379         * m4/mountlist.m4 (gl_MOUNTLIST):
34380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
34381         * m4/openat.m4 (gl_FUNC_OPENAT):
34382         * m4/pathmax.m4 (gl_PATHMAX):
34383         * m4/physmem.m4 (gl_PHYSMEM):
34384         * m4/posixtm.m4 (gl_POSIXTM):
34385         * m4/posixver.m4 (gl_POSIXVER):
34386         * m4/quote.m4 (gl_QUOTE):
34387         * m4/quotearg.m4 (gl_QUOTEARG):
34388         * m4/readtokens.m4 (gl_READTOKENS):
34389         * m4/readutmp.m4 (gl_READUTMP):
34390         * m4/regex.m4 (gl_REGEX):
34391         * m4/safe-read.m4 (gl_SAFE_READ):
34392         * m4/safe-write.m4 (gl_SAFE_WRITE):
34393         * m4/same.m4 (gl_SAME):
34394         * m4/save-cwd.m4 (gl_SAVE_CWD):
34395         * m4/savedir.m4 (gl_SAVEDIR):
34396         * m4/settime.m4 (gl_SETTIME):
34397         * m4/sha1.m4 (gl_SHA1):
34398         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
34399         * m4/stat-macros.m4 (gl_STAT_MACROS):
34400         * m4/stat-time.m4 (gl_STAT_TIME):
34401         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
34402         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
34403         * m4/strdup.m4 (gl_FUNC_STRDUP):
34404         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
34405         * m4/strndup.m4 (gl_FUNC_STRNDUP):
34406         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
34407         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
34408         * m4/time_r.m4 (gl_TIME_R):
34409         * m4/timespec.m4 (gl_TIMESPEC):
34410         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
34411         * m4/unlinkdir.m4 (gl_UNLINKDIR):
34412         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
34413         * m4/userspec.m4 (gl_USERSPEC):
34414         * m4/utimecmp.m4 (gl_UTIMECMP):
34415         * m4/utimens.m4 (gl_UTIMENS):
34416         * m4/xalloc.m4 (gl_XALLOC):
34417         * m4/xgetcwd.m4 (gl_XGETCWD):
34418         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
34419         * m4/xreadlink.m4 (gl_XREADLINK):
34420         * m4/xstrtod.m4 (gl_XSTRTOD):
34421         * m4/yesno.m4 (gl_YESNO):
34422         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
34423         to get the necessary .h files and whatnot.
34424
34425 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
34426             Bruno Haible  <bruno@clisp.org>
34427
34428         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
34429         /bin/sh understanding of '!' conditional negation.
34430
34431 2006-08-21  Jim Meyering  <jim@meyering.net>
34432
34433         * modules/openat (Depends-on): Really alphabetize.
34434
34435         * modules/acl (Depends-on): Add error and quote.
34436
34437         * check-module (find_included_lib_files): Add at-func.c to the
34438         ok-to-include-more-than-once white list.
34439
34440         * modules/openat (Depends-on): Add lstat.  Alphabetize.
34441
34442 2006-08-21  Bruno Haible  <bruno@clisp.org>
34443
34444         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34445         Emit a pkgdata_DATA variable only if some snippets add contents to it.
34446         Reported by Martin Lambers <marlam@marlam.de>.
34447
34448 2006-08-21  Bruno Haible  <bruno@clisp.org>
34449
34450         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
34451         specify an installation location, don't emit a noinst_LIBRARIES or
34452         noinst_LTLIBRARIES assignment.
34453
34454 2006-08-21  Bruno Haible  <bruno@clisp.org>
34455
34456         BeOS portability.
34457         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
34458         BeOS has mbrtowc() but no <wctype.h>.
34459
34460 2006-08-21  Bruno Haible  <bruno@clisp.org>
34461
34462         BeOS portability.
34463         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
34464         exist.
34465
34466 2006-08-21  Bruno Haible  <bruno@clisp.org>
34467
34468         BeOS portability.
34469         * lib/mbchar.h: Include <wctype.h> only if it exists.
34470
34471 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
34472
34473         Remove files that are no longer needed by their respective modules.
34474         * m4/obstack.m4: Remove.
34475         * m4/strerror_r.m4: Remove.
34476         * m4/uint32_t.m4: Remove.
34477         * m4/uintptr_t.m4: Remove.
34478         * m4/ullong_max.m4: Remove.
34479         * m4/xstrtoimax.m4: Remove.
34480         * m4/xstrtoumax.m4: Remove.
34481
34482         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
34483         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
34484         dependencies now capture this.
34485
34486         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
34487         Do not use AC_LIBSOURCES, since gnulib modules now do this.
34488         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
34489         * m4/human.m4 (gl_HUMAN): Likewise.
34490         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
34491         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
34492
34493         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
34494
34495         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
34496         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
34497         stdint.
34498         * m4/human.m4 (gl_HUMAN): Likewise.
34499         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
34500         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
34501         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
34502         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
34503         * m4/xstrtol (gl_XSTRTOL): Likewise.
34504
34505         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
34506         AC_TYPE_LONG_LONG_INT.
34507         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
34508         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
34509         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
34510         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
34511
34512         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
34513         on stdbool.
34514
34515         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
34516         (gl_PREREQ_XSTRTOUL): Remove.
34517
34518         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
34519
34520         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
34521         mode.
34522
34523 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
34524
34525         Add and change modules to make it easier for coreutils to use
34526         gnulib-tool.
34527         * modules/backupfile (Files): Remove m4/d-ino.m4.
34528         (Depends-on): Add d-ino.
34529         * modules/cycle-check (Depends-on): Add stdint.
34530         (lib_SOURCES): Add cycle-check.h.
34531         * modules/d-ino: New module.
34532         * modules/d-type: New module.
34533         * modules/error (Files): Remove m4/strerror_r.m4.
34534         * modules/filemode (Files): Add m4/st_dm_mode.m4.
34535         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
34536         m4/inttypes_h.m4, m4/uintmax_t.m4.
34537         (Depends-on): Add stdint.
34538         (lib_SOURCES): Add fsusage.h.
34539         * modules/getcwd (Files): Remove d-ino.m4.
34540         (Depends-on): Add d-ino.
34541         * modules/getndelim2 (Depends-on): Add stdint.
34542         * modules/glob (Files): Remove m4/d-type.m4.
34543         (Depends-on): Add d-type.
34544         * modules/host-os: New module.
34545         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
34546         m4/inttypes_h.m4, m4/uintmax_t.m4.
34547         * Depends-on: Add stdint.
34548         (lib_SOURCES): Add human.h.
34549         * modules/inttostr (Files): Remove m4/intmax_t.m4,
34550         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
34551         m4/uintmax_t.m4, m4/ulonglong.m4.
34552         (Depends-on): Add stdint.
34553         (EXTRA_DIST): Add inttostr.h.
34554         * modules/lchmod: New module.
34555         * modules/link-follow: New module.
34556         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
34557         (Depends-on): Add lchmod.
34558         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
34559         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
34560         (Depends-on): Add stdint.
34561         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
34562         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
34563         (Depends-on): Add stdint.
34564         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
34565         * modules/perl: New module.
34566         * modules/regex (Depends-on): Add stdint.
34567         * modules/rmdir-errno: New module.
34568         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
34569         m4/intmax_t.m4.
34570         (Depends-on): Add stdint.
34571         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
34572         m4/uintmax_t.m4.
34573         (Depends-on): Add stdint.
34574         * modules/unlink-busy: New module.
34575         * modules/utimecmp (Depends-on): Add stdint.
34576         * modules/uptime: New module.
34577         * modules/winsz-ioctl: New module.
34578         * modules/winsz-termios: New module.
34579         * modules/xnanosleep (Depends-on): Add nanosleep.
34580         * modules/ullong_max: Remove.
34581         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
34582         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
34583         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
34584         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
34585         (Depends-on): Add inttypes.
34586         (lib_SOURCES): Add xstrtol.h.
34587         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
34588         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
34589         * MODULES.html.sh: Move 'assert' into the assert section.
34590         Move 'dummy' into the linking section.
34591         Remove ullong_max.
34592         Add section for compatibility checks for POSIX:2001 functions,
34593         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
34594         winsz-ioctl, and winsz-termios into it.
34595         Add lchmod.
34596         Add top-level Misc section and put host-os, perl, and uptime
34597         into it.
34598
34599 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
34600
34601         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
34602         now assume the stdint module.  Do not include inttypes.h.
34603         * lib/fsusage.h: Likewise.
34604         * lib/getndelim2.c: Likewise.
34605         * lib/human.h: Likewise.
34606         * lib/inttostr.h: Likewise.
34607         * lib/obstack.c: Likewise.
34608         * lib/regex_internal.h: Likewise.
34609         * lib/tempname.c: Likewise.
34610         * lib/utimecmp.c: Likewise.
34611         * lib/xstrtol.h: Likewise.
34612
34613         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
34614
34615         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
34616         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
34617         * lib/xtime.h: Likewise.
34618
34619 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
34620
34621         * modules/openat (Files): Add lib/fchmodat.c.
34622         Fixes problem reported by Jay Youngman.
34623
34624 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
34625
34626         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
34627         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
34628
34629 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
34630             Bruno Haible  <bruno@clisp.org>
34631
34632         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
34633         and is a script that invokes bison. Tighten the code. Add comments.
34634
34635 2006-08-18  Jim Meyering  <jim@meyering.net>
34636
34637         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
34638         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
34639         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
34640         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
34641
34642 2006-08-18  Bruno Haible  <bruno@clisp.org>
34643
34644         * modules/bison-i18n: New file.
34645         * MODULES.html.sh (Internationalization functions): Add it.
34646
34647 2006-08-18  Bruno Haible  <bruno@clisp.org>
34648
34649         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
34650         sys/statvfs.h. When getmntinfo was found, check its declaration and
34651         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
34652
34653 2006-08-18  Bruno Haible  <bruno@clisp.org>
34654
34655         * m4/bison-i18n.m4: New file, from bison.
34656
34657 2006-08-18  Bruno Haible  <bruno@clisp.org>
34658
34659         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
34660         (ME_DUMMY): Treat "kernfs" as a dummy.
34661         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
34662
34663 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
34664
34665         Update from coreutils.
34666
34667         2006-08-15  Jim Meyering  <jim@meyering.net>
34668
34669         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
34670
34671         2006-01-17  Jim Meyering  <jim@meyering.net>
34672
34673         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
34674
34675         2006-01-11  Jim Meyering  <jim@meyering.net>
34676
34677         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
34678         Check for the lchmod function.
34679
34680 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
34681
34682         Update from coreutils.
34683
34684         * lib/__fpending.h: Add copyright notice.
34685         * lib/fprintftime.h: Likewise.
34686         * lib/savedir.c: Use (C) in copyright notice.
34687         * lib/savedir.h: Likewise.
34688
34689         2006-08-15  Jim Meyering  <jim@meyering.net>
34690
34691         * lib/at-func.c: New file, with the logic of all emulated at-functions.
34692         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
34693         in support of the EXPECTED_ERRNO macro.
34694         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
34695         definitions.  Instead, define the appropriate symbols and include
34696         "at-func.c".
34697         * lib/mkdirat.c (mkdirat): Likewise.
34698         * lib/fchmodat.c (fchmodat): Likewise.
34699         (ENOSYS): Remove definition.
34700         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
34701         it.  Don't include "unistd--.h" -- it wasn't ever used.
34702
34703         2006-01-17  Jim Meyering  <jim@meyering.net>
34704
34705         Rewrite fts.c not to change the current working directory,
34706         by using openat, fstatat, fdopendir, etc..
34707
34708         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
34709         (HAVE_OPENAT_SUPPORT): Define.
34710         [_LIBC] (fchdir): Don't undef or define; no longer used.
34711         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
34712         Now, this `function' always succeeds, and consumes its file descriptor
34713         parameter -- so callers must not close such FDs.  Update callers.
34714         (diropen_fd, opendirat, cwd_advance_fd): New functions.
34715         (diropen): Add parameter, SP.  Adjust all callers.
34716         Implement using diropen_fd, rather than open.
34717         (fts_open): Initialize new member, fts_cwd_fd.
34718         Remove fts_rft-setting code.
34719         (fts_close): Close fts_cwd_fd, if necessary.
34720         (__opendir2): Define in terms of opendir or opendirat,
34721         depending on whether the FST_NOCHDIR flag is set.
34722         (fts_build): Since fts_safe_changedir consumes its FD, and since
34723         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
34724         and close the dup'd file descriptor upon failure.
34725         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
34726         (fts_safe_changedir): Tweak semantics to reflect that this function
34727         now calls cwd_advance_fd and hence consumes its FD argument.
34728         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
34729         [struct FTS] (fts_rft): Remove now-unused member.
34730         [struct FTS] (fts_cycle.state): Improve comment.
34731
34732         * lib/openat.c (openat_needs_fchdir): New function.
34733         * lib/openat.h (openat_needs_fchdir): Declare it.
34734
34735 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
34736
34737         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
34738         Problem and fix reported by Pádraig Brady in
34739         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
34740
34741 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
34742
34743         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
34744
34745 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
34746
34747         * lib/memcoll.c (memcoll): Optimize for the common case where the
34748         arguments are bytewise equal.
34749
34750 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
34751
34752         * doc/regexprops-generic.texi: Add a copyright notice.
34753
34754 2006-08-15  Bruno Haible  <bruno@clisp.org>
34755
34756         * modules/tmpdir (License): Change to LGPL.
34757
34758 2006-08-15  Bruno Haible  <bruno@clisp.org>
34759
34760         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
34761         module.
34762
34763 2006-08-14  Simon Josefsson  <jas@extundo.com>
34764
34765         * config/srclist.txt: Add gnupload.
34766
34767 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34768
34769         Change copyright notice from LGPL 2 to GPL 2, since that's the
34770         standard form used in the gnulib repository.
34771         * tests/test-lock.c: Likewise.
34772         * tests/test-stdint.c: Likewise.
34773         * tests/test-tls.c: Likewise.
34774
34775         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
34776         prelude-manager.  User shorter URLs for GNU projects, without '?'.
34777         Add copyright notice.
34778
34779         * check-module: Add copyright notice.  Output a copyright
34780         notice if "--version" is specified.
34781         * modules/COPYING: New file.
34782         * tests/test-getaddrinfo.c: Add copyright notice.
34783         * tests/test-verify.c: Likewise.
34784
34785 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34786
34787         Change copyright notice from LGPL 2 to GPL 2, since that's the
34788         standard form used in the gnulib repository.
34789         * lib/lock.c: LGPL -> GPL.
34790         * lib/lock.h: Likewise.
34791         * lib/strnlen1.c: Likewise.
34792         * lib/strnlen1.h: Likewise.
34793         * lib/tls.c: Likewise.
34794         * lib/tls.h: Likewise.
34795         * lib/tmpdir.c: Likewise.
34796
34797         * lib/TODO: Remove; this belongs only in coreutils.
34798
34799 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34800
34801         Add copyright notices to long-enough files that lack them, since
34802         otherwise the files aren't clearly free.  Use the same notice that
34803         getdate.texi already uses.
34804         * doc/alloca-opt.texi: Add copyright notice.
34805         * doc/alloca.texi: Likewise.
34806         * doc/ctime.texi: Likewise.
34807         * doc/functions.texi: Likewise.
34808         * doc/gcd.texi: Likewise.
34809         * doc/gnulib-tool.texi: Likewise.
34810         * doc/inet_ntoa.texi: Likewise.
34811         * doc/visibility.texi: Likewise.
34812
34813         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
34814         * doc/quote.texi: Add copyright notice.
34815
34816         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
34817         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
34818         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
34819         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
34820         is now obsolete, and give a pointer to the Sun list.
34821         Add copyright notice.
34822
34823 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34824
34825         * config/srclistvars.sh: Add copyright notice.
34826
34827 2006-08-14  Eric Blake  <ebb9@byu.net>
34828
34829         Import the following change from libc:
34830
34831         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
34832
34833         Upstream bug 2997.
34834         * lib/misc/error.c: Add space between program name and message if file
34835         name is missing.
34836
34837 2006-08-12  Karl Berry  <karl@gnu.org>
34838
34839         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
34840         remove, these originate in gnulib now.
34841
34842 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34843
34844         * doc/Makefile (standards.info standards.html standards.dvi):
34845         Also depend on make-stds.texi.
34846
34847 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34848
34849         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
34850         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
34851
34852         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
34853         in wchar_t.  Problem reported by Eric Blake.
34854
34855         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
34856         LEN is smaller than SIZE.  Suggested by Bruno Haible.
34857         Also, help the compiler to keep LEN in a register.
34858
34859 2006-08-11  Eric Blake  <ebb9@byu.net>
34860
34861         * users.txt: Sort.  Add tar.
34862
34863 2006-08-11  Bruno Haible  <bruno@clisp.org>
34864
34865         * users.txt: New file.
34866
34867 2006-08-11  Bruno Haible  <bruno@clisp.org>
34868
34869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
34870         before <wchar.h>. Needed for OSF/1 and BSD/OS.
34871
34872 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34873
34874         * modules/snprintf (Depends-on): Remove minmax.
34875         (Maintainer): Add self and Bruno.
34876
34877 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34878
34879         * lib/.cppi-disable: Add snprintf.h, socket_.h.
34880         * lib/snprintf.c: Include <errno.h> and <limits.h>.
34881         (EOVERFLOW): Define if the system does not.
34882         Do not include "minmax.h"; it wasn't used.
34883         (snprintf): Don't assume size_t promotes to an unsigned type.
34884         Fix bug when generated string was too long for the buffer: the
34885         buffer's contents are supposed to be the initial prefix of the
34886         output.  Don't assume vasnprintf returns EOVERFLOW if the size
34887         exceeds INT_MAX; do the check ourselves.
34888
34889         Import the following changes from libc:
34890
34891         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
34892
34893         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
34894         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
34895         set wc to the byte which couldn't be converted.
34896         (re_string_reconstruct): Don't clear valid_raw_len before calling
34897         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
34898         tip_context using re_string_context_at.
34899
34900         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
34901
34902         * lib/posix/regex.h: g++ still cannot handled [restrict].
34903
34904         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
34905
34906         * lib/posix/regex.h: Remove special handling for VMS.
34907
34908 2006-08-10  Jim Meyering  <jim@meyering.net>
34909
34910         * modules/same-inode: New module.
34911         * modules/dev-ino: New module.
34912         * modules/cycle-check: Depend on these modules, rather than simply
34913         including their .h files.
34914         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
34915         required via m4/cycle-check.m4.
34916         * modules/same: Depend on new same-inode module, rather than
34917         including same-inode.h.
34918         * modules/chdir-safer: New file.
34919
34920         * modules/chown (Depends-on): Add stat-macros.
34921
34922 2006-08-10  Jim Meyering  <jim@meyering.net>
34923
34924         * m4/cycle-check.m4: New file.
34925         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
34926         * m4/dev-ino.m4, m4/same-inode.m4: New files.
34927
34928 2006-08-10  Eric Blake  <ebb9@byu.net>
34929
34930         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
34931         in from original proposal.
34932
34933 2006-08-10  Eric Blake  <ebb9@byu.net>
34934         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34935
34936         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
34937         namespace.
34938
34939 2006-08-10  Bruno Haible  <bruno@clisp.org>
34940
34941         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
34942         as well.
34943
34944 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34945
34946         Sync from coreutils.
34947
34948         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
34949
34950         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
34951         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
34952
34953 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34954
34955         * modules/restrict: Remove; no longer needed now that we assume
34956         Autoconf 2.59 or later.
34957         * MODULES.html.sh: Remove 'restrict'.
34958         * modules/argp (Depends-on): Remove 'restrict'.
34959         * modules/base64 (Depends-on): Likewise.
34960         * modules/gc (Depends-on): Likewise.
34961         * modules/getaddrinfo (Depends-on): Likewise.
34962         * modules/glob (Depends-on): Likewise.
34963         * modules/inet_ntop (Depends-on): Likewise.
34964         * modules/inet_pton (Depends-on): Likewise.
34965         * modules/memxor (Depends-on): Likewise.
34966         * modules/regex (Depends-on): Likewise.
34967         * modules/strtok_r (Depends-on): Likewise.
34968         * modules/time_r (Depends-on): Likewise.
34969
34970 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
34971
34972         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
34973         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
34974         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
34975         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
34976         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
34977         * m4/memxor.m4 (gl_MEMXOR): Likewise.
34978         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
34979         gl_C_RESTRICT replaced by AC_C_RESTRICT.
34980
34981         Merge from coreutils.
34982         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
34983         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
34984         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
34985         * m4/time_r.m4 (gl_TIME_R): Likewise.
34986
34987 2006-08-09  Karl Berry  <karl@gnu.org>
34988
34989         * config/srclist.txt: no more gettext-tools, per Bruno.
34990
34991 2006-08-08  Eric Blake  <ebb9@byu.net>
34992
34993         * modules/verror: New module.
34994         * MODULES.html.sh: Document it.
34995
34996 2006-08-08  Eric Blake  <ebb9@byu.net>
34997
34998         * lib/verror.h, lib/verror.c: New files.
34999
35000 2006-08-08  Eric Blake  <ebb9@byu.net>
35001
35002         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
35003         verror_at_line output complies with GNU Coding Standards even when
35004         file is NULL.
35005
35006 2006-08-07  Bruno Haible  <bruno@clisp.org>
35007
35008         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
35009         versions of AIX.
35010         Reported by Ralf Wildenhues.
35011
35012 2006-08-07  Bruno Haible  <bruno@clisp.org>
35013
35014         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
35015         in an AC_DEFUN. Needed so that the autoconf snippets can use
35016         AC_REQUIRE.
35017
35018 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35019
35020         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35021         Initialize pkgdata_DATA.
35022         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
35023         overriding it.
35024
35025 2006-08-06  Eric Blake  <ebb9@byu.net>
35026
35027         * lib/error.h: Fold in some upstream changes from glibc.
35028         * lib/error.c: Likewise.
35029
35030 2006-08-04  Bruno Haible  <bruno@clisp.org>
35031
35032         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35033         Make the mostlyclean-local rule depend on mostlyclean-generic.
35034         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
35035
35036 2006-07-31  Bruno Haible  <bruno@clisp.org>
35037
35038         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
35039         <stdlib.h>, <string.h>.
35040
35041 2006-07-30  Bruno Haible  <bruno@clisp.org>
35042
35043         * modules/readlink (License): Change to LGPL.
35044
35045 2006-07-30  Bruno Haible  <bruno@clisp.org>
35046
35047         * modules/javaversion (Makefile.am): Distribute javaversion.java and
35048         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
35049         set PKGDATADIR to point to it.
35050
35051 2006-07-30  Bruno Haible  <bruno@clisp.org>
35052
35053         * modules/csharpexec (configure.ac): Comment out macro invocation.
35054         * modules/javaexec (configure.ac): Likewise.
35055         * modules/javacomp-script (configure.ac): Likewise.
35056
35057         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
35058
35059 2006-07-30  Bruno Haible  <bruno@clisp.org>
35060
35061         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
35062         linked-list.
35063
35064 2006-07-30  Bruno Haible  <bruno@clisp.org>
35065
35066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
35067
35068 2006-07-30  Bruno Haible  <bruno@clisp.org>
35069
35070         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35071         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
35072         get removed.
35073
35074 2006-07-29  Bruno Haible  <bruno@clisp.org>
35075
35076         Make it possible for gnulib-tool to work with locally modified or
35077         augmented gnulib repositories.
35078         * gnulib-tool (func_usage): Document --local-dir option.
35079         (local_gnulib_dir): New variable.
35080         Handle --local-dir option.
35081         (func_lookup_file): New function.
35082         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
35083         (func_get_description, func_get_filelist, func_get_description,
35084         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
35085         func_get_automake_snippet, func_get_include_directive,
35086         func_get_license, func_get_maintainer): Use func_lookup_file.
35087         (func_import, func_create_testdir): Use func_lookup_file.
35088
35089 2006-07-29  Bruno Haible  <bruno@clisp.org>
35090
35091         * modules/setenv (Depends-on): Add unistd.
35092
35093 2006-07-29  Bruno Haible  <bruno@clisp.org>
35094
35095         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
35096
35097 2006-07-29  Bruno Haible  <bruno@clisp.org>
35098
35099         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
35100
35101 2006-07-29  Bruno Haible  <bruno@clisp.org>
35102
35103         * gnulib-tool (import, update): If there is no Makefile.am, look at
35104         aclocal.m4, instead of bailing out.
35105
35106 2006-07-29  Bruno Haible  <bruno@clisp.org>
35107
35108         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
35109         Categorize the options by when they are useful.
35110
35111 2006-07-29  Bruno Haible  <bruno@clisp.org>
35112
35113         * gnulib-tool (func_usage): Document option --no-libtool.
35114         Handle option --no-libtool.
35115         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
35116         for changed semantics of $libtool variable.
35117         (func_import): Likewise. If libtool is not used, show this through
35118         an option --no-libtool.
35119         (func_create_testdir): Update.
35120
35121 2006-07-29  Bruno Haible  <bruno@clisp.org>
35122
35123         * gnulib-tool (func_import): Extend error message about missing
35124         --doc-base.
35125
35126 2006-07-29  Bruno Haible  <bruno@clisp.org>
35127
35128         * gnulib-tool (func_import): Don't create the $docbase directory if
35129         there is no file to store there.
35130
35131 2006-07-29  Bruno Haible  <bruno@clisp.org>
35132
35133         * gnulib-tool (autoconf_minversion): If a --dir option is given and
35134         relevant, look for configure.ac there, not in the current directory.
35135         Also use a simple search for AC_PREREQ, not "autoconf --trace".
35136
35137 2006-07-29  Bruno Haible  <bruno@clisp.org>
35138
35139         * gnulib-tool (SORT): New variable.
35140         (func_usage): Undocument --assume-autoconf option.
35141         Remove --assume-autoconf option handling.
35142         (autoconf_minversion): Determine from the contents of configure.ac.
35143         (func_import): Remove autoconf_minversion handling.
35144         Suggested by Eric Blake.
35145
35146 2006-07-29  Bruno Haible  <bruno@clisp.org>
35147
35148         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
35149
35150 2006-07-29  Bruno Haible  <bruno@clisp.org>
35151
35152         * config/srclist.txt (*setenv.[ch]): Remove rules.
35153
35154 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35155
35156         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
35157
35158 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35159
35160         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
35161         arpa/inet.h.
35162
35163 2006-07-28  Simon Josefsson  <jas@extundo.com>
35164
35165         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
35166         * modules/inet_pton (Depends-on): Likewise.
35167
35168 2006-07-28  Simon Josefsson  <jas@extundo.com>
35169
35170         * m4/netinet_in_h.m4: New file.
35171
35172 2006-07-28  Simon Josefsson  <jas@extundo.com>
35173
35174         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
35175         #include's.
35176
35177 2006-07-28  Simon Josefsson  <jas@extundo.com>
35178
35179         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
35180         #include's.
35181
35182 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
35183
35184         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
35185         setgid on directories only if they set these bits.
35186         * lib/modechange.h: Remove obsolete comment about masks.
35187
35188 2006-07-28  Eric Blake  <ebb9@byu.net>
35189
35190         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
35191         macro expansion.
35192
35193 2006-07-28  Bruno Haible  <bruno@clisp.org>
35194
35195         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
35196
35197 2006-07-28  Bruno Haible  <bruno@clisp.org>
35198
35199         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
35200
35201 2006-07-28  Bruno Haible  <bruno@clisp.org>
35202
35203         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
35204         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
35205         Define fallbacks.
35206         Avoids link error on FreeBSD 4.x.
35207         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35208
35209         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
35210         encoding.
35211         * lib/mbswidth.c (iswcntrl): Likewise.
35212
35213 2006-07-27  Bruno Haible  <bruno@clisp.org>
35214
35215         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
35216         test.
35217
35218 2006-07-27  Bruno Haible  <bruno@clisp.org>
35219
35220         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
35221         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
35222         defined.
35223
35224 2006-07-26  Eric Blake  <ebb9@byu.net>
35225
35226         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
35227
35228 2006-07-26  Eric Blake  <ebb9@byu.net>
35229
35230         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
35231         like mingw that lack mkstemp.
35232         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
35233         avoid compilation warning on mingw.
35234
35235 2006-07-26  Bruno Haible  <bruno@clisp.org>
35236
35237         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
35238         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
35239         INT_FAST*_MIN, INTPTR_MIN.
35240
35241 2006-07-25  Bruno Haible  <bruno@clisp.org>
35242
35243         * modules/version-etc (Depends-on): Add stdarg.
35244
35245 2006-07-25  Bruno Haible  <bruno@clisp.org>
35246
35247         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
35248         complex commands.
35249
35250 2006-07-25  Bruno Haible  <bruno@clisp.org>
35251
35252         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
35253         defined in <stdarg.h> or config.h.
35254
35255 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
35256
35257         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
35258         (gl_STDIO_SAFER): Remove.
35259
35260 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
35261
35262         * MODULES.html.sh (File stream based Input/Output):
35263         Add fopen-safer, tmpfile-safer; remove stdio-safer.
35264         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
35265         * modules/fopen-safer, modules/tmpfile-safer: New files.
35266         * modules/stdio-safer: Remove.
35267
35268 2006-07-24  Bruno Haible  <bruno@clisp.org>
35269
35270         * modules/tmpdir: New file.
35271         * MODULES.html.sh (File system functions): Add it.
35272
35273 2006-07-24  Bruno Haible  <bruno@clisp.org>
35274
35275         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
35276         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
35277
35278 2006-07-24  Bruno Haible  <bruno@clisp.org>
35279
35280         * modules/clean-temp: New file.
35281
35282 2006-07-24  Bruno Haible  <bruno@clisp.org>
35283
35284         * m4/tmpdir.m4: New file, from GNU gettext.
35285
35286 2006-07-24  Bruno Haible  <bruno@clisp.org>
35287
35288         * lib/tmpdir.h: New file, from GNU gettext.
35289         * lib/tmpdir.c: New file, from GNU gettext.
35290
35291 2006-07-24  Bruno Haible  <bruno@clisp.org>
35292
35293         * lib/clean-temp.h: New file, from GNU gettext.
35294         * lib/clean-temp.c: New file, from GNU gettext.
35295
35296 2006-07-23  Eric Blake  <ebb9@byu.net>
35297
35298         * modules/stdio-safer (Files): Add tmpfile-safer.c.
35299         (Depends-on): Add binary-io.
35300
35301 2006-07-23  Eric Blake  <ebb9@byu.net>
35302
35303         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
35304
35305 2006-07-23  Eric Blake  <ebb9@byu.net>
35306
35307         * lib/tmpfile-safer.c: New file.
35308         * lib/stdio-safer.h (fopen_safer): Add prototype.
35309         * lib/stdio--.h (tmpfile): Make safer.
35310
35311 2006-07-23  Bruno Haible  <bruno@clisp.org>
35312
35313         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
35314         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
35315         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
35316         gl_linked_remove_at): Use it.
35317
35318 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35319         and Simon Josefsson <jas@extundo.com>
35320
35321         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
35322
35323         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
35324
35325 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35326
35327         * modules/close-stream: New file.
35328         * modules/closeout (Description): Make it clear that it exits
35329         with a diagnostic on error.
35330         (Depends-on): Add close-stream.  Remove fpending, stdbool.
35331         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
35332
35333 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35334
35335         * m4/close-stream.m4: New file.
35336
35337 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35338
35339         * lib/close-stream.c, lib/close-stream.h: New files.
35340
35341 2006-07-22  Bruno Haible  <bruno@clisp.org>
35342
35343         Merge from GNU gettext 0.15.
35344
35345         2006-05-01  Bruno Haible  <bruno@clisp.org>
35346
35347                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
35348
35349         2006-07-22  Bruno Haible  <bruno@clisp.org>
35350
35351                 * modules/javaversion: New file.
35352                 * MODULES.html.sh (Java): Add javaversion.
35353
35354         2006-03-12  Bruno Haible  <bruno@clisp.org>
35355
35356                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
35357
35358         2005-12-04  Bruno Haible  <bruno@clisp.org>
35359
35360                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
35361                 (untested).
35362
35363         2006-06-21  Bruno Haible  <bruno@clisp.org>
35364
35365                 Avoid warnings from recent versions of mcs.
35366                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
35367                 -o, -L, -r any more. Use options documented since mcs-1.0
35368                 instead. Similarly for -g.
35369
35370         2005-12-04  Bruno Haible  <bruno@clisp.org>
35371
35372                 * build-aux/csharpcomp.sh.in: Suffix for resources is
35373                 .resources, not .resource.
35374
35375         2005-07-09  Bruno Haible  <bruno@clisp.org>
35376
35377                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
35378                 add a .dll suffix.
35379                 Reported by Mark Junker <mjscod@gmx.de>.
35380
35381         2006-07-22  Bruno Haible  <bruno@clisp.org>
35382
35383                 * modules/gettext: Upgrade to gettext-0.15.
35384                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
35385                 m4/visibility.m4.
35386                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
35387
35388 2006-07-22  Bruno Haible  <bruno@clisp.org>
35389
35390         Merge from GNU gettext 0.15.
35391
35392         2006-03-25  Bruno Haible  <bruno@clisp.org>
35393
35394                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
35395
35396         2006-07-21  Bruno Haible  <bruno@clisp.org>
35397
35398                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
35399                 "1.1".
35400
35401         2006-05-09  Bruno Haible  <bruno@clisp.org>
35402
35403                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
35404                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
35405                 for the conftestver execution.
35406
35407         2006-05-01  Bruno Haible  <bruno@clisp.org>
35408
35409                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
35410                 optional target-version argument. Verify that the compiler
35411                 groks source of the specified source-version, or add -source
35412                 option as necessary. Verify that the compiler produces
35413                 bytecode in the specified target-version, or add -target and
35414                 -source options as necessary. Make the result of the test
35415                 available as variable CONF_JAVAC. Also log error output in
35416                 config.log.
35417
35418         2006-03-11  Bruno Haible  <bruno@clisp.org>
35419
35420                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
35421
35422         2006-05-09  Bruno Haible  <bruno@clisp.org>
35423
35424                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
35425                 CLASSPATH_SEPARATOR to a semicolon.
35426
35427         2006-03-12  Bruno Haible  <bruno@clisp.org>
35428
35429                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
35430                 available as variable CONF_JAVA, for subsequent autoconf
35431                 tests. Also log error output in config.log.
35432
35433         2006-07-19  Bruno Haible  <bruno@clisp.org>
35434
35435                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
35436                 that getline works on glibc2 systems. Needed to avoid trouble
35437                 in relocatable.c.
35438                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
35439
35440         2005-12-04  Bruno Haible  <bruno@clisp.org>
35441
35442                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
35443                 launcher (untested).
35444
35445         2005-12-04  Bruno Haible  <bruno@clisp.org>
35446
35447                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
35448
35449         2006-07-22  Bruno Haible  <bruno@clisp.org>
35450
35451                 * gettext.m4: Update from GNU gettext-0.15.
35452                 * nls.m4: Likewise.
35453                 * po.m4: Likewise.
35454                 * inttypes-pri.m4: Likewise.
35455                 * inttypes-h.m4: Renamed from inttypes.m4.
35456                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
35457
35458 2006-07-22  Bruno Haible  <bruno@clisp.org>
35459
35460         Merge from GNU gettext 0.15.
35461
35462         2005-07-05  Bruno Haible  <bruno@clisp.org>
35463
35464                 * printf-args.c (printf_fetchargs): Work around broken
35465                 definition of wint_t on mingw.
35466
35467         2005-02-12  Bruno Haible  <bruno@clisp.org>
35468
35469                 * xallocsa.h: Add extern "C" for C++.
35470
35471         2006-05-17  Bruno Haible  <bruno@clisp.org>
35472
35473                 Cygwin portability.
35474                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
35475
35476         2006-04-30  Bruno Haible  <bruno@clisp.org>
35477
35478                 * progreloc.c: Include <mach-o/dyld.h> if available.
35479                 (find_executable): Use _NSGetExecutablePath when possible.
35480
35481         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
35482
35483                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
35484                 function.
35485
35486         2005-12-29  Bruno Haible  <bruno@clisp.org>
35487
35488                 * progreloc.c (set_program_name_and_installdir): Fix
35489                 compilation error.
35490
35491         2005-12-04  Bruno Haible  <bruno@clisp.org>
35492
35493                 Cygwin portability.
35494                 * progreloc.c: Include <windows.h> also on Cygwin.
35495                 (find_executable): Add support for Cygwin.
35496                 (set_program_name_and_installdir): Handle also platforms with
35497                 nonempty EXEEXT.
35498
35499         2006-07-11  Bruno Haible  <bruno@clisp.org>
35500
35501                 * javacomp.c: Fix a comment.
35502                 Reported by Jim Meyering.
35503
35504         2006-04-30  Bruno Haible  <bruno@clisp.org>
35505
35506                 * javacomp.h (compile_java_class): Add source_version,
35507                 target_version arguments.
35508                 * javacomp.c: Rewritten to choose only a compiler that
35509                 respects the specified source_version and target_version.
35510
35511         2006-06-27  Bruno Haible  <bruno@clisp.org>
35512
35513                 Assume correct S_ISDIR macro.
35514                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
35515
35516         2006-07-22  Bruno Haible  <bruno@clisp.org>
35517
35518                 * javaversion.h: New file, from GNU gettext.
35519                 * javaversion.c: New file, from GNU gettext.
35520                 * javaversion.java: New file, from GNU gettext.
35521                 * javaversion.class: New file, from GNU gettext.
35522
35523         2006-05-17  Bruno Haible  <bruno@clisp.org>
35524
35525                 Cygwin portability.
35526                 * javaexec.c (execute_java_class): Test for jview program
35527                 also on Cygwin.
35528
35529         2006-04-09  Bruno Haible  <bruno@clisp.org>
35530
35531                 * fatal-signal.c: Don't include string.h.
35532                 (at_fatal_signal): Use a copying loop instead of memcpy.
35533
35534         2005-12-04  Bruno Haible  <bruno@clisp.org>
35535
35536                 * csharpexec.c: Add support for 'clix' launcher (untested).
35537                 (execute_csharp_using_sscli): New function.
35538                 (execute_csharp_program): Call it.
35539
35540         2006-06-21  Bruno Haible  <bruno@clisp.org>
35541
35542                 Avoid warnings from recent versions of mcs.
35543                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
35544                 -o, -L, -r any more. Use options documented since mcs-1.0
35545                 instead. Similarly for -g.
35546
35547         2005-07-09  Bruno Haible  <bruno@clisp.org>
35548
35549                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
35550                 add a .dll suffix.
35551                 Reported by Mark Junker <mjscod@gmx.de>.
35552
35553         2006-06-17  Bruno Haible  <bruno@clisp.org>
35554
35555                 * config.charset: Update for NetBSD 3.0.
35556
35557         2006-05-17  Bruno Haible  <bruno@clisp.org>
35558
35559                 Cygwin portability.
35560                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
35561
35562         2006-05-16  Bruno Haible  <bruno@clisp.org>
35563
35564                 * localcharset.c [CYGWIN]: Include <windows.h>.
35565                 (get_charset_aliases): For Cygwin, return the same CPxxx
35566                 aliases list as under WIN32.
35567                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
35568                 the environment variables. Fall back to GetACP().
35569
35570         2006-04-05  Bruno Haible  <bruno@clisp.org>
35571
35572                 * config.charset: Update Juan Manuel Guerrero's address.
35573
35574         2005-02-12  Bruno Haible  <bruno@clisp.org>
35575
35576                 * allocsa.h: Add extern "C" for C++.
35577
35578         2005-02-10  Bruno Haible  <bruno@clisp.org>
35579
35580                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
35581                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
35582
35583         2006-07-22  Bruno Haible  <bruno@clisp.org>
35584
35585                 * gettext.h: Update to GNU gettext-0.15.
35586
35587 2006-07-22  Bruno Haible  <bruno@clisp.org>
35588
35589         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
35590         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
35591         lib-prefix.m4, longdouble.m4, ssize_t.m4.
35592
35593 2006-07-21  Eric Blake  <ebb9@byu.net>
35594
35595         * modules/stdlib-safer: New file.
35596         * MODULES.html.sh (File stream based Input/Output): Add
35597         stdlib-safer.
35598
35599 2006-07-21  Eric Blake  <ebb9@byu.net>
35600
35601         * lib/stdlib-safer.h: New file from coreutils, required by
35602         stdlib--.h.
35603
35604 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
35605
35606         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
35607
35608 2006-07-20  Bruno Haible  <bruno@clisp.org>
35609
35610         * gnulib-tool: Recognize new option --assume-autoconf.
35611         (autoconf_minversion): New variable.
35612         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
35613
35614 2006-07-20  Bruno Haible  <bruno@clisp.org>
35615
35616         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
35617
35618 2006-07-19  Derek R. Price  <derek@ximbiot.com>
35619
35620         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
35621         Reindent and repaginate.
35622
35623 2006-07-19  Derek Price  <derek@ximbiot.com>
35624
35625         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
35626         Correct grammar.
35627
35628 2006-07-17  Bruno Haible  <bruno@clisp.org>
35629
35630         * modules/list: New file.
35631         * modules/array-list: New file.
35632         * modules/carray-list, modules/carray-list-tests: New files.
35633         * modules/linked-list, modules/linked-list-tests: New files.
35634         * modules/avltree-list, modules/avltree-list-tests: New files.
35635         * modules/rbtree-list, modules/rbtree-list-tests: New files.
35636         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
35637         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
35638         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
35639         * modules/oset: New file.
35640         * modules/array-oset: New file.
35641         * modules/avltree-oset, modules/avltree-oset-tests: New files.
35642         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
35643         * tests/test-carray_list.c: New file.
35644         * tests/test-linked_list.c: New file.
35645         * tests/test-avltree_list.c: New file.
35646         * tests/test-rbtree_list.c: New file.
35647         * tests/test-linkedhash_list.c: New file.
35648         * tests/test-avltreehash_list.c: New file.
35649         * tests/test-rbtreehash_list.c: New file.
35650         * tests/test-avltree_oset.c: New file.
35651         * tests/test-rbtree_oset.c: New file.
35652         * MODULES.html.sh (Container data structures): New section.
35653
35654 2006-07-17  Bruno Haible  <bruno@clisp.org>
35655
35656         * m4/gl_list.m4: New file.
35657
35658 2006-07-17  Bruno Haible  <bruno@clisp.org>
35659
35660         * lib/gl_list.h: New file.
35661         * lib/gl_list.c: New file.
35662         * lib/gl_array_list.h: New file.
35663         * lib/gl_array_list.c: New file.
35664         * lib/gl_carray_list.h: New file.
35665         * lib/gl_carray_list.c: New file.
35666         * lib/gl_linked_list.h: New file.
35667         * lib/gl_linked_list.c: New file.
35668         * lib/gl_anylinked_list1.h: New file.
35669         * lib/gl_anylinked_list2.h: New file.
35670         * lib/gl_avltree_list.h: New file.
35671         * lib/gl_avltree_list.c: New file.
35672         * lib/gl_anyavltree_list1.h: New file.
35673         * lib/gl_anyavltree_list2.h: New file.
35674         * lib/gl_rbtree_list.h: New file.
35675         * lib/gl_rbtree_list.c: New file.
35676         * lib/gl_anyrbtree_list1.h: New file.
35677         * lib/gl_anyrbtree_list2.h: New file.
35678         * lib/gl_anytree_list1.h: New file.
35679         * lib/gl_anytree_list2.h: New file.
35680         * lib/gl_linkedhash_list.h: New file.
35681         * lib/gl_linkedhash_list.c: New file.
35682         * lib/gl_anyhash_list1.h: New file.
35683         * lib/gl_anyhash_list2.h: New file.
35684         * lib/gl_avltreehash_list.h: New file.
35685         * lib/gl_avltreehash_list.c: New file.
35686         * lib/gl_rbtreehash_list.h: New file.
35687         * lib/gl_rbtreehash_list.c: New file.
35688         * lib/gl_anytreehash_list1.h: New file.
35689         * lib/gl_anytreehash_list2.h: New file.
35690
35691         * lib/gl_oset.h: New file.
35692         * lib/gl_oset.c: New file.
35693         * lib/gl_array_oset.h: New file.
35694         * lib/gl_array_oset.c: New file.
35695         * lib/gl_avltree_oset.h: New file.
35696         * lib/gl_avltree_oset.c: New file.
35697         * lib/gl_rbtree_oset.h: New file.
35698         * lib/gl_rbtree_oset.c: New file.
35699         * lib/gl_anytree_oset.h: New file.
35700
35701 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
35702
35703         * m4/mkancesdirs.m4: New file.
35704         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
35705         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
35706         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
35707         it.
35708
35709 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
35710
35711         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
35712         * lib/mkancesdirs.h: New files.
35713         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
35714         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
35715         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
35716         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
35717         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
35718         callers changed.  Revamp internals significantly, by not
35719         attempting to create directories that are temporarily more
35720         permissive than the final results.  Do not attempt to use
35721         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
35722         This removes some race conditions, fixes some bugs, and simplifies
35723         things.  Use new dirchownmod function to do owner and mode changes.
35724         * lib/mkdir-p.h: Likewise.
35725         * lib/modechange.c (octal_to_mode): New function.
35726         (struct mode_change): New member mentioned.
35727         (make_node_op_equals): New arg mentioned.  All callers changed.
35728         (mode_compile): Keep track of which mode bits the user has explicitly
35729         mentioned.
35730         (mode_adjust): New arg DIR, so that we implement the X op correctly.
35731         New arg PMODE_BITS, to keep track of which mode bits the user
35732         mentioned; it treats S_ISUID and S_ISGID speciall.
35733         All callers changed.
35734         * lib/modechange.h: Likewise.
35735
35736 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
35737
35738         * MODULES.html.sh: Add mkancestors.
35739         * modules/mkancesdirs: New module.
35740         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
35741         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
35742         The chdir-safer and afs files are now orphans; I'll remove them
35743         unless someone speaks up.
35744         Add lib/dirchownmod.c, lib/dirchownmod.h.
35745         (Depends-on): Remove alloca, chown, save-cwd, dirname.
35746         Add lchown, mkancesdirs.
35747         (Maintainer): Add self.
35748
35749 2006-07-15  Karl Berry  <karl@gnu.org>
35750
35751         * gnulib-tool: help message wording/arrangement.
35752
35753 2006-07-14  Simon Josefsson  <jas@extundo.com>
35754
35755         * doc/gnulib.texi (Libtool and Windows): New section.
35756
35757 2006-07-12  Simon Josefsson  <jas@extundo.com>
35758
35759         * modules/gendocs (License): Fix license, approved by Karl.
35760
35761 2006-07-12  Eric Blake  <ebb9@byu.net>
35762
35763         * MODULES.html.sh: Add gendocs.
35764
35765 2006-07-11  Eric Blake  <ebb9@byu.net>
35766
35767         * modules/fdl: New module, to install doc/fdl.texi.
35768         * MODULES.html.sh: Add new section for documentation modules.
35769         * gnulib-tool: Avoid space-tab.
35770         (--doc-base): New option, to manage files from doc.
35771
35772 2006-07-11  Eric Blake  <ebb9@byu.net>
35773
35774         * m4/absolute-header.m4: Fix comments to match recent change.
35775
35776 2006-07-11  Eric Blake  <ebb9@byu.net>
35777
35778         * gnulib-tool: List --doc-base before --tests-base.
35779
35780 2006-07-11  Derek R. Price  <derek@ximbiot.com>
35781
35782         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
35783
35784 2006-07-11  Bruno Haible  <bruno@clisp.org>
35785
35786         * README: Mention where to put documentation.
35787
35788 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35789
35790         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
35791
35792 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
35793
35794         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
35795         to stdint.m4.
35796
35797 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
35798
35799         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
35800         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
35801         "no/such/file/stdint.h" when there is no such file, so that
35802         the resulting C code can be parsed by dodgy compilers.
35803         Problems reported by Bob Proulx.
35804
35805 2006-07-10  Derek R. Price  <derek@ximbiot.com>
35806
35807         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
35808         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
35809         macros into the GNU _D_EXACT_NAMLEN.
35810         * lib/savedir.c:  Likewise.
35811         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
35812
35813 2006-07-10  Derek R. Price  <derek@ximbiot.com>
35814         and Paul Eggert  <eggert@cs.ucla.edu>
35815
35816         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
35817         * m4/savedir.m4:
35818         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
35819         macros into the GNU _D_EXACT_NAMLEN.
35820
35821 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35822
35823         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
35824         around the absolute name, to work around a problem with the HP-UX
35825         11.23 native C compiler, reported by Bob Proulx.
35826
35827 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35828
35829         * doc/maintain.texi, make-stds.texi: Sync from
35830         <http://savannah.gnu.org/projects/gnustandards>.
35831
35832 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35833
35834         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
35835
35836 2006-07-09  Jim Meyering  <jim@meyering.net>
35837
35838         * m4/glob.m4: Remove a doubled word in a comment.
35839
35840 2006-07-09  Jim Meyering  <jim@meyering.net>
35841
35842         * lib/argp-pv.c: Remove a doubled word in a comment.
35843         * lib/check-version.c (check_version): Likewise.
35844         * lib/javacomp.c (compile_java_class): Likewise.
35845
35846 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
35847
35848         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
35849         for the benefit of people using Autoconf 2.60.  If you want to
35850         support older Autoconf versions you can copy m4/onceonly_2_57.m4
35851         (or m4/onceonly.m4, if pre-2.57) manually.
35852
35853 2006-07-08  Jim Meyering  <jim@meyering.net>
35854
35855         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
35856         comment.
35857         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
35858         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
35859         comment.
35860
35861 2006-07-08  Jim Meyering  <jim@meyering.net>
35862
35863         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
35864
35865 2006-07-07  Simon Josefsson  <jas@extundo.com>
35866
35867         * tests/test-crc.c: Change expected crc value, the test vector
35868         were probably computed using the old broken crc.c?
35869
35870 2006-07-06  Simon Josefsson  <jas@extundo.com>
35871
35872         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
35873         now the canonical place for the M4 file).
35874
35875         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
35876         from the sys_socket dependency now.
35877
35878         * modules/inet_pton (Files): Ditto.
35879
35880         * modules/inet_ntop (Files): Ditto.
35881
35882 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
35883
35884         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
35885         not gl_PREREQ_GETUSERSHELL.
35886
35887 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35888
35889         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
35890         with only one argument, for Autoconf 2.60.
35891         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
35892         expand to nothing, so add a shell command to avoid syntax error.
35893         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
35894
35895 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35896
35897         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
35898
35899 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35900
35901         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
35902         no longer needed.  Check for isblank decl.
35903         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
35904         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
35905         of existence.
35906
35907 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35908
35909         * lib/getloadavg.c: Use __VMS, not VMS.
35910         * lib/getopt.c: Likewise.
35911         * lib/getpagesize.h: Likewise.
35912         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
35913         and probably does not work.
35914
35915 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35916
35917         * lib/.cppi-disable: Add wcwidth.
35918         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
35919         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
35920         (ISGRAPH): Remove.  All uses changed to isgraph.
35921         (FOLD) [!defined _LIBC]: Remove special case.
35922         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
35923         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
35924         HAVE_ISBLANK.
35925         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
35926         case.
35927
35928 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
35929
35930         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
35931         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
35932         brackets.  Other minor changes to suppress some compiler
35933         warnings.
35934
35935 2006-07-06  Derek R. Price  <derek@ximbiot.com>
35936         and Paul Eggert  <eggert@cs.ucla.edu>
35937
35938         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
35939         of invoking obsolescent AC_HEADER_DIRENT macro.
35940         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
35941         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
35942         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35943         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35944         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
35945         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
35946         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
35947         * m4/readdir.m4: Remove; no longer needed.
35948
35949 2006-07-06  Derek R. Price  <derek@ximbiot.com>
35950         and Paul Eggert  <eggert@cs.ucla.edu>
35951
35952         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
35953         Don't worry about this obsolete case any more.
35954         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
35955         directories.
35956         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
35957         worry about this obsolete case any more.
35958         * lib/fts.c: Likewise.
35959         * lib/getcwd.c: Likewise.
35960         * lib/glob.h: Likewise.
35961         * lib/savedir.c: Likewise.
35962
35963 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
35964
35965         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
35966         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
35967         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
35968         needed.
35969         All uses removed.
35970         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
35971         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
35972         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
35973         needed.
35974         * m4/getdate.m4 (gl_GETDATE): Likewise.
35975         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
35976         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
35977         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
35978         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
35979         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
35980         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
35981         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
35982         needed.
35983
35984 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
35985
35986         * lib/memcasecmp.c: Include <limits.h>.
35987         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
35988         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
35989         Don't assume isdigit succeeds only on '0' through '9'.
35990
35991 2006-07-05  Eric Blake  <ebb9@byu.net>
35992
35993         * modules/getaddrinfo (Depends-on): Add snprintf.
35994
35995 2006-07-05  Eric Blake  <ebb9@byu.net>
35996
35997         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
35998         to avoid 'header present but could not be compiled' on cygwin.
35999
36000 2006-07-05  Eric Blake  <ebb9@byu.net>
36001
36002         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
36003         missing from netdb.h.
36004         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
36005
36006 2006-07-05  Derek R. Price  <derek@ximbiot.com>
36007
36008         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
36009         no longer needed.
36010         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
36011         * m4/getdate.m4 (gl_GETDATE): Likewise.
36012         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
36013         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
36014         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
36015         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
36016         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
36017
36018 2006-07-05  Derek R. Price  <derek@ximbiot.com>
36019
36020         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
36021         All uses of is_space replaced by isspace.
36022         * lib/exit.h: Don't talk about STDC_HEADERS.
36023         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
36024         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
36025         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
36026         replaced by isprint etc.
36027         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
36028         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
36029         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
36030         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
36031         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
36032         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
36033
36034 2006-07-05  Bruno Haible  <bruno@clisp.org>
36035
36036         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
36037         the function exists, before testing against AIX.
36038         Reported by Martin Lambers <marlam@marlam.de>.
36039
36040 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
36041
36042         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
36043         From Mark D. Baushke.
36044
36045 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
36046
36047         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
36048         to the absolute name, not just one, to bypass Sun C 5.8's
36049         "warning: #include of /usr/include/... may be non-portable".
36050
36051 2006-07-04  Eric Blake  <ebb9@byu.net>
36052
36053         * modules/dirname-tests: New test module.
36054         * tests/test-dirname.c: New file, replacing dirname.c
36055         TEST_DIRNAME section that was recently deleted.
36056
36057 2006-07-04  Bruno Haible  <bruno@clisp.org>
36058
36059         Assume ANSI C header files and <ctype.h> functions.
36060         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
36061         (mbsnwidth): Use isprint, iscntrl instead.
36062
36063 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36064
36065         Merge from coreutils.
36066         * MODULES.html.sh: Add xstrtold.
36067         * modules/xstrtold: New file.
36068         * modules/cycle-check (Files): Add lib/same-inode.h.
36069         * modules/dirname (Files): Add m4/double-slash-root.m4.
36070         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
36071         * modules/mkdir-p (Files): Add lib/same-inode.h.
36072         * modules/same (Files): Add lib/same-inode.h.
36073
36074 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36075
36076         * m4/absolute-header.m4: Renamed from full-header-path.m4.
36077         This is to keep the terminology clean; POSIX talks about
36078         "absolute pathnames", not "full pathnames", but the GNU
36079         Coding Standards say to use "path" for something else;
36080         so use "absolute" to keep both sides happy.
36081         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
36082         Set gl_absolute_header, not gl_full_header_path.
36083         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
36084         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
36085         All uses changed.
36086
36087         Merge from coreutils.
36088
36089         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
36090
36091         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
36092         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
36093         want to require the building of c-strtod.o.
36094         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
36095         needs -lm directly.
36096         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
36097
36098         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
36099
36100         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
36101         --as-needed option if available.  Problem reported by Albert Chin in
36102         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
36103         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
36104         cc merely issues a bunch of annoying warnings for --as-needed
36105         (this problem was reported by Bob Proulx).  Also, try linking with
36106         -lm to detect a bug in binutils 2.16 (this problem was reported
36107         by Ralf Wildenhues).
36108
36109         2006-06-18  Jim Meyering  <jim@meyering.net>
36110
36111         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
36112         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
36113         macro.
36114         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
36115         also check for glibc-2.4's abort-inducing bug.
36116
36117         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
36118         Low-probability clean-up should be to use rmdir to get rid of
36119         the just-created directory, not unlink.
36120
36121         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
36122         configure fail, and request a bug report to inform us about it.
36123         Add a comment that, barring reports to the contrary, in 2007 we'll
36124         assume ftruncate is universally available.
36125
36126         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
36127
36128         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
36129
36130         2006-03-12  Jim Meyering  <jim@meyering.net>
36131
36132         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
36133         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
36134         * m4/same.m4 (gl_SAME): Likewise.
36135         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
36136
36137         2006-03-11  Eric Blake  <ebb9@byu.net>
36138
36139         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
36140         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
36141         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
36142         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
36143
36144 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36145
36146         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
36147         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
36148         reported by Mark D. Baushke, one in
36149         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
36150
36151         Merge from coreutils.
36152
36153         * lib/.cppi-disable: Add stdint_.h.
36154         * lib/.cvsignore: Add stdint.h.
36155
36156         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
36157
36158         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
36159         both double and long double versions.
36160         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
36161         * lib/xstrtold.c: New file.
36162         * lib/xstrtod.h (xstrtold): New decl.
36163
36164         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
36165
36166         * lib/filemode.c (setst): Remove.
36167         (strmode): Rewrite to avoid setst.  This makes the code shorter,
36168         (arguably) clearer, and the generated code is a bit smaller on my
36169         Debian GNU/Linux stable x86 host.
36170
36171         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
36172
36173         * lib/filemode.c: Include "filemode.h" first, to test the interface.
36174         Assume that filemode.h includes sys/types.h and sys/stat.h.
36175         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
36176         (ftypelet): Reorder to put common cases first, for efficiency.
36177         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
36178         to do 'M'.
36179         (strmode): Renamed from mode_string, and now stores 12 bytes instead
36180         of 10, for compatibility with FreeBSD.  All callers changed.
36181         (filemodestring): Now stores 12 bytes instead of 10, and sets file
36182         types that can't be deduced solely from st_mode.  First arg is now a
36183         const pointer.
36184         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
36185         (strmode): Renamed from mode_string.
36186         (filemodestring): New decl.
36187         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
36188         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
36189         needed.
36190         (S_ISPORT, S_ISWHT): New macros, if not already defined.
36191
36192         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
36193
36194         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
36195         fsusage.h now does that.  Include fsusage.h first, to test interface.
36196         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
36197         at most one method (the old code could have generated decls that
36198         didn't conform to C89, not that this was ever exercised).
36199         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
36200
36201         2006-03-19  Jim Meyering  <jim@meyering.net>
36202
36203         Work even in a chroot where d_ino values for entries in "/"
36204         don't match the stat.st_ino values for the same names.
36205         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
36206         number, iterate through all entries again, using lstat instead.
36207         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
36208         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
36209
36210         * lib/getcwd.c (__getcwd): Clarify a comment.
36211         Use memcpy in place of a call to strcpy.
36212
36213         2006-03-12  Jim Meyering  <jim@meyering.net>
36214
36215         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
36216         matches that of the current directory (which we're about to chdir ".."
36217         out of), then save the dev-ino of the parent, instead.
36218
36219         * lib/same-inode.h (SAME_INODE): New file/macro.
36220         * lib/chdir-safer.c (SAME_INODE): Remove definition.
36221         Include "same-inode.h", instead.
36222         * lib/same.c: Likewise.
36223         * lib/cycle-check.h: Include "same-inode.h".
36224         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
36225         * lib/cycle-check.c (SAME_INODE): Remove definition.
36226         * lib/root-dev-ino.h: Include "same-inode.h".
36227
36228         2006-03-11  Eric Blake  <ebb9@byu.net>
36229
36230         * lib/same.c (same_name): s/base_name/last_component/
36231         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
36232         * lib/filenamecat.c (file_name_concat): Likewise.
36233
36234         2006-03-11  Eric Blake  <ebb9@byu.net>,
36235                     Paul Eggert  <eggert@cs.ucla.edu>
36236
36237         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
36238         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
36239         drive prefix.
36240         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
36241         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
36242         (last_component): New method.
36243         * lib/dirname.c (dir_len): Determine when drive letters need a
36244         subsequent slash.  Preserve // when it is special.
36245         (dir_name): Don't append dot when drive letter is absolute.
36246         [TEST_DIRNAME]: Move into a full-blown gnulib test.
36247         * lib/basename.c (base_name): New semantics - malloc the result.
36248         Preserve // when it is special.  Preserve relative files that look
36249         like drive letters.
36250         (base_len): Preserve // when it is special.
36251         (last_component): New method, similar to old base_name semantics.
36252         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
36253         base_name.  Strip redundant slashes from ///.
36254
36255 2006-07-03  Jim Meyering  <jim@meyering.net>
36256
36257         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
36258         macro is used before the first cycle_check call.
36259
36260 2006-07-03  Eric Blake  <ebb9@byu.net>
36261
36262         * modules/dirname (Depends-on): Add xstrndup.
36263
36264 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36265
36266         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
36267         test cases, so that config.log is a bit easier to follow.
36268
36269 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36270
36271         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
36272         both are 64 bits, since this seems to be the tradition, and this
36273         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
36274         we ever run into a host that prefers long long to long in this
36275         case, we'll need another configure-time test.  Problem reported by
36276         Jim Meyering.
36277
36278 2006-07-02  Eric Blake  <ebb9@byu.net>
36279
36280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
36281
36282 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
36283
36284         * modules/inttypes (Depends-on): No longer depends on stdint.
36285         * modules/stdint (Description): Say more about assumptions.
36286         Say that the fast types might differ.  Say macros are used.
36287         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
36288         (Makefile.am): Revise list of substituted symbols to match
36289         new stdint.m4.
36290         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
36291         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
36292         * tests/test-stdint.c (verify_same_types)
36293         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
36294         the code conforms to C99/C89.
36295         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
36296         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
36297
36298 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
36299
36300         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
36301         but fix a bug, by requiring at least 64 bits.
36302         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
36303         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
36304         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
36305         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
36306
36307         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
36308         changes.  Make 2.59 a prerequisite.  Check and substitute for
36309         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
36310         inttypes.h.  Do not use special include files; just use the
36311         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
36312         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
36313         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
36314         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
36315         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
36316         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
36317         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
36318         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
36319         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
36320         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
36321         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
36322         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
36323         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
36324         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
36325         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
36326         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
36327         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
36328         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
36329         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
36330         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
36331         WINT_MAX.  Check for C99 conformance more strictly, by detecting
36332         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
36333         not check for things that C99 does not require, e.g., int8_t.  If
36334         a test isn't needed unless <stdint.h> isn't working, and is
36335         unlikely to be needed for any other reason, then don't do it
36336         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
36337         size_t, since we assume C89 freestanding at least.  Do not check
36338         for sig_atomic_t, wchar_t, or wint_t, since the code now does
36339         the right thing even if the types are not defined.  Instead use:
36340         (gl_STDINT_TYPE_PROPERTIES): New macro.
36341         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
36342         testing whether <sys/types.h> clashes, as Autoconf does this for
36343         us now.  All uses removed.
36344         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
36345         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
36346         (gl_CHECK_TYPE_SAME):
36347         Remove; no longer needed.
36348         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
36349         exists, since we'll return 0 anyway in that case.
36350         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
36351
36352 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
36353
36354         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
36355         possible collision with system files.
36356         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
36357         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
36358         WCHAR_MIN and WCHAR_MAX in this case.
36359         (<stddef.h>): Do not include; no longer needed.
36360         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
36361         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
36362         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
36363         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
36364         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
36365         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
36366         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
36367         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
36368         !defined(__c99))]: Include in this case too, since it's harmless
36369         now.
36370         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
36371         dangerous to do so.
36372         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
36373         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
36374         (_STDINT_MIN, _STDINT_MAX): New macros.
36375         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
36376         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
36377         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
36378         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
36379         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
36380         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
36381         macros, not typedefs; this simplifies things quite a bit.
36382         Use long int for all types narrower than int64_t.
36383         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
36384         Define in terms of long long int or int64_t or long int,
36385         not int64_t or int32_t.  This saves some compile-time testing.
36386         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
36387         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
36388         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
36389         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
36390         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
36391         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
36392         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
36393         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
36394         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
36395         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
36396         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
36397         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
36398         undef any previous version and define our own version, for
36399         simplicity and consistency with the new macros for types.
36400         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
36401         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
36402         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
36403         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
36404         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
36405         @WINT_T_SUFFIX@ to keep things simple here.
36406         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
36407         Simplify by assuming typical 8/16/32/64 host, since we're
36408         already doing that elsewhere anyway.
36409         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
36410         and assume long long int is 64 bits if available.  This
36411         speeds up 'configure'.
36412
36413 2006-07-01  Eric Blake  <ebb9@byu.net>
36414
36415         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
36416         Reported by Andreas Buening.
36417
36418 2006-07-01  Eric Blake  <ebb9@byu.net>
36419
36420         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
36421
36422 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
36423
36424         * lib/getaddrinfo.c: fixed typo
36425
36426 2006-06-29  Jim Meyering  <jim@meyering.net>
36427
36428         * modules/strftime (Maintainer): Add my name, since with the
36429         FPRINTFTIME changes strftime.c has forked from glibc.
36430
36431 2006-06-29  Eric Blake  <ebb9@byu.net>
36432
36433         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
36434
36435 2006-06-29  Eric Blake  <ebb9@byu.net>
36436
36437         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
36438
36439 2006-06-29  Eric Blake  <ebb9@byu.net>
36440
36441         * lib/stat_.h: New file.
36442
36443 2006-06-29  Eric Blake  <ebb9@byu.net>
36444
36445         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
36446         unused static function.
36447
36448 2006-06-29  Eric Blake  <ebb9@byu.net>
36449
36450         * doc/functions.texi (Function Portability): Document missing lstat
36451         on mingw.
36452
36453 2006-06-29  Eric Blake  <ebb9@byu.net>
36454
36455         * MODULES.html.sh: Add sys_stat.
36456         * modules/sys_stat: New module.
36457         * modules/mkstemp (Depends-on): Add sys_stat.
36458
36459 2006-06-29  Derek R. Price  <derek@ximbiot.com>
36460
36461         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
36462
36463 2006-06-29  Derek R. Price  <derek@ximbiot.com>
36464
36465         * m4/c-bs-a.m4: Removed.
36466
36467 2006-06-29  Derek R. Price  <derek@ximbiot.com>
36468
36469         * lib/strftime.c: Assume strftime() exists.
36470
36471 2006-06-29  Derek Price  <derek@ximbiot.com>
36472
36473         * modules/c-bs-a: Removed - \a is C89.
36474         * MODULES.html.sh: Remove c-bs-a.
36475
36476 2006-06-29  Bruno Haible  <bruno@clisp.org>
36477
36478         * modules/wcwidth (License): Change to LGPL.
36479
36480 2006-06-28  Simon Josefsson  <jas@extundo.com>
36481
36482         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
36483         on _WIN32.
36484
36485         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
36486         getnameinfo.
36487
36488 2006-06-28  Simon Josefsson  <jas@extundo.com>
36489
36490         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
36491
36492 2006-06-28  Simon Josefsson  <jas@extundo.com>
36493
36494         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
36495         functions there.  It will succeed on Windows XP, but on Windows
36496         2000 and (presumably) earlier, it will fail, and use the internal
36497         re-implementation.
36498         (use_win32_p): New function.
36499         (getaddrinfo): Use strtoul on servname, to support numeric ports.
36500         Support AI_NUMERICSERV to disable getservbyname.
36501         (getnameinfo): New function, only supports
36502         NI_NUMERICHOST|NI_NUMERICSERV for now.
36503
36504         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
36505         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
36506         getnameinfo.
36507
36508 2006-06-28  Eric Blake  <ebb9@byu.net>
36509
36510         * modules/wcwidth: New file.
36511         * modules/mbchar (Depends-on): Add wcwidth.
36512         * modules/mbswidth (Depends-on): Add wcwidth.
36513         * MODULES.html.sh: Add wcwidth.
36514
36515 2006-06-28  Eric Blake  <ebb9@byu.net>
36516
36517         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
36518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
36519
36520 2006-06-28  Eric Blake  <ebb9@byu.net>
36521
36522         * lib/xvasprintf.h: Fix comments.
36523
36524 2006-06-28  Eric Blake  <ebb9@byu.net>
36525
36526         * lib/mbchar.h (wcwidth): Include wcwidth.h.
36527         * lib/mbswidth.c (wcwidth): Move from here...
36528         * lib/wcwidth.h: ...to this new file.
36529
36530 2006-06-28  Derek R. Price  <derek@ximbiot.com>
36531
36532         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
36533
36534         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
36535         it's obsolete.
36536         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
36537
36538 2006-06-28  Derek R. Price  <derek@ximbiot.com>
36539
36540         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
36541         Autoconf 2.60 says this stuff was obsolete.
36542
36543 2006-06-28  Bruno Haible  <bruno@clisp.org>
36544
36545         * modules/wcwidth (Files): Add m4/wchar_t.m4.
36546
36547 2006-06-28  Bruno Haible  <bruno@clisp.org>
36548
36549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
36550         gt_TYPE_WCHAR_T.
36551
36552 2006-06-28  Bruno Haible  <bruno@clisp.org>
36553
36554         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
36555         declaration for wcwidth.
36556         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
36557
36558 2006-06-28  Bruno Haible  <bruno@clisp.org>
36559
36560         * lib/mkdtemp.c [MINGW]: Include <io.h>.
36561         (mkdir): Define using _mkdir.
36562
36563 2006-06-28  Bruno Haible  <bruno@clisp.org>
36564
36565         * lib/getaddrinfo.h: Fix POSIX URL.
36566         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
36567         _WIN32.
36568         (use_win32_p): Make static.
36569         (getaddrinfo): Reject service name if it is empty or does not consist
36570         solely of decimal digits, or if its value is > 65535.
36571         (getnameinfo): Remove useless casts.
36572
36573 2006-06-27  Simon Josefsson  <jas@extundo.com>
36574
36575         * modules/sys_select: New file, suggested by Bruno Haible, Paul
36576         Eggert and Martin Lambers.
36577
36578 2006-06-27  Simon Josefsson  <jas@extundo.com>
36579
36580         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
36581         Eggert and Martin Lambers.
36582
36583 2006-06-27  Bruno Haible  <bruno@clisp.org>
36584
36585         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
36586         result to 0, not to empty.
36587         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
36588
36589 2006-06-27  Bruno Haible  <bruno@clisp.org>
36590
36591         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
36592
36593 2006-06-26  Simon Josefsson  <jas@extundo.com>
36594
36595         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
36596         present.
36597
36598 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
36599
36600         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
36601         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
36602         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
36603
36604 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
36605
36606         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
36607
36608 2006-06-26  Bruno Haible  <bruno@clisp.org>
36609
36610         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
36611
36612 2006-06-26  Bruno Haible  <bruno@clisp.org>
36613
36614         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
36615
36616 2006-06-26  Bruno Haible  <bruno@clisp.org>
36617
36618         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
36619         SGI C compiler in pre-C99 mode.
36620         Suggested by Mark D. Baushke and Larry Jones.
36621
36622 2006-06-26  Bruno Haible  <bruno@clisp.org>
36623
36624         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
36625         WCHAR_MAX.
36626         Reported by Mark D. Baushke and Larry Jones.
36627
36628 2006-06-26  Bruno Haible  <bruno@clisp.org>
36629
36630         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
36631         in pre-C99 mode.
36632         Suggested by Mark D. Baushke and Larry Jones.
36633
36634 2006-06-23  Simon Josefsson  <jas@extundo.com>
36635             Bruno Haible  <bruno@clisp.org>
36636
36637         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
36638         Emit mostlyclean-local rule.
36639         (func_emit_tests_Makefile_am): Likewise.
36640         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
36641
36642 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
36643
36644         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
36645
36646 2006-06-23  Bruno Haible  <bruno@clisp.org>
36647
36648         * tests/test-stdint.c: Update to match ISO C 99 Technical
36649         Corrigendum 1.
36650
36651 2006-06-23  Bruno Haible  <bruno@clisp.org>
36652
36653         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
36654
36655 2006-06-23  Bruno Haible  <bruno@clisp.org>
36656
36657         * lib/stdint_.h: Treat IRIX like OpenBSD.
36658
36659 2006-06-23  Bruno Haible  <bruno@clisp.org>
36660
36661         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
36662         ISO C 99 Technical Corrigendum 1.
36663
36664 2006-06-22  Simon Josefsson  <jas@extundo.com>
36665
36666         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
36667         MinGW.
36668
36669 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
36670
36671         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
36672         needed.  Some compiler complained about some of them.  Problem reported
36673         by Larry Jones in
36674         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
36675
36676 2006-06-21  Simon Josefsson  <jas@extundo.com>
36677
36678         * tests/test-getaddrinfo.c: New file.
36679
36680         * modules/getaddrinfo-tests: New file.
36681
36682         * MODULES.html.sh: Add inet_pton.
36683
36684         * modules/inet_pton: New file.
36685
36686 2006-06-21  Simon Josefsson  <jas@extundo.com>
36687
36688         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
36689         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
36690         of using the (limited) gnulib implementation on Windows XP.
36691
36692         * m4/inet_pton.m4: New file.
36693
36694 2006-06-21  Simon Josefsson  <jas@extundo.com>
36695
36696         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
36697         variable.
36698
36699         * lib/socket_.h: Don't define WINVER.
36700
36701         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
36702         slightly modified to work in gnulib.
36703
36704 2006-06-21  Simon Josefsson  <jas@extundo.com>
36705
36706         * doc/gnulib.texi (Windows sockets): Add.
36707
36708 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
36709
36710         * lib/read-file.c (fread_file): Start with buffer allocation of
36711         0 bytes rather than 1 byte; this simplifies the code.
36712         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
36713         code to free buffer and save/restore errno.
36714         (internal_read_file): Remove unused local.
36715
36716 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
36717
36718         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
36719         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
36720         Problem reported by Denis Excoffier in
36721         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
36722
36723 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36724
36725         * modules/sys_socket, modules/socklen: Include sys/types since
36726         FreeBSD 4.x's sys/socket.h needs it.
36727
36728 2006-06-19  Simon Josefsson  <jas@extundo.com>
36729
36730         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
36731
36732 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
36733
36734         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
36735
36736 2006-06-19  Bruno Haible  <bruno@clisp.org>
36737
36738         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
36739         and FULL_PATH_INTTYPES_H in angle brackets.
36740         Reported by Mark D. Baushke <mdb@gnu.org>.
36741
36742 2006-06-17  Eric Blake  <ebb9@byu.net>
36743
36744         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
36745         errno.
36746
36747 2006-06-17  Bruno Haible  <bruno@clisp.org>
36748
36749         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
36750         <sys/inttypes.h>.
36751
36752 2006-06-17  Bruno Haible  <bruno@clisp.org>
36753
36754         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
36755         whether errno is declared. Assume <errno.h> declares errno.
36756
36757 2006-06-17  Bruno Haible  <bruno@clisp.org>
36758
36759         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
36760
36761 2006-06-17  Bruno Haible  <bruno@clisp.org>
36762
36763         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
36764         problem on Solaris 2.5.1.
36765
36766 2006-06-16  Eric Blake  <ebb9@byu.net>
36767
36768         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
36769         * lib/unicodeio.c [!defined errno]: Likewise.
36770         * lib/strtol.c [!defined errno]: Likewise.
36771         * lib/strtod.c [!defined errno]: Likewise.
36772
36773 2006-06-15  Eric Blake  <ebb9@byu.net>
36774
36775         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
36776
36777 2006-06-15  Eric Blake  <ebb9@byu.net>
36778
36779         * config/srclist.txt (ssize_t.m4): Lose sync.
36780
36781 2006-06-15  Bruno Haible  <bruno@clisp.org>
36782
36783         * modules/stdint (Files): Include m4/full-header-path.m4,
36784         m4/size_max.m4, m4/wchar_t.m4.
36785         (Makefile.am): Many more substitutions.
36786         * modules/stdint-tests: New file.
36787         * tests/test-stdint.c: New file.
36788
36789 2006-06-15  Bruno Haible  <bruno@clisp.org>
36790
36791         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
36792         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
36793         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
36794         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
36795         gl_CHECK_TYPE_SAME): New macros.
36796
36797 2006-06-15  Bruno Haible  <bruno@clisp.org>
36798
36799         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
36800
36801 2006-06-15  Bruno Haible  <bruno@clisp.org>
36802
36803         * lib/stdint_.h: Rewritten to be fully auto-configured.
36804         Fixes bug on HP-UX/IA64.
36805
36806 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
36807
36808         * lib/getdate.y (__attribute__): Don't define if already defined.
36809         Problem reported by Larry Jones.
36810         * lib/utimens.c (__attribute__): Likewise.
36811
36812 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
36813
36814         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
36815         reported by Andreas Schwab.
36816
36817 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36818             Bruno Haible  <bruno@clisp.org>
36819
36820         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
36821         check for the declaration of strnlen and a run test that exposes the
36822         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
36823         rpl_strndup.
36824
36825 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36826             Bruno Haible  <bruno@clisp.org>
36827
36828         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
36829
36830 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36831
36832         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
36833         compile test, for Tru64 4.0D.
36834
36835 2006-05-28  Karl Berry  <karl@gnu.org>
36836
36837         * config/srclist.txt (printf-args.c): lose sync.
36838
36839 2006-05-26  Martin Lambers  <marlam@marlam.de>
36840
36841         * lib/getpass.c: Updates the test for the native W32 API, and adds
36842         missing includes, thus fixing compilation warnings.
36843
36844 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
36845
36846         * lib/exclude.c (exclude_fnmatch): New function.
36847         (excluded_file_name): Call exclude_fnmatch.
36848         * lib/exclude.h (excluded_file_name): New prototype
36849
36850 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
36851
36852         * lib/tempname.c (small_open, large_open): New macros.
36853         (__open, __open64) [!_LIBC]: Remove.
36854         (__gen_tempname): Use small_open and large_open instead of __open
36855         and __open64.  This fixes a portability bug on HP-UX 11.11i
36856         reported by Simon Wing-Tang in
36857         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
36858
36859 2006-05-24  Bruno Haible  <bruno@clisp.org>
36860
36861         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
36862         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
36863         Reported by Thorsten Maerz <torte@netztorte.de> via
36864         Aaron Stone <aaron@serendipity.cx>.
36865
36866 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
36867
36868         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
36869         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
36870         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
36871         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
36872         not really conditional on the cache.
36873         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
36874
36875 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
36876
36877         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
36878         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
36879         (my_usleep): Don't mishandle maximum value.
36880
36881 2006-05-19  Jim Meyering  <jim@meyering.net>
36882
36883         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
36884
36885 2006-05-17  Bruno Haible  <bruno@clisp.org>
36886
36887         Cygwin portability.
36888         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
36889
36890 2006-05-17  Bruno Haible  <bruno@clisp.org>
36891
36892         * lib/stdint_.h: Fix recognition of Cygwin.
36893
36894 2006-05-15  Bruno Haible  <bruno@clisp.org>
36895
36896         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
36897         on libtool patch by Ralf Wildenhues.
36898
36899 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
36900
36901         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
36902         test for C99 conformance; (bool) 0.5 is an integer constant
36903         expression, but (bool) -0.5 is not.  Problem reported by Fedor
36904         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
36905
36906 2006-05-11  Simon Josefsson  <jas@extundo.com>
36907
36908         * m4/xvasprintf.m4: Fix obvious typo.
36909
36910 2006-05-11  Jim Meyering  <jim@meyering.net>
36911
36912         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
36913         James Lemley.
36914
36915 2006-05-10  Simon Josefsson  <jas@extundo.com>
36916
36917         * lib/md4.c: Typo fix, update copyright years.
36918         (K1, K2): Don't use L because it turn computations into 64-bit on
36919         64-bit platforms.
36920
36921 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
36922
36923         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
36924         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
36925         unwanted sign propagation, e.g., on hosts with 64-bit int.
36926         There still are some problems with reeelly weird theoretical hosts
36927         (e.g., 33-bit int) but it's not worth worrying about now.
36928         * lib/sha1.c (rol): Likewise.
36929         (K1, K2, K3, K4): Remove unnecessary L suffix.
36930
36931 2006-05-10  Bruno Haible  <bruno@clisp.org>
36932
36933         * lib/des.c: Cast to avoid warnings.
36934
36935 2006-05-09  Bruno Haible  <bruno@clisp.org>
36936
36937         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
36938         (Depends-on): Depend also on xsize, stdarg.
36939         (configure.ac): Add gl_XVASPRINTF.
36940
36941 2006-05-09  Bruno Haible  <bruno@clisp.org>
36942
36943         * m4/xvasprintf.m4: New file.
36944
36945 2006-05-09  Bruno Haible  <bruno@clisp.org>
36946
36947         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
36948         (EOVERFLOW): Define fallback value.
36949         (xstrcat): New function.
36950         (xvasprintf): Recognize the special case of a string concatenation.
36951
36952 2006-05-08  Eric Blake  <ebb9@byu.net>
36953
36954         * gnulib-tool (func_version): Base copyright year on CVS date.
36955         (func_emit_copyright_notice): New function.
36956         (func_emit_lib_Makefile_am): Use it.
36957         (func_emit_tests_Makefile_am): Likewise.
36958         (func_import): Likewise.
36959
36960 2006-05-08  Bruno Haible  <bruno@clisp.org>
36961
36962         * modules/stdarg: New file.
36963         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
36964
36965 2006-05-08  Bruno Haible  <bruno@clisp.org>
36966
36967         * m4/stdarg.m4: New file, from GNU gettext.
36968
36969 2006-05-08  Bruno Haible  <bruno@clisp.org>
36970
36971         * config/srclist.txt (build-aux/config.rpath): different from latest
36972         release.
36973
36974 2006-05-08  Bruno Haible  <bruno@clisp.org>
36975
36976         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
36977
36978 2006-05-05  Jim Meyering  <jim@meyering.net>
36979
36980         * m4/warning.m4: New file, derived from bison's file by the same name.
36981
36982 2006-05-03  Bruno Haible  <bruno@clisp.org>
36983
36984         * lib/stdint_.h: Shorter URL.
36985         * lib/inttypes.h: Likewise.
36986
36987 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
36988
36989         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
36990
36991 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
36992
36993         * lib/verify.h: Document the internals better.  Most of this change
36994         was written by Bruno Haible.
36995
36996 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
36997
36998         * doc/verify.texi: New file, partly based on a proposal by
36999         Bruno Haible.
37000
37001 2006-05-02  Bruno Haible  <bruno@clisp.org>
37002
37003         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
37004         test from here...
37005         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
37006
37007 2006-04-29  Bruno Haible  <bruno@clisp.org>
37008
37009         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
37010         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
37011
37012 2006-04-29  Bruno Haible  <bruno@clisp.org>
37013
37014         * gnulib-tool: Make --update option actually work.
37015
37016 2006-04-29  Bruno Haible  <bruno@clisp.org>
37017
37018         * doc/gcd.texi: New file.
37019         * doc/gnulib.texi: Include it.
37020
37021 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
37022
37023         * lib/getdate.y (get_date): When adding relative date, start with the
37024         initial time, not with the result of the first mktime call.
37025
37026 2006-04-25  Bruno Haible  <bruno@clisp.org>
37027
37028         * gnulib-tool (func_import): Output the include directives in three
37029         blocks, sorted separately.
37030         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37031
37032 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
37033
37034         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
37035         to define main with arguments, for C++.  Reported by Eric Blake.
37036         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
37037         Prefer 'int main ()' to 'int main (void)', for C++.
37038         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
37039         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
37040         for 'main', for C99 and C++.
37041
37042 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
37043
37044         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
37045         Don't assume that exit status -1 is valid.
37046         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37047         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
37048         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
37049         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
37050         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
37051         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
37052         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
37053         functions can be used without declaring them, or that you can
37054         exit with status -1.
37055         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
37056
37057 2006-04-24  Karl Berry  <karl@gnu.org>
37058
37059         * config/srclist.txt (longdouble.m4): sync lost.
37060
37061 2006-04-24  Eric Blake  <ebb9@byu.net>
37062
37063         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
37064
37065 2006-04-24  Bruno Haible  <bruno@clisp.org>
37066
37067         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
37068         poll() implementation in AIX.
37069         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37070
37071 2006-04-24  Bruno Haible  <bruno@clisp.org>
37072
37073         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
37074         assigned exactly once.
37075
37076 2006-04-23  Claudio Fontana  <claudio@gnu.org>
37077             Bruno Haible  <bruno@clisp.org>
37078
37079         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
37080         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
37081         for AM_CPPFLAGS.
37082
37083 2006-04-23  Bruno Haible  <bruno@clisp.org>
37084
37085         * modules/copy-file: Depend on unistd.
37086         * modules/execute: Likewise.
37087         * modules/fatal-signal: Likewise.
37088         * modules/findprog: Likewise.
37089         * modules/mkdtemp : Likewise.
37090         * modules/pipe: Likewise.
37091         * modules/wait-process: Likewise.
37092
37093 2006-04-23  Bruno Haible  <bruno@clisp.org>
37094
37095         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
37096         condition was already detected.
37097         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37098
37099 2006-04-23  Bruno Haible  <bruno@clisp.org>
37100
37101         * lib/copy-file.c: Include <unistd.h> unconditionally.
37102         * lib/execute.c: Likewise.
37103         * lib/fatal-signal.c: Likewise.
37104         * lib/findprog.c: Likewise.
37105         * lib/mkdtemp.c: Likewise.
37106         * lib/pipe.h: Likewise.
37107         * lib/pipe.c: Likewise.
37108         * lib/wait-process.h: Likewise.
37109
37110 2006-04-23  Bruno Haible  <bruno@clisp.org>
37111
37112         * gnulib-tool (func_usage): Fix --import description. Document
37113         --update.
37114         (func_import): Create temporary file in a temporary directory, if
37115         --dry-run is specified. Silence errors from 'grep' when there are no
37116         m4 files in $m4dir.
37117         (func_create_testdir): Silence errors from 'grep' when there are no
37118         m4 files in $m4dir.
37119         Reported by Karl Berry <karl@freefriends.org>.
37120
37121 2006-04-20  Bruno Haible  <bruno@clisp.org>
37122
37123         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
37124         one argument, so that the code will be portable to Autoconf 2.60.
37125         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
37126         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
37127         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
37128
37129 2006-04-19  Derek Price  <derek@ximbiot.com>
37130             Eric Blake  <ebb9@byu.net>
37131
37132         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
37133         rather than "/full/path.h".  Update comment to match.  Shorten &
37134         generalize m4_translit call via AS_TR_CPP.
37135
37136 2006-04-19  Derek Price  <derek@ximbiot.com>
37137             Eric Blake  <ebb9@byu.net>
37138
37139         * lib/inttypes.h: Correct grammar in comment.
37140
37141 2006-04-18  Derek Price  <derek@ximbiot.com>
37142             Paul Eggert  <eggert@cs.ucla.edu>
37143
37144         * modules/inttypes: New file.
37145         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
37146
37147 2006-04-18  Derek Price  <derek@ximbiot.com>
37148             Paul Eggert  <eggert@cs.ucla.edu>
37149
37150         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
37151         New files.
37152
37153 2006-04-18  Derek Price  <derek@ximbiot.com>
37154             Paul Eggert  <eggert@cs.ucla.edu>
37155
37156         * lib/inttypes.h: New file.
37157         * lib/strtoimax.c: Assume <inttypes.h>.
37158
37159 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
37160
37161         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
37162         isn't mounted.  Problem reported by Kir Kolyshkin.
37163
37164 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
37165
37166         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
37167         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
37168         Derek R. Price.
37169         * lib/regex.h (RE_DUP_MAX): Update comment to match current
37170         implementation.
37171
37172 2006-04-12  Eric Blake  <ebb9@byu.net>
37173
37174         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
37175         is now done automatically by the corresponding Autoconf macro.
37176
37177 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
37178
37179         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
37180         time_r.h.
37181
37182 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
37183
37184         Merge regex changes from libc, removing some of our
37185         POSIX-conformance changes that were rejected and redoing them in a
37186         less-intrusive way.
37187
37188         * lib/regcomp.c (re_compile_internal, init_dfa):
37189         Length arg is now size_t, not Idx.  All uses changed.
37190         (peek_token): Forward decl now says internal_function.
37191         (__re_error_msgid, __re_error_msgid_idx):
37192         Now static rather than extern with attribute_hidden.
37193         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
37194         For some reason libc prefers K&R style defns for external functions.
37195         (regerror) [!defined _LIBC]: Likewise.
37196         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
37197         (seek_collating_symbol_entry, lookup_collation_sequence_value):
37198         (build_range_exp, build_collating_symbol):
37199         Use K&R-style defn.
37200         (re_compile_fastmap): Use '\0' to memset, not 0.
37201         (utf8_sb_map): Make the calculations more obvious.
37202         (init_dfa, parse_bracket_exp, build_charclass_op):
37203         Call calloc and cast result, as glibc does.
37204         (init_word_char, fetch_token, peek_token, peek_token_bracket):
37205         (build_range_exp, build_collating_symbol):
37206         Now internal functions.
37207
37208         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
37209
37210         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
37211         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
37212         Don't depend on VMS; depend on __VMS instead, for POSIX
37213         namespace cleanness.
37214         (regoff_t): Define to ssize_t, not long int.
37215
37216         Remove the REG_ macros named below.  Instead, make the old names
37217         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
37218         __USE_GNU_REGEX.
37219         (REG_BACKSLASH_ESCAPE_IN_LISTS):
37220         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
37221         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
37222         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
37223         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
37224         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
37225         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
37226         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
37227         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
37228         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
37229         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
37230         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
37231         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
37232         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
37233         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
37234         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
37235         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
37236         (REG_NREGS):
37237         Remove.  All uses replaced by the old RE_* names.
37238         (RE_BACKSLASH_ESCAPE_IN_LISTS):
37239         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
37240         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
37241         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
37242         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
37243         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
37244         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
37245         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
37246         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
37247         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
37248         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
37249         Don't bother having these macros be independent of each others'
37250         values, since they no longer exist in the POSIX name space.
37251
37252         Rename the following member names back to their old names,
37253         unless !__USE_GNU_REGEX.  All uses changed back.
37254         (buffer): Renamed from re_buffer.
37255         (allocated): Renamed from re_allocated.
37256         (used): Renamed from re_used.
37257         (syntax): Renamed from re_syntax.
37258         (fastmap): Renamed from re_fastmap.
37259         (translate): Renamed from re_translate.
37260         (can_be_null): Renamed from re_can_be_null.
37261         (regs_allocated): Renamed from re_regs_allocated.
37262         (fastmap_accurate): Renamed from re_fastmap_accurate.
37263         (no_sub): Renamed from re_no_sub.
37264         (not_bol): Renamed from re_not_bol.
37265         (not_eol): Renamed from re_not_eol.
37266         (newline_anchor): Renamed from re_newline_anchor.
37267         (num_regs): Renamed from rm_num_regs.
37268         (start): Renamed from rm_start.
37269         (end): Renamed from rm_end.
37270
37271         (free_state): Move up a bit.
37272
37273         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
37274         #define to be empty.
37275         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
37276         when that is what is intended.
37277         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
37278         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
37279         (MAX): New macro.
37280         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
37281         All uses changed back to re_malloc, etc.  It's now the caller's
37282         responsibility to check for overflow; all callers changed.
37283         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
37284         (re_x2nrealloc): Remove.
37285         (free_state): Remove decl.
37286
37287         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
37288         (re_set_registers, re_exec):
37289         Use K&R-style defn.
37290
37291         2006-01-31  Roland McGrath  <roland@redhat.com>
37292
37293         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
37294         Reported by Mike Frysinger <vapier@gentoo.org>.
37295
37296         2006-01-15  Andreas Jaeger  <aj@suse.de>
37297
37298         [BZ #1950]
37299         * lib/regex_internal.c (re_string_reconstruct): Adjust for
37300         build_wcs_upper_buffer change.
37301         (build_wcs_upper_buffer): Change return type.
37302
37303         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
37304
37305         * lib/regex_internal.h: Include <stdint.h> if available.
37306
37307         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
37308
37309         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
37310
37311         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37312
37313         * lib/regcomp.c: Adjust for changed secondary hash function.
37314
37315         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
37316
37317         * lib/regex.h: Pretty printing.
37318         Clean up namespace a bit.
37319
37320         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
37321
37322         * lib/regexec.c (update_cur_sifted_state, check_arrival,
37323         check_arrival_add_next_nodes): Avoid using uninitialized variable.
37324
37325         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
37326                     Ulrich Drepper  <drepper@redhat.com>
37327
37328         [BZ #1302]
37329         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
37330         changed.
37331         (bitset_word_t): Renamed from bitset_word.  All uses changed.
37332
37333         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
37334
37335         [BZ #281]
37336         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
37337         * lib/regcomp.c: Remove unnecessary uses of
37338         unsigned RE_TRANSLATE_TYPE.
37339         * lib/regex_internal.h: Likewise.
37340         * lib/regex_internal.c: Likewise.
37341         * lib/regexec.c: Likewise.
37342         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
37343
37344         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
37345
37346         * lib/regexec.c (find_recover_state): Remove unnecessary
37347         initialization.
37348         (transit_state_bkref): Make DFA a const pointer.
37349         (get_subexp): Likewise.
37350         (check_arrival): Likewise.
37351         (update_cur_sifted_state): Likewise.
37352         (re_search_internal): Likewise.
37353         (prune_impossible_nodes): Likewise.
37354         (acquire_init_state_context): Likewise.
37355         (proceed_next_node): Likewise.
37356         (set_regs): Likewise.
37357         (free_fail_stack_return): Likewise.
37358         (check_arrival_expand_ecl): Mark DFA parameter as const.
37359         (check_arrival_expand_ecl_sub): Likewise.
37360         (check_subexp_limits): Likewise.
37361         (sub_epsilon_src_nodes):  Likewise.
37362         (add_epsilon_src_nodes):  Likewise.
37363         (merge_state_array): Likewise.
37364         (update_regs): Likewise.
37365         (build_trtable): Likewise.
37366         (sift_states_backward): Mark MCTX parameter as const.
37367         (build_sifted_states): Likewise.
37368         (update_cur_sifted_state): Likewise.
37369         (sift_states_mkref): Likewise.
37370         (check_arrival_expand_ecl): Mark eclosure as const.
37371         (check_dst_limits_calc_pos_1): Likewise.
37372         * lib/regex_internal.h (re_match_context_t): Make dfa a const
37373         pointer.
37374
37375         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
37376
37377         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
37378         (transit_state_sb): Likewise.
37379         (transit_state_mb): Likewise.
37380         (sift_states_iter_mb): Likewise.
37381         (check_arrival_add_next_nodes): Likewise.
37382         (check_node_accept_bytes): Change first parameter to pointer-to-const.
37383         [_LIBC] (re_search_2_stub): Use mempcpy.
37384
37385         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
37386         mbrtowc for very simple UTF-8 case.
37387
37388         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
37389         a pointer-to-const.
37390         (re_acquire_state_context): Likewise.
37391         * lib/regex_internal.h: Adjust prototypes.
37392
37393         * lib/regex.c: Prevent using C++ compilers.
37394
37395         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
37396         (re_acquire_state_context): Likewise.
37397
37398 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
37399
37400         * modules/regex (Depends-on): Add ssize_t.
37401
37402 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
37403
37404         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
37405         translation table.
37406
37407 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
37408
37409         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
37410
37411 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
37412             Bruno Haible  <bruno@clisp.org>
37413
37414         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
37415         <sys/types.h> and <inttypes.h>.
37416
37417 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37418
37419         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
37420         `__error_t_defined', so argp.h will not typedef the former.
37421
37422 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
37423
37424         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
37425         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
37426         glibc names.  Even if glibc is changed to conform to POSIX, the
37427         traditional names will be available anyway, since regex depends on
37428         the extensions module.  Also, fix a longstanding typo in the
37429         implementation of Spencer ERE test #75 from grep 2.3.  Problems
37430         reported by Emanuele Giaquinta.  Also, change sense of cached
37431         variable, so that the message makes sense.
37432
37433 2006-03-24  Simon Josefsson  <jas@extundo.com>
37434
37435         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
37436         including some doc fixes.
37437         (base64_encode_alloc): Fix +1 bug on allocation failures.
37438
37439 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37440
37441         * lib/base64.c (base64_encode): Do not read past end of array with
37442         unsanitized input on systems with CHAR_BIT > 8.
37443
37444 2006-03-24  Eric Blake  <ebb9@byu.net>
37445
37446         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
37447
37448 2006-03-22  Karl Berry  <karl@gnu.org>
37449
37450         * config/srclist.txt (*setenv.[ch]): get from coreutils.
37451         * config/srclistvars.sh (COREUTILS): new var.
37452
37453 2006-03-17  Jim Meyering  <jim@meyering.net>
37454
37455         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
37456         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
37457
37458 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
37459
37460         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
37461         no longer needs it.  Instead, check that regoff_t is as least
37462         as wide as ptrdiff_t.
37463
37464         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
37465         so that our regex.h stays compatible with the installed regex.
37466         This is helpful for installers who configure --without-included-regex.
37467         Problem reported by Emanuele Giaquinta.
37468
37469 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
37470
37471         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
37472         Typedef to long int, not to off_, as POSIX will likely change
37473         in that direction.
37474
37475 2006-03-15  Eric Blake  <ebb9@byu.net>
37476
37477         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
37478
37479 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
37480
37481         * lib/argp-help.c (validate_uparams): Fix typo
37482         * lib/argp-parse.c (argp_default_options): Consistently begin help
37483         messages with a lowercase letter.
37484
37485 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
37486
37487         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
37488         overrun buffers and shouldn't be used (much as gets shouldn't be
37489         used).
37490         * lib/time_r.c (asctime_r, ctime_r): Likewise.
37491
37492 2006-03-08  Simon Josefsson  <jas@extundo.com>
37493
37494         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
37495         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37496
37497 2006-03-08  Simon Josefsson  <jas@extundo.com>
37498
37499         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
37500         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37501
37502 2006-03-08  Simon Josefsson  <jas@extundo.com>
37503
37504         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
37505         signal that configure disabled the device.
37506
37507 2006-03-08  Simon Josefsson  <jas@extundo.com>
37508
37509         * build-aux/maint.mk: Fix refresh-po, to handle no translated
37510         languages.
37511
37512 2006-03-07  Simon Josefsson  <jas@extundo.com>
37513
37514         * modules/getopt (Depends-on): Add unistd.
37515
37516         * modules/unistd: New file.
37517
37518 2006-03-07  Simon Josefsson  <jas@extundo.com>
37519
37520         * modules/gc-random: New file.
37521
37522 2006-03-07  Simon Josefsson  <jas@extundo.com>
37523
37524         * m4/unistd_h.m4: New file.
37525
37526 2006-03-07  Simon Josefsson  <jas@extundo.com>
37527
37528         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
37529         test to be side-effect free by storing the result in the cache
37530         variable gl_cv_lib_readline, and moving the assignment of
37531         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
37532         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37533
37534 2006-03-07  Simon Josefsson  <jas@extundo.com>
37535
37536         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
37537         error on missing devices (the functions will return an error).
37538
37539         * m4/gc.m4: Move random stuff to gc-random.m4
37540
37541 2006-03-07  Simon Josefsson  <jas@extundo.com>
37542
37543         * lib/unistd_.h: New file.
37544
37545 2006-03-07  Simon Josefsson  <jas@extundo.com>
37546
37547         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
37548
37549 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
37550
37551         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
37552         Problem reported by Juan Manuel Guerrero.
37553
37554 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
37555
37556         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
37557         the unistd module.
37558         * lib/getlogin_r.c: Likewise.
37559         * lib/getlogin_r.h: Likewise.
37560         * lib/glob.c: Likewise.
37561         * lib/pagealign_alloc.c: Likewise.
37562         * lib/unistd_.h: Remove; no longer needed.
37563
37564 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
37565
37566         * MODULES.html.sh (Support for systems lacking POSIX:2001):
37567         Add unistd.
37568         * modules/c-stack (Depends-on): Add unistd.
37569         * modules/getlogin_r: Likewise.
37570         * modules/glob: Likewise.
37571         * modules/pagealign_alloc: Likewise.
37572         * modules/unistd (Files): Remove lib/unistd_.h.
37573         (EXTRA_DIST): Remove.
37574         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
37575         need unistd_.h.
37576         (MOSTLYCLEANFILES): Remove unistd.h-t.
37577
37578 2006-03-03  Simon Josefsson  <jas@extundo.com>
37579
37580         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
37581
37582 2006-03-03  Simon Josefsson  <jas@extundo.com>
37583
37584         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
37585         libidn and bison.
37586
37587 2006-03-03  Simon Josefsson  <jas@extundo.com>
37588
37589         * build-aux/maint.mk: Add indent target.
37590
37591 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
37592
37593         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
37594         our replacement poll.h in any case, to avoid a differing
37595         declaration from a system header.  Seen on AIX.
37596
37597 2006-03-01  Simon Josefsson  <jas@extundo.com>
37598
37599         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
37600         <kasal@ucw.cz>.
37601
37602 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
37603
37604         * modules/gettime (Depends-on): Add extensions module.
37605         * modules/nanosleep (Depends-on): Likewise.
37606         * modules/settime (Depends-on): Likewise.
37607
37608 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
37609
37610         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
37611         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
37612         pedantically.
37613         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37614         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
37615
37616         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
37617         not "==".  Reported by Ralf Wildenhues.
37618
37619 2006-03-01  Karl Berry  <karl@gnu.org>
37620
37621         * doc/Copyright/request-*: new files, synced from gnuorg.
37622
37623 2006-03-01  Karl Berry  <karl@gnu.org>
37624
37625         * config/srclist.txt (Copyright/*): new entries.
37626
37627 2006-02-28  Simon Josefsson  <jas@extundo.com>
37628
37629         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
37630
37631 2006-02-27  Simon Josefsson  <jas@extundo.com>
37632
37633         * lib/base64.h: Indent #define's.  From Jim Meyering
37634         <jim@meyering.net>.
37635
37636 2006-02-27  Jim Meyering  <jim@meyering.net>
37637
37638         Revert the change of 2006-02-24, so these files can continue
37639         to be sync'd from gettext.
37640         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
37641         of `config.h'.
37642
37643 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
37644
37645         * modules/intprops: New file.
37646         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
37647         Add intprops.
37648         * modules/getloadavg (Files): Remove lib/intprops.h.
37649         (Depends-on): Add intprops.
37650         * modules/human: Likewise.
37651         * modules/inttostr: Likewise.
37652         * modules/openat: Likewise.
37653         * modules/sig2str: Likewise.
37654         * modules/userspec: Likewise.
37655         * modules/utimecmp: Likewise.
37656         * modules/xnanosleep: Likewise.
37657         * modules/xstrtol: Likewise.
37658
37659 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
37660
37661         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
37662         * modules/lock-tests (TESTS): Use $(EXEEXT).
37663         * modules/tls-tests: Likewise.
37664         * modules/argp-tests: Likewise.
37665         (check_PROGRAMS): New var, replacing...
37666         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
37667
37668 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37669
37670         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
37671         `config.h'.
37672
37673 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
37674
37675         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
37676
37677 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37678
37679         Sync from coreutils.
37680         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
37681         gl_CHDIR_SAFER.
37682
37683 2006-02-22  Jim Meyering  <jim@meyering.net>
37684
37685         Sync from coreutils.
37686         * m4/chdir-safer.m4: New file.
37687
37688 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
37689
37690         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
37691         AT_FDCWD exceeds INT_MAX.
37692         * lib/openat.h (AT_FDCWD): Likewise.
37693
37694 2006-02-17  Eric Blake  <address@hidden>
37695
37696         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
37697
37698 2006-02-16  Simon Josefsson  <jas@extundo.com>
37699
37700         * modules/getaddrinfo (Depends-on): Add sys_socket.
37701
37702 2006-02-15  Simon Josefsson  <jas@extundo.com>
37703
37704         * build-aux/maint.mk: Add dsyntax-check rule.
37705
37706 2006-02-15  Eric Blake  <ebb9@byu.net>
37707
37708         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
37709         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
37710         'present but cannot compile' warnings on cygwin.
37711         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
37712         use ws2tcpip.h if sys/socket.h works.
37713         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
37714         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
37715
37716 2006-02-14  Simon Josefsson  <jas@extundo.com>
37717
37718         * modules/maintainer-makefile (Files): Rename.
37719
37720         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
37721         and (the local) Makefile.cfg to maint-cfg.mk.
37722
37723         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
37724         to the latter.
37725
37726         * modules/maintainer-makefile: New module.
37727
37728         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
37729         severaly stripped to make it possible to build it up from scratch
37730         with reliable tests.
37731
37732         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
37733         fixes to permit overriding the default actions when configure and
37734         makefile are not available.
37735
37736 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
37737
37738         Sync from coreutils.
37739         * modules/lstat (Depends-on): Don't depend on xalloc.
37740         (License): Change from GPL to LGPL, since this is now simply a
37741         replacement for a libc function.
37742
37743 2006-02-14  Jim Meyering  <jim@meyering.net>
37744
37745         Sync from coreutils.
37746
37747         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
37748         failure on deficient systems, and simplify gnulib lgpl dependencies.
37749         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
37750         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
37751
37752         * lib/xalloc-die.c: Remove unused definition of N_.
37753
37754 2006-02-14  Jim Meyering  <jim@meyering.net>
37755
37756         Sync from coreutils.
37757         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
37758         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
37759         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
37760         double-quote uses of that variable, to accommodate the rare case in
37761         which getmntent is available in none of the libraries checked.  This
37762         happens at least on FreeBSD 5.0.
37763
37764 2006-02-13  Simon Josefsson  <jas@extundo.com>
37765
37766         * gnulib-tool (Usage): Fix --import, from
37767         karl@freefriends.org (Karl Berry).
37768
37769 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
37770
37771         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
37772
37773 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
37774
37775         * lib/argp-namefrob.h: Restore changes accidentally lost during the
37776         "autoupdate" on 2005-12-12.
37777
37778 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
37779
37780         * modules/closeout (Depends-on): Remove atexit.
37781
37782 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
37783
37784         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
37785         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
37786
37787 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
37788
37789         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
37790         __EXTENSIONS__ if this causes compilation to fail.  Problem
37791         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
37792         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
37793
37794 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
37795
37796         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
37797         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
37798         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
37799         All uses changed.
37800
37801 2006-01-26  Simon Josefsson  <jas@extundo.com>
37802
37803         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
37804         prototype is visible on mingw32.
37805
37806         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
37807         for mingw32.
37808
37809         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
37810         mingw32).
37811
37812 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37813
37814         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
37815         attempt to open for write; this always fails, at least on POSIX
37816         hosts.  This reinstates the 2006-01-09 change, which was
37817         inadvertently removed.
37818
37819 2006-01-26  Bruno Haible  <bruno@clisp.org>
37820
37821         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
37822         Reported by Paul Eggert.
37823
37824 2006-01-26  Bruno Haible  <bruno@clisp.org>
37825             Paul Eggert  <eggert@cs.ucla.edu>
37826
37827         * lib/stdbool_.h (_Bool)
37828         [(! (defined __cplusplus || defined __BEOS__)
37829           && !defined __GNUC__
37830           && !(defined __HP_cc || defined __xlc__
37831                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
37832                || defined __sgi))]:
37833         #define to signed char in these cases too; this simplifies
37834         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
37835         etc., separately) and makes it more conservative.
37836
37837 2006-01-25  Simon Josefsson  <jas@extundo.com>
37838
37839         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
37840         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
37841         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
37842
37843 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37844
37845         * lib/argp-namefrob.h: Bugfix. Remove stray #
37846
37847 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
37848
37849         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
37850         so that we test the test.
37851         Check for yet another HP-UX cc bug involving *bool |= bool.
37852
37853 2006-01-25  Karl Berry  <karl@gnu.org>
37854
37855         * config/srclist.txt (vasnprintf.c): sync lost.
37856
37857 2006-01-25  Jim Meyering  <jim@meyering.net>
37858
37859         Sync from the stable (b5) branch of coreutils:
37860
37861         * lib/fts.c (fts_children): Don't let close() clobber errno from
37862         failed fchdir().
37863
37864         * lib/fts.c (fts_stat): When following a symlink-to-directory,
37865         don't necessarily interpret stat-fails+lstat-succeeds as indicating
37866         a dangling symlink.  That can also happen at least for ELOOP.
37867         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
37868         FYI, this bug predates the inclusion of fts.c in coreutils.
37869
37870         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
37871         in their own block, so pre-c99 compilers don't object.
37872
37873         Avoid the double-free (first in fts_read, second in fts_close) that
37874         would occur when an `active' directory is made inaccessible (e.g.,
37875         via chmod a-x) during a traversal.
37876         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
37877         before returning.  Reproduce this failure by
37878         mkdir -p a/b; cd a; chmod a-x . b
37879         Reported by Stavros Passas.
37880
37881 2006-01-25  Jim Meyering  <jim@meyering.net>
37882
37883         * lib/fileblocks.c: Remove more useless parentheses.
37884         * lib/readutmp.h: Likewise.
37885
37886 2006-01-25  Bruno Haible  <bruno@clisp.org>
37887
37888         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
37889         warnings.
37890         Reported by Paul Eggert.
37891
37892 2006-01-25  Bruno Haible  <bruno@clisp.org>
37893
37894         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
37895         rid of a trap command. For Solaris sh.
37896         Reported by Mark D. Baushke <mdb@gnu.org>.
37897
37898 2006-01-24  Simon Josefsson  <jas@extundo.com>
37899
37900         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
37901         Bruno.
37902
37903 2006-01-24  Karl Berry  <karl@gnu.org>
37904
37905         * config/srclist.txt (argp-namefrob.h): sync lost.
37906
37907 2006-01-24  Jim Meyering  <jim@meyering.net>
37908
37909         * modules/openat (Files): Add lib/intprops.h.
37910         From Mark D. Baushke.
37911
37912 2006-01-24  Jim Meyering  <jim@meyering.net>
37913
37914         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
37915         Reported by Mark D. Baushke.
37916
37917 2006-01-24  Jim Meyering  <jim@meyering.net>
37918
37919         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
37920
37921 2006-01-24  Bruno Haible  <bruno@clisp.org>
37922
37923         * modules/strnlen (Maintainer): Change from glibc to all.
37924
37925 2006-01-24  Bruno Haible  <bruno@clisp.org>
37926
37927         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
37928         Patch by Paul Eggert.
37929
37930 2006-01-24  Bruno Haible  <bruno@clisp.org>
37931
37932         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
37933         already has it.
37934         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
37935         2005-11-26.
37936
37937         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
37938         'signed char' to avoid problems with the built-in _Bool type.
37939         Reported by Paul Eggert on 2005-11-26.
37940
37941 2006-01-24  Bruno Haible  <bruno@clisp.org>
37942
37943         * gnulib-tool (func_import): Avoid constructing complicated sed
37944         expressions inside backquote.
37945         Report and solution by Mark D. Baushke <mdb@gnu.org>.
37946
37947 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
37948
37949         These changes imported from libc.
37950         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
37951         test and two separate function calls.
37952         * lib/strndup.c (__strndup): Add libc_hidden_def.
37953
37954 2006-01-23  Simon Josefsson  <jas@extundo.com>
37955
37956         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
37957         Remove the test_*_SOURCES variable: automake infers it by default.
37958         * modules/tls-tests: Likewise.
37959
37960 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37961
37962         Work around porting bugs reported by Dieter in
37963         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
37964         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
37965         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
37966         Include "getopt.h" first, to check interface.
37967         (getenv): Declare only if defined HAVE_DECL_GETENV &&
37968         !HAVE_DECL_GETENV.
37969         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
37970         (__strndup): Revert to K&R-style function dfns, the glibc style.
37971         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
37972         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
37973         Include strnlen.h first, to get prototype properly.
37974         (strnlen): Renamed from __strnlen.
37975         Remove weak alias.
37976
37977 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37978
37979         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
37980
37981 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37982
37983         * config/srclist.txt: Adjust to reflect glibc reorganization.
37984         This affects only comments.
37985
37986 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
37987
37988          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
37989          Reported by Bruce Korb <bkorb@gnu.org>.
37990
37991 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37992
37993         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
37994         to pacify gcc -Wswitch-default.
37995
37996 2006-01-22  Bruno Haible  <bruno@clisp.org>
37997
37998         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
37999         temporary buffer for sprintf, take into account the precision also
38000         for 'd', 'i', 'u', 'o', 'x', 'X'.
38001
38002 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
38003
38004         * modules/argp-tests: New module
38005         * tests/test-argp.c: New file
38006         * tests/test-argp-2.sh: New file
38007
38008 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
38009
38010         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
38011         (__argp_base_name): Removed
38012         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
38013         typo.
38014         (__argp_base_name): Provide macro definition or extern declaration
38015         depending on the configuration
38016
38017 2006-01-20  Simon Josefsson  <jas@extundo.com>
38018
38019         * modules/inet_ntop (Depends-on): Depend on sys_socket.
38020
38021 2006-01-20  Simon Josefsson  <jas@extundo.com>
38022
38023         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
38024
38025 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
38026
38027         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
38028         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
38029         Suggested by Bruno Haible.
38030
38031 2006-01-20  Karl Berry  <karl@gnu.org>
38032
38033         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
38034         until changes propagate, I guess.
38035
38036 2006-01-19  Simon Josefsson  <jas@extundo.com>
38037
38038         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
38039
38040 2006-01-19  Simon Josefsson  <jas@extundo.com>
38041
38042         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
38043
38044 2006-01-19  Simon Josefsson  <jas@extundo.com>
38045
38046         * gnulib-tool: Set check_PROGRAMS.
38047
38048         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
38049         modules/des-tests, modules/gc-arcfour-tests,
38050         modules/gc-arctwo-tests, modules/gc-des-tests,
38051         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
38052         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
38053         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
38054         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
38055         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
38056         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
38057         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
38058         test_*_SOURCES.
38059
38060 2006-01-18  Simon Josefsson  <jas@extundo.com>
38061
38062         * modules/socklen (Depends-on): Depend on sys_socket.
38063
38064 2006-01-18  Simon Josefsson  <jas@extundo.com>
38065
38066         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
38067         modules/des-tests, modules/gc-arcfour-tests,
38068         modules/gc-arctwo-tests, modules/gc-des-tests,
38069         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
38070         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
38071         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
38072         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
38073         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
38074         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
38075         $(EXEEXT) to automake TESTS variable, for mingw32.
38076
38077 2006-01-17  Simon Josefsson  <jas@extundo.com>
38078
38079         * modules/socklen (Include): Need sys/socket.h.
38080
38081 2006-01-17  Bruno Haible  <bruno@clisp.org>
38082
38083         * modules/ssize_t (Include): Add <sys/types.h>.
38084
38085 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
38086
38087         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
38088         it's not portable and it doesn't work with cross-compiles.
38089         Problem reported by Bruno Haible.  Fix missing-$ typo in
38090         'test "gl_cv_ignore_unused_libraries" ...' that prevented
38091         -zignore from being used with Sun's C compiler.
38092
38093 2006-01-12  Simon Josefsson  <jas@extundo.com>
38094
38095         * lib/base64.c: Fix warning, reported by Bruno Haible
38096         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
38097
38098 2006-01-12  Bruno Haible  <bruno@clisp.org>
38099
38100         * modules/ldd: New file.
38101         * build-aux/ldd.sh.in: New file.
38102         * MODULES.html.sh (Support for building libraries and executables): Add
38103         ldd.
38104
38105 2006-01-12  Bruno Haible  <bruno@clisp.org>
38106
38107         * m4/ldd.m4: New file.
38108
38109 2006-01-12  Bruno Haible  <bruno@clisp.org>
38110
38111         * gnulib-tool (func_import, func_create_testdir): Don't go into an
38112         endless loop while replacing $auxdir with build-aux.
38113
38114 2006-01-11  Simon Josefsson  <jas@extundo.com>
38115
38116         * lib/stdint_.h (SIZE_MAX): Add missing (.
38117
38118 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
38119
38120         Sync from coreutils.
38121         * lib/md5.c: Fix commentary typos.
38122         (alignof, UNALIGNED_P): No need for a GCC-specific version.
38123         * lib/md5.h (__attribute__): Remove; unused.
38124         * lib/sha1.c: Fix commentary to match md5 better.
38125         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
38126         so that we don't need to worry about alignment.  All uses changed.
38127         This merges the 2005-10-28 md5 change into sha1.
38128
38129 2006-01-11  Jim Meyering  <jim@meyering.net>
38130
38131         Sync from coreutils.
38132         * lib/md5.c (OP): Fix spacing.
38133
38134 2006-01-11  Bruno Haible  <bruno@clisp.org>
38135
38136         Ensure automatic ordering between gl_LOCK and gl_ARGP.
38137         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
38138         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
38139
38140 2006-01-11  Bruno Haible  <bruno@clisp.org>
38141
38142         Ensure automatic ordering between gl_LOCK and gl_ARGP.
38143         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
38144         the "early" section as well.
38145
38146 2006-01-11  Bruno Haible  <bruno@clisp.org>
38147
38148         Avoid "ar: no archive members specified" error on MacOS X.
38149         * gnulib-tool (func_modules_add_dummy): New function.
38150         (func_import, func_create_testdir): Invoke it.
38151
38152 2006-01-11  Bruno Haible  <bruno@clisp.org>
38153
38154         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
38155         with $auxdir in AC_CONFIG_FILES statements.
38156
38157 2006-01-11  Bruno Haible  <bruno@clisp.org>
38158
38159         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
38160         Initialize also noinst_HEADERS to empty.
38161
38162 2006-01-11  Bruno Haible  <bruno@clisp.org>
38163
38164         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
38165         variables.
38166         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
38167         autoreconf.
38168
38169 2006-01-11  Bruno Haible  <bruno@clisp.org>
38170
38171         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
38172         overridable by the user.
38173         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38174
38175 2006-01-10  Simon Josefsson  <jas@extundo.com>
38176
38177         * modules/sys_socket: New file.
38178
38179 2006-01-10  Simon Josefsson  <jas@extundo.com>
38180
38181         * m4/sys_socket_h.m4: New file.
38182
38183 2006-01-10  Simon Josefsson  <jas@extundo.com>
38184
38185         * lib/socket_.h: New file.
38186
38187 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38188
38189         * modules/readutmp (Maintainer): Add myself.
38190
38191 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38192
38193         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
38194         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
38195         People who are still concerned with buggy memcmp implementations
38196         can invoke gl_FUNC_MEMCMP themselves.
38197
38198 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38199
38200         * lib/regex_internal.h (BITSET_WORD_BITS):
38201         Work around a bug in 64-bit PGC (before version 6.1-2), where the
38202         preprocessor mishandles large unsigned values as if they were signed.
38203         Problem reported by Claudio Fontana in
38204         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
38205
38206 2006-01-10  Jim Meyering  <jim@meyering.net>
38207
38208         Avoid the double-free (first in fts_read, second in fts_close) that
38209         would occur when an `active' directory is made inaccessible (e.g.,
38210         via chmod a-x) during a traversal.
38211         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
38212         before returning.  Reproduce this failure by
38213         mkdir -p a/b; cd a; chmod a-x . b
38214         Reported by Stavros Passas.
38215
38216         Sync from coreutils.
38217         * lib/sha1.c: Tweak grammar in a comment.
38218
38219 2006-01-10  Jim Meyering  <jim@meyering.net>
38220
38221         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
38222         Patch by Joerg Sonnenberger.
38223
38224 2006-01-10  Bruno Haible  <bruno@clisp.org>
38225
38226         * modules/readutmp: Depend on module free.
38227         * modules/strtok_r: Depend on module restrict.
38228
38229 2006-01-10  Bruno Haible  <bruno@clisp.org>
38230
38231         * modules/gettext (configure.ac): Add an invocation of
38232         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
38233
38234 2006-01-10  Bruno Haible  <bruno@clisp.org>
38235
38236         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
38237         Reported by Werner Lemberg <wl@gnu.org>.
38238
38239 2006-01-10  Bruno Haible  <bruno@clisp.org>
38240
38241         * lib/localcharset.c: Update from GNU gettext.
38242
38243 2006-01-10  Bruno Haible  <bruno@clisp.org>
38244
38245         * lib/argp.h (__const): Remove macro. Use const instead.
38246         * lib/argp-fmtstream.h (__const): Likewise.
38247         * lib/glob_.h (__const): Remove macro.
38248         * lib/glob-libc.h: Use const instead of __const.
38249
38250 2006-01-10  Bruno Haible  <bruno@clisp.org>
38251
38252         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
38253         variable.
38254         Needed to avoid an automake error regarding the 'gettext' module.
38255
38256 2006-01-09  Simon Josefsson  <jas@extundo.com>
38257
38258         * modules/inet_ntop (Depends-on): Add restrict.
38259
38260 2006-01-09  Simon Josefsson  <jas@extundo.com>
38261
38262         * modules/gc-rijndael-tests (License): Put under LGPL.
38263
38264         * modules/gc-des-tests (License): Likewise.
38265
38266         * modules/gc-arcfour-tests (License): Likewise.
38267
38268         * modules/gc-arctwo-tests (License): Likewise.
38269
38270         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
38271
38272         * modules/gc-hmac-sha1-tests (Files): Likewise.
38273
38274         * modules/gc-hmac-md5-tests (License): Likewise.
38275
38276         * modules/gc-sha1-tests (License): Likewise.
38277
38278         * modules/gc-md5-tests (License): Likewise.
38279
38280         * modules/gc-md4-tests (License): Likewise.
38281
38282         * modules/gc-md2-tests (License): Likewise.
38283
38284         * modules/gc-tests (License): Likewise.
38285
38286         * modules/des-tests (License): Likewise.
38287
38288         * modules/md4-tests (License): Likewise.
38289
38290         * modules/md2-tests (License): Likewise.
38291
38292 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38293
38294         Sync from coreutils:
38295
38296         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
38297         * modules/lib-ignore: New file.
38298         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
38299         chdir-safer.m4, lchmod.m4.
38300         * modules/openat: Add mkdirat.c, openat-priv.h.
38301
38302 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38303
38304         Sync from coreutils.
38305         * m4/lib-ignore.m4: New file.
38306         * m4/lchmod.m4: New file.
38307
38308 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38309
38310         Sync from coreutils.
38311         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
38312         for write access: POSIX says that must fail.
38313         * lib/fts.c (diropen): Likewise.
38314         * lib/save-cwd.c (save_cwd): Likewise.
38315         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
38316         well, for minor improvements on hosts that lack O_DIRECTORY.
38317         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
38318         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
38319         Fall back on chown if open failed with EACCES.
38320
38321         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
38322         Report an error at compile-time if only a 1-second nominal clock
38323         resolution is found.
38324
38325         * lib/lchmod.h: New file.
38326         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
38327         (make_dir_parents): Use lchown rather than chown, and
38328         lchmod rather than chmod.
38329
38330         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
38331         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
38332         "proc" reported by n0dalus.
38333
38334         * lib/mountlist.c: Include <limits.h>.
38335         (dev_from_mount_options)
38336         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
38337         New function.  It no longer assumes "dev=" has the System V meaning
38338         on Linux (since it doesn't).  It also parses "dev=" more carefully.
38339         (read_file_system_list)
38340         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
38341         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
38342         dev= in that case.
38343
38344         * lib/posixtm.h (PDS_PRE_2000): New macro.
38345         * lib/posixtm.c (year): Arg is now syntax_bits rather than
38346         allow_century.  All usages changed.  Reject dates outside the range
38347         1969-1999 if PDS_PRE_2000 is used.
38348
38349 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38350
38351         Sync from coreutils.
38352         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
38353         (Time of day items): Mention the possibility of leap seconds.
38354         Problem reported by Dr. David Alan Gilbert.
38355
38356 2006-01-09  Jim Meyering  <jim@meyering.net>
38357
38358         Sync from coreutils.
38359
38360         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
38361
38362         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
38363
38364         * lib/modechange.c (mode_compile): Reject an invalid mode string
38365         that starts with an octal digit.  From Andreas Gruenbacher.
38366
38367         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
38368         and dup to open_safer and dup_safer, respectively.
38369         (openat_permissive): Fix typo in comment.
38370
38371         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
38372         "gettext.h"; either no longer needed or are guaranteed by openat.h.
38373         (_): Remove; no longer needed.
38374         (openat): Renamed from rpl_openat; no need for rpl_openat
38375         since openat.h renames openat for us.
38376         Replace most of the body with a call to openat_permissive,
38377         to avoid duplicate code.
38378         Port to (probably hypothetical) environments were mode_t is
38379         wider than int.
38380         (openat_permissive): Require mode arg, so that we can check
38381         types better.  Put it just after flags.  Change cwd failure
38382         indicator from pointer-to-bool to pointer-to-errno-value.
38383         All callers changed.
38384         Invoke openat_save_fail and/or openat_restore_fail if
38385         cwd_errno is null, so that openat can call us.
38386         (openat_permissive, fdopendir, fstatat, unlinkat):
38387         Simplify errno handling to avoid some duplicate code,
38388         as it's OK to set errno on success.
38389         * lib/openat.h: Revamp code so that function macros depend on
38390         __OPENAT_PREFIX only, not also on AT_FDCWD.
38391         (openat_ro): Remove.  Caller changed to use openat_permissive.
38392         (openat_permissive): Now a macro, if not a function.
38393         (openat_restore_fail, openat_save_fail): Now always functions,
38394         since mkdirat needs them even if __OPENAT_PREFIX is defined.
38395
38396         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
38397         and openat.c.
38398         * lib/mkdirat.c: Include openat-priv.h.
38399         Remove definitions of macros defined therein.
38400         * lib/openat.c: Likewise.
38401
38402         * lib/mkdirat.c (mkdirat): New file and function.
38403         * lib/openat.h (mkdirat): Declare.
38404
38405         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
38406
38407         * lib/openat.h (openat_permissive): Declare.
38408         (openat_ro): Define.
38409
38410         * lib/openat.c (EXPECTED_ERRNO): New macro.
38411         (openat_permissive): New function -- used in remove.c rewrite.
38412         (all functions): Set errno just before returning, only if there
38413         was an actual failure.
38414         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
38415
38416         Emulate openat-family functions using Linux's procfs, if possible.
38417         Idea and some code based on Ulrich Drepper's glibc changes.
38418
38419         * lib/openat.c: (BUILD_PROC_NAME): New macro.
38420         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
38421         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
38422         before falling back on save_cwd and restore_cwd.
38423         (fdopendir, fstatat, unlinkat): Likewise.
38424
38425         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
38426         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
38427
38428         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
38429         as second argument to va_arg.  Otherwise, some versions of gcc
38430         warn that `if this code is reached, the program will abort'.
38431
38432 2006-01-09  Jim Meyering  <jim@meyering.net>
38433
38434         Sync from coreutils.
38435         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
38436         Require openat-priv.h.
38437
38438 2006-01-09  Bruno Haible  <bruno@clisp.org>
38439
38440         * modules/strnlen (Include): Use strnlen.h.
38441
38442 2006-01-09  Bruno Haible  <bruno@clisp.org>
38443
38444         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
38445
38446 2006-01-09  Bruno Haible  <bruno@clisp.org>
38447
38448         * lib/sysexit_.h (EX_OK): New macro.
38449         Suggested by Martin Lambers <marlam@marlam.de>.
38450
38451 2006-01-09  Bruno Haible  <bruno@clisp.org>
38452
38453         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
38454         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
38455
38456 2006-01-09  Bruno Haible  <bruno@clisp.org>
38457
38458         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
38459         numbers.
38460
38461 2006-01-09  Bruno Haible  <bruno@clisp.org>
38462
38463         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
38464         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
38465         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
38466         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
38467
38468 2006-01-09  Bruno Haible  <bruno@clisp.org>
38469
38470         * build-aux/javacomp.sh.in: New file, moved from lib/.
38471         * modules/javacomp-script (Files): Update.
38472         (configure.ac): Add AC_CONFIG_FILES invocation.
38473         (EXTRA_DIST): Remove variable.
38474
38475         * build-aux/javaexec.sh.in: New file, moved from lib/.
38476         * modules/javaexec (Files): Update.
38477         (configure.ac): Add AC_CONFIG_FILES invocation.
38478         (EXTRA_DIST): Remove javaexec.sh.in.
38479
38480         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
38481         * modules/csharpcomp-script (Files): Update.
38482         (configure.ac): Add AC_CONFIG_FILES invocation.
38483         (EXTRA_DIST): Remove variable.
38484
38485         * build-aux/csharpexec.sh.in: New file, moved from lib/.
38486         * modules/csharpexec (Files): Update.
38487         (configure.ac): Add AC_CONFIG_FILES invocation.
38488         (EXTRA_DIST): Remove csharpexec.sh.in.
38489
38490 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
38491
38492         Sync from coreutils.
38493
38494         Add POSIX ACL support
38495         * lib/acl.h (copy_acl, set_acl): Add declarations.
38496         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
38497         systems other than Linux.
38498         (chmod_or_fchmod): New function: use fchmod when possible,
38499         and chmod otherwise.
38500         (file_has_acl): Add a POSIX ACL implementation, with a
38501         Linux-specific subcase.
38502         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
38503         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
38504         acls are unsupported.
38505         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
38506         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
38507         are unsupported.
38508
38509 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
38510
38511         Sync from coreutils.
38512         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
38513
38514 2006-01-07  Bruno Haible  <bruno@clisp.org>
38515
38516         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
38517         gl_EARLY.
38518
38519 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38520
38521         * lib/strftime.c (tzname): Don't declare if it is already #defined.
38522         Problem reported for Mingw by Mark Junker.
38523
38524 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38525
38526         * README: Gnulib normally doesn't generate a tarball.
38527
38528 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
38529
38530         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
38531         long int, not int, for nanosecond counts, so that people who are
38532         used to POSIX struct timespec won't be surprised.  Reported by Jim
38533         Meyering.
38534
38535 2005-12-28  Bruno Haible  <bruno@clisp.org>
38536
38537         * build-aux/config.rpath: Update from GNU gettext.
38538
38539 2005-12-16  Jim Meyering  <jim@meyering.net>
38540
38541         * modules/fprintftime: New module.
38542         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
38543
38544 2005-12-16  Jim Meyering  <jim@meyering.net>
38545
38546         * m4/fprintftime.m4: New file.
38547
38548 2005-12-16  Jim Meyering  <jim@meyering.net>
38549
38550         * lib/fprintftime.c, lib/fprintftime.h: New files.
38551
38552 2005-12-15  Simon Josefsson  <jas@extundo.com>
38553
38554         * modules/socklen (configure.ac): Fix M4 macro name, to align with
38555         new m4/socklen.m4.
38556
38557 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38558
38559         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
38560         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
38561
38562 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38563
38564         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
38565         * lib/argp-help.c (fill_in_uparams): Check if the constructed
38566         struct uparams is valid. Fall back to the default values if it is
38567         not.
38568
38569 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
38570
38571         * modules/argp (Files): Add argp-pin.c
38572         (Depends-on): dirname
38573         (lib_SOURCES): Add argp-pin.c
38574
38575 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
38576
38577         * m4/argp.m4:  Check if program_invocation_name and
38578         program_invocation_short_name are declared and define appropriate
38579         macros if they are not.
38580
38581 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
38582
38583         * lib/argp-help.c (__argp_base_name): New function
38584         (__argp_short_program_name): Rewrite using __argp_base_name
38585         * lib/argp-namefrob.h: Define program_invocation_name and
38586         program_invocation_short_name if requested
38587         (__argp_base_name): Add prototype
38588         * lib/argp-parse.c (argp_def): Use gettext wrappers
38589         (argp_default_parser): Use __argp_base_name
38590         * lib/argp-pin.c: New file. Defines program_invocation_name and
38591         program_invocation_short_name on systems that lack them.
38592
38593 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38594
38595         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
38596         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
38597         porting problem reported by Georg Schwarz in
38598         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
38599
38600 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38601
38602         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
38603         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
38604         porting problem reported by Georg Schwarz in
38605         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
38606
38607 2005-12-05  Bruno Haible  <bruno@clisp.org>
38608
38609         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
38610         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
38611         Reported by Mark Junker <mjscod@gmx.de>.
38612
38613 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
38614
38615         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
38616         Use implementation from Albert Chin, with some
38617         comments/corrections by Stepan Kasal and myself.
38618
38619 2005-12-02  Bruno Haible  <bruno@clisp.org>
38620
38621         * gnulib-tool (func_import): Accept GPLed build tool modules when
38622         --lgpl is given.
38623         * modules/csharpcomp-script: New file.
38624         * modules/csharpcomp: Depend on it.
38625         * modules/javacomp-script: New file.
38626         * modules/javacomp: Depend on it.
38627         Suggested by Simon Josefsson.
38628
38629 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
38630
38631         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
38632         statement, to work around an HP-UX 10.20 compiler bug reported by
38633         Peter O'Gorman.
38634
38635 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
38636
38637         * modules/savedir (Depends-on): Add openat.
38638
38639 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
38640
38641         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
38642         (uintmax_t) [defined uintmax_t]: Do not declare.
38643         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
38644         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
38645         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
38646         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
38647         sake of portability to weird hosts that C allows (though we don't
38648         know of any practical examples).
38649
38650         * lib/savedir.h (fdsavedir): New decl.
38651         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
38652         contains most of the former guts of savedir.
38653         (savedir): Use savedirstream.
38654         Include "openat.h".
38655
38656 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
38657
38658         * modules/obstack (Files): Add m4/ulonglong.m4.
38659         Problem reported by Davide Angelocola.
38660
38661 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
38662
38663         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
38664         coreutils no longer futzes with rounding modes.
38665
38666 2005-11-14  Jim Meyering  <jim@meyering.net>
38667
38668         * lib/mkstemp-safer.c: Include <config.h>, required for possible
38669         replacement of mkstemp.
38670
38671 2005-11-10  Simon Josefsson  <jas@extundo.com>
38672
38673         * lib/readline.c: Remove EOL.
38674
38675 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
38676
38677         * modules/gethrxtime (Depends-on): Add gettime.
38678
38679 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
38680
38681         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
38682         or gettimeofday; no longer needed.
38683
38684 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
38685
38686         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
38687         time business.
38688         (gethrxtime) [! (HAVE_NANOUPTIME
38689         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
38690         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
38691         our own approximation.
38692
38693 2005-11-08  Eric Blake  <ebb9@byu.net>
38694
38695         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
38696
38697 2005-11-08  Eric Blake  <ebb9@byu.net>
38698
38699         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
38700
38701 2005-11-04  Bruno Haible  <bruno@clisp.org>
38702
38703         * gnulib-tool: Implement --update mode.
38704
38705 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
38706
38707         Fix porting problem reported by Theodoros V. Kalamatianos.
38708         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
38709         Don't assume that futimes failing means we must fail.
38710
38711 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
38712
38713         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
38714         variables to suggest the intended function of the PATH_MAX check.
38715
38716 2005-10-30  Kean Johnston  <jkj@sco.com>
38717
38718         Trivial changes to support SCO systems.
38719         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
38720         as PATH_MAX.
38721         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
38722         where __ptr is null when no I/O is pending.
38723
38724 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
38725
38726         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
38727         leave errno alone.  Problem reported by Dmitry V. Levin.
38728
38729 2005-10-28  Simon Josefsson  <jas@extundo.com>
38730
38731         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
38732         Test more.
38733
38734         * tests/test-gc-md2.c, tests/test-md2.c: New files.
38735
38736         * modules/md2, modules/md2-tests: New files.
38737
38738 2005-10-28  Simon Josefsson  <jas@extundo.com>
38739
38740         * m4/inet_ntop.m4: More tests.
38741
38742         * m4/gc-md2.m4, md2.m4: New file.
38743
38744 2005-10-28  Simon Josefsson  <jas@extundo.com>
38745
38746         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
38747         "restrict" keywords, as per POSIX.  Protect the function
38748         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
38749         Don't use K&R prototypes.  Check the sprintf return values.
38750         Re-define EAFNOSUPPORT if not present.  Indent.
38751
38752         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
38753         suggested by Bruno Haible <bruno@clisp.org>.
38754
38755         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
38756
38757         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
38758
38759         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
38760         libgcrypt).
38761
38762         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
38763
38764         * lib/md2.h, lib/md2.c: New files.
38765
38766 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
38767
38768         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
38769         errno alone.  Problem reported by Frederic Jolliton.
38770
38771 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
38772
38773         * modules/verify (License): Change from GPL to LGPL.  This is a
38774         tiny module and there are apparently near-equivalents that are
38775         under the BSD license.
38776
38777 2005-10-24  Simon Josefsson  <jas@extundo.com>
38778
38779         * modules/sha1: Relicense to LGPL.
38780
38781 2005-10-24  Simon Josefsson  <jas@extundo.com>
38782
38783         * lib/md4.h: Shrink buffer size, now that we changed the type.
38784
38785 2005-10-23  Simon Josefsson  <jas@extundo.com>
38786
38787         * gnulib-tool (func_import): Fix --tests-base.
38788
38789 2005-10-22  Simon Josefsson  <jas@extundo.com>
38790
38791         * modules/arcfour (Depends-on): Need stdint.
38792
38793 2005-10-22  Simon Josefsson  <jas@extundo.com>
38794
38795         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
38796         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
38797
38798 2005-10-22  Simon Josefsson  <jas@extundo.com>
38799
38800         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
38801         suggested by Bruno Haible <bruno@clisp.org>.
38802
38803 2005-10-22  Simon Josefsson  <jas@extundo.com>
38804
38805         * lib/crc.h: Include stddef.h, for size_t.
38806
38807 2005-10-22  Simon Josefsson  <jas@extundo.com>
38808
38809         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
38810         arcfour_context struct (simplify test vector testing in GNU
38811         Shishi).
38812
38813 2005-10-21  Simon Josefsson  <jas@extundo.com>
38814
38815         * modules/des, modules/des-tests: New files.
38816
38817         * modules/gc-des, modules/gc-des-tests: New files.
38818
38819         * tests/test-des.c, tests/test-gc-des.c: New file.
38820
38821 2005-10-21  Simon Josefsson  <jas@extundo.com>
38822
38823         * modules/arctwo, modules/arctwo-tests: New files.
38824
38825         * tests/test-arctwo.c: New file.
38826
38827         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
38828
38829         * tests/test-gc-arctwo.c: New file.
38830
38831 2005-10-21  Simon Josefsson  <jas@extundo.com>
38832
38833         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
38834         Bruno Haible <bruno@clisp.org>.
38835
38836         * m4/gc-des.m4: New file.
38837
38838 2005-10-21  Simon Josefsson  <jas@extundo.com>
38839
38840         * m4/arctwo.m4: New file.
38841
38842         * m4/gc-arctwo.m4: New file.
38843
38844 2005-10-21  Simon Josefsson  <jas@extundo.com>
38845
38846         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
38847         block.
38848
38849 2005-10-21  Simon Josefsson  <jas@extundo.com>
38850
38851         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
38852         <bruno@clisp.org>.
38853
38854         * lib/hmac-sha1.c (hmac_sha1): Likewise.
38855
38856         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
38857         Bruno Haible <bruno@clisp.org>.
38858
38859         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
38860         <bruno@clisp.org>.
38861
38862 2005-10-21  Simon Josefsson  <jas@extundo.com>
38863
38864         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
38865
38866 2005-10-21  Simon Josefsson  <jas@extundo.com>
38867
38868         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
38869
38870 2005-10-21  Simon Josefsson  <jas@extundo.com>
38871
38872         * lib/des.h, lib/des.c: New files.
38873
38874         * lib/gc-gnulib.c: Support DES.c
38875
38876 2005-10-21  Simon Josefsson  <jas@extundo.com>
38877
38878         * lib/arctwo.h, lib/arctwo.c: New files.
38879
38880         * lib/gc-gnulib.c: Support ARCTWO.
38881
38882 2005-10-21  Simon Josefsson  <jas@extundo.com>
38883
38884         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
38885         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38886
38887 2005-10-21  Simon Josefsson  <jas@extundo.com>
38888
38889         * gnulib-tool (func_import, func_create_testdir): Define automake
38890         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
38891         Makefile.am snippet),
38892         suggested by Bruno Haible <bruno@clisp.org>.
38893
38894         * modules/gc (Makefile.am): Use it.
38895
38896 2005-10-21  Bruno Haible  <bruno@clisp.org>
38897
38898         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
38899         patch.
38900
38901 2005-10-19  Simon Josefsson  <jas@extundo.com>
38902
38903         * tests/test-gc-rijndael.c: New file.
38904
38905         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
38906
38907 2005-10-19  Simon Josefsson  <jas@extundo.com>
38908
38909         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
38910         interface too.
38911
38912 2005-10-19  Simon Josefsson  <jas@extundo.com>
38913
38914         * tests/test-gc-arcfour.c: New file.
38915
38916         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
38917
38918 2005-10-19  Simon Josefsson  <jas@extundo.com>
38919
38920         * modules/gc-md4, modules/gc-md4-tests: New file.
38921
38922         * tests/test-gc-md4.c: New file.
38923
38924 2005-10-19  Simon Josefsson  <jas@extundo.com>
38925
38926         * m4/gc-md4.m4: New file.
38927
38928 2005-10-19  Simon Josefsson  <jas@extundo.com>
38929
38930         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
38931         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
38932         <kasal@ucw.cz>.
38933
38934 2005-10-19  Simon Josefsson  <jas@extundo.com>
38935
38936         * m4/gc-arcfour.m4: New file.
38937
38938         * m4/gc-rijndael.m4: New file.
38939
38940 2005-10-19  Simon Josefsson  <jas@extundo.com>
38941
38942         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
38943
38944 2005-10-19  Simon Josefsson  <jas@extundo.com>
38945
38946         * lib/gc-gnulib.c: Support ARCFOUR.
38947
38948 2005-10-19  Simon Josefsson  <jas@extundo.com>
38949
38950         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
38951         support.
38952
38953         * lib/gc.h: Add ECB enum type.
38954
38955         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
38956
38957 2005-10-18  Simon Josefsson  <jas@extundo.com>
38958
38959         * tests/test-md5.c: New file.
38960
38961         * modules/md5-tests: New file.
38962
38963 2005-10-18  Simon Josefsson  <jas@extundo.com>
38964
38965         * tests/test-md4.c: New file.
38966
38967         * modules/md4, modules/md4-tests: New files.
38968
38969 2005-10-18  Simon Josefsson  <jas@extundo.com>
38970
38971         * m4/md4.m4: New file.
38972
38973 2005-10-18  Simon Josefsson  <jas@extundo.com>
38974
38975         * lib/md4.h, lib/md4.c: New files, based on md5.?.
38976
38977 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
38978
38979         * gnulib-tool (func_create_testdir): Omit the second check whether
38980         BUILT_SOURCES in nonempty.
38981
38982 2005-10-17  Simon Josefsson  <jas@extundo.com>
38983
38984         * tests/test-rijndael.c: New file.
38985
38986 2005-10-17  Simon Josefsson  <jas@extundo.com>
38987
38988         * modules/sha1: Depend on stdint instead of md5.
38989
38990         * modules/md5: Depend on stdint, remove uint32_t.
38991
38992 2005-10-17  Simon Josefsson  <jas@extundo.com>
38993
38994         * modules/gc-sha1-tests: New file.
38995
38996         * tests/test-gc-sha1.c: New file.
38997
38998 2005-10-17  Simon Josefsson  <jas@extundo.com>
38999
39000         * m4/md5.m4: Remove call to uint32_t.m4.
39001
39002 2005-10-17  Simon Josefsson  <jas@extundo.com>
39003
39004         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
39005
39006         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
39007         md5.h.
39008
39009         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
39010
39011         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
39012
39013 2005-10-17  Simon Josefsson  <jas@extundo.com>
39014
39015         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
39016
39017 2005-10-17  Simon Josefsson  <jas@extundo.com>
39018
39019         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
39020
39021 2005-10-17  Simon Josefsson  <jas@extundo.com>
39022
39023         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
39024
39025         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
39026
39027 2005-10-17  Bruno Haible  <bruno@clisp.org>
39028
39029         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
39030         that it can also be used in a test.
39031
39032 2005-10-16  Bruno Haible  <bruno@clisp.org>
39033
39034         * gnulib-tool (func_emit_tests_Makefile_am): Also define
39035         TESTS_ENVIRONMENT, so that individual tests can augment it.
39036
39037         * gnulib-tool (func_create_testdir): Use an intermediate target for
39038         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
39039         macros, like $(ALLOCA_H), which cannot be passed through the command
39040         line.
39041
39042 2005-10-15  Simon Josefsson  <jas@extundo.com>
39043
39044         * modules/rijndael-tests: New file.
39045
39046         * modules/rijndael: New file.
39047
39048 2005-10-15  Simon Josefsson  <jas@extundo.com>
39049
39050         * m4/rijndael.m4: New file.
39051
39052 2005-10-15  Simon Josefsson  <jas@extundo.com>
39053
39054         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
39055
39056         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
39057
39058 2005-10-14  Simon Josefsson  <jas@extundo.com>
39059
39060         * tests/test-arcfour.c: New file.
39061
39062         * modules/arcfour, modules/arcfour-tests: New files.
39063
39064 2005-10-14  Simon Josefsson  <jas@extundo.com>
39065
39066         * m4/arcfour.m4: New file.
39067
39068 2005-10-14  Simon Josefsson  <jas@extundo.com>
39069
39070         * lib/arcfour.h, lib/arcfour.c: New files.
39071
39072 2005-10-14  Roland McGrath  <roland@redhat.com>
39073
39074         Import from libc.  [BZ #1331]
39075         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
39076         macro argument.
39077         Reported by Matej Vela <vela@debian.org>.
39078
39079 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39080
39081         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
39082         include <wchar.h>; no longer needed.
39083
39084 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39085
39086         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
39087
39088 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
39089         and  Ulrich Drepper  <drepper@redhat.com>
39090
39091         Import from libc.
39092         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
39093         instead of inline stream orientation test and two separate
39094         function calls.  Pay no attention to USE_IN_LIBIO.
39095
39096 2005-10-13  Simon Josefsson  <jas@extundo.com>
39097
39098         * modules/gc-hmac-md5-tests: New file.
39099
39100         * tests/test-gc-hmac-sha1.c: New file.
39101
39102         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
39103
39104         * modules/gc-hmac-md5-tests: New file.
39105
39106         * tests/test-gc-md5.c: New file.
39107
39108         * modules/gc-md5-tests: New file.
39109
39110 2005-10-13  Simon Josefsson  <jas@extundo.com>
39111
39112         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
39113         Move memory allocation outside of loop.
39114
39115 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
39116
39117         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
39118         intermediate directory is in a read-only file system.  Problem
39119         reported by Eric Blake.
39120
39121 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
39122
39123         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
39124
39125 2005-10-12  Simon Josefsson  <jas@extundo.com>
39126
39127         * tests/test-hmac-sha1.c: New file.
39128
39129         * modules/hmac-sha1-tests: New file.
39130
39131         * modules/hmac-sha1: New file.
39132
39133 2005-10-12  Simon Josefsson  <jas@extundo.com>
39134
39135         * modules/gc-sha1: New file.
39136
39137 2005-10-12  Simon Josefsson  <jas@extundo.com>
39138
39139         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
39140
39141         * tests/test-gc-pbkdf2-sha1.c: New file.
39142
39143 2005-10-12  Simon Josefsson  <jas@extundo.com>
39144
39145         * modules/gc-md5, modules/gc-hmac-md5: New files.
39146
39147         * modules/gc (Files): Remove md5, memxor and hmac files.
39148
39149 2005-10-12  Simon Josefsson  <jas@extundo.com>
39150
39151         * m4/gc-pbkdf2-sha1.m4: New file.
39152
39153         * m4/gc-hmac-sha1.m4: New file.
39154
39155         * m4/gc-sha1: New file.
39156
39157         * m4/hmac-sha1.m4: New file.
39158
39159 2005-10-12  Simon Josefsson  <jas@extundo.com>
39160
39161         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
39162
39163         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
39164
39165 2005-10-12  Simon Josefsson  <jas@extundo.com>
39166
39167         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
39168         suggested by Bruno Haible <bruno@clisp.org>.
39169
39170 2005-10-12  Simon Josefsson  <jas@extundo.com>
39171
39172         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
39173
39174 2005-10-12  Simon Josefsson  <jas@extundo.com>
39175
39176         * lib/gc-pbkdf2-sha1.c: New file.
39177
39178         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
39179
39180 2005-10-12  Simon Josefsson  <jas@extundo.com>
39181
39182         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
39183
39184         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
39185
39186 2005-10-12  Simon Josefsson  <jas@extundo.com>
39187
39188         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
39189         GC_USE_HMAC_MD5, respectively.
39190
39191         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
39192         (gc_md5): Fix typo.
39193
39194         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
39195
39196         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
39197
39198         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
39199
39200 2005-10-12  Bruno Haible  <bruno@clisp.org>
39201
39202         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
39203         Reported by Stepan Kasal <kasal@ucw.cz>.
39204
39205 2005-10-11  Simon Josefsson  <jas@extundo.com>
39206
39207         * tests/test-crc.c: New file.
39208
39209         * modules/crc, modules/crc-tests: New files.
39210
39211 2005-10-11  Simon Josefsson  <jas@extundo.com>
39212
39213         * m4/crc.m4: New file.
39214
39215 2005-10-11  Simon Josefsson  <jas@extundo.com>
39216
39217         * lib/gc.h: Add gc_hash and gc_hash_buffer.
39218
39219         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
39220
39221         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
39222
39223 2005-10-11  Simon Josefsson  <jas@extundo.com>
39224
39225         * lib/crc.h, lib/crc.c: New files.
39226
39227         * lib/gc.h (gc_hash_buffer): Add doc.
39228
39229 2005-10-11  Bruno Haible  <bruno@clisp.org>
39230
39231         * modules/c-strcasestr: New file.
39232         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
39233
39234 2005-10-11  Bruno Haible  <bruno@clisp.org>
39235
39236         * modules/c-strcase: New file.
39237         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
39238
39239 2005-10-11  Bruno Haible  <bruno@clisp.org>
39240
39241         * lib/strcasecmp.c: Include limits.h.
39242         (strcasecmp): Avoid integer overflow on exotic platforms.
39243         * lib/strncasecmp.c: Include limits.h.
39244         (strncasecmp): Avoid integer overflow on exotic platforms.
39245         Reported by Paul Eggert.
39246
39247 2005-10-11  Bruno Haible  <bruno@clisp.org>
39248
39249         * lib/c-strcasestr.h: New file, from GNU gettext.
39250         * lib/c-strcasestr.c: New file, from GNU gettext.
39251
39252 2005-10-11  Bruno Haible  <bruno@clisp.org>
39253
39254         * lib/c-strcase.h: New file, from GNU gettext.
39255         * lib/c-strcasecmp.c: New file, from GNU gettext.
39256         * lib/c-strncasecmp.c: New file, from GNU gettext.
39257
39258 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
39259
39260         * modules/mempcpy (License): GPL -> LGPL.
39261         * modules/strchrnul (License): Likewise.
39262         * modules/sysexits (License): Likewise.
39263
39264 2005-10-08  Simon Josefsson  <jas@extundo.com>
39265
39266         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
39267
39268 2005-10-07  Simon Josefsson  <jas@extundo.com>
39269
39270         * m4/memxor.m4: Remove gl_C_RESTRICT call.
39271
39272 2005-10-06  Simon Josefsson  <jas@extundo.com>
39273
39274         * tests/test-hmac-md5.c: New file.
39275
39276         * modules/hmac-md5-tests: New file.
39277
39278         * modules/hmac-md5: New file.
39279
39280 2005-10-06  Simon Josefsson  <jas@extundo.com>
39281
39282         * m4/hmac-md5.m4: New file.
39283
39284         * m4/memxor.m4: Require gl_C_RESTRICT.
39285
39286 2005-10-06  Simon Josefsson  <jas@extundo.com>
39287
39288         * lib/memxor.c (memxor): Avoid casts and warnings.
39289
39290 2005-10-06  Simon Josefsson  <jas@extundo.com>
39291
39292         * lib/hmac-md5.c: New file.
39293
39294         * lib/hmac.h: New file.
39295
39296 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
39297
39298         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
39299         promotes to int, not unsigned int, to catch the AIX 5.3
39300         compiler bug.
39301
39302 2005-10-05  Simon Josefsson  <jas@extundo.com>
39303
39304         * modules/memxor: New file.
39305
39306         * modules/iconv (Files): Move config.rpath to havelib, it is used
39307         there.
39308
39309         * modules/havelib (Files): Add config.rpath.
39310
39311 2005-10-05  Simon Josefsson  <jas@extundo.com>
39312
39313         * m4/memxor.m4: New file.
39314
39315 2005-10-05  Simon Josefsson  <jas@extundo.com>
39316
39317         * lib/memxor.c (memxor): Fix compiler error.
39318
39319         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
39320         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
39321
39322         * lib/memxor.h, lib/memxor.c: New files.
39323
39324         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
39325         we assume all systems have it, suggested by Jim Meyering
39326         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
39327         any systems lack sys/socket.h; mingw32 is known to lack it, but we
39328         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
39329         same reasons.
39330
39331 2005-10-05  Simon Josefsson  <jas@extundo.com>
39332
39333         * config/srclist.txt: Add glibc bug 1423 for md5.h.
39334
39335 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
39336
39337         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
39338         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
39339         needed, since the source code now assumes these .h files.
39340
39341 2005-10-05  Derek Price  <derek@ximbiot.com>
39342
39343         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
39344
39345 2005-10-05  Bruno Haible  <bruno@clisp.org>
39346
39347         * modules/stdint (License): Change to LGPL.
39348
39349 2005-10-04  Simon Josefsson  <jas@extundo.com>
39350
39351         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
39352         D. Baushke" <mdb@gnu.org>.
39353
39354 2005-10-04  Bruno Haible  <bruno@clisp.org>
39355
39356         * lib/verify.h (verify_true): Provide alternative definition for C++.
39357
39358 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
39359
39360         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
39361         (SSIZE_MAX): New macro, if not already defined.
39362         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
39363         than 2 GiB.
39364
39365 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
39366
39367         Sync from coreutils.
39368         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
39369         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
39370         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
39371         ULLONG_MAX doesn't work with 2.7.2.1.
39372
39373 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
39374
39375         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
39376         From Ben Pfaff.
39377
39378         * modules/exclude (Depends-on): Depend on verify.
39379         * modules/strtoimax (Depends-on): Likewise.
39380         * modules/utimecmp (Depends-on): Likewise.
39381
39382 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
39383
39384         * lib/exclude.c: Include verify.h.
39385         (verify): Remove.  All callers changed to use verify.h's version.
39386         * lib/strtoimax.c: Likewise.
39387         * lib/utimecmp.c: Likewis.e
39388
39389         Sync from coreutils.
39390         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
39391         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
39392         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
39393         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
39394         bother returning ENOSYS if settimeofday or stime fails; just let
39395         them return whatever errno they want to return.
39396         * lib/utimens.c: Include unistd.h, for dup2.
39397         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
39398         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
39399
39400 2005-10-02  Jim Meyering  <jim@meyering.net>
39401
39402         Sync from coreutils.
39403         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
39404         from glibc-2.2.5 that fails for read-only files.
39405
39406 2005-10-02  Jim Meyering  <jim@meyering.net>
39407
39408         Sync from coreutils.
39409         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
39410         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
39411         `#if HAVE_CONFIG_H'.
39412         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
39413         Remove AT_FDCWD test.
39414         Do not consume the fd unless successful.
39415         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
39416         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
39417         block, so that we don't even try to compile it if settimeofday is
39418         available.  This works around a compilation failure on OSF1 V5.1,
39419         due to stime requiring a `long int*' while tv_sec is `int'.
39420
39421 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
39422
39423         Sync from coreutils.
39424         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
39425         against `yes', rather than just testing for nonempty.
39426
39427 2005-10-01  Simon Josefsson  <jas@extundo.com>
39428
39429         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
39430         and Darwin.
39431
39432         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
39433         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
39434         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
39435         freeaddrinfo and gai_strerror are declared by the POSIX headers.
39436         Check if struct addrinfo is declared.
39437
39438 2005-10-01  Simon Josefsson  <jas@extundo.com>
39439
39440         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
39441         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
39442         AI_* and EAI_* definitions.  Protect function declarations.
39443
39444 2005-10-01  Jim Meyering  <jim@meyering.net>
39445
39446         Sync from coreutils.
39447
39448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
39449         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
39450         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
39451         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
39452         in the inet and nsl libraries.  Required on Solaris 5.7.
39453
39454 2005-10-01  Jim Meyering  <jim@meyering.net>
39455
39456         Sync from coreutils.
39457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
39458         in the inet and nsl libraries.  Required on Solaris 5.7.
39459
39460 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
39461
39462         * lib/getdelim.c (getdelim): Remove unused variables.
39463
39464 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
39465
39466         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
39467         so that the code works even with ancient cpp.  Portability problem
39468         with GCC 2.7.2.1 reported by Thomas M.Ott.
39469
39470 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
39471
39472         * modules/regex (Depends-on): Add strcase.
39473
39474         * modules/gethostname (Licence): Change from GPL to LGPL, since
39475         gethostname.c is a trivial implementation of a standard library
39476         function.
39477         * modules/poll (License): Change from GPL to LGPL, since it's
39478         derived from LGPL code.
39479
39480 2005-09-27  Jim Meyering  <jim@meyering.net>
39481
39482         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
39483         HAVE_CONFIG_H.
39484
39485         * lib/intprops.h (signed_type_or_expr__): Define.
39486         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
39487         for unsigned types.
39488
39489 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
39490
39491         * lib/verify.h (verify_expr): Remove, replacing with:
39492         (verify_true): New macro that returns true instead of void.
39493         (verify_type__): Remove.
39494         (verify): Use verify_true rather than verify_type__.
39495
39496 2005-09-26  Bruno Haible  <bruno@clisp.org>
39497
39498         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
39499         is necessary.
39500         (lib_SOURCES): Remove mbchar.c.
39501         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
39502         (Files): Add m4/mbrtowc.m4.
39503         * modules/mbiter: Likewise.
39504         * modules/mbuiter: Likewise.
39505
39506 2005-09-26  Bruno Haible  <bruno@clisp.org>
39507
39508         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
39509         compile mbchar.c if they are not both present.
39510         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
39511         * m4/mbiter.m4 (gl_MBITER): Likewise.
39512         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
39513         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
39514         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
39515
39516 2005-09-25  Jim Meyering  <jim@meyering.net>
39517
39518         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
39519         also uses socklen_t.
39520
39521 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
39522
39523         * lib/utimens.c (ENOSYS): Define if not already defined.
39524         (futimens): Support having a null PATH if the file descriptor
39525         is nonnegative.
39526
39527         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
39528         Remove.
39529         (__attribute): Define to empty unless GCC 3.1 or later.
39530         This works around a core dump on OpenBSD 3.4, which has GCC
39531         2.95.3, which dumps core when given __attribute__(()).  It also
39532         simplifies other tests, since we really don't want to bother with
39533         worrying about which ancient version of GCC supported what.
39534         Original problem reported by Yoann Vandoorselaere, with part of
39535         the fix suggested by Derek Price.
39536
39537 2005-09-24  Jim Meyering  <jim@meyering.net>
39538
39539         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
39540         so we can once again use a positive bitfield width of 1 -- now we
39541         don't have to explain why we were using a bitfield width of 2.
39542
39543 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
39544
39545         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
39546         and similarly for the other external symbols.  Problem reported
39547         by James Gallager.
39548
39549         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
39550         bug reported by Jim Meyering.
39551
39552         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
39553         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
39554         not needed, since socklen is a prerequisite module.
39555
39556 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
39557
39558         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
39559         Problem reported by Eric Blake.
39560         (getaddrinfo): Initialize se so that it's not garbage.
39561         Redo internal storage allocation so that it doesn't make unportable
39562         assumptions about alignment.
39563         Fix a memory leak.
39564
39565         * lib/utimens.c (futimens): Use futimesat if available.
39566         Prefer it to futimes since it doesn't have the futimes bug.
39567
39568         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
39569         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
39570         Instead, declare a function that returns a pointer to an array,
39571         and use verify_type__ to declare the size of the array.
39572         Problem and germ of a solution reported by Bruno Haible.
39573         (verify_type__): Use 2, not 1, for bitfield size, to avoid
39574         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
39575
39576 2005-09-23  Jim Meyering  <jim@meyering.net>
39577
39578         Sync from coreutils.
39579         Correct build failure (socklen_t not defined) on at least
39580         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
39581         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
39582
39583 2005-09-23  Jim Meyering  <jim@meyering.net>
39584
39585         * modules/getaddrinfo (Depends-on): Add socklen.
39586
39587 2005-09-23  Bruno Haible  <bruno@clisp.org>
39588
39589         * tests/test-verify.c: New file.
39590
39591 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
39592
39593         Sync from coreutils.
39594
39595         * modules/argmatch (Depends-on): Add verify.
39596         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
39597         unistd-safer.
39598         * modules/save-cwd (Depends-on): Likewise.
39599
39600         * modules/openat (Files): Add lib/openat-die.c.
39601         (Depends-on): Remove error, exitfail.
39602         Add dirname.
39603
39604         * modules/verify: New file.
39605         * MODULES.html.sh (Diagnostics <assert.h>): New section,
39606         with "verify" module.
39607
39608 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
39609
39610         Sync from coreutils.
39611
39612         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
39613         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
39614         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
39615         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
39616         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
39617         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
39618         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
39619         Don't bother checking for string.h, stdlib.h, unistd.h.
39620         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
39621         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
39622         module's job.
39623         * m4/jm-macros.m4 (gl_MACROS): Likewise.
39624         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
39625
39626         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
39627         (gl_GETDATE): Use it.
39628
39629         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
39630
39631 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
39632
39633         Sync from coreutils.
39634
39635         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
39636         stat-time.h.
39637         * lib/argmatch.h: Include verify.h
39638         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
39639         (ARGMATCH_ASSERT): Remove; unused.
39640         * lib/canonicalize.c: Assume STDC_HEADERS.
39641         * lib/exclude.c: Include "strcase.h".
39642         * lib/regex_internal.h [!defined _LIBC]: Likewise.
39643         * lib/getusershell.c: Include stdio--.h rather than stdio.h
39644         and stdio-safer.h.
39645         (getusershell): Call fopen, not fopen_safer.
39646         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
39647         Do not include unistd-safer.h.
39648         (save_cwd): Don't call fd_safer; no longer needed
39649         now that we include fcntl--.h.
39650
39651         * lib/getdate.y (relative_time): New type.
39652         (RELATIVE_TIME_0): New constant.
39653         (parser_control): Use relative_time instead of doing it ourselves.
39654         (%union): Add new relative_time rel member.
39655         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
39656         Now typeless.
39657         (relunit, relunit_snumber): Now of type rel.
39658         (zone, rel, relunit, get_date): Adjust to above changes.
39659
39660         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
39661         Do not include unistd-safer.h.
39662         (getloadavg): Don't call fd_safer; no longer needed
39663         now that we include fcntl--.h.
39664
39665         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
39666         (make_dir_parents): Treat ENOSYS like EEXIST.
39667
39668         Improve quality of diagnostics on restore_cwd failure.
39669         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
39670         (make_dir_parents): Last arg is now int * (for errno), not bool *.
39671         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
39672         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
39673         each time through the loop.  Do not diagnose restore_cwd failure;
39674         that is the caller's job (and perhaps the caller does not care).
39675
39676         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
39677         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
39678         If the file already exists but is not a directory, don't bother
39679         to try to make its parents.
39680         Close potential file descriptor leak if we can't chdir("/") (!).
39681         Don't always return true if chdir($PWD) fails; return true only
39682         if the requested action was done successfully (except for the
39683         chdir($PWD)).
39684         Don't log final directory unless we actually made it.
39685         Refactor to avoid duplicate code to fix up permissions.
39686         Don't attempt to fix up parent permissions if chdir($PWD) fails.
39687
39688         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
39689         to make it a bit faster and (I hope) clearer.
39690         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
39691         Fix bug in formats like %2N.
39692
39693         * lib/verify.h: New file.
39694
39695 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
39696
39697         Sync from coreutils.
39698         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
39699
39700 2005-09-22  Jim Meyering  <jim@meyering.net>
39701
39702         Sync from coreutils.
39703
39704         * m4/lstat.m4 (gl_FUNC_LSTAT):
39705         Use AC_LIBSOURCES to require lstat.c and lstat.h.
39706         Remove obsolete comment.
39707         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
39708         * m4/xstrtod.m4: Likewise.
39709
39710         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
39711
39712 2005-09-22  Jim Meyering  <jim@meyering.net>
39713
39714         Sync from coreutils.
39715
39716         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
39717
39718         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
39719         the .tm_year member, since otherwise gcc-4.0 would now warn about
39720         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
39721
39722         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
39723         order to avoid an unsuppressible warning from gcc on 64-bit systems.
39724
39725         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
39726         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
39727         when run in a time zone for which daylight savings time is in effect
39728         for the starting date.
39729
39730         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
39731         stop us from restricting permissions of just-created absolute-named
39732         directories.
39733         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
39734         to restore initial working directory.
39735         * lib/mkdir-p.c (make_dir_parents): New parameter:
39736         different_working_dir, to tell caller if/when we change the working
39737         directory and are unable to return to the initial one.
39738         * lib/mkdir-p.h (make_dir_parents): Update prototype.
39739         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
39740         `return false'.  This fixes a bug introduced on 2004-07-30.
39741
39742         * lib/openat.c (fdopendir): Be sure to close the supplied
39743         file descriptor before returning.  This makes our replacement
39744         implementation a little closer to Solaris's, where fdopendir
39745         ties the file descriptor to the returned DIR* pointer.
39746         * lib/openat.c (unlinkat): New function.
39747         * lib/openat.h (unlinkat): Add prototype.
39748         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
39749         (openat_restore_fail): Rename from openat_restore_die.
39750         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
39751
39752         Provide an alternative to exiting immediately upon save_cwd or
39753         restore_cwd failure.  Now, an application can arrange e.g.,
39754         to perform a longjump in that case.
39755         * lib/openat.c: Include dirname.h.
39756         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
39757         (rpl_openat, fdopendir, fstatat): Call openat_save_die
39758         and openat_restore_die rather than calling error directly.
39759         Don't include "error.h" or "exitfail.h"; they're no longer needed.
39760
39761         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
39762         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
39763         define.
39764
39765         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
39766         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
39767                             int utc, int nanoseconds);
39768         Background:
39769         date should not have to allocate a megabyte of virtual memory to
39770         handle a format argument like +%1048575T.  When implemented with
39771         strftime, it must allocate such a buffer, use strftime to fill it
39772         in, print it, then free it.
39773         With fprintftime, it simply prints everything and exits.
39774         With no need for memory allocation, that's one fewer way to fail.
39775         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
39776         optional field width, not before, so we accept %9:z, not %:9z.
39777         (my_strftime): Be sure to use L_('x') for literals.
39778
39779         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
39780         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
39781         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
39782         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
39783         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
39784         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
39785         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
39786         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
39787         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
39788         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
39789         * lib/xgethostname.c, lib/xreadlink.c:
39790         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
39791
39792         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
39793         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
39794         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
39795         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
39796         and don't include <sys/file.h>).
39797
39798 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
39799
39800         Sync from coreutils.
39801
39802         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
39803         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
39804         [!LDAV_DONE]: Avoid unused variable warning.
39805
39806 2005-09-21  Bruno Haible  <bruno@clisp.org>
39807
39808         * lib/unicodeio.h (unicode_to_mb): New declaration.
39809
39810 2005-09-20  Derek Price  <derek@ximbiot.com>
39811
39812         * lib/getaddrinfo.c: Don't include <netdb.h> included from
39813         getaddrinfo.h.
39814
39815 2005-09-20  Bruno Haible  <bruno@clisp.org>
39816
39817         * gnulib-tool: Remove trailing slashes from the values specified for
39818         --source-base, --m4-base, --tests-base, --aux-dir.
39819         Suggested by Simon Josefsson <jas@extundo.com>.
39820
39821 2005-09-20  Bruno Haible  <bruno@clisp.org>
39822
39823         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
39824         func_modules_to_filelist, func_import, func_create_testdir): Make all
39825         sorting results locale-independent, so that gnulib-cache.m4 doesn't
39826         change when gnulib-tool is invoked in a different locale.
39827
39828 2005-09-19  Simon Josefsson  <jas@extundo.com>
39829
39830         * m4/socklen.m4: Fix typo.
39831
39832 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39833
39834         Use a consistent style for including <config.h>.
39835         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
39836         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
39837         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
39838         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
39839         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
39840         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
39841         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
39842         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
39843         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
39844         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
39845         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
39846         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
39847         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
39848         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
39849         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
39850         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
39851         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
39852         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
39853         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
39854         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
39855         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
39856         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
39857         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
39858         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
39859         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
39860         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
39861         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
39862         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
39863         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
39864         lib/xstrtoumax.c, lib/yesno.c:
39865         Standardize inclusion of config.h.
39866         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
39867         lib/inttostr.h:  Removed inclusion of config.h from header files.
39868         * lib/inttostr.c:  Adjusted in-tree users.
39869         * lib/timespec.h: Remove superfluous warning to include config.h.
39870         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
39871         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
39872         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
39873         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
39874         config.h with HAVE_CONFIG_H.
39875
39876 2005-09-19  Jim Meyering  <jim@meyering.net>
39877
39878         * modules/pathmax (License): Change to LGPL.
39879
39880 2005-09-19  Derek Price  <derek@ximbiot.com>
39881
39882         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
39883
39884 2005-09-19  Bruno Haible  <bruno@clisp.org>
39885
39886         * gnulib-tool (import): Provide default for --tests-base.
39887
39888 2005-09-19  Bruno Haible  <bruno@clisp.org>
39889
39890         * doc/quote.texi: New file, extracted from gnulib.texi.
39891         * doc/ctime.texi: New file, extracted from gnulib.texi.
39892         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
39893         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
39894         * doc/gnulib.texi: Include them.
39895
39896 2005-09-18  Bruno Haible  <bruno@clisp.org>
39897
39898         Portability fix.
39899         * gnulib-tool (func_readlink): New function.
39900         (func_ln_if_changed): Use it.
39901
39902 2005-09-18  Bruno Haible  <bruno@clisp.org>
39903
39904         * gnulib-tool: Support --with-tests also with --import.
39905         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
39906         (func_import): Use variables $testsbase and $inctests. Emit a
39907         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
39908         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
39909         SUBDIRS += $testsdir.
39910         (func_create_testdir): Update.
39911
39912 2005-09-18  Bruno Haible  <bruno@clisp.org>
39913
39914         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
39915         instead of $dry_run.
39916         (func_cp_if_changed, func_mv_if_changed): Remove functions.
39917         (func_ln_if_changed): Don't handle dry-run here.
39918         (func_import): In dry-run mode, detect more precisely which actions
39919         would be performed, and don't use "...ing" verbs.
39920
39921 2005-09-18  Bruno Haible  <bruno@clisp.org>
39922
39923         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
39924         (func_import): Use join on two temporary files instead of three nested
39925         loops, in order to determine which files are new or old.
39926
39927 2005-09-18  Bruno Haible  <bruno@clisp.org>
39928
39929         * gnulib-tool (func_import): Comment out code that spits out the
39930         new files with --dry-run.
39931
39932 2005-09-18  Bruno Haible  <bruno@clisp.org>
39933
39934         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
39935
39936 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
39937
39938         * lib/stat-time.h: New file.
39939         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
39940         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
39941         in a different way.
39942         (timespec_cmp): New function.
39943         * lib/utimecmp.c: Include stat-time.h.
39944         (SYSCALL_RESOLUTION): Depend on whether various struct stat
39945         members exist, not on the obsolescent ST_MTIM_NSEC.
39946         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
39947
39948 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
39949
39950         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
39951
39952 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
39953
39954         * MODULES.html.sh (File system functions): Add stat-time.
39955         * modules/stat-time: New file.
39956         * modules/timespec (Files): Remove m4/st_mtim.m4; this
39957         is now done in a different way, by the stat-time module.
39958         * modules/utimecmp (Depends-on): Add stat-time.
39959
39960 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39961
39962         * m4/st_mtim.m4: Remove.  Superseded by...
39963         * m4/stat-time.m4: New file.
39964         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
39965         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
39966
39967 2005-09-15  Derek Price  <derek@ximbiot.com>
39968
39969         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
39970
39971 2005-09-15  Derek Price  <derek@ximbiot.com>
39972
39973         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
39974         * lib/regex_internal.c: Ditto, using this...
39975         (__GNUC_PREREQ): ...new macro.
39976         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
39977         using...
39978         (__GNUC_PREREQ): ...this new macro.
39979
39980         * lib/strstr.h: Include string.h. Define strstr as a macro here.
39981
39982 2005-09-15  Derek Price  <derek@ximbiot.com>
39983             Paul Eggert  <eggert@cs.ucla.edu>
39984
39985         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
39986         changes, consolidating in...
39987         * lib/regex_internal.h: ...this file.
39988
39989 2005-09-13  Jim Meyering  <jim@meyering.net>
39990
39991         * lib/canon-host.c: Filter through gnu indent and reword comments
39992         slightly.
39993         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
39994
39995 2005-09-13  Derek Price  <derek@ximbiot.com>
39996
39997         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
39998         failure.
39999         Reported by Jim Meyering  <jim@meyering.net>.
40000
40001 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40002
40003         * lib/base64.c: Typo.
40004         (base64_encode): Put b64str in initialized data section.
40005
40006 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
40007
40008         Merge glibc and coreutils changes into gnulib, plus a few
40009         extra fixes.
40010         * lib/md5.c: Use #error rather than a string.
40011         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
40012         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
40013         (__attribute__): Define to empty for non recent-GCC.
40014         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
40015         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
40016         Renamed from their non-__ counterparts, with new macros replacing
40017         them if not _LIBC.  Add __THROW attribute.
40018         (rol): Remove.
40019         (struct md5_ctx): Align buffer if using GCC.
40020         * lib/sha1.h (struct sha1_ctx): Likewise.
40021         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
40022         The old name was backwards.
40023         (NOTSWAP): Remove; not used.
40024         (rol): New macro, moved here from md5.h.
40025         (sha1_process_block): Remove a FIXME that doesn't make sense.
40026
40027 2005-09-12  Derek Price  <derek@ximbiot.com>
40028
40029         Return usable errors from canon-host.
40030         * lib/canon-host.h: New file.
40031         * lib/canon-host.c (canon_host): Wrap...
40032         (canon_host_r): ...this new function, which now relies exclusively on
40033         getaddrinfo.
40034         (ch_strerror): New function.
40035         (last_cherror): New global.
40036         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
40037         interface.
40038         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
40039         void *.
40040         (freeaddrinfo): Free ai->ai_canonname when set.
40041
40042 2005-09-12  Derek Price  <derek@ximbiot.com>
40043
40044         Make canon-host require getaddrinfo.
40045         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
40046         AC_LIBSOURCE canon-host.h.  Call...
40047         (gl_PREREQ_CANON_HOST): ...this new function, which requires
40048         gl_GETADDRINFO.
40049         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
40050
40051 2005-09-12  Derek Price  <derek@ximbiot.com>
40052
40053         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
40054         LGPL.
40055         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
40056
40057 2005-09-12  Derek Price  <derek@ximbiot.com>
40058
40059         * lib/gai_strerror.c: Include config.h when available.  Include
40060         getaddrinfo.h before other headers to test interface.
40061         Reported by Larry Jones <lawrence.jones@ugs.com>.
40062
40063 2005-09-12  Derek Price  <derek@ximbiot.com>
40064             Paul Eggert  <eggert@cs.ucla.edu>
40065
40066         * modules/glob (Files): Add glob-libc.h.
40067
40068 2005-09-12  Derek Price  <derek@ximbiot.com>
40069             Paul Eggert  <eggert@cs.ucla.edu>
40070
40071         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
40072         glob_.h, glob-libc.h.
40073         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
40074
40075 2005-09-12  Derek Price  <derek@ximbiot.com>
40076             Paul Eggert  <eggert@cs.ucla.edu>
40077
40078         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
40079         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
40080         protecting things that should be done only in gnulib contexts.
40081         * lib/glob_.h: New file, containing only the glob things needed for
40082         gnulib.
40083         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
40084         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
40085         (glob, globfree, glob_pattern_p): Now defined simply in terms of
40086         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
40087         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
40088         and to respect the namespace rules better.
40089
40090 2005-09-08  Simon Josefsson  <jas@extundo.com>
40091
40092         * modules/socklen: New file.
40093
40094 2005-09-08  Simon Josefsson  <jas@extundo.com>
40095
40096         * m4/socklen.m4: New file.
40097
40098 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40099
40100         * modules/utimens (Files): Add m4/utimbuf.m4, since
40101         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
40102         Reported by Sergey Poznyakoff.
40103
40104 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40105
40106         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
40107         definitions, since that's the preferred style in glibc.
40108         Fix a minor spacing issue, and update copyright notice to match
40109         glibc's.
40110
40111 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40112
40113         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
40114
40115 2005-09-06  Simon Josefsson  <jas@extundo.com>
40116
40117         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
40118         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
40119
40120 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
40121
40122         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
40123         warning.
40124
40125 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
40126
40127         * config/srclist.txt: Add glibc bug 1302.
40128
40129 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
40130
40131         Change bitset word type from unsigned int to unsigned long int,
40132         as this has better performance on typical 64-bit hosts.
40133         Port bitset code to hosts with unusual word sizes.
40134         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
40135         (build_collating_symbol):
40136         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
40137         argument is a bitset.  This is merely a style issue, but it makes
40138         it clearer that an entire array is expected.
40139         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
40140         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
40141         Port to the case where bitset_word is not the same as unsigned int.
40142         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
40143         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
40144         Likewise.
40145         * lib/regexec.c (check_dst_limits_calc_pos_1,
40146         check_subexp_matching_top):
40147         (build_trtable, group_nodes_into_DFAstates):
40148         Likewise.
40149         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
40150         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
40151         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
40152         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
40153         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
40154         * lib/regcomp.c (optimize_subexps, lower_subexp):
40155         Work even if bitset_word has holes in its bitwise representation.
40156         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
40157         * lib/regexec.c (check_dst_limits_calc_pos_1,
40158         check_subexp_matching_top):
40159         Likewise.
40160         * lib/regex_internal.c (re_string_reconstruct):
40161         Don't assume UCHAR_MAX == 255.
40162         * lib/regex_internal.h (bitset_set_all): Likewise.
40163         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
40164         All uses changed.
40165         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
40166         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
40167         All uses changed.
40168         (BITSET_WORD_MAX): New macro.
40169         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
40170         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
40171         (bitset_empty, bitset_copy):
40172         Prefer sizeof (bitset) to multiplying it out ourselves.
40173         (bitset_not_merge): Remove; unused.
40174         (bitset_contain): Return bool, not unsigned int with one bit on.
40175         All callers changed.
40176         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
40177         alignment than re_node_set; do this by defining a new internal
40178         type struct dests_alloc and using it to allocate memory.
40179
40180 2005-09-05  Bruno Haible  <bruno@clisp.org>
40181
40182         * gnulib-tool (func_import): Fix comparison in handling of symbolic
40183         links.
40184
40185 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
40186
40187         * modules/size_max (Makefile.am): Add size_max.h
40188
40189 2005-09-04  Derek Price  <derek@ximbiot.com>
40190
40191         * gnulib-tool (func_import): Fix reversed $symbolic logic.
40192
40193 2005-09-03  Simon Josefsson  <jas@extundo.com>
40194
40195         * gnulib-tool: Fix typo.
40196
40197 2005-09-03  Simon Josefsson  <jas@extundo.com>
40198
40199         * config/srclist.txt: Add glibc bug 1293.
40200
40201 2005-09-03  Derek Price  <derek@ximbiot.com>
40202
40203         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
40204         From Larry Jones <lawrence.jones@ugs.com>.
40205
40206 2005-09-02  Simon Josefsson  <jas@extundo.com>
40207
40208         * modules/socklen: New file.
40209
40210 2005-09-02  Simon Josefsson  <jas@extundo.com>
40211
40212         * modules/havelib: New module.
40213
40214         * modules/gettext, modules/iconv, modules/lock, modules/readline:
40215         Use havelib.
40216
40217 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
40218
40219         Check for arithmetic overflow when calculating sizes, to prevent
40220         some buffer-overflow issues.  These patches are conservative, in the
40221         sense that when I couldn't determine whether an overflow was possible,
40222         I inserted a run-time check.
40223         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
40224         macros.
40225         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
40226         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
40227         (re_xnrealloc, re_x2nrealloc): New inline functions.
40228         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
40229         parse_bracket_exp):
40230         (build_equiv_class, build_charclass): Check for arithmetic overflow
40231         in size expression calculations.
40232         * lib/regex_internal.c (re_string_realloc_buffers):
40233         (build_wcs_upper_buffer, re_node_set_add_intersect):
40234         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
40235         (re_dfa_add_node, register_state): Likewise.
40236         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
40237         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
40238         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
40239         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
40240
40241 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
40242
40243         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
40244         m4/ulonglong.m4.  Problem reported by Martin Lambers.
40245
40246 2005-09-02  Bruno Haible  <bruno@clisp.org>
40247
40248         Support for lib vs. lib64 distinction on biarch platforms.
40249         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
40250         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
40251         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
40252
40253 2005-09-02  Bruno Haible  <bruno@clisp.org>
40254
40255         * gnulib-tool (import): In the other first-use case, provide defaults
40256         as well.
40257
40258 2005-09-02  Bruno Haible  <bruno@clisp.org>
40259
40260         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
40261         patches not yet found in the latest gettext release.
40262
40263 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40264
40265         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
40266         to avoid a collision with bits/local_lim.h in glibc.
40267         All uses changed.  Problem reported by Dmitry V. Levin in
40268         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
40269
40270         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
40271         bugs in int versus size_t comparisons.
40272         (re_string_context_at): Fix bug where the code assumed that
40273         Idx is signed.
40274
40275         Use bool where appropriate.
40276         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
40277         All callers changed.
40278         (calc_eclosure_iter): Likewise, for ROOT arg.
40279         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
40280         (build_charclass_op): Likewise, for NON_MATCH arg.
40281         * lib/regex_internal.c (re_string_allocate, re_string_construct):
40282         (re_string_construct_common): Likewise, for ICASE arg.
40283         * lib/regexec.c (re_search_2_stub, re_search_stub):
40284         Likewise, for RET_LEN arg.
40285         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
40286         (set_regs): Likewise, for FL_BACKTRACK arg.
40287         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
40288         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
40289         (calc_eclosure_iter, parse_bracket_exp):
40290         Use bool for internal variables that are booleans.
40291         * lib/regexec.c (re_search_internal, check_matching,
40292         proceed_next_node):
40293         (set_regs, build_sifted_states, sift_states_bkref):
40294         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
40295         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
40296         (find_collation_sequence_value):
40297         Likewise.
40298         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
40299         (re_node_set_compare):
40300         Return bool, not int. All callers changed.
40301         * lib/regexec.c (check_halt_node_context, check_dst_limits):
40302         (build_trtable, check_node_accept): Likewise.
40303         * lib/regex_internal.h: Include stdbool.h.
40304
40305         Fix bugs uncovered when converting to bool.
40306         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
40307         failure instead of charging ahead blindly.
40308         * lib/regex_internal.c (register_state): Likewise.
40309         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
40310         for freeing internal storage.
40311         (group_nodes_into_DFA_states): Use unsigned int, not int, for
40312         bitset pieces used as boolean, to avoid undefined behavior
40313         on hosts that do int overflow checking.
40314
40315 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40316
40317         * config/srclist.txt: Add glibc bugs 1285-1287.
40318
40319 2005-09-01  Jim Meyering  <jim@meyering.net>
40320
40321         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
40322         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
40323         Require gl_STAT_MACROS, too.
40324
40325 2005-09-01  Bruno Haible  <bruno@clisp.org>
40326
40327         * gnulib-tool (import): In the first-use case, provide defaults.
40328
40329 2005-09-01  Bruno Haible  <bruno@clisp.org>
40330
40331         * gnulib-tool (func_import): Remove the .tmp files.
40332
40333 2005-09-01  Bruno Haible  <bruno@clisp.org>
40334
40335         * gnulib-tool (func_import): Fix handling of symbolic links.
40336
40337 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40338
40339         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
40340         old glibc regex code mishandles strings longer than 2**31 bytes.
40341         This patch fixes this when the regex code is used in gnulib
40342         (i.e., outside glibc).
40343
40344         This patch should not affect the use of the regex code inside
40345         glibc.  No doubt this problem also needs to be handled for glibc
40346         as well, but the result will be an incompatible change to the
40347         glibc ABI, and the old ABI will have to be supported too.  That
40348         can be the the subject for another patch.
40349
40350         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
40351         governing whether the rest of this patch is active.  By default,
40352         the macro is disabled and the patch has no effect.
40353         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
40354         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
40355         (struct re_pattern_buffer, re_search, re_search_2, re_match):
40356         (re_match_2, re_set_registers): Use the new types.
40357         * lib/regex_internal.h (Idx, re_hashval_t): New types.
40358         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
40359         New macros.
40360         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
40361         (re_string_context_at, bin_tree_t, re_dfastate_t):
40362         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
40363         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
40364         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
40365         (re_string_char_size_at, re_string_wchar_at):
40366         (re_string_elem_size_at):
40367         Use the new types and macros to port to 64-bit hosts.
40368         Use unsigned types for internal values, so that the code
40369         mostly works even for arrays larger than SSIZE_MAX.
40370         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
40371         (search_duplicated_node, calc_eclosure_iter, fetch_number):
40372         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40373         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
40374         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
40375         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
40376         (calc_inveclosure, parse_dup_op, build_range_exp):
40377         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
40378         (fetch_number, create_token_tree, mark_opt_subexp):
40379         Likewise.
40380         * lib/regex_internal.c (re_string_construct_common,
40381         create_ci_newstate):
40382         (create_cd_newstate, re_string_allocate, re_string_construct):
40383         (re_string_realloc_buffers, build_wcs_upper_buffer):
40384         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
40385         (re_string_reconstruct, re_string_peek_byte_case):
40386         (re_string_fetch_byte_case, re_string_context_at):
40387         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
40388         (re_node_set_init_copy, re_node_set_add_intersect):
40389         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
40390         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
40391         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
40392         (re_acquire_state, re_acquire_state_context, register_state):
40393         Likewise.
40394         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
40395         search_cur_bkref_entry):
40396         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
40397         (re_search_internal, re_search_2_stub, re_search_stub)
40398         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
40399         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
40400         (update_cur_sifted_state, check_dst_limits):
40401         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
40402         (check_subexp_limits, sift_states_bkref, merge_state_array):
40403         (check_subexp_matching_top, get_subexp, get_subexp_sub):
40404         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
40405         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
40406         (expand_bkref_cache, check_node_accept_bytes):
40407         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
40408         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
40409         (acquire_init_state_context, check_halt_node_context):
40410         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
40411         (sift_states_backward, clean_state_log_if_needed):
40412         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
40413         (find_recover_state, transit_state_sb, transit_state_mb):
40414         (transit_state_bkref, build_trtable, match_ctx_clean):
40415         Likewise.
40416         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
40417         to work around an assumption that REG_MISSING is negative.
40418
40419         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
40420         (seek_collating_symbol_entry) [defined _LIBC]:
40421         (lookup_collation_sequence_value) [defined _LIBC]:
40422         (build_range_exp, build_collating_symbol) [defined _LIBC]:
40423         Use prototypes rather than old-style function definitions.
40424         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
40425         (transit_state_sb) [0]:
40426         (find_collation_sequence_value) [defined _LIBC]: Likewise.
40427
40428         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
40429         rm_eo.
40430
40431         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
40432         (optimize_subexps, lower_subexp):
40433         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
40434         since the signed shift might overflow.  Use 1u<<31 instead.
40435         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
40436         Likewise.
40437         * lib/regexec.c (check_dst_limits_calc_pos_1,
40438         check_subexp_matching_top): Likewise.
40439
40440         * lib/regcomp.c (optimize_subexps, lower_subexp):
40441         Use CHAR_BIT rather than 8, for clarity.
40442         * lib/regexec.c (check_dst_limits_calc_pos_1):
40443         (check_subexp_matching_top): Likewise.
40444         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
40445         have to worry about portability issues when shifting it left.
40446         Remove no-longer-needed test for table_size > 0.
40447         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
40448         in a word, as the resulting behavior is undefined.
40449         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
40450         in one case, a <= should have been an <, and in another case the
40451         whole test was missing.
40452         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
40453         the standard name CHAR_BIT.
40454         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
40455         this is not true on one's complement and signed-magnitude hosts.
40456
40457         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
40458         next_last_offset.
40459         (struct re_dfa_t): Remove unused member states_alloc.
40460         * lib/regcomp.c (init_dfa): Don't initialize unused members.
40461
40462 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40463
40464         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
40465         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
40466         and large-file glibc and in 32-bit large-file Solaris.
40467
40468 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40469
40470         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
40471         lengths fit in regoff_t; this isn't true if regoff_t is the same
40472         width as size_t.
40473         * lib/regex.c (re_search_internal): 5th arg is LAST_START
40474         (= START + RANGE) instead of RANGE.  This avoids overflow
40475         problems when regoff_t is the same width as size_t.
40476         All callers changed.
40477         (re_search_2_stub): Check for overflow when adding the
40478         sizes of the two strings.
40479         (re_search_stub): Check for overflow when adding START
40480         to RANGE; if it occurs, substitute the extreme value.
40481
40482 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40483
40484         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
40485
40486 2005-08-31  Jim Meyering  <jim@meyering.net>
40487
40488         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
40489         a pointer-to-const.
40490         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
40491         (register_state): Likewise.
40492         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
40493         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
40494         (group_nodes_into_DFAstates): Likewise.
40495
40496 2005-08-31  Jim Meyering  <jim@meyering.net>
40497
40498         * check-module: Add a FIXME comment.
40499
40500 2005-08-31  Eric Blake  <ebb9@byu.net>
40501
40502         * modules/unistd-safer (Files): Add unistd--.h.
40503         * modules/stdio-safer (Files): Add stdio--.h.
40504
40505 2005-08-31  Derek Price  <derek@ximbiot.com>
40506
40507         * lib/getdelim.c (getdelim): Return EOF on EOF.
40508         Reported by Larry Jones <lawrence.jones@ugs.com>.
40509
40510 2005-08-31  Bruno Haible  <bruno@clisp.org>
40511
40512         Avoid unnecessary diffs in the generated lib/Makefile.am.
40513         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
40514         the generated files.
40515         (func_import): Don't set cmd.
40516
40517 2005-08-31  Bruno Haible  <bruno@clisp.org>
40518
40519         * lib/strstr.c: Include <stddef.h>, for NULL.
40520         * lib/strcasestr.c: Likewise.
40521         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40522
40523 2005-08-31  Bruno Haible  <bruno@clisp.org>
40524
40525         * gnulib-tool: New option --macro-prefix.
40526         (func_import): Use macro_prefix.
40527         (import): Handle option --macro-prefix.
40528
40529 2005-08-31  Bruno Haible  <bruno@clisp.org>
40530
40531         * gnulib-tool (import): Rename most ac_* variables to cached_*.
40532         Also use new variables cached_lgpl, cached_libtool.
40533
40534 2005-08-31  Bruno Haible  <bruno@clisp.org>
40535
40536         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
40537         always instantiating them.
40538
40539 2005-08-31  Bruno Haible  <bruno@clisp.org>
40540
40541         * gnulib-tool (func_import): Read the previous cached settings
40542         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
40543         earlier added by gnulib but are now dropped. Warn when a gnulib file
40544         overwrites a non-gnulib file.
40545
40546 2005-08-31  Bruno Haible  <bruno@clisp.org>
40547
40548         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
40549         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
40550         projects that don't keep autogenerated files in CVS. Put into
40551         actioncmd only the specified modules, not the transitive closure.
40552
40553 2005-08-31  Bruno Haible  <bruno@clisp.org>
40554
40555         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
40556         Create directories that shall be filled.
40557         (import): Don't look for gl_* macros in configure.ac. Recurse across
40558         all directories containing a gnulib-cache.m4 files, if meaningful.
40559
40560 2005-08-31  Bruno Haible  <bruno@clisp.org>
40561
40562         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
40563         (import): Set seen_libtool when we see gl_LIBTOOL.
40564
40565 2005-08-31  Bruno Haible  <bruno@clisp.org>
40566
40567         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
40568         declaration macro definitions from generated gnulib.m4.
40569
40570 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
40571
40572         * lib/iconvme.h: Add prototype for iconv_alloc.
40573
40574 2005-08-29  Simon Josefsson  <jas@extundo.com>
40575
40576         * lib/iconvme.c: Fix errno.
40577
40578 2005-08-29  Bruno Haible  <bruno@clisp.org>
40579
40580         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
40581         that it works when the directory contains spaces.
40582
40583 2005-08-29  Bruno Haible  <bruno@clisp.org>
40584
40585         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
40586
40587 2005-08-29  Bruno Haible  <bruno@clisp.org>
40588
40589         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
40590         Emit more advice.
40591
40592 2005-08-29  Bruno Haible  <bruno@clisp.org>
40593         and Stepan Kasal  <kasal@ucw.cz>
40594
40595         * check-module: If more parameters are given, check each of them
40596         separately; add more exceptions, as noted by Jim Meyering.
40597         (check_module): New procedure.
40598         (%exempt_header): Now contains all exceptions.
40599
40600 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
40601
40602         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
40603
40604 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
40605
40606         * lib/iconvme.c: Split iconv_string into iconv_alloc.
40607
40608 2005-08-28  Bruno Haible  <bruno@clisp.org>
40609
40610         * m4/gnulib-tool.m4: New file.
40611
40612 2005-08-27  Jim Meyering  <jim@meyering.net>
40613
40614         * modules/unistd-safer (Files): Add pipe-safer.c.
40615         * modules/fcntl-safer (Files): Add creat-safer.c.
40616
40617 2005-08-27  Jim Meyering  <jim@meyering.net>
40618
40619         * m4/stdlib-safer.m4: New file.  From coreutils.
40620         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
40621         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
40622         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
40623         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
40624         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
40625
40626 2005-08-27  Jim Meyering  <jim@meyering.net>
40627
40628         * lib/fopen-safer.c: Merge minor changes from coreutils.
40629         * lib/dup-safer.c: Likewise.
40630         * lib/fd-safer.c: Likewise.
40631
40632         Merge from coreutils.
40633         * lib/stdio--.h: New file.
40634         * lib/stdlib--.h: New file.
40635         * lib/mkstemp-safer.c: New file.
40636
40637         GNU tar needs these.
40638         * lib/pipe-safer.c: New file.
40639         * lib/creat-safer.c: New file.
40640         * lib/fcntl--.h (creat): Define to creat_safer.
40641         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
40642         * lib/unistd--.h (pipe): Define to pipe_safer.
40643         * lib/unistd-safer.h: Declare pipe_safer.
40644
40645 2005-08-26  Simon Josefsson  <jas@extundo.com>
40646
40647         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
40648         Haible <bruno@clisp.org>.
40649
40650 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
40651
40652         * lib/regex_internal.h: Remove all references to
40653         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
40654         or better.
40655         (bitset_not, bitset_merge, bitset_not_merge):
40656         (bitset_mask, re_string_allocate, re_string_construct):
40657         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
40658         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
40659         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
40660         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
40661         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
40662         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
40663         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
40664         (re_acquire_state_context):
40665         Remove unnecessary forward decls.
40666         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
40667         Put __attribute at function definition,
40668         now that the function decl has been removed.
40669         * lib/regex_internal.c (re_string_peek_byte_case):
40670         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
40671         Likewise.
40672
40673 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
40674
40675         * m4/regex.m4: Add AC_PREREQ(2.50).
40676         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
40677
40678 2005-08-25  Simon Josefsson  <jas@extundo.com>
40679
40680         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
40681         __fsetlocking.
40682
40683 2005-08-25  Simon Josefsson  <jas@extundo.com>
40684
40685         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
40686         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
40687         GLIBC specific code.
40688
40689 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40690
40691         Make regex safe for g++.  This fixes one real bug (an "err"
40692         that should have been "*err").  g++ problem reported by
40693         Sam Steingold.
40694         * lib/regex_internal.h (re_calloc): New macro, consistent with
40695         re_malloc etc.  All callers of calloc changed to use re_calloc.
40696         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
40697         not int.  All callers changed.
40698         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
40699         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
40700         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
40701         (find_recover_state): Change "err" to "*err"; this fixes what
40702         appears to be a real bug.
40703         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
40704         versus int.
40705
40706 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40707
40708         * modules/regex (Depends-on): Add malloc, since the code
40709         assumes that !malloc(0) means failure.
40710
40711 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40712
40713         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
40714
40715         alloca modernization/simplification for regex.
40716         * lib/regex.c: Remove portability cruft for alloca.  This no longer
40717         needs to be at the start of the file, and can be moved into
40718         regex_internal.h and simplified.
40719         * lib/regex_internal.h: Include <alloca.h>.
40720         (__libc_use_alloca) [!defined _LIBC]: New macro.
40721         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
40722         now works outside glibc.
40723
40724 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40725
40726         * config/srclist.txt: Add glibc bugs 1241, 1245.
40727
40728 2005-08-25  Jim Meyering  <jim@meyering.net>
40729
40730         * lib/open-safer.c: Include <config.h>.
40731         Otherwise, we'd lose LARGEFILE support in any file using
40732         e.g. "fcntl--.h"
40733
40734 2005-08-25  Bruno Haible  <bruno@clisp.org>
40735
40736         * m4/minmax.m4: Require autoconf 2.52.
40737         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
40738         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
40739         alternatives of translit over the alphabet.
40740         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
40741
40742 2005-08-24  Simon Josefsson  <jas@extundo.com>
40743
40744         * tests/test-getpass.c: New file.
40745
40746 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40747
40748         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
40749         for GNU regex features.
40750
40751 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40752
40753         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
40754         * lib/regex.h (regerror): Likewise.
40755
40756         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
40757         requires this.  (The code never needed it.)
40758
40759         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
40760         All uses of recently-renamed identifiers changed to use the new,
40761         POSIX-compliant names.  The code will build and run just fine
40762         without these changes, but it's better to eat our own dog food
40763         and use the standard-conforming names.
40764
40765         * lib/regex.h: Fix a multitude of POSIX name space violations.
40766         These changes have an effect only for programs that define
40767         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
40768         do not change anything for programs compiled in the normal way.
40769         Also, there is no effect on the ABI.
40770
40771         (_REGEX_SOURCE): New macro.
40772         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
40773         defined and _GNU_SOURCE is not; this fixes a name space violation.
40774
40775         Rename the following macros to obey POSIX requirements.
40776         The old names are still visible as macros if _REGEX_SOURCE is defined.
40777         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
40778         RE_BACKSLASH_ESCAPE_IN_LISTS.
40779         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
40780         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
40781         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
40782         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
40783         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
40784         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
40785         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
40786         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
40787         (REG_INTERVALS): renamed from RE_INTERVALS.
40788         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
40789         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
40790         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
40791         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
40792         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
40793         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
40794         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
40795         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
40796         RE_UNMATCHED_RIGHT_PAREN_ORD.
40797         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
40798         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
40799         (REG_DEBUG): renamed from RE_DEBUG.
40800         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
40801         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
40802         unusual, since we can't clash with the POSIX REG_ICASE.
40803         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
40804         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
40805         (REG_NO_SUB): renamed from RE_NO_SUB.
40806         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
40807         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
40808         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
40809         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
40810         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
40811         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
40812         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
40813         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
40814         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
40815         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
40816         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
40817         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
40818         RE_SYNTAX_POSIX_MINIMAL_BASIC.
40819         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
40820         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
40821         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
40822         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
40823         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
40824         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
40825         (REG_FIXED): Renamed from REGS_FIXED.
40826         (REG_NREGS): Renamed from RE_NREGS.
40827
40828         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
40829         of other REG_* macros, since POSIX says the user is allowed to
40830         #undef these macros selectively.
40831
40832         (reg_errcode_t): Update comment stating what other tables need
40833         to be consistent.
40834
40835         Rename the following enum values to obey POSIX requirements.
40836         The old names are still visible as macros.
40837         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
40838         is not defined, since GNU is supposed to be a superset of POSIX as
40839         much as possible, and since we want reg_errcode_t to be a signed
40840         type for implementation consistency.
40841         (_REG_NOERROR): Renamed from REG_NOERROR.
40842         (_REG_NOMATCH): Renamed from REG_NOMATCH.
40843         (_REG_BADPAT): Renamed from REG_BADPAT.
40844         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
40845         (_REG_ECTYPE): Renamed from REG_ECTYPE.
40846         (_REG_EESCAPE): Renamed from REG_EESCAPE.
40847         (_REG_ESUBREG): Renamed from REG_ESUBREG.
40848         (_REG_EBRACK): Renamed from REG_EBRACK.
40849         (_REG_EPAREN): Renamed from REG_EPAREN.
40850         (_REG_EBRACE): Renamed from REG_EBRACE.
40851         (_REG_BADBR): Renamed from REG_BADBR.
40852         (_REG_ERANGE): Renamed from REG_ERANGE.
40853         (_REG_ESPACE): Renamed from REG_ESPACE.
40854         (_REG_BADRPT): Renamed from REG_BADRPT.
40855         (_REG_EEND): Renamed from REG_EEND.
40856         (_REG_ESIZE): Renamed from REG_ESIZE.
40857         (_REG_ERPAREN): Renamed from REG_ERPAREN.
40858         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
40859         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
40860         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
40861         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
40862
40863         (_REG_RE_NAME, _REG_RM_NAME): New macros.
40864         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
40865         changed.  But support the old name if the new one is not defined
40866         and if _REGEX_SOURCE.
40867
40868         Change the following member names in struct re_pattern_buffer.
40869         The old names are still supported if !_REGEX_SOURCE.
40870         The new names are always supported, regardless of _REGEX_SOURCE.
40871         (re_buffer): Renamed from buffer.
40872         (re_allocated): Renamed from allocated.
40873         (re_used): Renamed from used.
40874         (re_syntax): Renamed from syntax.
40875         (re_fastmap): Renamed from fastmap.
40876         (re_translate): Renamed from translate.
40877         (re_can_be_null): Renamed from can_be_null.
40878         (re_regs_allocated): Renamed from regs_allocated.
40879         (re_fastmap_accurate): Renamed from fastmap_accurate.
40880         (re_no_sub): Renamed from no_sub.
40881         (re_not_bol): Renamed from not_bol.
40882         (re_not_eol): Renamed from not_eol.
40883         (re_newline_anchor): Renamed from newline_anchor.
40884
40885         Change the following member names in struct re_registers.
40886         The old names are still supported if !_REGEX_SOURCE.
40887         The new names are always supported, regardless of _REGEX_SOURCE.
40888         (rm_num_regs): Renamed from num_regs.
40889         (rm_start): Renamed from start.
40890         (rm_end): Renamed from end.
40891
40892         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
40893         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
40894         Prepend __ to parameter names.
40895
40896         Undo yesterday's changes.
40897
40898 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40899
40900         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
40901         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
40902         lib/regex.c.
40903
40904 2005-08-24  Jim Meyering  <jim@meyering.net>
40905
40906         Sync from coreutils.
40907         * m4/fcntl-safer.m4: New file.
40908
40909         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
40910         and object files for this module.
40911
40912 2005-08-24  Jim Meyering  <jim@meyering.net>
40913
40914         Sync from coreutils.
40915         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
40916
40917 2005-08-24  Jim Meyering  <jim@meyering.net>
40918
40919         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
40920         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
40921
40922 2005-08-24  Jim Meyering  <jim@meyering.net>
40923
40924         * modules/fcntl-safer: New module.
40925         * modules/fts (Depends-on): Add fcntl-safer.
40926         * MODULES.html.sh (File descriptor based Input/Output):
40927         Add fcntl-safer.
40928
40929 2005-08-24  Bruno Haible  <bruno@clisp.org>
40930
40931         Support for unit test modules.
40932         * modules/README: Mention tests modules.
40933         * modules/TEMPLATE-TESTS: New file.
40934         * gnulib-tool: New options --extract-tests-module, --with-tests and
40935         --tests-base (unused for the moment).
40936         (testsbase, inctests): New variables.
40937         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
40938         (func_verify_module): Exclude TEMPLATE-TESTS.
40939         (func_verify_nontests_module, func_verify_tests_module): New functions.
40940         (func_get_dependencies): Add implicit dependency for tests modules.
40941         (func_get_tests_module): New function.
40942         (func_modules_transitive_closure): When --with-tests was specified,
40943         include the unit tests as well, unless explicitly avoided.
40944         (func_emit_lib_Makefile_am): Ignore the tests modules here.
40945         (func_emit_tests_Makefile_am): New function.
40946         (func_create_testdir): When --with-tests was specified, emit a
40947         tests/ directory.
40948         * MODULES.html.sh (Future developments): Update.
40949
40950 2005-08-24  Bruno Haible  <bruno@clisp.org>
40951
40952         * modules/tls-tests: New file.
40953         * tests/test-tls.c: New file, from GNU gettext.
40954
40955 2005-08-24  Bruno Haible  <bruno@clisp.org>
40956
40957         * modules/lock-tests: New file.
40958         * tests/test-lock.c: New file, from GNU gettext.
40959
40960 2005-08-24  Bruno Haible  <bruno@clisp.org>
40961
40962         * lib/lock.h: Add multiple inclusion guard.
40963         * lib/tls.h: Add multiple inclusion guard.
40964
40965 2005-08-24  Bruno Haible  <bruno@clisp.org>
40966
40967         * gnulib-tool: Add support for the --aux-dir option to
40968         --create-testdir, --create-megatestdir, --test, --megatest.
40969         (func_create_testdir, func_create_megatestdir): Optionally emit a
40970         AC_CONFIG_AUX_DIR directive.
40971         (create-testdir, create-megatestdir, test, megatest): Provide a
40972         default value for $auxdir.
40973
40974 2005-08-24  Bruno Haible  <bruno@clisp.org>
40975
40976         * gnulib-tool (import): Use compound statement instead of subshell
40977         where possible.
40978
40979 2005-08-24  Bruno Haible  <bruno@clisp.org>
40980
40981         * gnulib-tool (import): Change --aux-dir default to "build-aux".
40982
40983 2005-08-24  Bruno Haible  <bruno@clisp.org>
40984
40985         * gnulib-tool (func_version): Update.
40986
40987 2005-08-24  Bruno Haible  <bruno@clisp.org>
40988
40989         * gnulib-tool (func_import, func_create_testdir,
40990         func_create_megatestdir): Quote all autoconf macro arguments.
40991
40992 2005-08-24  Bruno Haible  <bruno@clisp.org>
40993
40994         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
40995         option --force, because --force causes the aclocal.m4 of each
40996         subdirectory to be newer than the corresponding config.h.in.
40997
40998 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
40999
41000         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
41001         All contents moved to gl_REGEX.
41002         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
41003         assume that it does.
41004
41005 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41006
41007         * lib/regex.h (REG_NOSYS)
41008         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
41009         Define, since POSIX requires it as of 2001.
41010         (_REG_ENOSYS)
41011         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
41012         New private symbol, used to keep the enum signed in all cases.
41013         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
41014         Youngman in
41015         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
41016
41017         * lib/regex_internal.c (re_string_skip_chars, register_state):
41018         (calc_state_hash):
41019         Remove forward decls; no longer needed now that we use prototypes.
41020         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
41021         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
41022         (clean_state_log_if_needed): Likewise.
41023
41024 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41025
41026         * config/srclist.txt: Add glibc bugs 1231-1233.
41027
41028 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41029
41030         Fix problems reported by Sam Steingold in
41031         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
41032         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
41033         assumed that reg_errcode_t is a signed type, which is not
41034         necessarily true if _XOPEN_SOURCE is not defined.
41035         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
41036         since some compilers warn about it otherwise.
41037
41038 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41039
41040         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
41041         (init_word_char, create_initial_state, duplicate_node_closure):
41042         (fetch_token, peek_token_bracket, build_range_exp):
41043         (build_collating_symbol): Remove forward decls; no longer needed
41044         now that we use prototypes.
41045
41046         * lib/regcomp.c:
41047         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
41048         (re_compile_fastmap_iter, regcomp, regerror, regfree):
41049         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
41050         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
41051         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
41052         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
41053         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
41054         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
41055         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
41056         (build_range_exp, build_collating_symbol, parse_bracket_exp):
41057         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
41058         (build_charclass, build_charclass_op, fetch_number, create_tree):
41059         (create_token_tree, mark_opt_subexp, duplicate_tree):
41060         Use prototypes rather than old-style definitions.
41061
41062         * lib/regex_internal.c:
41063         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
41064         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
41065         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
41066         (re_string_reconstruct, re_string_peek_byte_case):
41067         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
41068         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
41069         (re_node_set_init_copy, re_node_set_add_intersect):
41070         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
41071         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
41072         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
41073         (re_acquire_state, re_acquire_state_context, register_state):
41074         (create_ci_newstate, create_cd_newstate, free_state):
41075         Likewise.
41076         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
41077         re_search_2):
41078         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
41079         (re_search_internal, prune_impossible_nodes):
41080         (acquire_init_state_context, check_matching, static):
41081         (check_halt_node_context, check_halt_state_context, proceed_next_node):
41082         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
41083         (update_regs, sift_states_backward, build_sifted_states):
41084         (clean_state_log_if_needed, merge_state_array):
41085         (update_cur_sifted_state, add_epsilon_src_nodes):
41086         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
41087         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
41088         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
41089         (find_recover_state, check_subexp_matching_top, transit_state_mb):
41090         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
41091         (check_arrival, check_arrival_add_next_nodes):
41092         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
41093         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
41094         (check_node_accept_bytes, check_node_accept, extend_buffers):
41095         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
41096         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
41097         (sift_ctx_init):
41098         Likewise.
41099
41100         * lib/regex_internal.h:
41101         (re_string_allocate, re_string_construct, re_string_reconstruct):
41102         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
41103         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
41104         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
41105         (re_string_context_at, re_string_peek_byte_case):
41106         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
41107         is defined, since we now use prototypes always.
41108
41109         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
41110         C89 or better.  All uses removed.
41111
41112 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41113
41114         * config/srclist.txt: Add glibc bugs 1220-1227.
41115
41116 2005-08-20  Jim Meyering  <jim@meyering.net>
41117
41118         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
41119         of unused local, dfa.
41120
41121 2005-08-20  Bruno Haible  <bruno@clisp.org>
41122
41123         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
41124
41125 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41126
41127         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
41128         (re_node_set_insert_last, re_dfa_add_node):
41129         Rename local variables to avoid GCC shadowing warnings.
41130
41131 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41132
41133         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
41134         [defined lint]: Suppress bogus uninitialized-variable warnings.
41135
41136         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
41137         and let the caller return REG_ESPACE if out of space.  This
41138         removes an uninitialied-variable warning with GCC 4.0.1, and also
41139         avoids taking the address of a local variable.  All callers
41140         changed.
41141
41142 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41143
41144         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
41145         $LIBCSRC/posix/regexec.c.
41146         Add glibc bug 1217 for regcomp.c.
41147
41148 2005-08-19  Jim Meyering  <jim@meyering.net>
41149
41150         * lib/regexec.c (proceed_next_node): Redo local variables to
41151         avoid GCC shadowing warnings.
41152
41153 2005-08-18  Bruno Haible  <bruno@clisp.org>
41154
41155         * lib/strstr.c (strstr): Fix return value in multibyte case.
41156         * lib/strcasestr.c (strcasestr): Likewise.
41157
41158 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
41159
41160         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
41161
41162 2005-08-17  Jim Meyering  <jim@meyering.net>
41163
41164         Make the %s format (seconds since the epoch) work for a negative
41165         number and when used with a zero-padded field width, e.g. %015s.
41166
41167         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
41168         label so that it precedes the code to set `digits'.  Otherwise,
41169         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
41170         print `00-22'.  Now, it prints `-0022', as it should.
41171
41172 2005-08-17  Bruno Haible  <bruno@clisp.org>
41173
41174         * modules/strstr (Files): Add m4/mbrtowc.m4.
41175         (Depends-on): Add mbuiter.
41176
41177 2005-08-17  Bruno Haible  <bruno@clisp.org>
41178
41179         * modules/strcasestr: New file.
41180         * MODULES.html.sh (String handling, based on ANSI C 89): Add
41181         strcasestr.
41182
41183 2005-08-17  Bruno Haible  <bruno@clisp.org>
41184
41185         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
41186
41187 2005-08-17  Bruno Haible  <bruno@clisp.org>
41188
41189         * modules/mbuiter: New file.
41190         * MODULES.html.sh (Extended multibyte and wide character utilities):
41191         Add mbuiter.
41192
41193 2005-08-17  Bruno Haible  <bruno@clisp.org>
41194
41195         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
41196         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
41197
41198 2005-08-17  Bruno Haible  <bruno@clisp.org>
41199
41200         * m4/strcasestr.m4: New file.
41201
41202 2005-08-17  Bruno Haible  <bruno@clisp.org>
41203
41204         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
41205         * lib/strstr.c: Completely rewritten, with multibyte locale support.
41206
41207 2005-08-17  Bruno Haible  <bruno@clisp.org>
41208
41209         * lib/strcasestr.h: New file.
41210         * lib/strcasestr.c: New file.
41211
41212 2005-08-17  Bruno Haible  <bruno@clisp.org>
41213
41214         * lib/strcasecmp.c: Use mbuiter.h.
41215
41216 2005-08-17  Bruno Haible  <bruno@clisp.org>
41217
41218         * lib/mbuiter.h: New file.
41219
41220 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
41221
41222         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
41223         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
41224         and gl_GETOPT are both invoked via different paths (as happens
41225         with GNU tar CVS because it uses both argp and getopt), the former
41226         wins.
41227
41228 2005-08-16  Bruno Haible  <bruno@clisp.org>
41229
41230         * modules/tls: New file.
41231         * MODULES.html.sh (Multithreading): Add tls.
41232
41233 2005-08-16  Bruno Haible  <bruno@clisp.org>
41234
41235         * modules/strnlen1: New file.
41236         * MODULES.html.sh (String handling): Add strnlen1.
41237
41238 2005-08-16  Bruno Haible  <bruno@clisp.org>
41239
41240         * modules/strcase (Files): Add m4/mbrtowc.m4.
41241         (Depends-on): Add strnlen1, mbchar.
41242
41243 2005-08-16  Bruno Haible  <bruno@clisp.org>
41244
41245         * modules/mbiter: New file.
41246         * MODULES.html.sh (Extended multibyte and wide character utilities):
41247         Add mbiter.
41248
41249 2005-08-16  Bruno Haible  <bruno@clisp.org>
41250
41251         * modules/mbfile: New file.
41252         * MODULES.html.sh (Extended multibyte and wide character utilities):
41253         Add mbfile.
41254
41255 2005-08-16  Bruno Haible  <bruno@clisp.org>
41256
41257         * modules/mbchar: New file.
41258         * MODULES.html.sh (Extended multibyte and wide character utilities):
41259         New section.
41260
41261 2005-08-16  Bruno Haible  <bruno@clisp.org>
41262
41263         * m4/tls.m4: New file, from GNU gettext.
41264
41265 2005-08-16  Bruno Haible  <bruno@clisp.org>
41266
41267         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
41268         always.
41269         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
41270
41271 2005-08-16  Bruno Haible  <bruno@clisp.org>
41272
41273         * m4/mbiter.m4: New file.
41274
41275 2005-08-16  Bruno Haible  <bruno@clisp.org>
41276
41277         * m4/mbfile.m4: New file.
41278
41279 2005-08-16  Bruno Haible  <bruno@clisp.org>
41280
41281         * m4/mbchar.m4: New file.
41282
41283 2005-08-16  Bruno Haible  <bruno@clisp.org>
41284
41285         * lib/tls.h: New file, from GNU gettext.
41286         * lib/tls.c: New file, from GNU gettext.
41287
41288 2005-08-16  Bruno Haible  <bruno@clisp.org>
41289
41290         * lib/strnlen1.h: New file.
41291         * lib/strnlen1.c: New file.
41292
41293 2005-08-16  Bruno Haible  <bruno@clisp.org>
41294
41295         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
41296         (mbi_init): Update.
41297         (mbi_avail, mbi_advance): Let the iteration end before the terminating
41298         NUL byte, not after it.
41299
41300 2005-08-16  Bruno Haible  <bruno@clisp.org>
41301
41302         * lib/strcase.h (strcasecmp): Add note in comments.
41303         * lib/strncasecmp.c: Use code from strcasecmp.c.
41304         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
41305         (strcasecmp): Work correctly in multibyte locales.
41306
41307 2005-08-16  Bruno Haible  <bruno@clisp.org>
41308
41309         * lib/mbiter.h: New file.
41310
41311 2005-08-16  Bruno Haible  <bruno@clisp.org>
41312
41313         * lib/mbfile.h: New file.
41314
41315 2005-08-16  Bruno Haible  <bruno@clisp.org>
41316
41317         * lib/mbchar.h: New file.
41318         * lib/mbchar.c: New file.
41319
41320 2005-08-16  Bruno Haible  <bruno@clisp.org>
41321
41322         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
41323         the valid ones. Makes the comparison operations transitive:
41324         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
41325         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
41326
41327 2005-08-15  Simon Josefsson  <jas@extundo.com>
41328
41329         * modules/ssize_t (License): Change to 'unlimited'.
41330
41331         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
41332
41333 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41334
41335         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
41336         Add comments for each pending glibc patch.
41337
41338 2005-08-15  Bruno Haible  <bruno@clisp.org>
41339
41340         * lib/regex.h (__restrict_arr): Don't define to __restrict if
41341         __cplusplus is defined.
41342
41343 2005-08-14  Jim Meyering  <jim@meyering.net>
41344
41345         Sync from coreutils.
41346
41347         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
41348         Use the hash-table-based cycle-detection code not just when
41349         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
41350         Reported by James Youngman in
41351         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
41352         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
41353         FTS_TIGHT_CYCLE_CHECK.
41354         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
41355         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
41356         once again.
41357         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
41358         * lib/fts.c (fd_safer): Remove decl.
41359         Include fcntl--.h rather than unistd-safer.h
41360         (fts_safe_changedir): Don't call fd_safer; no longer needed
41361         now that we include fcntl--.h.
41362
41363 2005-08-12  Simon Josefsson  <jas@extundo.com>
41364
41365         * modules/getndelim2: Use ssize_t module.
41366         * modules/getnline: Likewise.
41367         * modules/safe-read: Likewise.
41368         * modules/xreadlink: Likewise.
41369
41370         * modules/ssize_t: New file.
41371
41372 2005-08-12  Simon Josefsson  <jas@extundo.com>
41373
41374         * m4/readline.m4: Look for termcap, curses or ncurses if required.
41375
41376 2005-08-12  Simon Josefsson  <jas@extundo.com>
41377
41378         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41379         ssize_t.
41380
41381 2005-08-12  Simon Josefsson  <jas@extundo.com>
41382
41383         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
41384         readline, getdelim and check_version.
41385         (Support for systems lacking ISO C 99: Sizes of integer types):
41386         Add size_max.
41387
41388 2005-08-12  Bruno Haible  <bruno@clisp.org>
41389
41390         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
41391
41392 2005-08-11  Simon Josefsson  <jas@extundo.com>
41393
41394         * modules/readline: New file.
41395
41396         * modules/strnlen (Files): Add strnlen.h.
41397
41398 2005-08-11  Simon Josefsson  <jas@extundo.com>
41399
41400         * m4/readline.m4: New file.
41401
41402 2005-08-11  Simon Josefsson  <jas@extundo.com>
41403
41404         * lib/readline.h, readline.c: New file.
41405
41406 2005-08-11  Simon Josefsson  <jas@extundo.com>
41407
41408         * doc/gnulib.texi (Initial import, Finishing touches): Mention
41409         gl_AVOID.
41410
41411 2005-08-11  Bruno Haible  <bruno@clisp.org>
41412
41413         * lib/strnlen.h (strnlen): Change parameter name to match comment.
41414
41415 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
41416
41417         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
41418
41419 2005-08-10  Simon Josefsson  <jas@extundo.com>
41420
41421         * tests/test-iconvme.c: New file.
41422
41423 2005-08-10  Simon Josefsson  <jas@extundo.com>
41424
41425         * m4/strnlen.m4: New file.
41426
41427         * m4/strndup.m4: Don't check for strnlen declaration, done in
41428         strnlen.m4.
41429
41430 2005-08-10  Simon Josefsson  <jas@extundo.com>
41431
41432         * lib/strndup.c: Use strnlen.h.
41433
41434         * lib/strnlen.h: New file.
41435
41436 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
41437
41438         * README: Typos.
41439
41440 2005-08-02  Simon Josefsson  <jas@extundo.com>
41441
41442         * modules/readline: New file.
41443
41444 2005-08-02  Simon Josefsson  <jas@extundo.com>
41445
41446         * modules/getdelim: New file.
41447
41448         * modules/getline: Rewrite, don't use getndelim2.
41449
41450 2005-08-02  Simon Josefsson  <jas@extundo.com>
41451
41452         * m4/getline.m4: Separate out getdelim stuff into separate module.
41453
41454         * m4/getdelim.m4: New file.
41455
41456 2005-08-02  Simon Josefsson  <jas@extundo.com>
41457
41458         * lib/getline.h, getline.c: Rewrite.
41459
41460         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
41461
41462 2005-07-31  Bruno Haible  <bruno@clisp.org>
41463
41464         * lib/lock.h (gl_lock_initializer): New macro.
41465         (gl_lock_define_initialized): Use it.
41466         (gl_rwlock_initializer): New macro.
41467         (gl_rwlock_define_initialized): Use it.
41468         (gl_recursive_lock_initializer): New macro.
41469         (gl_recursive_lock_define_initialized): Use it.
41470
41471 2005-07-30  Karl Berry  <karl@gnu.org>
41472
41473         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
41474         Report from Ben Pfaff, regarding getopt.
41475
41476 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
41477
41478         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
41479         normal way.
41480         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
41481         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
41482         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
41483         (gl_GETOPT): Use the new macros.  Most of the implementation
41484         is moved to the new macros.  This is for programs like Emacs
41485         that don't want all the functionality of gl_GETOPT.
41486
41487 2005-07-26  Bruno Haible  <bruno@clisp.org>
41488
41489         * m4/lock.m4: Update from GNU gettext.
41490
41491 2005-07-26  Bruno Haible  <bruno@clisp.org>
41492
41493         * lib/lock.h: Update from GNU gettext.
41494         * lib/lock.c: Update from GNU gettext.
41495
41496 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
41497
41498         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
41499         obsolescent AC_TRY_RUN.  Include the default includes files, for
41500         'exit'.
41501
41502 2005-07-24  Bruno Haible  <bruno@clisp.org>
41503
41504         * modules/visibility: New file.
41505         * MODULES.html.sh (Misc): Add visibility.
41506
41507 2005-07-24  Bruno Haible  <bruno@clisp.org>
41508
41509         * m4/visibility.m4: New file.
41510
41511 2005-07-24  Bruno Haible  <bruno@clisp.org>
41512
41513         * doc/visibility.texi: New file.
41514
41515 2005-07-22  Bruno Haible  <bruno@clisp.org>
41516
41517         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
41518         $(ALLOCA_H), redundant through BUILT_SOURCES.
41519         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
41520         redundant through BUILT_SOURCES.
41521         * modules/byteswap (Makefile.am): Remove explicit dependency on
41522         $(BYTESWAP_H), redundant through BUILT_SOURCES.
41523         * modules/fnmatch (Makefile.am): Remove explicit dependency on
41524         $(FNMATCH_H), redundant through BUILT_SOURCES.
41525         * modules/getopt (Makefile.am): Remove explicit dependency on
41526         $(GETOPT_H), redundant through BUILT_SOURCES.
41527         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
41528         redundant through BUILT_SOURCES.
41529         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
41530         redundant through BUILT_SOURCES.
41531         * modules/stdbool (Makefile.am): Remove explicit dependency on
41532         $(STDBOOL_H), redundant through BUILT_SOURCES.
41533         * modules/stdint (Makefile.am): Remove explicit dependency on
41534         $(STDINT_H), redundant through BUILT_SOURCES.
41535         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
41536         Remove explicit dependency on $(SYSEXITS_H).
41537         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
41538
41539 2005-07-18  Simon Josefsson  <jas@extundo.com>
41540
41541         * lib/check-version.c (check_version): Accept identical versions too.
41542
41543 2005-07-18  Bruno Haible  <bruno@clisp.org>
41544
41545         * modules/lock: New file.
41546         * MODULES.html.sh (Multithreading): New section.
41547
41548 2005-07-18  Bruno Haible  <bruno@clisp.org>
41549
41550         * m4/lock.m4: New file, from GNU gettext.
41551
41552 2005-07-18  Bruno Haible  <bruno@clisp.org>
41553
41554         * lib/lock.h: New file, from GNU gettext.
41555         * lib/lock.c: New file, from GNU gettext.
41556
41557 2005-07-18  Bruno Haible  <bruno@clisp.org>
41558
41559         * lib/lock.h (gl_once_t): New type.
41560         (gl_once_define, gl_once): New macros.
41561         * lib/lock.c (fresh_once): New variable.
41562         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
41563         functions.
41564
41565 2005-07-16  Simon Josefsson  <jas@extundo.com>
41566
41567         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
41568         workaround, suggested by Bruno.
41569
41570 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41571
41572         * modules/xalloc (Depends-on): Add xalloc-die.
41573         * modules/xvasprintf (Depends-on): Add xalloc-die.
41574
41575 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41576
41577         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
41578         with a minor change.
41579
41580 2005-07-15  Bruno Haible  <bruno@clisp.org>
41581
41582         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
41583         When using lib/poll.c, define poll as rpl_poll.
41584
41585 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
41586
41587         * modules/argp (Depends-on): Remove unlocked-io.
41588
41589 2005-07-14  Derek Price  <derek@ximbiot.com>
41590
41591         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
41592         for glob symlink bug.
41593
41594 2005-07-14  Bruno Haible  <bruno@clisp.org>
41595
41596         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
41597         Instead, test for *_unlocked function declarations directly.
41598
41599 2005-07-11  Simon Josefsson  <jas@extundo.com>
41600
41601         * modules/size_max: New file.
41602
41603         * modules/xsize: Depend on size_max module for size_max.m4.
41604
41605 2005-07-11  Simon Josefsson  <jas@extundo.com>
41606
41607         * lib/size_max.h: New file.
41608
41609 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
41610
41611         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
41612         copyright symbol and the year.
41613         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
41614         (version_etc_va): Use parameterized copyright notice.
41615         Reword to conform to the current GNU coding standards.
41616
41617 2005-07-11  Karl Berry  <karl@gnu.org>
41618
41619         * doc/gnulib.texi (Quoting): new node.
41620         (Initial import): more info, from Patrice.
41621
41622 2005-07-11  Bruno Haible  <bruno@clisp.org>
41623
41624         * gnulib-tool (func_usage): Document option --avoid.
41625         (Command line options): Handle --avoid.
41626         (func_acceptable): New function.
41627         (func_modules_transitive_closure): Use it.
41628
41629 2005-07-11  Bruno Haible  <bruno@clisp.org>
41630
41631         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
41632         Reported by Jim Meyering.
41633
41634 2005-07-10  Bruno Haible  <bruno@clisp.org>
41635
41636         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
41637         Needed when size_t is smaller than 'unsigned int'.
41638         Reported by Paul Eggert.
41639
41640 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41641
41642         * modules/argp (Depends-on): Add unlocked-io
41643
41644 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41645
41646         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
41647         block of defines.
41648
41649 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
41650
41651         * config/srclist.txt: Comment out regcomp.c, since we have a porting
41652         fix now.
41653
41654 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
41655         and Paul Eggert  <eggert@cs.ucla.edu>
41656
41657         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
41658         in wint_t, not wchar_t.  Remove now-unnecessary cast.
41659
41660 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
41661
41662         * modules/regex (Files): Add lib/regex_internal.c,
41663         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
41664         (Depends-on): Add extensions.
41665         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
41666
41667 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
41668
41669         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
41670         pathconf.
41671         * m4/same.m4 (gl_SAME): Likewise.
41672         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
41673
41674         * m4/regex.m4: Adjust to new libc regex implementation.
41675         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
41676         all the .c and .h parts of (the new) regex.
41677         Quote the m4 stuff better.
41678         Check for RE_ICASE bug of old gnulib.
41679         Check for REG_STARTEND of recent libc.
41680         Rename local variables from jm_* to gl_*.
41681         Quote operand of "test -f".
41682         Say "recent enough" version of libc, not "version 2".
41683         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
41684         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
41685         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
41686         Remove check for btowc, isascii.
41687         Require AM_LANGINFO_CODESET.
41688
41689 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
41690
41691         * lib/regex.c, regex.h: Sync from libc.
41692         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
41693         * lib/regexec.c:
41694         New files, synced from libc, except that regex_internal.h
41695         currently has a small porting fix.
41696
41697 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
41698
41699         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
41700         regex_internal.c, regexec.c.
41701         Add regex_internal.h too, but as a comment, since the libc version
41702         is currently broken in gnulib mode.
41703
41704 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41705
41706         Support programs like Emacs that use gnulib but not gettext.
41707         * MODULES.html.sh (Internationalization functions): Add gettext-h.
41708         * modules/gettext-h: New file.
41709         * modules/gettext (Files): Remove lib/gettext.h.
41710         (Depends-on): Add gettext-h.
41711         (Makefile.am): Remove lib_SOURCES.
41712         * modules/argmatch, modules/c-stack, modules/closeout:
41713         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
41714         * modules/execute, modules/file-type, modules/getaddrinfo:
41715         * modules/getopt, modules/human, modules/javacomp:
41716         * modules/javaexec, modules/mkdir-p, modules/obstack:
41717         * modules/openat, modules/pagealign_alloc, modules/pipe:
41718         * modules/quotearg, modules/regex, modules/rpmatch:
41719         * modules/unicodeio, modules/userspec, modules/version-etc:
41720         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
41721         * modules/xsetenv:
41722         Depend on gettext-h, not gettext.
41723
41724 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
41725
41726         * gnulib-tool (func_import): Add support for 'public domain' license.
41727         * modules/alloca, modules/atexit, modules/memmove:
41728         Now public domain, not GPL.
41729         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
41730         * modules/realloc, modules/strerror, modules/strtod:
41731         Now LGPL, not GPL.
41732
41733 2005-07-05  Bruno Haible  <bruno@clisp.org>
41734
41735         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
41736         autoconf CVS. Needed for mingw.
41737
41738 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41739
41740         Remove the dependency of the strftime module on the tzset module.
41741         * modules/strftime (Depends-on): Remove dependency on tzset.
41742
41743 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41744
41745         Remove the dependency of the strftime module on the tzset module.
41746         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
41747         gl_FUNC_TZSET_CLOBBER.
41748
41749 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
41750
41751         Remove the dependency of the strftime module on the tzset module.
41752         * lib/strftime.c (my_strftime)
41753         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
41754         Copy the input structure, to work around some of the bug with
41755         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
41756         Solaris releases, you should also use the tzset module, but we won't
41757         require it as a dependency any more since we don't want LGPLed code
41758         to depend on GPLed code.
41759
41760 2005-07-02  Jim Meyering  <jim@meyering.net>
41761
41762         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
41763         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
41764         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
41765         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
41766
41767 2005-07-02  Jim Meyering  <jim@meyering.net>
41768
41769         * lib/backupfile.c (backup_args): Change a `0' to NULL.
41770
41771 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
41772
41773         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
41774         declares only 'struct timespec;' (!).
41775
41776 2005-07-01  Jim Meyering  <jim@meyering.net>
41777
41778         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
41779         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
41780         * lib/save-cwd.c, tempname.c:
41781         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
41782         and don't include <sys/file.h>).
41783
41784 2005-06-29  Jim Meyering  <jim@meyering.net>
41785
41786         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
41787         type name.  Use the variable name instead.
41788         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
41789         Likewise.
41790
41791 2005-06-28  Simon Josefsson  <jas@extundo.com>
41792
41793         * modules/check-version (Files): Add check-version.m4.
41794
41795 2005-06-28  Simon Josefsson  <jas@extundo.com>
41796
41797         * m4/check-version.m4: New file, suggested by Jim Meyering
41798         <jim@meyering.net>.
41799
41800 2005-06-28  Simon Josefsson  <jas@extundo.com>
41801
41802         * lib/check-version.h, lib/check-version.c: New files.
41803
41804 2005-06-28  Simon Josefsson  <jas@extundo.com>
41805
41806         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
41807         collision with global variable.  Better indentation.  Don't
41808         increment buffer pointer beyond buffer end.  Based on comments
41809         from Paul Eggert <eggert@cs.ucla.edu>.
41810
41811         * lib/base64.h: Indent.
41812
41813 2005-06-28  Simon Josefsson  <jas@extundo.com>
41814
41815         * doc/gnulib.texi (Library version handling): New section.
41816
41817 2005-06-28  Jim Meyering  <jim@meyering.net>
41818
41819         * check-module (find_included_lib_files): Hard-code another
41820         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
41821         but modules/fts-lgpl (correctly) does not list those files.
41822
41823         * modules/canonicalize (Files): Add lib/pathmax.h.
41824
41825 2005-06-25  Simon Josefsson  <jas@extundo.com>
41826
41827         * modules/check-version: New file.
41828
41829 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
41830
41831         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
41832         initializer of struct addrinfo, as an indication that we don't
41833         care how many members the structure has.
41834
41835 2005-06-24  Derek Price  <derek@ximbiot.com>
41836         and Bruno Haible  <bruno@clisp.org>
41837
41838         Remove stat module & update lstat.
41839         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
41840         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
41841         * m4/stat.m4: Remove this file.
41842
41843 2005-06-24  Derek Price  <derek@ximbiot.com>
41844         and Bruno Haible  <bruno@clisp.org>
41845
41846         Remove stat module & update lstat.
41847         * lib/stat.c: Remove this file...
41848         (slash_aware_lstat): ...moving this content and its support...
41849         * lib/lstat.c (rpl_lstat): ...into here.
41850         * lib/lstat.h: New file.
41851
41852 2005-06-24  Derek Price  <derek@ximbiot.com>
41853         and Bruno Haible  <bruno@clisp.org>
41854
41855         Remove stat module & update lstat.
41856         * config/srclist.txt (libc sources): Remove stat.
41857
41858 2005-06-24  Derek Price  <derek@ximbiot.com>
41859         and Bruno Haible  <bruno@clisp.org>
41860
41861         Remove stat module & update lstat.
41862         * MODULES.html.sh (stat): Remove.
41863         * MODULES.html: Regenerated.
41864         * modules/lstat (Description): Correct function name.
41865         (Files): Add "lstat.h".
41866         (Depends-on): Remove stat, add xalloc, stat-macros.
41867         * modules/stat: Remove this file.
41868         (Include): Add "lstat.h", remove <sys/stat.h>.
41869
41870 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
41871
41872         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
41873         (ranged_convert): Don't save conversion in a temporary struct.
41874         This causes a warning with GCC 4.0.0, and anyway in the typical
41875         case it's not worth the extra 100 bytes or so of code.
41876         (ranged_convert, __mktime_internal): When calling a function via a
41877         pointer P, use P () rather than (*P) (), as we now assume C89 or
41878         better.
41879
41880 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
41881
41882         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
41883         "who -r" failed to give output.  Problem reported by Tim Waugh.
41884
41885         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
41886         (xcalloc): Use it to avoid needless tests.
41887         Problem reported by Jim Meyering.
41888
41889 2005-06-20  Derek Price  <derek@ximbiot.com>
41890
41891         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
41892         unnecessary for Autoconfs > 2.59c.
41893
41894 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41895
41896         * lib/argp.h (__option_is_short): Check upper limit of
41897         __key. Isprint() requires its argument to have the value
41898         of an unsigned char or EOF.
41899
41900 2005-06-16  Jim Meyering  <jim@meyering.net>
41901
41902         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
41903         when either N or S is zero.
41904
41905 2005-06-16  Derek Price  <derek@ximbiot.com>
41906
41907         * m4/bison.m4: Declare YACC & YFLAGS precious.
41908
41909 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
41910
41911         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
41912         multibyte string or pattern, fall back on unibyte matching.
41913         Problem reported by James Youngman.
41914
41915 2005-06-08  Bruno Haible  <bruno@clisp.org>
41916
41917         * modules/csharpcomp: New file.
41918         * MODULES.html.sh (C#): Add csharpcomp.
41919
41920 2005-06-08  Bruno Haible  <bruno@clisp.org>
41921
41922         * m4/csharpcomp.m4: New file, from GNU gettext.
41923
41924 2005-06-08  Bruno Haible  <bruno@clisp.org>
41925
41926         * lib/csharpcomp.h: New file, from GNU gettext.
41927         * lib/csharpcomp.c: New file, from GNU gettext.
41928         * lib/csharpcomp.sh.in: New file, from GNU gettext.
41929
41930 2005-06-08  Bruno Haible  <bruno@clisp.org>
41931
41932         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
41933         warning on mingw.
41934
41935 2005-06-07  Derek Price  <derek@ximbiot.com>
41936
41937         Sync from CVS.
41938         * lib/glob_.h: Indent nested #ifdef.
41939
41940 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
41941
41942         Sync from coreutils.
41943         Use "file name" when talking about file names, instead of "filename"
41944         or "path", as per the GNU coding standards.
41945         * lib/mkdir-p.c: Renamed from makepath.c.
41946         (make_dir_parents): Renamed from make_path.  All callers changed.
41947         * lib/mkdir-p.h: Likewise.  All includers changed.
41948         * lib/filenamecat.c: Renamed from path-concat.c.
41949         (file_name_concat): Renamed from path_concat.  All callers changed.
41950         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
41951         * lib/filenamecat.h: Likewise.  All includers changed.
41952         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
41953         in comments or local variable names.
41954         * lib/basename.c: Likewise.
41955         * lib/canonicalize.c, canonicalize.h: Likewise.
41956         * lib/dirname.c, dirname.h: Likewise.
41957         * lib/euidaccess.c: Likewise.
41958         * lib/exclude.c: Likewise
41959         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
41960         * lib/fsusage.c, fsuage.h: Likewise.
41961         * lib/fts.c, fts_.h: Likewise.
41962         * lib/getcwd.c: Likewise.
41963         * lib/getloadavg.c: Likewise.
41964         * lib/mkstemp.c: Likewise.
41965         * lib/mountlist.c, mountlist.h: Likewise.
41966         * lib/openat.c, openat.h: Likewise.
41967         * lib/readlink-stub.c: Likewise.
41968         * lib/readutmp.c, readutmp.h: Likewise.
41969         * lib/rename.c: Likewise.
41970         * lib/rmdir.c: Likewise.
41971         * lib/same.c: Likewise.
41972         * lib/savedir.c: Likewise.
41973         * lib/stripslash.c: Likewise.
41974         * lib/tempname.c: Likewise.
41975         * lib/xreadlink.c: Likewise.
41976         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
41977         All uses changed.
41978         * lib/exclude.h: Likewise.
41979
41980         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
41981         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
41982         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
41983         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
41984         * lib/pathmax.h: Include <limits.h> unconditionally, since other
41985         files have been getting away with it for years (MORE/BSD 4.3
41986         is extinct now).
41987         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
41988         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
41989
41990         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
41991         Define to 256, not 255, as per modern POSIX.
41992
41993 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
41994
41995         Sync from coreutils.
41996         Use "file name" when talking about file names, instead of "filename"
41997         or "path", as per the GNU coding standards.
41998         * MODULES.html.sh: mkdir-p renamed from makepath.
41999         filenamecat renamed from path-concat.
42000         * modules/filenamecat: Renamed from modules/path-concat.
42001         (Files): filenamecat.h and filenamecat.c renamed from
42002         path-concat.h and path-concat.c.
42003         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
42004         (Include): filenamecat.h, not path-concat.h.
42005         * modules/mkdir-p: Renamed from modules/makepath.
42006         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
42007         makepath.c.
42008         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
42009         (Include): mkdir-p.h, not makepath.h.
42010
42011 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
42012
42013         Sync from coreutils.
42014         * m4/mkdir-p.m4: Renamed from makepath.m4.
42015         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
42016         Rename files from makepath.c to mkdir-p.c, and from
42017         makepath.h to mkdir-p.h.
42018         * m4/filenamecat.m4: Renamed from path-concat.m4.
42019         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
42020         Rename files from path-concat.c to filenamecat.c,
42021         and from path-concat.h to filenamecat.h.
42022         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
42023         "file name" in local variables or comments.
42024         * m4/rename.m4: Likewise.
42025
42026 2005-06-01  Bruno Haible  <bruno@clisp.org>
42027
42028         * modules/csharpexec: New file.
42029         * MODULES.html.sh (C#): New section.
42030
42031 2005-06-01  Bruno Haible  <bruno@clisp.org>
42032
42033         * m4/csharp.m4: New file, from GNU gettext.
42034         * m4/csharpexec.m4: New file, from GNU gettext.
42035
42036 2005-06-01  Bruno Haible  <bruno@clisp.org>
42037
42038         * lib/csharpexec.h: New file, from GNU gettext.
42039         * lib/csharpexec.c: New file, from GNU gettext.
42040         * lib/csharpexec.sh.in: New file, from GNU gettext.
42041
42042 2005-05-31  Derek Price  <derek@ximbiot.com>
42043             Paul Eggert  <eggert@cs.ucla.edu>
42044
42045         Sync from cvs.
42046         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
42047
42048 2005-05-31  Derek Price  <derek@ximbiot.com>
42049             Paul Eggert  <eggert@cs.ucla.edu>
42050
42051         Sync from cvs.
42052         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
42053
42054 2005-05-29  Derek Price  <derek@ximbiot.com>
42055
42056         * config/srclist.txt (glob_.h, glob.c): Add these files.
42057
42058 2005-05-29  Derek Price  <derek@ximbiot.com>
42059
42060         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
42061         * modules/glob: New file.
42062         * modules/getlogin_r: Add link to POSIX spec in description.
42063
42064 2005-05-29  Derek Price  <derek@ximbiot.com>
42065             Paul Eggert  <eggert@cs.ucla.edu>
42066
42067         * m4/glob.m4: New file.
42068
42069 2005-05-29  Derek Price  <derek@ximbiot.com>
42070             Paul Eggert  <eggert@cs.ucla.edu>
42071
42072         * lib/glob_.h, lib/glob.c: New files.
42073
42074 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
42075
42076         * modules/fts (Files): Remove m4/inttypes-pri.m4.
42077         * modules/fts-lgpl (Depends-on): Remove gettext.
42078
42079 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
42080
42081         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
42082         and don't require gt_INTTYPES_PRI.
42083
42084 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
42085
42086         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
42087
42088         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
42089         the configuration hassle isn't worth it.
42090         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
42091         (LONGEST_MODIFIER, PRIuMAX): Remove.
42092
42093 2005-05-27  Bruno Haible  <bruno@clisp.org>
42094
42095         * lib/getlogin_r.h: Remove second include of <stddef.h>.
42096
42097 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
42098
42099         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
42100         _POSIX_PTHREAD_SEMANTICS for Solaris.
42101
42102 2005-05-25  Derek Price  <derek@ximbiot.com>
42103
42104         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
42105
42106 2005-05-25  Derek Price  <derek@ximbiot.com>
42107             Paul Eggert  <eggert@cs.ucla.edu>
42108
42109         * modules/getlogin_r, m4/getlogin_r.m4: New files.
42110         * lib/getlogin_r.c, getlogin_r.h: New files.
42111
42112 2005-05-25  Bruno Haible  <bruno@clisp.org>
42113             Derek Price  <derek@ximbiot.com>
42114
42115         * lib/getlogin_r.h: Simplify API documentation.
42116
42117 2005-05-23  Derek Price  <derek@ximbiot.com>
42118
42119         * modules/minmax (Files): Add m4/minmax.m4.
42120         (configure.ac): Add gl_MINMAX.
42121
42122 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
42123
42124         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
42125         so that unistd-safer.h (GPL'ed code) need not be included.
42126
42127 2005-05-22  Bruno Haible  <bruno@clisp.org>
42128
42129         * m4/minmax.m4: New file.
42130         Based on a patch by Derek Price <derek@ximbiot.com>.
42131
42132 2005-05-22  Bruno Haible  <bruno@clisp.org>
42133
42134         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
42135         (INT64_MIN): Fix definition.
42136         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
42137
42138         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
42139         NEED_SIGNED_INT_TYPES.
42140
42141         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
42142         HAVE_SYSTEM_INTTYPES.
42143
42144 2005-05-22  Bruno Haible  <bruno@clisp.org>
42145
42146         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
42147         Also include <sys/param.h> if it defines MIN, MAX.
42148         Based on a patch by Derek Price <derek@ximbiot.com>.
42149
42150 2005-05-21  Jim Meyering  <jim@meyering.net>
42151
42152         * modules/fts (Files): Add m4/inttypes-pri.m4.
42153         (Depends-on): Add lstat and remove gettext.  Alphabetize.
42154
42155 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42156
42157         New fts module.
42158         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
42159         (setup_dir, free_dir): New functions.
42160         (enter_dir, leave_dir): Define trivial
42161         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
42162         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
42163         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
42164         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
42165         Move to fts-cycle.c.
42166         (fts_open): Use setup_dir.
42167         (fts_close): Use free_dir.
42168         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
42169         This adds a label and some gotos, but the alternatives were messier.
42170         Check for memory allocation failure when entering a dir.
42171         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
42172         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
42173         (FTS): New member fts_cycle, that is a union that contains the
42174         old active_dir_ht and cycle_state.  All uses changed to mention
42175         fts_cycle.ht and fts_cycle.state.
42176         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
42177         fts.c, with the following changes:
42178         (setup_dir, free_dir): New functions.
42179         (enter_dir): Now returns bool.  Return true if successful, false
42180         if memory exhausted.  All callers changed.
42181         Do not bother partly cleaning up on
42182         memory allocation failure; that is free_dir's job.
42183         However, free ad if hash_insert fails, to avoid memory leak.
42184         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
42185         fts->fts_options to see which union member to use.
42186
42187 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42188
42189         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
42190         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
42191
42192 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42193
42194         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
42195
42196 2005-05-20  Jim Meyering  <jim@meyering.net>
42197
42198         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
42199         Now a macro, to pacify GCC.
42200
42201 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
42202
42203         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
42204         of -1.
42205
42206 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
42207
42208         * lib/chown.c (rpl_chown): Return -1 on failure.
42209
42210 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
42211
42212         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
42213         Don't check for stddef.h.
42214         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
42215         don't use its results.
42216         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
42217         since we include them unconditionally.  Don't require
42218         AM_STDBOOL_H, since stdbool is a prerequisite.
42219         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
42220         since we assume C89 or better.
42221         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
42222         as we don't use their results.
42223         Don't check for fchdir, memmove, memset, strrchr, as we use
42224         them unconditionally.
42225         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
42226         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
42227
42228 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
42229
42230         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
42231         Include <stddef.h> unconditionally, since we assume C89 now.
42232         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
42233         * lib/fts.c: Include fts_.h first, to check interface.
42234         Do not include intprops.h; no longer needed.
42235         Include cycle-check.h and hash.h, since fts_.h no longer does.
42236         Remove unnecessary casts of closedir to void.
42237         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
42238         decide whether to decrement nlinks.
42239         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
42240         (FTS): Use struct hash_table * instead of Hash_table, so that
42241         we no longer need to include hash.h here.
42242
42243 2005-05-18  Jim Meyering  <jim@meyering.net>
42244
42245         * modules/dirfd (License): Change to LGPL.  Most of the code
42246         is already in the public domain.
42247
42248 2005-05-18  Jim Meyering  <jim@meyering.net>
42249
42250         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
42251         Reported by Yoann Vandoorselaere.
42252
42253 2005-05-17  Jim Meyering  <jim@meyering.net>
42254
42255         * m4/fts.m4: New file, from coreutils.
42256
42257 2005-05-17  Jim Meyering  <jim@meyering.net>
42258
42259         * lib/fts.c, lib/fts_.h: New files, from coreutils.
42260
42261 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42262
42263         Sync from coreutils.
42264         * m4/unlinkdir.m4: New file.
42265
42266 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42267
42268         Sync from coreutils.
42269         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
42270         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
42271         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
42272         White space changes only.
42273         * lib/makepath.c (make_path): Port to hosts where leading "//" is
42274         special.
42275         * lib/yesno.c: Include getline.h, not ctype.h.
42276         (yesno): Don't remove leading white space; POSIX doesn't allow it.
42277         Use getline to remove arbitrary restriction on response length.
42278
42279 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
42280
42281         * config/srclist-update: Spell out "Street" in FSF postal
42282         mail address; this is the style the FSF seems to prefer.
42283
42284         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
42285         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
42286         this updates FSF postal mail address.
42287
42288         Sync from coreutils.
42289         * modules/unlinkdir: New file.
42290         * modules/yesno (Depends-on): Add getline.
42291         * MODULES.html.sh (File system functions): Add unlinkdir.
42292
42293 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
42294
42295         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
42296         lib/strsep.h:
42297         Change the initial comment to refer to GPL, not LGPL.
42298         gnulib-tool will change it to LGPL as needed.
42299
42300         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
42301         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
42302         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
42303         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
42304         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
42305         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
42306         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
42307         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
42308         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
42309         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
42310         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
42311         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
42312         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
42313         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
42314         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
42315         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
42316         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
42317         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
42318         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
42319         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
42320         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
42321         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
42322         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
42323         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
42324         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
42325         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
42326         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
42327         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
42328         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
42329         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
42330         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
42331         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
42332         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
42333         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
42334         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
42335         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
42336         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
42337         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
42338         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
42339         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
42340         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
42341         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
42342         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
42343         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
42344         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
42345         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
42346         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
42347         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
42348         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
42349         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
42350         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
42351         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
42352         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
42353         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
42354         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
42355         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
42356         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
42357         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
42358         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
42359         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
42360         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
42361         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
42362         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
42363         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
42364         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
42365         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
42366         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
42367         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
42368         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
42369         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
42370         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
42371         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
42372         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
42373         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
42374         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
42375         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
42376         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
42377         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
42378         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
42379         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
42380         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
42381         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
42382         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
42383         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
42384         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
42385         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
42386         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
42387         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
42388         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
42389         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
42390         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
42391         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
42392         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
42393         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
42394         lib/yesno.c, lib/yesno.h:
42395         Update FSF postal mail address.
42396
42397 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
42398
42399         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
42400         tests/test-memmem.c, tests/test-stpncpy.c:
42401         Update FSF postal mail address.
42402
42403 2005-05-13  Bruno Haible  <bruno@clisp.org>
42404
42405         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
42406         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
42407         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
42408         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
42409         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
42410         Add support for 64-bit integers in the MSVC compiler.
42411
42412 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42413
42414         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
42415
42416 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
42417
42418         * gnulib-tool (func_import): Sort and uniquify recommended includes.
42419
42420 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
42421
42422         * doc/getdate.texi (General date syntax): Don't say that date
42423         date --iso-8601=ns generates acceptable dates; it doesn't yet.
42424         Problem reported by Nic Ferrier.
42425
42426 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42427
42428         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
42429         specified in ai_socktype. Fix invalid ai_protocol
42430         check. ai_protocol is usually set to 0 or depending on
42431         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
42432         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
42433         ai_socktype / ai_protocol in the returned addrinfo structure.
42434
42435 2005-05-10  Simon Josefsson  <jas@extundo.com>
42436
42437         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
42438         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42439
42440 2005-05-10  Karl Berry  <karl@gnu.org>
42441
42442         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
42443         (from http://www.gnu.org/licenses).
42444         * doc/COPYING.LIB: also rename to COPYING.LESSER.
42445         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
42446         fdl.texi suffices.
42447
42448 2005-05-10  Karl Berry  <karl@gnu.org>
42449
42450         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
42451         (COPYING.DOC): remove.
42452
42453         * config/srclist-update: new FSF address.
42454
42455 2005-05-10  Derek Price  <derek@ximbiot.com>
42456
42457         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
42458         possible.
42459
42460 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42461             Bruno Haible  <bruno@clisp.org>
42462
42463         * modules/inet_ntop: New file.
42464         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42465         inet_ntop.
42466
42467 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42468             Bruno Haible  <bruno@clisp.org>
42469
42470         * m4/inet_ntop.m4: New file.
42471
42472 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42473             Bruno Haible  <bruno@clisp.org>
42474
42475         * lib/inet_ntop.h: New file.
42476         * lib/inet_ntop.c: New file, from glibc with modifications.
42477
42478 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
42479
42480         * modules/time_r (License): Change to LGPL.
42481         * modules/extensions (License): Change to LGPL.  Actually,
42482         the license is more permissive than that, but currently gnulib-tool
42483         doesn't know how to handle more-permissive licenses.
42484
42485         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
42486         Problem reported by Dave Love.
42487
42488 2005-05-08  Jim Meyering  <jim@meyering.net>
42489
42490         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
42491         blank.
42492
42493 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
42494
42495         * modules/argmatch (Depends-on): Add stdbool.
42496         * modules/backupfile (Depends-on): Likewise.
42497         * modules/chdir-long (Depends-on): Likewise.
42498         * modules/closeout (Depends-on): Likewise.
42499         * modules/cycle-check (Depends-on): Likewise.
42500         * modules/dirname (Depends-on): Likewise.
42501         * modules/fnmatch (Depends-on): Likewise.
42502         * modules/fsusage (Depends-on): Likewise.
42503         * modules/fwriteerror (Depends-on): Likewise.
42504         * modules/getcwd (Depends-on): Likewise.
42505         * modules/getloadavg (Depends-on): Likewise.
42506         * modules/hard-locale (Depends-on): Likewise.
42507         * modules/makepath (Depends-on): Likewise.
42508         * modules/mountlist (Depends-on): Likewise.
42509         * modules/nanosleep (Depends-on): Likewise.
42510         * modules/posixtm (Depends-on): Likewise.
42511         * modules/quotearg (Depends-on): Likewise.
42512         * modules/readtokens (Depends-on): Likewise.
42513         * modules/readtokens0 (Depends-on): Likewise.
42514         * modules/readutmp (Depends-on): Likewise.
42515         * modules/save-cwd (Depends-on): Likewise.
42516         * modules/strftime (Depends-on): Likewise.
42517         * modules/userspec (Depends-on): Likewise.
42518         * modules/utimecmp (Depends-on): Likewise.
42519         * modules/xgetcwd (Depends-on): Likewise.
42520         * modules/xnanosleep (Depends-on): Likewise.
42521         * modules/xstrtod (Depends-on): Likewise.
42522         * modules/yesno (Depends-on): Likewise.
42523
42524 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
42525
42526         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
42527         needless checks.
42528
42529 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
42530
42531         Merge from coreutils.  Among other things,
42532         add bulletproofing for cases where stdin, stdout, or stderr are closed.
42533         * lib/fd-safer.c: New file.
42534         * lib/fcntl-safer.h, open-safer.c: Remove.
42535         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
42536         * lib/dup-safer.c: Include unistd-safer.h first.
42537         Don't include errno.h.
42538         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
42539         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
42540         * lib/file-type.c: Rely on file-type.h change.
42541         * lib/getloadavg.c: Include unistd-safer.h.
42542         (getloadavg): Use safer open.
42543         * lib/getusershell.c: Include "stdio-safer.h".
42544         (getusershell): Use safer fopen.
42545         * lib/long-options.c (long_options): Use NULL rather than 0.
42546         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
42547         'free'.
42548         * lib/modechange.c: Likewise.
42549         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
42550         (MODE_DONE): New constant.
42551         (struct mode_change): Remove 'next' member.
42552         (make_node_op_equals): New function; like the old one of the
42553         same name, except it allocates an array.
42554         (mode_compile, mode_create_from_ref): Use it.
42555         (mode_compile): Allocate result as an array, not a linked list.
42556         Parse octal string ourself, so that we catch mistakes like "+0".
42557         (mode_adjust): Arg is an array, not a linked list.
42558         * lib/modechange.c: Include stat-macros.h, xalloc.h.
42559         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
42560         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
42561         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
42562         Remove.  This is now stat-macros.h's job.
42563         (talloc): Remove.  All callers replaced by xalloc, so that
42564         our invokers don't have to worry about reporting memory failures.
42565         (make_node_op_equals): Remove.
42566         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
42567         New constants.
42568         (struct mode_change): Moved here from modechange.h.
42569         (mode_append_entry): Remove.
42570         (mode_compile): Remove MASKED_OPS arg, since it encouraged
42571         apps to have incorrect behavior.  Use simpler algorithm for head
42572         and tail.  Don't futz with umask; that's now the job of mode_adjust.
42573         Detect more invalid usages rather than having somewhat-random behavior.
42574         Don't insert an "a=" action, as that leads to incorrect behavior.
42575         (mode_compile, mode_create_from_ref): Return NULL on error instead
42576         of an enum, since now there's only one way to have an error.  All
42577         callers changed.
42578         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
42579         at the correct time.  Simplify calculation of "+u" and its ilk.
42580         Don't mishandle "+X".
42581         (mode_free): Remove "register" and localize decls.
42582         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
42583         (struct mode_change): Move to modechange.c; callers don't
42584         need to see this stuff.
42585         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
42586         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
42587         (mode_change, mode_adjust): Reflect the new signatures noted above.
42588         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
42589         that might redefine system include files.
42590         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
42591         (my_usleep): Use NULL rather than (void *) 0.
42592         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
42593         Use siginterrupt to specify that system calls should be interrupted.
42594         (rpl_nanosleep): Move initialization of suspended closer to call of
42595         my_usleep.
42596         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
42597         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
42598         (desirable_utmp_entry): New function.
42599         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
42600         using x2nrealloc, to simplify logic.
42601         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
42602         size calculation.  Do not assume utmp file is a regular file.
42603         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
42604         (READ_UTMP_CHECK_PIDS): New constant.
42605         * lib/save-cwd.c: Include unistd-safer.h.
42606         (save_cwd): Use fd_safer.
42607         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
42608         [!_LIBC] Include "stat-macros.h" instead.
42609         * lib/unistd-safer.h (fd_safer): New decl.
42610
42611 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
42612
42613         * modules/getloadavg (Depends-on): Add unistd-safer.
42614         * modules/getusershell (Depends-on): Add stdio-safer.
42615         * modules/lstat (Depends-on): Remove xalloc.
42616         * modules/mkstemp (Depends-on): Add stat-macros.
42617         * modules/modechange (Depends-on): Remove xstrtol.
42618         Add stat-macros, xalloc.
42619         * modules/save-cwd (Depends-on): Add unistd-safer.
42620         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
42621         * modules/unistd-safer (Files): Add lib/fd-safer.c
42622         (Makefile.am): Remove lib_SOURCES.
42623
42624         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
42625         Remove fcntl-safer; unistd-safer supersedes it.
42626
42627 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
42628
42629         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
42630         AC_HEADER_STAT.
42631         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
42632         (gl_PREREQ_CHOWN): Remove.
42633         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
42634         it.  Don't require AC_HEADER_STAT.
42635         (gl_PREREQ_LSTAT): Remove.
42636         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
42637         Don't require AC_HEADER_STAT.
42638         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
42639         (gl_PREREQ_RMDIR): Remove.
42640         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
42641         mention stat-macros.h or AC_HEADER_STAT, since we'll make
42642         the stat-macros module a prerequisite.
42643         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
42644         * m4/filemode.m4 (gl_FILEMODE): Likewise.
42645         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
42646         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
42647         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
42648         variable names.
42649         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
42650         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
42651         variable prefixes.
42652         * m4/fcntl-safer.m4: Remove.
42653         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
42654         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
42655         Invoke gl_PREREQ_FD_SAFER.
42656         (gl_PREREQ_FD_SAFER): New macro.
42657         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
42658         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
42659         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
42660         Remove duplicate call to AC_LIBOBJ(readutmp).
42661         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
42662
42663         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
42664         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
42665
42666 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
42667
42668         * MODULES.html.sh (Misc): Add byteswap.
42669
42670 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
42671
42672         * modules/getcwd (Depends-on): Add extensions.
42673         * modules/openat (Depends-on): Likewise.
42674
42675 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
42676
42677         * modules/byteswap: New file.
42678
42679 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
42680
42681         * m4/byteswap.m4: New file.
42682
42683 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
42684
42685         * lib/byteswap_.h: New file.
42686
42687 2005-04-25  Karl Berry  <karl@gnu.org>
42688
42689         * m4/gettext.m4: Update from GNU gettext 0.14.4.
42690
42691 2005-04-25  Albert Chin  <china@thewrittenword.com>
42692
42693         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
42694         Toolkit C bug.
42695
42696 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
42697
42698         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
42699         (func_ln_if_changed) Remove forcibly for no error message
42700         in case file does not exist.
42701
42702 2005-04-19  Simon Josefsson  <jas@extundo.com>
42703
42704         * gnulib-tool (Options): Make --symlink mean --symbolic.
42705
42706 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
42707
42708         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
42709
42710 2005-04-16  Simon Josefsson  <jas@extundo.com>
42711
42712         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
42713
42714 2005-04-15  Simon Josefsson  <jas@extundo.com>
42715
42716         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
42717
42718 2005-04-15  Simon Josefsson  <jas@extundo.com>
42719
42720         * gnulib-tool: Rename --symlink to --symbolic.
42721
42722 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
42723
42724         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
42725         symbolic links to files instead of copying/moving.  Add --aux-dir,
42726         specifying directory relative --dir where auxiliary build tools
42727         are placed.
42728
42729 2005-04-14  Bruno Haible  <bruno@clisp.org>
42730
42731         * modules/allocsa (License): Change to LGPL.
42732         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42733
42734 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42735
42736         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
42737         that "UTC +1 second" continues to work.  Problem reported
42738         by Dmitry V. Levin.
42739         (relunit_snumber): New rule.
42740         (relunit): Use it.
42741
42742 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42743
42744         * lib/getdate.y (universal_time_zone_table): New constant.
42745         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
42746         universal_time_zone_table.
42747         (lookup_zone): Prefer universal_time_zone_table to
42748         local_time_zone_table, so that "GMT" time stamps are allowed in
42749         London during the summer.  Problem reported by Ian Abbott.
42750
42751 2005-04-12  Jim Meyering  <jim@meyering.net>
42752
42753         * lib/human.c (humblock): Set *options even when returning due to
42754         xstrtoumax conversion failure.  Thanks to a used-uninitialized
42755         warning from gcc-4.
42756
42757 2005-04-09  Jim Meyering  <jim@meyering.net>
42758
42759         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
42760         -Wuninitialized: initialize tm0.tm_year.
42761
42762 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42763
42764         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
42765         count, since there's no maximum.  All uses changed.
42766         Add member dsts_seen.
42767         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
42768         not being INT_MAX.
42769         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
42770         Use pc_rels_seen to decide whther a date is absolute.
42771
42772         * lib/getdate.y (number): Don't overwrite year.
42773         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
42774         check.
42775
42776 2005-04-02  Simon Josefsson  <jas@extundo.com>
42777
42778         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
42779         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
42780
42781 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
42782
42783         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
42784         where no absolute path name can be longer than PATH_MAX.
42785
42786 2005-03-27  Jim Meyering  <jim@meyering.net>
42787
42788         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
42789
42790 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
42791
42792         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
42793         "one's complement" -> "ones' complement" in comment, as per Knuth.
42794         "value of type" -> "type or expression" in comment.
42795         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
42796
42797 2005-03-26  Jim Meyering  <jim@meyering.net>
42798
42799         Comment nits.
42800         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
42801         Correct typos: s/or/of/.
42802
42803 2005-03-26  Jim Meyering  <jim@meyering.net>
42804
42805         * modules/check-include-files: Move to ../ and rename to...
42806         * check-module: ...this.
42807
42808 2005-03-25  Jim Meyering  <jim@meyering.net>
42809
42810         * modules/xvasprintf (Files): Add xalloc.h.
42811
42812 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42813
42814         * modules/gettext (Files): config/config.rpath ->
42815         build-aux/config.rpath
42816         * modules/iconv (Files): Likewise.
42817         Problem reported by Oskar Liljeblad.
42818
42819 2005-03-23  Jim Meyering  <jim@meyering.net>
42820
42821         * modules/check-include-files: New script to check for
42822         missing dependencies, multiple includes, etc.
42823
42824         * modules/c-strtold (Depends-on): Add xalloc.
42825         * modules/c-strtod (Depends-on): Add xalloc.
42826         * modules/hash (Depends-on): Add xalloc.
42827         (Files): Remove lib/xalloc.h.
42828
42829         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
42830         * modules/userspec (Files): Add lib/inttostr.h.
42831
42832 2005-03-23  Jim Meyering  <jim@meyering.net>
42833
42834         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
42835
42836 2005-03-22  Jim Meyering  <jim@meyering.net>
42837
42838         * modules/stat-macros: New module.
42839         * modules/canonicalize, modules/euidaccess, modules/file-type,
42840         * modules/filemode, modules/lchown, modules/makepath,
42841         * modules/rmdir, modules/stat: Depend on new stat-macros module
42842         rather than listing lib/stat-macros.h manually.
42843         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
42844
42845 2005-03-22  Jim Meyering  <jim@meyering.net>
42846
42847         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
42848
42849 2005-03-22  Bruno Haible  <bruno@clisp.org>
42850
42851         * config/srclist.txt: Replace target directory 'config' with
42852         'build-aux'.
42853         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
42854         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
42855         ../build-aux/.
42856
42857 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
42858
42859         * modules/chdir-long (Depends-on): Add mempcpy.
42860
42861         * modules/acl, modules/backupfile, modules/c-strtod,
42862         modules/c-strtold, modules/canon-host, modules/canonicalize,
42863         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
42864         modules/exclude, modules/exitfail, modules/file-type,
42865         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
42866         modules/getdate, modules/getline, modules/getpagesize,
42867         modules/getpass, modules/getugroups, modules/group-member,
42868         modules/hard-locale, modules/hash, modules/human, modules/idcache,
42869         modules/inttostr, modules/long-options, modules/makepath,
42870         modules/md5, modules/memcasecmp, modules/memcoll,
42871         modules/modechange, modules/mountlist, modules/path-concat,
42872         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
42873         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
42874         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
42875         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
42876         modules/strftime, modules/strndup, modules/strverscmp,
42877         modules/timespec, modules/unlocked-io, modules/userspec,
42878         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
42879         modules/yesno:
42880         Remove lib_SOURCES line from Makefile.am section, as this is now
42881         done automatically by the corresponding Autoconf macro.
42882
42883 2005-03-21  Jim Meyering  <jim@meyering.net>
42884
42885         Changes imported from coreutils.
42886
42887         * lib/cycle-check.c: Don't include xalloc.h.
42888
42889         * lib/path-concat.c: Don't include assert.h.
42890         (path_concat): Remove assertion that would have triggered
42891         for ABASE starting with more than one slash.
42892         Reported by Andreas Schwab.
42893
42894         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
42895         properly when ABASE is an absolute file name.
42896         Correct the description of this function.
42897         Include <assert.h>.
42898         Add an assertion and a test driver.
42899         This fixes a bug introduced on 2004-07-02.
42900         Andreas Schwab reported the resulting failure of cp --parents:
42901         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
42902
42903 2005-03-21  Jim Meyering  <jim@meyering.net>
42904
42905         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
42906         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
42907
42908 2005-03-21  Jim Meyering  <jim@meyering.net>
42909         and  Paul Eggert  <eggert@cs.ucla.edu>
42910
42911         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
42912         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
42913         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
42914         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
42915         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
42916         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
42917         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
42918         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
42919         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
42920         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
42921         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
42922         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
42923         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
42924         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
42925         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
42926         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
42927         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
42928         for these modules.
42929
42930 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
42931
42932         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
42933         (which shouldn't happen), generate nothing instead of returning 0
42934         immediately, so that nstrftime (NULL, ...) doesn't return 0.
42935
42936 2005-03-16  Bruno Haible  <bruno@clisp.org>
42937
42938         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
42939         HAVE_LONGLONG_64BIT.
42940
42941 2005-03-16  Bruno Haible  <bruno@clisp.org>
42942
42943         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
42944         HAVE_LONGLONG_64BIT.
42945
42946 2005-03-16  Bruno Haible  <bruno@clisp.org>
42947
42948         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
42949         HAVE_LONGLONG_64BIT.
42950
42951 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
42952
42953         * lib/strftime.c (my_strftime): Prepend space to format so that we can
42954         reliably distinguish strftime failure from empty output on POSIX
42955         hosts.
42956
42957 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
42958
42959         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
42960         (iconv_string): Don't guess a size-zero buffer, as that might cause
42961         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
42962         result would be 'too large', where 'too large' is (heuristically)
42963         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
42964         overflow concerns.  This will prevent some unwanted malloc failures
42965         when the inputs are very large.
42966
42967 2005-03-15  Karl Berry  <karl@gnu.org>
42968
42969         * config/srclist.txt (config.rpath): from gettext.
42970         * config/config.rpath: update.
42971
42972 2005-03-15  Bruno Haible  <bruno@clisp.org>
42973
42974         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
42975         to 'negate'.
42976
42977         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
42978         variable.
42979
42980         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
42981         results.
42982
42983 2005-03-14  Simon Josefsson  <jas@extundo.com>
42984
42985         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
42986         <fx@gnu.org>.
42987
42988 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
42989
42990         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
42991         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
42992         intprops.h.
42993         * lib/strtol.c: Likewise.
42994
42995 2005-03-14  Jim Meyering  <jim@meyering.net>
42996
42997         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
42998         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
42999         to be nonzero so that we (and caller) can detect the difference
43000         between a valid zero-length expansion and an error return, even
43001         when the underlying strftime fails before writing anything into
43002         that location.
43003
43004 2005-03-14  Bruno Haible  <bruno@clisp.org>
43005
43006         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
43007         Update from GNU gettext 0.14.3.
43008
43009 2005-03-10  Jim Meyering  <jim@meyering.net>
43010
43011         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
43012
43013 2005-03-10  Jim Meyering  <jim@meyering.net>
43014
43015         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
43016         so that this module works on systems without fchdir.
43017
43018 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
43019
43020         Factor int-properties macros into a single file, except for
43021         glibc-related files.
43022         * lib/intprops.h: New file.
43023         * lib/getloadavg.c: Include it instead of limits.h.
43024         (INT_STRLEN_BOUND): Remove.
43025         * lib/human.c: Include intprops.h.
43026         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
43027         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
43028         302/1000.
43029         * lib/inttostr.h: Include intprops.h instead of limits.h.
43030         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
43031         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
43032         for consistency with intprops.h.
43033         (time_t_is_integer, twos_complement_arithmetic): Use them.
43034         * lib/sig2str.h: Include <signal.h>, intprops.h.
43035         (INT_STRLEN_BOUND): Remove.
43036         * lib/strftime.c (TYPE_SIGNED): Remove.
43037         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
43038         * lib/strtol.c: Adjust comments to match intprops.h.
43039         * lib/userspec.c: Include intprops.h.
43040         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
43041         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
43042         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
43043         instead of rolling our own expressions.
43044         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
43045
43046         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
43047         instead of int.
43048         (my_strftime): Do not mishandle years close to INT_MAX, by doing
43049         the right thing even if adding 1900 would overflow.  Similarly
43050         for tm_mon + 1 and tm_yday + 1.
43051         Make %Y always equivalent to %C%y, and similarly for %G and %g.
43052         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
43053         (DO_SIGNED_NUMBER): New macro.
43054         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
43055
43056 2005-03-07  Bruno Haible  <bruno@clisp.org>
43057
43058         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
43059
43060 2005-03-07  Bruno Haible  <bruno@clisp.org>
43061
43062         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
43063
43064 2005-03-04  Derek R. Price  <derek@ximbiot.com>
43065
43066         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
43067         (func_import): Only replace files via --import when they have actually
43068         changed.
43069
43070 2005-03-03  Derek R. Price  <derek@ximbiot.com>
43071
43072         * m4/mmap-anon.m4: New file.
43073         * m4/pagealign_alloc.m4: New file.
43074
43075 2005-03-03  Derek R. Price  <derek@ximbiot.com>
43076             Bruno Haible  <bruno@clisp.org>
43077
43078         * modules/pagealign_alloc: New file.
43079         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
43080
43081 2005-03-03  Derek R. Price  <derek@ximbiot.com>
43082             Bruno Haible  <bruno@clisp.org>
43083
43084         * lib/pagealign_alloc.h: New file.
43085         * lib/pagealign_alloc.c: New file.
43086
43087 2005-03-03  Bruno Haible  <bruno@clisp.org>
43088
43089         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
43090         Use an all-permissive copyright notice, recommended by RMS.
43091
43092 2005-03-02  Bruno Haible  <bruno@clisp.org>
43093
43094         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
43095         of AIX, the replacement has to be done only after <string.h> is
43096         included, therefore not in config.h. stpncpy.h does the replacement,
43097         and stpncpy.c uses it.
43098
43099 2005-03-02  Bruno Haible  <bruno@clisp.org>
43100
43101         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
43102         stpncpy.c uses it.
43103
43104 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43105
43106         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
43107         The workaround isn't strictly needed for POSIX conformance, and
43108         it's too much of a pain to configure and maintain.  We'll ask
43109         people to fix their kernels instead.
43110         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
43111         (NANOSLEEP_BUG_WORKAROUND): Remove.
43112         (xnanosleep): Remove the workaround.
43113
43114 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43115
43116         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
43117         Reported by Derek Price.
43118         (Include): Add "timespec.h".
43119
43120         * modules/xnanosleep (Depends-on): Remove gethrxtime.
43121
43122 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43123
43124         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
43125         to detect nanosleep bug.
43126
43127 2005-03-01  Bruno Haible  <bruno@clisp.org>
43128
43129         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
43130
43131 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
43132
43133         * modules/gethrxtime: New file.
43134         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
43135         (Depends-on): Add gethrxtime.
43136         (configure.ac): Add gl_XNANOSLEEP.
43137         (Makefile.am): Remove lib_SOURCES line.
43138
43139 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43140
43141         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
43142         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
43143
43144 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43145
43146         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
43147         * lib/timespec.h (gettime): Return void, since it always
43148         succeeds now.  All uses changed.
43149         * lib/gettime.c (gettime) Likewise.
43150         [HAVE_NANOTIME]: Prefer nanotime.
43151         Assume gettimeofday succeeds, as POSIX requires.
43152         Assime time () succeeds, since other code already does.
43153         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
43154         (timespec_subtract): Remove.
43155         (NANOSLEEP_BUG_WORKAROUND): New constant.
43156         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
43157         things considerably.  Use it only on GNU/Linux hosts, since the
43158         workaround shouldn't be needed elsewhere.
43159
43160 2005-02-24  Bruno Haible  <bruno@clisp.org>
43161
43162         * modules/gettext (Files): Add m4/glibc2.m4.
43163
43164 2005-02-24  Bruno Haible  <bruno@clisp.org>
43165
43166         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
43167         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
43168         * m4/progtest.m4:
43169         Update from GNU gettext 0.14.2.
43170         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
43171
43172 2005-02-24  Bruno Haible  <bruno@clisp.org>
43173
43174         * lib/localcharset.c: Update from GNU gettext 0.14.2.
43175         * lib/config.charset: Update from GNU gettext 0.14.2.
43176
43177 2005-02-24  Bruno Haible  <bruno@clisp.org>
43178
43179         * lib/gettext.h: Update from GNU gettext 0.14.2.
43180
43181 2005-02-23  Simon Josefsson  <jas@extundo.com>
43182
43183         * m4/iconvme.m4: New file.
43184
43185 2005-02-23  Jim Meyering  <jim@meyering.net>
43186
43187         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
43188         change.
43189         Thanks to Bruno Haible for catching it.
43190
43191 2005-02-22  Simon Josefsson  <jas@extundo.com>
43192
43193         * modules/iconvme: New file.
43194
43195         * MODULES.html.sh: Add iconvme.
43196
43197 2005-02-22  Simon Josefsson  <jas@extundo.com>
43198
43199         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
43200
43201 2005-02-22  Simon Josefsson  <jas@extundo.com>
43202
43203         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
43204
43205 2005-02-22  Jim Meyering  <jim@meyering.net>
43206
43207         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
43208         s/ifndef/ifdef/.
43209
43210 2005-02-20  Neil Conway  <neilc@samurai.com>
43211
43212         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
43213         returned by OSX/Darwin if the specified buffer is not large
43214         enough for the hostname.
43215
43216 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43217
43218         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
43219         pass it to _help, otherwise the latter coredumps trying to
43220         dereference state.root_argp.
43221
43222 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43223
43224         * modules/chdir-long (Depends-on): Add memrchr.
43225         * modules/memrchr (Files): Add lib/memrchr.h.
43226         (Include): "memrchr.h".
43227
43228 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43229
43230         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
43231
43232 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43233
43234         * lib/memrchr.h: New file.
43235         * lib/chdir-long.c: Include it.
43236         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
43237         Don't bother including stddef.h.
43238
43239 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
43240
43241         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
43242         inclusion.
43243         Include <sys/types.h>, for dev_t.
43244         (ME_DUMMY, ME_REMOTE): Move from here....
43245         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
43246         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
43247         Dmitry V. Levin.
43248         Include mountlist.h first, to test the interface.
43249
43250 2005-01-29  Bruno Haible  <bruno@clisp.org>
43251
43252         * lib/progname.c (program_name): Initialize.
43253         Needed when linking statically on MacOS X.
43254
43255 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43256
43257         Sync from coreutils.
43258         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
43259         (Depends-on): Add c-strtod.
43260         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
43261
43262 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43263
43264         Sync from coreutils.
43265         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
43266
43267         Remove files that are specific to coreutils.
43268         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
43269
43270 2005-01-28  Bruno Haible  <bruno@clisp.org>
43271
43272         * modules/javacomp: New file.
43273         * MODULES.html.sh (Java): Add javacomp.
43274
43275 2005-01-28  Bruno Haible  <bruno@clisp.org>
43276
43277         * m4/javacomp.m4: New file, from GNU gettext.
43278
43279 2005-01-28  Bruno Haible  <bruno@clisp.org>
43280
43281         * lib/javacomp.sh.in: New file, from GNU gettext.
43282         * lib/javacomp.h: New file, from GNU gettext.
43283         * lib/javacomp.c: New file, from GNU gettext.
43284
43285 2005-01-26  Simon Josefsson  <jas@extundo.com>
43286
43287         * lib/gai_strerror.c: Use GPL in header.
43288
43289 2005-01-26  Bruno Haible  <bruno@clisp.org>
43290
43291         * modules/javaexec: New file.
43292         * MODULES.html.sh (Java): Add javaexec.
43293
43294 2005-01-26  Bruno Haible  <bruno@clisp.org>
43295
43296         * m4/javaexec.m4: New file, from GNU gettext.
43297
43298 2005-01-26  Bruno Haible  <bruno@clisp.org>
43299
43300         * lib/javaexec.sh.in: New file, from GNU gettext.
43301         * lib/javaexec.h: New file, from GNU gettext.
43302         * lib/javaexec.c: New file, from GNU gettext.
43303
43304 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43305
43306         * modules/lchown (Depends-on): Remove lchown.h
43307
43308 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43309
43310         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
43311         must be defined if the header file was not found, in order
43312         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
43313
43314 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43315
43316         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
43317         initializers for struct pentry_state.
43318         (__argp_error): Check return value of __asprintf
43319         (__argp_failure): Translate error message
43320
43321         * lib/argp-parse.c: Removed braces around the expansion of N_()
43322
43323 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43324
43325         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
43326         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
43327         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
43328         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
43329         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
43330         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
43331         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
43332         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
43333         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
43334         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
43335         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
43336         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
43337         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
43338         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
43339         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
43340         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
43341         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
43342         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
43343         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
43344         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
43345         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
43346         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
43347         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
43348         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
43349         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
43350         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
43351         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
43352         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
43353         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
43354         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
43355         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
43356         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
43357         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
43358         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
43359         xstrtol.m4, xstrtoumax.m4, yesno.m4:
43360         Use an all-permissive copyright notice, recommended by RMS.
43361
43362 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43363
43364         * modules/chdir-long (Depends-on): Remove mempcpy.
43365
43366 2005-01-21  Jim Meyering  <jim@meyering.net>
43367
43368         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
43369         same value as for Solaris 9.
43370
43371         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
43372         component length.  This included changing the parameter to be
43373         of type `char *' rather than `char const *'.
43374         * lib/chdir-long.h (chdir_long): Update prototype.
43375
43376         * lib/openat.c (fdopendir, fstatat): New functions.
43377         * lib/openat.h: Include headers required for use of DIR and struct
43378         stat.
43379         [AT_SYMLINK_NOFOLLOW]: Define.
43380         (fdopendir, fstatat): Add prototypes.
43381
43382 2005-01-21  Bruno Haible  <bruno@clisp.org>
43383
43384         * modules/classpath: New file.
43385         * MODULES.html.sh (Java): Add classpath.
43386
43387 2005-01-21  Bruno Haible  <bruno@clisp.org>
43388
43389         * lib/classpath.h: New file, from GNU gettext.
43390         * lib/classpath.c: New file, from GNU gettext.
43391
43392 2005-01-20  Simon Josefsson  <jas@extundo.com>
43393
43394         * modules/version-etc-fsf: New file.
43395
43396 2005-01-20  Simon Josefsson  <jas@extundo.com>
43397
43398         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
43399         * lib/version-etc.c: Remove version_etc_copyright.
43400         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
43401         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
43402
43403 2005-01-20  Simon Josefsson  <jas@extundo.com>
43404
43405         * lib/base64.h (isbase64): Add.
43406
43407         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
43408         using a unsigned prototype, don't inline.
43409         (base64_decode): Use it.
43410
43411 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
43412
43413         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
43414         it.
43415
43416 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
43417
43418         * lib/save-cwd.c (save_cwd): Remove code to support the case
43419         where fchdir is missing or flaky.
43420
43421 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
43422
43423         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
43424
43425 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43426
43427         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
43428         AC_LIBSOURCES now does this.
43429         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
43430         with new ullong_max module.
43431
43432 2005-01-19  Bruno Haible  <bruno@clisp.org>
43433
43434         * modules/sh-quote: New file.
43435         * MODULES.html.sh (Executing programs): Add sh-quote.
43436
43437 2005-01-19  Bruno Haible  <bruno@clisp.org>
43438
43439         * lib/sh-quote.h: New file, from GNU gettext.
43440         * lib/sh-quote.c: New file, from GNU gettext.
43441
43442 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43443
43444         Merge from coreutils.
43445         * m4/ullong_max.m4: New file.
43446         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
43447         (gl_MACROS): Assume localeconv exists.
43448
43449 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43450
43451         Merge changes from coreutils, as described below in several
43452         changelogs dated today.
43453
43454         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
43455         (O_DIRECTORY): Remove; not needed here, since "." must be
43456         a directory.  All uses removed.
43457         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
43458         universal on Suns, and we also need to test for IRIX.
43459         Revamp code to use 'if' rather than '#if'.
43460         Avoid unnecessary comparison of cwd->desc to 0.
43461
43462         * lib/utimens.c (futimens): Robustify the previous patch, by checking
43463         for known valid error numbers rather than observed invalid ones.
43464
43465 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43466
43467         * modules/ullong_max: New file.
43468
43469         * modules/chdir-long, modules/openat: New files.
43470         * modules/save-cwd (Depends-on): Depend on chdir-long.
43471         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
43472
43473 2005-01-18  Jim Meyering  <jim@meyering.net>
43474
43475         Merge from coreutils.
43476         * m4/chdir-long.m4, m4/openat.m4: New files.
43477         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
43478         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
43479         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
43480         is sane and DOES follow symlinks.  Besides, testing 20 different
43481         systems found no broken chown implementations.
43482         Prompted by a change in rsync's copy of this macro.
43483         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
43484
43485         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
43486
43487         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
43488         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
43489         NULL-means-set-to-current-time semantics.
43490         Remove temporary file immediately, rather than waiting
43491         for configure's at-exit trap code to do it.
43492
43493 2005-01-18  Jim Meyering  <jim@meyering.net>
43494
43495         * lib/version-etc.c (version_etc_copyright): Update copyright date.
43496
43497         * lib/utimens.c (futimens): Account for the fact that futimes
43498         can also fail with errno == ENOSYS or errno == ENOENT.
43499         Patch from Dmitry V. Levin.
43500
43501         Change the name of the robust chdir function from chdir to chdir_long.
43502         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
43503         (restore_cwd): Use chdir_long, not chdir.
43504         * lib/chdir-long.c: Renamed from chdir.c.
43505         * lib/chdir-long.h: Renamed from chdir.h.
43506         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
43507         Hurd.
43508
43509 2005-01-18  Bruno Haible  <bruno@clisp.org>
43510
43511         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
43512         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
43513         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
43514         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
43515         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
43516         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
43517         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
43518         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
43519         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
43520         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
43521         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
43522         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
43523         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
43524         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
43525         Use an all-permissive copyright notice, recommended by RMS.
43526
43527 2005-01-18  Bob Proulx  <bob@proulx.com>
43528
43529         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
43530         simplify offsetof() macro construct to avoid compile failure with
43531         native HP-UX 11.0 ANSI C compiler.
43532
43533 2005-01-17  Bruno Haible  <bruno@clisp.org>
43534
43535         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
43536         redundant because stpncpy.m4 takes care of it.
43537
43538 2005-01-17  Bruno Haible  <bruno@clisp.org>
43539
43540         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
43541
43542 2005-01-17  Bruno Haible  <bruno@clisp.org>
43543
43544         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
43545         used.
43546
43547 2005-01-17  Bruno Haible  <bruno@clisp.org>
43548
43549         * lib/fwriteerror.h (fwriteerror): Change specification to include
43550         fclose.
43551         * lib/fwriteerror.c: Include <stdbool.h>.
43552         (fwriteerror): At the end, close the file stream. Record whether
43553         stdout was already closed.
43554
43555 2005-01-17  Bruno Haible  <bruno@clisp.org>
43556
43557         * lib/execute.c (environ): Declare if needed.
43558         * lib/pipe.c (environ): Likewise.
43559         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
43560
43561 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43562
43563         * modules/argp: Depend on vsnprintf
43564
43565 2005-01-10  Jim Meyering  <jim@meyering.net>
43566
43567         * modules/closeout (Depends-on): Add atexit.
43568
43569 2005-01-06  Bruno Haible  <bruno@clisp.org>
43570
43571         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
43572
43573 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43574
43575         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
43576         definitions to be after all include files, to avoid collisions.
43577         Problem reported by Bob Proulx.
43578
43579 2005-01-04  Jim Meyering  <jim@meyering.net>
43580
43581         Changes imported from coreutils.
43582         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
43583         as the mkstemp template, use a temporary directory and an
43584         8.3-friendly template to avoid trouble on systems like DJGPP.
43585         Reported by Juan M. Guerrero via Stepan Kasal.
43586         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
43587         close. Remove the temporary directory right away, rather than waiting
43588         for configure's at-exit trap code to do it.
43589         Suggestion from Stepan Kasal.
43590
43591 2005-01-01  Simon Josefsson  <jas@extundo.com>
43592
43593         * gnulib-tool: Print #include directives when --import'ing.
43594
43595 2004-12-28  Simon Josefsson  <jas@extundo.com>
43596
43597         * tests/test-base64.c: Include required header files.  Remove
43598         unused variables.
43599
43600 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
43601
43602         * modules/error (Depends-on): Remove gettext.
43603
43604 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
43605
43606         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
43607         not needed.  This removes a dependency on the gettext module.
43608         [defined _LIBC]: Do not include <libintl.h>; not needed.
43609
43610 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
43611
43612         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
43613         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
43614
43615 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
43616
43617         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
43618         HAVE_DECL_STRTOLD.
43619
43620 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43621
43622         * modules/getdate (Depends-on): Remove alloca-opt.
43623
43624 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43625
43626         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
43627
43628 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43629
43630         * lib/argp-parse.c: Include <stddef.h>.
43631         (alignof, alignto): New macros.
43632         (parser_init): Don't assume that void * is aligned sufficiently
43633         for struct option.
43634
43635         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
43636         need to extend the stack.
43637         (YYINITDEPTH): New macro, so that the initial stack isn't overly
43638         large.
43639
43640 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43641
43642         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
43643
43644 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
43645
43646         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
43647         (2004-10-24) change.  Apparently this was a false alarm.
43648
43649         * modules/getdate: Depend on alloca-opt, not alloca.
43650
43651 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
43652
43653         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
43654         Remove now-obsolete comment about AIX.
43655         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
43656         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
43657         (YYMAXDEPTH): New macro.
43658
43659 2004-12-18  Simon Josefsson  <jas@extundo.com>
43660
43661         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
43662
43663 2004-12-18  Bruno Haible  <bruno@clisp.org>
43664
43665         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
43666
43667 2004-12-18  Bruno Haible  <bruno@clisp.org>
43668
43669         * lib/fatal-signal.c (fatal_signals): Make non-const.
43670         (init_fatal_signals): New function.
43671         (uninstall_handlers, install_handlers): Ignore signals that were set to
43672         SIG_IGN.
43673         (at_fatal_signal): Call init_fatal_signals.
43674         (init_fatal_signal_set): Likewise. Ignore signals that were set to
43675         SIG_IGN.
43676         Reported by Paul Eggert.
43677
43678 2004-12-18  Bruno Haible  <bruno@clisp.org>
43679
43680         * doc/alloca.texi: New file.
43681         * doc/alloca-opt.texi: New file.
43682
43683 2004-12-17  Jim Meyering  <jim@meyering.net>
43684
43685         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
43686         Otherwise, install-sh could exit with improper exit status when
43687         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
43688
43689 2004-12-16  Simon Josefsson  <jas@extundo.com>
43690
43691         * tests/test-base64.c: Add license.
43692
43693 2004-12-15  Stepan Kasal  <address@hidden>
43694
43695         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
43696
43697 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
43698
43699         * modules/getcwd (Files): Add m4/d-ino.m4.
43700         Suggested by Mark D. Baushke.
43701
43702 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
43703
43704         * lib/getdate.y (textint): New member "negative".
43705         (time_zone_hhmm): New function.
43706         Expect 14 shift-reduce conflicts, not 13.
43707         (o_colon_minutes): New rule.
43708         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
43709         (yylex): Set the "negative" member of signed numbers.
43710
43711 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
43712
43713         * doc/getdate.texi (Time of day items, Time zone items):
43714         Describe new formats +00:00, UTC+00:00.
43715
43716 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43717
43718         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
43719         spurious "-l"s.  Problem reported by Stepan Kasal.
43720
43721 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
43722
43723         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
43724         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
43725
43726 2004-12-04  Simon Josefsson  <jas@extundo.com>
43727
43728         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
43729         Vandoorselaere <yoann@prelude-ids.org>.
43730
43731 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
43732
43733         Changes imported from coreutils.
43734         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
43735         exist.
43736         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
43737
43738 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
43739
43740         Changes imported from coreutils.
43741         * lib/hard-locale.c: Assume <locale.h> exists.
43742         Include "strdup.h".
43743         (GLIBC_VERSION): New macro.
43744         (hard_locale): Assume setlocale exists.
43745         Rewrite to avoid #ifdef.
43746         Use strdup rather than malloc + strcpy.
43747         * lib/human.c: Assume <locale.h> exists.
43748         (human_readable): Assume localeconv exists.
43749
43750 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
43751
43752         * modules/hard-locale (Depends-on): Add strdup.
43753
43754 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
43755
43756         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
43757         convert T2, not T.  (Imported from libc.)
43758
43759 2004-11-30  Simon Josefsson  <jas@extundo.com>
43760
43761         * modules/restrict (License): Change to LGPL.
43762
43763 2004-11-30  Simon Josefsson  <jas@extundo.com>
43764
43765         * m4/restrict.m4: Add copyright and copying conditions.
43766
43767 2004-11-30  Simon Josefsson  <jas@extundo.com>
43768
43769         * m4/base64.m4: New file.
43770
43771 2004-11-30  Simon Josefsson  <jas@extundo.com>
43772
43773         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
43774         base64.
43775
43776         * tests/test-base64.c: New file.
43777
43778         * modules/base64: New file.
43779
43780 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
43781
43782         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
43783         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
43784
43785         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
43786
43787 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
43788
43789         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
43790         (__getcwd.c): Don't restore errno; glibc doesn't.
43791         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
43792         first, falling back to our code only if its results look suspicious.
43793         Ensure that the resulting buffer is only as large as necessary.
43794
43795         * lib/readutmp.c: Include readutmp.h first.
43796         Include <errno.h>, since readutmp.h no longer does that.
43797         * lib/readutmp.h: Don't include <errno.h>,
43798         <sys/param.h>, <time.h>; not needed to establish interface.
43799         (errno): Remove decl.
43800         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
43801         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
43802         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
43803
43804 2004-11-28  Simon Josefsson  <jas@extundo.com>
43805
43806         * lib/base64.h, base64.c: New file.
43807
43808 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
43809
43810         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
43811
43812 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
43813
43814         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
43815         (Depends-on): Remove pathmax, same.  Add mempcpy.
43816         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
43817         (Makefile.am): Append getcwd.h to lib_SOURCES.
43818         (Include): Add getcwd.h.
43819         (Maintainer): Change from Jim Meyering to "all, glibc",
43820         since getdate now uses intended-for-glibc code.
43821         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
43822         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
43823
43824 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
43825
43826         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
43827         HP's ANSI C compiler.
43828         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
43829         Declaring int functions causes warnings on some modern systems and
43830         shouldn't be needed to compile on ancient ones.
43831         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
43832         defined.
43833
43834         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
43835         with the following changes.
43836         (__set_errno): Parenthesize properly.
43837         Include <stdbool.h>.
43838         (MIN, MAX, MATCHING_INO): New macros.
43839         (__getcwd): Define with prototype, not K&R form.
43840         Use heuristics to allocate default buffer on stack if possible.
43841         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
43842         behavior, and to avoid the PATH_MAX limit when computing
43843         ../../../../...
43844         Use MATCHING_INO to compare inode number to file.
43845         Check for arithmetic overflow in size calculations.
43846         Fix bug in reallocation of dot array that caused getcwd to fail
43847         on directories nested deeper than 75.
43848         Be more careful about saving errno on error.
43849         Do not use realloc; use only free+malloc, as this is a bit
43850         more flexible and avoids a needless copy operation.
43851         Do not inspect st_dev and st_ino for symbolic links; POSIX
43852         doesn't specify the latter.
43853         Check for closedir errors.
43854         Avoid needless casts.
43855         Use "#ifdef weak_alias" around weak_alias, to be like other
43856         glibc code.
43857         The following changes to getcwd.c have effect only when used in
43858         gnulib; they have no effect inside glibc proper.
43859         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
43860         as alloca isn't used.
43861         (alloca, __alloca): Likewise.
43862         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
43863         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
43864         unconditionally, as gnulib assumes C89 or better.
43865         Do not include <sys/param.h>.
43866         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
43867         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
43868         better.
43869         (NULL) [!defined NULL]: Remove; we assume C89 or better.
43870         Include <dirent.h> in a way that is compatible with modern Autoconf.
43871         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
43872         New macros, if not already defined.
43873         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
43874         Use "_LIBC", not "defined _LIBC", for consistency.
43875         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
43876         a mempcpy module.
43877         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
43878         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
43879         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
43880         credit only to Jim Meyering and adjust the copyright dates.
43881         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
43882         <stdlib.h>, <unistd.h>, "pathmax.h".
43883         Instead, include "xgetcwd.h" (first) and "getcwd.h".
43884         (INITIAL_BUFFER_SIZE): Remove.
43885         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
43886
43887 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
43888
43889         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
43890         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
43891         Use the _ONCE methods, for efficiency.
43892         Check for fcntl.h.  In test program, include <errno.h>
43893         and <fcntl.h> if available.  Remove old K&R cruft from
43894         test program.  Check for common errors in GNU/Linux,
43895         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
43896         don't do AC_LIBOBJ, as that's getcwd.m4's job.
43897         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
43898         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
43899         name accordingly.
43900         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
43901         accommodate new getcwd.c.
43902         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
43903         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
43904         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
43905         that's all we need now.
43906
43907 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43908
43909         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
43910         argp-parse.c depends on getopt internals, that means we should
43911         always use our getopt, to be on the safe side.
43912         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
43913         order not to spoil the result of an eventual previous invocation
43914         of gl_GETOPT_SUBSTITUTE.
43915
43916 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43917
43918         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
43919         redefinition warnings. To avoid them, include the defines
43920         in `#if !defined __need_getopt ... #endif'. The only place
43921         where __getopt_argv_const is used is in definitions
43922         of getopt_long and getopt_long_only below, which are as well
43923         protected by `#ifndef __need_getopt'.
43924         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
43925         __need_getopt after including <stdio.h> and <unistd.h> These
43926         headers might have defined it.
43927
43928 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
43929
43930         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
43931
43932 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
43933
43934         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
43935         (futimens): New function, which uses futimes if available.
43936         (futimens, utimens): Support timespec==NULL, with same semantics
43937         as utime and utimens.
43938         * lib/utimens.h (futimens): New decl.
43939
43940 2004-11-23  Jim Meyering  <jim@meyering.net>
43941
43942         * lib/getopt_.h: Remove trailing blanks.
43943
43944 2004-11-23  Jim Meyering  <jim@meyering.net>
43945
43946         * lib/__fpending.c: Add comment.
43947
43948 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
43949
43950         * modules/canonicalize (Depends-on): Add xreadlink.
43951         Problem reported by James Youngman.
43952
43953 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43954
43955         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
43956         New macros.
43957         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
43958         optopt): Use them instead of invoking ## directly; otherwise, the
43959         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
43960
43961 2004-11-19  Bruno Haible  <bruno@clisp.org>
43962
43963         * lib/strtok_r.c: Move comments from here...
43964         * lib/strtok_r.h: ... to here.
43965
43966 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
43967
43968         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
43969         implementations that mishandle size_t overflow.
43970
43971 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
43972
43973         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
43974         might fail.  Problem reported by Yoann Vandoorselaere.
43975         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
43976         implementations that mishandle size_t overflow.
43977
43978 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43979
43980         * modules/canon-host (Depends-on): Add strdup.
43981
43982 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43983
43984         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
43985
43986 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43987
43988         * lib/canon-host.c: Include "strdup.h".
43989         (canon_host): Use getaddrinfo if available, so that IPv6 works.
43990         Use strdup instead of malloc/strcpy to duplicate strings.
43991
43992         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
43993         (human_space_before_unit): New constant.
43994         * lib/human.c (human_readable): Support it.
43995
43996         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
43997         (xgetcwd): Set errno correctly when failing.
43998         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
43999         the failure is actually due to a PATH_MAX problem.
44000
44001         Further getopt changes to make it more likely that glibc will
44002         buy the changes back.
44003         * lib/getopt.c (POSIXLY_CORRECT): New constant.
44004         (getopt): Use it, so to preserve glibc semantic
44005         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
44006         when compiling for libc.
44007         * lib/getopt_.h (__getopt_argv_const): Bring it back.
44008         (getopt_long, getopt_long_only): Use it.
44009
44010         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
44011         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
44012         (getopt): Argv is now char * const *, as per standard.
44013         (_getopt_internal_r, _getopt_internal): Argv is now char **,
44014         not char *__getopt_argv_const *.
44015         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
44016         _getopt_long_only_r): Likewise.
44017         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
44018         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
44019         _getopt_long_r, _getopt_long_only_r): Likewise.
44020         * lib/getopt_.h (__getopt_argv_const): Remove.
44021         (getopt): Argv is now char * const *, as per standard.
44022
44023         * lib/getdate.y (tORDINAL): New token.
44024         (day, relunit): Allow it for relative times.
44025         (relative_time_table): Use tORDINAL for ordinals.
44026
44027 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44028
44029         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
44030         Document that "second" isn't allowed as an ordinal number.
44031
44032 2004-11-16  Jim Meyering  <jim@meyering.net>
44033
44034         * modules/closeout (Depends-on): Add fpending.
44035
44036 2004-11-15  Jim Meyering  <jim@meyering.net>
44037
44038         * lib/closeout.c: Include "__fpending.h" once again.
44039         Include <stdbool.h>.
44040         (close_stdout): Don't fail just because stdout was closed initially,
44041         since some programs don't write to stdout in the normal course of
44042         operation (other than --version and --help), and we don't want this
44043         function to make e.g. `touch file >&-' fail.
44044         But do fail if it was closed and someone has tried to write to it.
44045         E.g., `printf foo >&-' must fail.
44046
44047 2004-11-13  Jim Meyering  <jim@meyering.net>
44048
44049         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
44050
44051 2004-11-12  Simon Josefsson  <jas@extundo.com>
44052
44053         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
44054         small doc fix is still pending.
44055
44056 2004-11-11  Simon Josefsson  <jas@extundo.com>
44057
44058         * modules/strtok_r: New file.
44059
44060         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44061         strtok_r.
44062
44063 2004-11-11  Simon Josefsson  <jas@extundo.com>
44064
44065         * m4/strtok_r.m4: New file.
44066
44067         * m4/getopt.m4: Replace opterr.
44068
44069 2004-11-11  Simon Josefsson  <jas@extundo.com>
44070
44071         * lib/strtok_r.h, strtok_r.c: New file.
44072
44073 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
44074
44075         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
44076         of replacing opterr, getopt, etc.  This should handle the
44077         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
44078
44079 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
44080
44081         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
44082         we can stop lying to compilers about the constness of argv when we
44083         are compiled outside glibc.
44084         (getopt, getopt_long, getopt_long_only): Use it.
44085         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
44086         _getopt_internal, getopt): Likewise.
44087         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
44088         _getopt_long_only_r): Likewise.
44089         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
44090         _getopt_long_r, _getopt_long_only_r): Likewise.
44091
44092         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
44093         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
44094         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
44095         the other external symbols.
44096         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
44097         declaration, since the above renaming now works around collisions.
44098
44099 2004-11-11  Jim Meyering  <jim@meyering.net>
44100
44101         * lib/linebreak.c: Remove trailing blanks.
44102         * lib/alloca_.h: Likewise.
44103         * lib/acosl.c: Likewise.
44104         * lib/euidaccess.c: Likewise.
44105         * lib/allocsa.h: Likewise.
44106
44107 2004-11-10  Simon Josefsson  <jas@extundo.com>
44108
44109         * m4/getaddrinfo.m4: New file.
44110
44111 2004-11-10  Simon Josefsson  <jas@extundo.com>
44112
44113         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
44114
44115 2004-11-10  Simon Josefsson  <jas@extundo.com>
44116
44117         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44118         getaddrinfo.
44119
44120         * modules/getaddrinfo: New file.
44121
44122 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44123
44124         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
44125
44126 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
44127
44128         * lib/mktime.c (SHR): New macro, which is a portable
44129         substitute for >> that should work even on Crays.
44130         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
44131         Problem reported by Mark D. Baushke in
44132         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
44133         * lib/getdate.y (SHR): Likewise.
44134         (tm_diff): Use it.
44135         * lib/strftime.c (SHR): Likewise.
44136         (tm_diff): Use it.
44137         * lib/quotearg.c (struct quoting_options): Use unsigned int for
44138         quote_these_too, so that right shifts are well defined.  All uses
44139         changed.
44140
44141 2004-11-10  Jim Meyering  <jim@meyering.net>
44142
44143         Ensure that no close failure goes unreported.
44144         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
44145         return early when it seems there's nothing to flush.
44146         Don't include __fpending.h.
44147
44148 2004-11-10  Jim Meyering  <jim@meyering.net>
44149
44150         * modules/closeout (Depends-on): Remove fpending.
44151
44152 2004-11-10  Jim Meyering  <jim@meyering.net>
44153
44154         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
44155
44156 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44157
44158         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
44159         gl_FUNC_STRFTIME.
44160         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
44161         and AC_REQUIRE when possible, to avoid duplicate checks.
44162         Check for <wchar.h>.
44163
44164 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44165
44166         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
44167
44168 2004-11-09  Bruno Haible  <bruno@clisp.org>
44169
44170         * m4/sockpfaf.m4: New file.
44171
44172 2004-11-05  Bruno Haible  <bruno@clisp.org>
44173
44174         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
44175         Reported by Mark D. Baushke <mdb@cvshome.org>.
44176
44177 2004-11-04  Bruno Haible  <bruno@clisp.org>
44178
44179         2004-09-11  Bruno Haible  <bruno@clisp.org>
44180                 * allocsa.valgrind: New file.
44181         2004-02-06  Bruno Haible  <bruno@clisp.org>
44182                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
44183                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
44184                 Reported by Christopher Seip <chris.seip@hp.com>.
44185
44186 2004-11-04  Bruno Haible  <bruno@clisp.org>
44187
44188         * modules/allocsa (Files): Add lib/allocsa.valgrind.
44189         (Makefile.am): Distribute it.
44190
44191 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
44192
44193         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
44194         with errno == ERANGE if the buffer is too small.
44195         Problem reported by Mark D. Baushke.
44196
44197 2004-11-03  Albert Chin  <china@thewrittenword.com>
44198             Paul Eggert  <eggert@cs.ucla.edu>
44199
44200         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
44201         equivalent, substitute $ac_type for equivalent type rather than
44202         blindly using uint32_t *always* which won't work if uint32_t is not
44203         available.  Define _UINT32_T to work around typedef of uint32_t if
44204         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
44205         2.5.1.
44206
44207 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44208
44209         * m4/jm-macros.m4: Sync from coreutils.
44210         (gl_MACROS): Check for mbrlen, for pathchk.
44211         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
44212
44213 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44214
44215         * lib/xreadlink.c (MAXSIZE): New macro.
44216         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
44217         size does not exceed MAXSIZE.  Avoid cast.
44218         As suggested by Mark D. Baushke in
44219         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
44220         if readlink fails with buffer size just under MAXSIZE, try again
44221         with MAXSIZE.
44222
44223 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44224
44225         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
44226
44227 2004-11-02  Derek R. Price  <derek@ximbiot.com>
44228         and  Paul Eggert  <eggert@cs.ucla.edu>
44229
44230         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
44231         (get_date): Overparenthesize to avoid GCC warning.
44232
44233 2004-11-02  Bruno Haible  <bruno@clisp.org>
44234
44235         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
44236         returns void.
44237
44238 2004-11-02  Bruno Haible  <bruno@clisp.org>
44239
44240         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
44241         function returns void.
44242
44243 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44244
44245         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
44246         fflush_unlocked, flockfile, funlockfile, funlockfile,
44247         fputs_unlocked, putc_unlocked.
44248
44249 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44250
44251         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
44252         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
44253         already declared.
44254
44255 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44256
44257         * modules/getdate (Files): Add doc/getdate.texi.
44258         (Depends-on): Add setenv, xalloc.
44259
44260 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44261
44262         * lib/getdate.y: Add support for TZ="foo" within a date string.
44263         Fix some bugs near time_t boundaries.  Reject dates with
44264         out-of-range components, e.g., "Sept 31".
44265         Include <stdlib.h>, "setenv.h", "xalloc.h".
44266         (ISDIGIT_LOCALE): Remove; unused.
44267         Note that the TZ and time functions used here are not reentrant.
44268         (mktime_ok, get_tz): New functions.
44269         (TZBUFSIZE): New constant.
44270         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
44271         This requires that we sometimes generate our own TZ="XXX..." setting.
44272
44273 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
44274
44275         * doc/getdate.texi: New file, from coreutils with modifications for
44276         the new TZ parsing.
44277
44278 2004-10-27  Derek R. Price  <derek@ximbiot.com>
44279
44280         * lib/mktime.c (not_equal_tm): Remove redundant check.
44281
44282 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44283
44284         * modules/regex (lib_SOURCES): Add regex.c.
44285         Reported by James Youngman in
44286         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
44287
44288 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44289
44290         * lib/getdate.y: Use Bison 1.875 features, and some minor
44291         code cleanups.  This change does not affect semantics.
44292         Don't include <stdlib.h>; no longer needed.
44293         Don't include unlocked-io.h; only the "#if TEST" code uses
44294         stdio, and performance isn't crucial there.
44295         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
44296         Bison 1.875 features as described below.
44297         All uses of "PC." replaced by "pc->".
44298         (YYSTYPE): Add a forward declaration.
44299         (yylex, yyerror): Use full prototypes in forward decls.
44300         Use "%pure-parser" rather than obsolescent "%pure_parser".
44301         Use %parse-param and %lex-param instead of obsolescent
44302         YYPARSE_PARAM and YYLEX_PARAM.
44303         (meridian_table, month_and_day_table, time_units_table,
44304         relative_time_table, time_zone_table, military_table,
44305         lookup_zone, lookup_word, get_date):
44306         Use NULL instead of 0 where appropriate.
44307         (to_hour): Avoid abort (), to avoid a dependency on
44308         stdlib.h.
44309         (yyerror, yylex): Now accepts parser_control * arg.
44310         (main) [TEST]: Use '\0' rather than 0 for char.
44311
44312 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44313
44314         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
44315
44316 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44317
44318         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
44319         It's now the caller's responsibility to handle the case where
44320         !HAVE_GETPAGESIZE && !defined getpagesize.
44321
44322         * lib/mktime.c (leapyear): Arg is long int, not int.
44323
44324 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
44325
44326         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
44327
44328 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44329
44330         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
44331         missing.  Problem reported by James Youngman.
44332
44333 2004-10-16  Simon Josefsson  <jas@extundo.com>
44334
44335         * gnulib-tool: Fix comments.  Fix parse problem.
44336         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
44337
44338 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
44339
44340         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
44341         implementation of getopt_long.  Problem reported by Alexander Taler in:
44342         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
44343
44344 2004-10-15  Bruno Haible  <bruno@clisp.org>
44345
44346         * gnulib-tool: Untabify. Initialize supplied_libname.
44347         (func_usage): More homogenous output.
44348         (func_modules_transitive_closure, func_modules_to_filelist,
44349         func_emit_lib_Makefile_am): New functions.
44350         (func_import): New function, extracted from big case statement. Use
44351         func_get_license, func_modules_transitive_closure,
44352         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
44353         opt_lgpl. Don't use test -a, as it's not portable.
44354         (func_create_testdir): Use func_modules_transitive_closure,
44355         func_modules_to_filelist, func_emit_lib_Makefile_am.
44356
44357 2004-10-15  Bruno Haible  <bruno@clisp.org>
44358
44359         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
44360
44361 2004-10-15  Bruno Haible  <bruno@clisp.org>
44362
44363         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
44364         the portions belonging to each module.
44365         Suggested by Derek Robert Price <derek@ximbiot.com>.
44366
44367 2004-10-12  Simon Josefsson  <jas@extundo.com>
44368
44369         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
44370         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
44371         to real functions.
44372
44373 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44374
44375         * modules/vsnprintf: New file.
44376
44377 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44378
44379         * m4/vsnprintf.m4: New file.
44380
44381 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44382
44383         * lib/vsnprintf.h: New file.
44384         * lib/vsnprintf.c: New file.
44385
44386 2004-10-11  Bruno Haible  <bruno@clisp.org>
44387
44388         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
44389         vsnprintf.
44390
44391 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
44392
44393         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
44394
44395 2004-10-07  Bruno Haible  <bruno@clisp.org>
44396
44397         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
44398         fits into the provided buffer.
44399
44400 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
44401
44402         * lib/diacrit.c, diacrit.h: Add GPL notice.
44403
44404         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
44405         notice.
44406         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
44407         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
44408         This avoids a potential constant-folding bug.
44409
44410 2004-10-05  Bruno Haible  <bruno@clisp.org>
44411
44412         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
44413         for the declaration of strsep.
44414
44415 2004-10-05  Bruno Haible  <bruno@clisp.org>
44416
44417         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
44418
44419 2004-10-04  Simon Josefsson  <jas@extundo.com>
44420
44421         * modules/memmem: New file.
44422         * tests/test-memmem.c: New file.
44423         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
44424
44425 2004-10-04  Simon Josefsson  <jas@extundo.com>
44426
44427         * m4/memmem.m4: New file.
44428
44429 2004-10-04  Simon Josefsson  <jas@extundo.com>
44430
44431         * lib/memmem.h: New file.
44432         * lib/memmem.c: New file, taken from glibc.
44433
44434 2004-10-04  Simon Josefsson  <jas@extundo.com>
44435
44436         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
44437         '#ifdef USE_UNLOCKED_IO'.
44438
44439 2004-10-04  Simon Josefsson  <jas@extundo.com>
44440
44441         * config/srclist.txt: Add memmem from glibc.
44442
44443 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
44444
44445         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
44446
44447         * modules/argmatch, modules/argp, modules/closeout, modules/error,
44448         modules/exclude, modules/getdate, modules/getline,
44449         modules/getndelim2, modules/getpass, modules/getpass-gnu,
44450         modules/getusershell, modules/linebuffer, modules/md5,
44451         modules/mountlist, modules/posixtm, modules/readtokens,
44452         modules/readutmp, modules/regex, modules/sha1,
44453         modules/version-etc, modules/yesno:
44454         Remove dependency on unlocked-io.
44455
44456 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
44457
44458         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
44459
44460         * m4/unlocked-io.m4: Add copyright notice.
44461         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
44462
44463 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
44464
44465         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
44466         * lib/xmalloc.c (xmemdup): Likewise.
44467         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
44468         XFREE): Remove these long-obsolescent macros.
44469         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
44470         * lib/xstrdup.c: Remove.
44471
44472         * lib/regex.c (re_comp): Cast gettext return value to char *,
44473         Problem reported by Martin Neitzel via Mark D. Baushke.
44474
44475 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
44476
44477         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
44478         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
44479         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
44480         regex.c, sha1.c, version-etc.c, yesno.c:
44481         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
44482         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
44483         the includer's responsibility.
44484
44485         Sync from coreutils.
44486
44487         * lib/modechange.c (mode_compile): Don't decrement a pointer that
44488         points to the start of a string, as the C Standard says the
44489         resulting behavior is undefined.
44490
44491         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
44492         simple -> simple_backups, numbered_existing ->
44493         numbered_existing_backups, numbered -> numbered_backups
44494         to avoid shadowing problems.  All uses changed.
44495         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
44496         * lib/backupfile.c (check_extension, numbered_backup):
44497         Rename locals to avoid shadowing 'basename'.
44498         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
44499         once.
44500
44501         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
44502         * lib/.cvsignore: Add getopt.h.
44503
44504 2004-10-04  Bruno Haible  <bruno@clisp.org>
44505
44506         * modules/README: New file.
44507         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
44508         not a module.
44509
44510 2004-10-02  Jim Meyering  <jim@meyering.net>
44511
44512         * lib/dirfd.h, getpagesize.h: Add copyright notice.
44513
44514 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44515
44516         * modules/strsep: New file.
44517
44518 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44519
44520         * m4/strsep.m4: New file.
44521
44522 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44523
44524         * lib/strsep.h: New file.
44525         * lib/strsep.c: New file.
44526
44527 2004-10-01  Simon Josefsson  <jas@extundo.com>
44528
44529         * lib/snprintf.c (snprintf): Handle size==0.
44530
44531 2004-10-01  Simon Josefsson  <jas@extundo.com>
44532             Bruno Haible  <bruno@clisp.org>
44533
44534         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
44535         (snprintf): Declare 'args'.
44536
44537 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
44538
44539         * lib/snprintf.c: Remove comments as to why each header is needed.
44540
44541 2004-10-01  Bruno Haible  <bruno@clisp.org>
44542
44543         * MODULES.html.sh: Add strsep.
44544
44545 2004-09-30  Simon Josefsson  <jas@extundo.com>
44546
44547         * modules/snprintf: New file.
44548
44549 2004-09-30  Simon Josefsson  <jas@extundo.com>
44550
44551         * m4/snprintf.m4: New file.
44552
44553 2004-09-30  Simon Josefsson  <jas@extundo.com>
44554
44555         * lib/snprintf.h, lib/snprintf.c: New files.
44556
44557 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44558
44559         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
44560         (hol_entry_help): Never translate an empty string.
44561         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
44562         * lib/argp.h (OPTION_NO_TRANS): New option.
44563
44564 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
44565
44566         * modules/argp (Maintainer): Replace Simon Josefsson
44567         by Sergey Poznyakoff.
44568
44569 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
44570
44571         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
44572         changes merged back into glibc.
44573
44574 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
44575
44576         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
44577
44578 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
44579
44580         * lib/xvasprintf.c: Include xalloc.h.
44581         (xvasprintf): Use xalloc_die, not xmalloc_die.
44582
44583 2004-09-29  Bruno Haible  <bruno@clisp.org>
44584
44585         * modules/alloca-opt: New file, derived from modules/alloca.
44586         * modules/allocsa: Depend on alloca-opt instead of alloca.
44587         * modules/setenv: Likewise.
44588         * modules/vasnprintf: Likewise.
44589         * MODULES.html.sh: Add alloca-opt.
44590
44591 2004-09-28  Simon Josefsson  <jas@extundo.com>
44592
44593         * gnulib-tool: New parameter --lgpl, to asseert that modules are
44594         LGPL, and to replace license template from GPL to LGPL.
44595
44596 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
44597
44598         * modules/dummy: Change license to LGPL.
44599
44600 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
44601
44602         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
44603
44604 2004-09-24  Simon Josefsson  <jas@extundo.com>
44605
44606         * modules/minmax (License): Change from GPL to LGPL.
44607
44608 2004-09-23  Simon Josefsson  <jas@extundo.com>
44609
44610         * gnulib-tool (--import): Typo.
44611
44612 2004-09-23  Simon Josefsson  <jas@extundo.com>
44613
44614         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
44615
44616 2004-09-22  Bruno Haible  <bruno@clisp.org>
44617
44618         * modules/*: Add 'License' field.
44619         * gnulib-tool: Accept --extract-license option.
44620         (func_get_license): New function.
44621
44622 2004-09-21  Bruno Haible  <bruno@clisp.org>
44623
44624         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
44625         Reported by Simon Josefsson.
44626
44627 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44628
44629         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
44630         gl_AC_TYPE_LONG_LONG.
44631
44632 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44633
44634         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
44635
44636 2004-09-18  Simon Josefsson  <jas@extundo.com>
44637         and  Paul Eggert  <eggert@cs.ucla.edu>
44638
44639         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
44640         calls with autoreconf.  Define GL_LIB.
44641
44642 2004-09-14  Karl Berry  <karl@gnu.org>
44643
44644         * config/srclist.txt: unsync setenv.c, sigh.
44645
44646 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44647
44648         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
44649         Problem reported by Bruno Haible in:
44650         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
44651
44652 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44653
44654         * config/srclist.txt: Comment out argp-pvh.c.
44655
44656 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
44657
44658         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
44659         in case some system header has #define'd it.  Problem reported by
44660         Soeren D. Schulze in
44661         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
44662
44663 2004-09-09  Karl Berry  <karl@gnu.org>
44664
44665         * regex.[ch]: delete from the root.  These were supposed to be
44666                 synced with emacs cvs, but this has not happened for about
44667                 a year, and anyway nothing else uses emacs regex.[ch].
44668                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
44669                 lib/regex[.ch] is untouched.
44670
44671 2004-09-09  Bruno Haible  <bruno@clisp.org>
44672
44673         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
44674
44675 2004-09-09  Bruno Haible  <bruno@clisp.org>
44676
44677         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
44678         modifications.
44679         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
44680
44681 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
44682
44683         * modules/xvasprintf: New file.
44684         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
44685
44686 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
44687
44688         * lib/xvasprintf.h: New file.
44689         * lib/xvasprintf.c: New file.
44690         * lib/xasprintf.c: New file.
44691
44692 2004-09-08  Bruno Haible  <bruno@clisp.org>
44693
44694         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
44695
44696 2004-09-08  Bruno Haible  <bruno@clisp.org>
44697
44698         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
44699         length is > INT_MAX.
44700         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
44701         more.
44702
44703 2004-09-08  Bruno Haible  <bruno@clisp.org>
44704
44705         * lib/stdint_.h: New file, taken from GNU clisp.
44706
44707 2004-09-08  Bruno Haible  <bruno@clisp.org>
44708             Oskar Liljeblad  <oskar@osk.mine.nu>
44709
44710         * modules/stdint: New file.
44711         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
44712
44713 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
44714
44715         Import from coreutils.
44716         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
44717         strings on unbounded length.  alloca's performance benefits aren't
44718         that important here.
44719         (V_STRDUP): Remove.
44720         (parse_with_separator): New function, with most of the internals
44721         of the old parse_user_spec.  Allow user to omit both user and group,
44722         for compatibility with FreeBSD.
44723         Clone only the user name, not the entire spec.
44724         Do not set *uid, *gid unless entirely successful.
44725         Avoid memory leak in some failing cases.
44726         Fix regression for USER.GROUP reported by Dmitry V. Levin in
44727         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
44728         (parse_user_spec): Rewrite to use parse_with_separator.
44729
44730 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
44731
44732         * modules/userspec: Don't depend on alloca.
44733
44734 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
44735
44736         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
44737
44738 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
44739
44740         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
44741         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
44742         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
44743
44744 2004-08-16  Simon Josefsson  <jas@extundo.com>
44745
44746         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
44747         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
44748         Add --dry-run for --import.
44749         Let user provided command line parameters override configure.ac
44750         settings.
44751
44752 2004-08-12  Simon Josefsson  <jas@extundo.com>
44753
44754         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
44755         as discussed with Paul Eggert in threads rooted at
44756         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
44757         and
44758         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
44759         Before, the test was empty, and relied on ELIDE_CODE in source
44760         code.)
44761         (gl_PREREQ_GETOPT): New macro.
44762         (gl_GETOPT): Use them.
44763
44764 2004-08-12  Simon Josefsson  <jas@extundo.com>
44765
44766         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
44767         * lib/getopt_.h: Renamed from getopt.h.
44768
44769 2004-08-12  Simon Josefsson  <jas@extundo.com>
44770
44771         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
44772         Change default library name from libfoo to libgnu.
44773         Now, if you have a configure.ac that says:
44774                 gl_SOURCE_BASE(gl)
44775                 gl_M4_BASE(gl/m4)
44776                 gl_MODULES(error getopt etcetera)
44777                 gl_INIT
44778         you can import all you need by running:
44779                 ../gnulib/gnulib-tool --import
44780
44781         * modules/getopt (Files): Rename getopt.h to getopt_.h.
44782         (Makefile.am): Rewrite, use logic from argz.
44783         (Include): Use <getopt.h> instead of "getopt.h".
44784
44785 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
44786
44787         * modules/argp (Files): Add m4/unlocked-io.m4.
44788         (Depends-on): Add extensions.
44789
44790 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
44791
44792         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
44793         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
44794         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
44795         Check for program_invocation_name, program_invocation_short_name,
44796         flockfile, funlockfile, features.h, _getopt_long_only_r.
44797
44798 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
44799
44800         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
44801         its complicated substitute.
44802         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
44803         and program_invocation_name.
44804         (__argp_basename) [!_LIBC]: Remove; the only use was
44805         replaced by its body.
44806         (__argp_short_program_name): Change condition from
44807         !defined __argp_short_program_name to
44808         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
44809         to match argp-namefrob.h.
44810         (__argp_failure): Don't assume strerror_r returns char *.
44811         * lib/argp-parse.c (N_): Define unconditionally.
44812         (argp_default_options): Fill out initializers with 0 to avoid
44813         gcc warnings.
44814
44815 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
44816
44817         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
44818         getopt1.c.
44819
44820 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
44821
44822         Merge from coreutils.
44823
44824         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
44825
44826         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
44827         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
44828
44829 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
44830
44831         Merge from coreutils.
44832
44833         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
44834         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
44835         for Reliant Unix 5.43.
44836
44837         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
44838         (union fooround): Use uintmax_t, not long int.
44839         The rest is a merge from libc:
44840         [defined _LIBC]: Include <shlib-compat.h>.
44841         (_obstack) [defined _LIBC]: Remove after 2.3.4.
44842
44843         * lib/settime.c (settime): Recode to avoid warning with
44844         Sun Forte C 6U2.
44845
44846         * lib/strverscmp.c: Convert to UTF-8.
44847
44848 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
44849
44850         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
44851         m4/uintmax_t.m4.
44852
44853 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
44854
44855         * modules/xalloc-die: New file.
44856         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
44857
44858         * modules/md5 (Files): Add m4/uint32_t.m4.
44859         * modules/sha1: Renamed from modules/sha.
44860         (Files):
44861         Rename lib/sha.h to lib/sha1.h.
44862         Rename lib/sha.c to lib/sha1.c.
44863         Rename m4/sha.m4 to m4/sha1.m4.
44864         (lib_SOURCES): Likewise.
44865         (configure.ac): Rename gl_SHA to gl_SHA1.
44866         (Include): sha.h -> sha1.h.
44867
44868 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
44869
44870         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
44871         * m4/sha1.m4: Renamed from sha.m4.
44872         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
44873
44874 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
44875
44876         * lib/obstack.h (obstack_empty_p):
44877         Don't assume that chunk->contents is suitably aligned.
44878         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
44879         Likewise. Problem reported by Benno in
44880         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
44881
44882         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
44883         readable.  This could be improved further but it'd take some work.
44884
44885 2004-08-08  Simon Josefsson  <jas@extundo.com>
44886
44887         * modules/xgethostname (Depends-on): Remove exit and error (not
44888         used).
44889
44890         * modules/getpass-gnu: Add getpass.h.
44891         (Depends-on): Add stdbool.
44892         * modules/getpass: Add getpass.h.
44893
44894 2004-08-08  Simon Josefsson  <jas@extundo.com>
44895
44896         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
44897         Check getpass declaration.
44898
44899 2004-08-08  Simon Josefsson  <jas@extundo.com>
44900
44901         * lib/xgethostname.c: Don't include error.h (not used).
44902
44903         * lib/getpass.h: Add.
44904         * lib/getpass.c: Include getpass.h first.
44905
44906 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
44907
44908         * lib/xalloc-die.c: New file.
44909         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
44910         All uses removed.
44911         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
44912         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
44913         xalloc-die.c.
44914         (_, N_, xalloc_die): Move to xalloc-die.c.
44915         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
44916         so that we needn't mess with xalloc_msg_memory_exhausted.
44917
44918         * lib/sha1.h: Renamed from sha.h.
44919         (SHA1_H): Renamed from _SHA_H.
44920         (sha1_ctx): Renamed from sha_ctx.
44921         (sha1_init_ctx): Renamed from sha_init_ctx.
44922         (sha1_process_block): Renamed from sha_process_block.
44923         (sha1_process_bytes): Renamed from sha_process_bytes.
44924         (sha1_finish_ctx): Renamed from sha_finish_ctx.
44925         (sha1_read_ctx): Renamed from sha_read_ctx.
44926         (sha1_stream): Renamed from sha_stream.
44927         (sha1_buffer): Renamed from sha_buffer.
44928         * lib/sha1.c: Likewise; renamed from sha.c.
44929         Do not include <sys/types.h>.
44930         Include <stddef.h> rather than <stdlib.h>.
44931
44932 2004-08-08  Bruno Haible  <bruno@clisp.org>
44933
44934         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
44935         FILESYSTEM_PREFIX_LEN.
44936         * lib/progreloc.c: Likewise.
44937         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
44938
44939 2004-08-06  Simon Josefsson  <jas@extundo.com>
44940
44941         * modules/progname (Depends-on): Don't depend on stdbool.
44942
44943 2004-08-06  Simon Josefsson  <jas@extundo.com>
44944
44945         * modules/getsubopt: New file.
44946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44947         getsubopt.
44948
44949 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
44950
44951         More merge from coreutils.
44952
44953         * m4/utimens.m4, m4/utimecmp.m4: New files.
44954         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
44955         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
44956         prereq.m4, sha.m4: Import changes from coreutils.
44957
44958 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
44959
44960         More merge from coreutils.
44961         * modules/raise, modules/readtokens0, modules/utimens:
44962         * modules/utimecmp, module/xnanosleep: New files.
44963         * modules/strftime: Add lib/strftime.h.
44964         Change include from <time.h> to "strftime.h".
44965         * modules/yesno: Add lib/yesno.h.
44966         * modules/backupfile: Remove lib/addext.c.
44967         * modules/euidaccess: Add stat-macros.h.
44968         * modules/canonicalize, modules/euidaccess,
44969         modules/filemode, modules/lchown, modules/makepath,
44970         modules/rmdir, modules/stat: Likewise.
44971
44972 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
44973
44974         Merge from tar.
44975         * lib/argp-help.c (make_hol, hol_append): Don't assume that
44976         SIZE_MAX is a valid preprocessor constant.
44977         (__argp_basename): Change from "#ifndef _LIBC"
44978         to "#ifndef __argp_short_program_name", so that
44979         we don't compile these functions for tar.
44980
44981         More merges from coreutils.
44982         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
44983         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
44984         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
44985         * lib/addext.c: Remove; no longer needed.
44986         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
44987         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
44988         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
44989         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
44990         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
44991         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
44992         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
44993         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
44994         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
44995         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
44996         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
44997         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
44998         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
44999         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
45000         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
45001         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
45002         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
45003         Import changes from coreutils.
45004
45005 2004-08-05  Simon Josefsson  <jas@extundo.com>
45006
45007         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
45008
45009 2004-08-05  Simon Josefsson  <jas@extundo.com>
45010
45011         * m4/getsubopt.m4: New file.
45012
45013 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45014
45015         Merge from coreutils.
45016
45017         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
45018         * m4/getcwd-path-max.m4: New files.
45019
45020         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
45021         FILESYSTEM_PREFIX_LEN ->
45022         FILE_SYSTEM_PREFIX_LEN.
45023         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
45024         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
45025         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
45026         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
45027
45028         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
45029         prerequisite modules now handle the DOS stuff.
45030         Don't check for unistd.h.
45031
45032 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45033
45034         Merge from coreutils.
45035
45036         * lib/.gdb-history: Remove; this doesn't belong here.
45037
45038         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
45039         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
45040         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
45041         * lib/getcwd.c: New files.
45042
45043         * lib/dirname.h: Include <stdbool.h>.
45044         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
45045         for consistency with POSIX terminology.  All uses changed.
45046         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
45047         (strip_trailing_slashes): Use bool for booleans.
45048         * lib/stripslash.c (strip_trailing_slashes): Likewise.
45049
45050         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
45051         sometimes returns a positive errno value even when it succeeds.
45052         (print_errno_message) [!LIBC]: Fall back on strerror if
45053         __strerror_r fails.
45054
45055         * lib/path-concat.c (mempcpy): Don't define if a system header defines
45056         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
45057         (longest_relative_suffix): New function.
45058         (path_concat): Use it.  Assume first argument is not NULL.
45059         Port to DOS.  Omit redundant separators.
45060         Report an error instead of returning NULL.
45061         Use mempcpy instead of memcpy.
45062         (xpath_concat): Remove: not declared or used.
45063
45064         * lib/same.h: Include <stdbool.h>
45065         (same_name): Return bool, not int.
45066         * lib/same.c (same_name): Likewise.
45067         (errno): Don't declare; we assume C89 or better now.
45068
45069         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
45070         if not already defined.
45071
45072         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
45073         * lib/dup-safer.c (errno): Likewise.
45074
45075 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45076
45077         Merge from coreutils.
45078         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
45079         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
45080         * modules/path-concat: Don't depend on strdup.
45081
45082 2004-08-03  Simon Josefsson  <jas@extundo.com>
45083
45084         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
45085         * lib/progname.h: Don't include stdbool.h.
45086
45087 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45088
45089         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
45090         * MODULES.html.sh (func_all_modules): Remove fatal.
45091
45092 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45093
45094         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
45095
45096 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45097
45098         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
45099         working.
45100
45101 2004-08-02  Simon Josefsson  <jas@extundo.com>
45102
45103         * lib/getsubopt.h: New file, with comments from Bruno Haible.
45104         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
45105         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
45106
45107 2004-08-01  Simon Josefsson  <jas@extundo.com>
45108
45109         * lib/xgetdomainname.c: Include stdlib.h, for free().
45110
45111 2004-07-19  Bruno Haible  <bruno@clisp.org>
45112
45113         * MODULES.html.sh (func_all_modules): Add dummy.
45114
45115 2004-07-16  Simon Josefsson  <jas@extundo.com>
45116
45117         * modules/dummy: New file.
45118
45119 2004-07-16  Simon Josefsson  <jas@extundo.com>
45120
45121         * lib/dummy.c: New file.
45122
45123 2004-07-16  Bruno Haible  <bruno@clisp.org>
45124
45125         * lib/backupfile.h: Add extern "C" for C++.
45126         * lib/closeout.h: Likewise.
45127         * lib/copy-file.h: Likewise.
45128         * lib/findprog.h: Likewise.
45129         * lib/full-write.h: Likewise.
45130         * lib/pathname.h: Likewise.
45131         * lib/progname.h: Likewise.
45132         * lib/stpcpy.h: Likewise.
45133         * lib/stpncpy.h: Likewise.
45134         * lib/strcase.h: Likewise.
45135         * lib/strstr.h: Likewise.
45136         * lib/xalloc.h: Likewise.
45137
45138         * lib/mbswidth.h: Add extern "C" for C++.
45139         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
45140
45141 2004-07-13  Robert Millan  <robertmh@gnu.org>
45142
45143         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
45144
45145 2004-07-09  Simon Josefsson  <jas@extundo.com>
45146
45147         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
45148         failed without this.)
45149
45150 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
45151
45152         * modules/chown (Files): Add lib/fchown-stub.c, since
45153         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
45154
45155 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
45156
45157         * lib/fchown-stub.c: New file.
45158
45159 2004-06-24  Jim Meyering  <jim@meyering.net>
45160
45161         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
45162
45163 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45164
45165         * modules/argz: Omit "#include".
45166
45167         * MODULES.html.sh (func_all_modules): Add calloc, to match
45168         2004-06-01 addition of calloc module.
45169
45170 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45171
45172         * m4/argz.m4: New file, which is autoupdated from libtool.
45173
45174 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45175
45176         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
45177         libtool.
45178
45179 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
45180
45181         * config/srclist-update: Don't insist on "USA." before the
45182         close-comment, as libtool omits the period and puts the */ on a
45183         separate line.
45184         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
45185         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
45186
45187 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
45188
45189         * modules/argz: New file.
45190         * MODULES.html.sh (func_all_modules): Add argz.
45191
45192 2004-06-12  Jim Meyering  <jim@meyering.net>
45193         and  Paul Eggert  <eggert@cs.ucla.edu>
45194
45195         * modules/hash (Files): Add lib/xalloc.h.
45196         * modules/pipe (Depends-on): Add wait-process.
45197         * modules/stat (Depends-on): Add xalloc.
45198         * modules/userspec (Files): Add lib/userspec.h.
45199         * modules/xstrto
45200
45201         Upgrade from gettext-0.13.
45202         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
45203         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
45204         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
45205
45206 2004-06-10  Jim Meyering  <jim@meyering.net>
45207
45208         * lib/calloc.c: New file.
45209
45210 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
45211
45212         * lib/getdate.y (yylex): Allow space between sign and number.
45213         Problem reported by Dan Jacobson.
45214
45215 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
45216
45217         Merge from coreutils CVS.
45218
45219         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
45220         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
45221         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
45222         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
45223         xstrtol.m4: Fix copyright date and/or serial number.
45224
45225         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
45226         See if we need an fchown replacement.
45227         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
45228         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
45229         and use the replacement function if we detect either defect.
45230
45231         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
45232         gl_UTIMECMP.
45233
45234 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
45235         and  Jim Meyering  <jim@meyering.net>
45236
45237         Merge from coreutils CVS.
45238
45239         * lib/stat-macros.h: New file, with contents from file-type.h
45240         and coreutils' system.h.
45241         * lib/file-type.c: Include "stat-macros.h".
45242         * lib/file-type.h (file_type): Move all macro definitions to new file,
45243         stat-macros.h.
45244
45245         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
45246         Wrap old code with this conditional.
45247         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
45248         function that does not dereference symlinks.
45249         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
45250
45251         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
45252         dependency problems.
45253         (xreadlink): Accept new arg SIZE, for efficiency.
45254         All decls and uses changed.
45255         * lib/xreadlink.h: Include <stddef.h>, for size_t.
45256
45257         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
45258         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
45259
45260         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
45261         sysexits.h.
45262
45263 2004-06-01  Jim Meyering  <jim@meyering.net>
45264
45265         * m4/calloc.m4: New file.
45266
45267 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
45268
45269         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
45270         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
45271         Also, fix a typo in a diagnostic.
45272
45273 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
45274
45275         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
45276         or AC_FUNC_REALLOC.
45277
45278 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
45279
45280         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
45281         macros to be defined.
45282         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
45283         the allocator returns NULL because the requested size is zero.
45284
45285 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
45286
45287         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
45288         var.  Add comment explaining why libc still defines it.  This
45289         merges the following patch from glibc:
45290         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
45291
45292 2004-05-20  Andreas Schwab  <schwab@suse.de>
45293
45294         * m4/free.m4: Replace free if it not known to work, not the other
45295         way round.
45296
45297 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
45298
45299         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
45300         present in glibc since revision 1.1 of this file.
45301         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
45302         obstack_alignment_mask, obstack_alloc, obstack_base,
45303         obstack_blank, obstack_blank_fast, obstack_chunk_size,
45304         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
45305         obstack_grow0, obstack_init, obstack_int_grow,
45306         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
45307         obstack_next_free, obstack_object_size, obstack_ptr_grow,
45308         obstack_ptr_grow_fast, obstack_room): Remove declarations of
45309         nonexistent functions.
45310
45311 2004-05-18  Karl Berry  <karl@gnu.org>
45312
45313         * config/srclist.txt: break link for vasnprintf.c.
45314
45315 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
45316
45317         Port obstack to the AS/400, where pointers are 16 bytes wide and
45318         you cannot cast an integer to a valid pointer.  This patch is
45319         currently waiting to be integrated into glibc; see
45320         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
45321
45322         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
45323         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
45324         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
45325         (struct obstack): temp member is now a union of a pointer and
45326         an integer, instead of an integer.  All integer uses changed.
45327         This does not affect the physical layout of struct obstack,
45328         except on hosts (like the AS/400) where the size or alignment of
45329         void * is greater than that of ptrdiff_t.
45330         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
45331         __STDC__)]: Store temporary in pointer member of union, not
45332         integer member.
45333         * lib/obstack.c: Include <stddef.h>, for offsetof.
45334         (struct fooalign): Remove; it doesn't need a name.
45335         (union fooround): Change double to long double, and add void *.
45336         (DEFAULT_ALIGNMENT): Use offsetof to compute.
45337         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
45338         not a macro.  Hence the values are always int; so remove all
45339         casts-to-int in uses.
45340
45341 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
45342
45343         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
45344         we can get this patch merged into glibc.
45345
45346 2004-05-17  Derek R. Price  <derek@ximbiot.com>
45347             Paul Eggert  <eggert@cs.ucla.edu>
45348
45349         * m4/argp: Depend on alloca.
45350
45351 2004-05-17  Derek R. Price  <derek@ximbiot.com>
45352             Paul Eggert  <eggert@cs.ucla.edu>
45353
45354         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
45355         freecoding.
45356
45357 2004-05-17  Bruno Haible  <bruno@clisp.org>
45358
45359         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
45360         precision that consists of a '.' followed by an empty digit string.
45361         Patch by Tor Lillqvist <tml@iki.fi>.
45362
45363 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
45364
45365         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
45366         for backward compatibility with older code.  We need our own
45367         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
45368         it under some other name, and our alloca.h will define it.
45369
45370 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
45371             Derek Price  <derek@ximbiot.com>
45372
45373         * lib/alloca.c: Include <alloca.h>, to get our interface.
45374         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
45375         include <alloca.h> first.  Use C89 prototype for alloca; this
45376         requires including <stddef.h> for size_t.  Use extern "C" if C++.
45377         Use #elif for simplicity, since we can assume C89 now.
45378         Don't try to source the system alloca.h since it will not be found
45379         and to prevent recursively including its replacement.
45380         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
45381         * lib/regex.c: Likewise.
45382
45383 2004-05-16  Derek Price  <derek@ximbiot.com>
45384             Paul Eggert  <eggert@cs.ucla.edu>
45385
45386         getline cleanup.  This changes the getndelim2 API: both order of
45387         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
45388         no delimiter).
45389
45390         * lib/getline.c: Don't include stddef.h or stdio.h, since our
45391         interface does that.
45392         (getline): Always use getdelim, so that we don't have two
45393         copies of this code.
45394         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
45395         if available.
45396         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
45397         (GETNDELIM2_MAXIMUM): New macro.
45398         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
45399         instead of the old practice of delim2==0.  All callers changed.
45400         Return -1 on overflow, instead of returning junk.
45401         Do not set *linesize unless allocation succeeds.
45402         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
45403         that we include sys/types.h.
45404         * lib/getnline.h: Likewise.
45405         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
45406         (getndelim2): Reorder arguments.
45407         * lib/getnline.c (getnline, getndelim):
45408         Don't discard the NMAX argument.
45409         (getnline): Invoke getndelim, to avoid code duplication.
45410         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
45411         of (size_t) -1 by callers of the getnline family.
45412
45413 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45414
45415         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
45416         Check for gettimeofday.
45417         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
45418         Check for settimeofday, stime.
45419
45420 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45421
45422         * lib/nanosleep.c (suspended): Change its type from int to
45423         sig_atomic_t volatile.
45424         (first_call): Make it private to rpl_nanosleep, and have it
45425         be zero initially as that's a bit faster.
45426         (my_usleep): Round up fractional times instead of truncating them,
45427         as this is the usual meaning for 'sleep'.
45428
45429         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
45430         doesn't work.
45431         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
45432         (ENOSYS): Define if not defined.
45433         (settime): Fall back on stime if it exists and settimeofday fails.
45434         But don't bother with fallbacks if a method fails with errno == EPERM.
45435
45436 2004-05-11  Jim Meyering  <jim@meyering.net>
45437
45438         Prior to this change, the save_cwd caller required read access to the
45439         current directory on most systems (ones with the fchdir function).
45440
45441         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
45442         fails, try write-only, and finally, resort to using xgetcwd.
45443
45444 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
45445
45446         * lib/obstack.c, obstack.h: Import changes from libc.
45447
45448 2004-04-28  Bruno Haible  <bruno@clisp.org>
45449
45450         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
45451         also implicitly appends .exe to executables.
45452         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
45453         accepts Windows pathnames.
45454         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
45455         Treat Cygwin like Windows, since it now accepts Windows pathnames.
45456         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
45457         Treat Cygwin like Windows, since it now accepts Windows pathnames.
45458         Reported by Derek Robert Price <derek@ximbiot.com>.
45459
45460 2004-04-21  Karl Berry  <karl@gnu.org>
45461
45462         * config/srclist.txt (localcharset.c): break sync.
45463
45464 2004-04-20  Paul Eggert  <eggert@twinsun.com>
45465
45466         * m4/host-os.m4: Add a copyright notice.
45467
45468 2004-04-20  Jim Meyering  <jim@meyering.net>
45469
45470         Change UTILS_ to gl_ in AC_DEFINE'd names.
45471         Change utils_- and jm_-prefixed variables, too.
45472         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
45473         UTILS_FUNC_MKDIR_TRAILING_SLASH.
45474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
45475
45476         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
45477         Don't emit trailing blanks.
45478         Also rename jm_-prefixed variables to have gl_ prefix.
45479
45480         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
45481         Also rename jm_-prefixed variables to have gl_ prefix.
45482
45483         * m4/jm-macros.m4: Reflect the renamings.
45484         * m4/prereq.m4: Likewise.
45485
45486 2004-04-20  Jim Meyering  <jim@meyering.net>
45487
45488         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
45489         memory.
45490
45491 2004-04-20  Jim Meyering  <jim@meyering.net>
45492             Bruno Haible  <bruno@clisp.org>
45493
45494         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
45495         memory when realloc fails.
45496
45497 2004-04-19  Jim Meyering  <jim@meyering.net>
45498
45499         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
45500         now that readutmp.c may call `free (0)'.
45501
45502 2004-04-19  Bruno Haible  <bruno@clisp.org>
45503
45504         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
45505         * m4/inttypes_h.m4: Likewise.
45506         * m4/stdint_h.m4: Likewise.
45507         * m4/intmax_t.m4: Likewise.
45508         * m4/uintmax_t.m4: Likewise.
45509
45510 2004-04-18  Jim Meyering  <jim@meyering.net>
45511
45512         * m4/prereq.m4: Don't forbid jm_ prefix.
45513
45514         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
45515         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
45516         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
45517         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
45518         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
45519         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
45520         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
45521         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
45522         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
45523         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
45524         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
45525         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
45526         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
45527         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
45528         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
45529         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
45530         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
45531         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
45532         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
45533
45534 2004-04-18  Jim Meyering  <jim@meyering.net>
45535
45536         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
45537         failure, don't leak memory and do call END_UTMP_ENT.
45538
45539 2004-04-16  Jim Meyering  <jim@meyering.net>
45540
45541         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
45542         coreutils' stat program.
45543         (gl_PREREQ): Don't require jm_PREREQ_STAT.
45544
45545 2004-04-11  Paul Eggert  <eggert@twinsun.com>
45546
45547         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
45548         C89.
45549         (CHAR_BIT): Remove, since we assume C89.
45550         Include <stdint.h> if available, as per current Autoconf CVS advice.
45551
45552 2004-03-31  Jim Meyering  <jim@meyering.net>
45553
45554         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
45555         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
45556         * m4/xalloc.m4: Likewise.
45557
45558 2004-03-30  Paul Eggert  <eggert@twinsun.com>
45559
45560         Merge from coreutils.
45561
45562         * m4/inttostr.m4: New file.
45563         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
45564         Require AM_STDBOOL_H and gl_TIMESPEC instead.
45565         Require gl_CLOCK_TIME.
45566         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
45567
45568 2004-03-30  Paul Eggert  <eggert@twinsun.com>
45569
45570         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
45571         not bool, to be more consistent with Unix conventions.
45572         Suggested by Bruno Haible.
45573
45574         Merge from coreutils.
45575
45576         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
45577         * lib/umaxtostr.c: New files.
45578
45579         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
45580         the usual <time.h> dance.
45581         (get_date): Change signature to support fractional time stamps.
45582         All callers changed.
45583         * lib/getdate.y: Include "getdate.h" first, as we can now
45584         assume C89 and don't need to worry about 'const'.
45585         Similarly, include "unlocked-io.h" near start, not in middle.
45586         Include <limits.h>.
45587         (textint.value): Use long int rather than int.
45588         (textint.digits): Use size_t rather than int.
45589         (BILLION, LOG10_BILLION): New constants.
45590         (parser_control): New member rel_ns.  Members day_ordinal,
45591         time_zone, month, day, hour, minutes, rel_year, rel_month,
45592         rel_day, rel_hour, rel_minutes, rel_seconds
45593         are now long int, not int.  Member seconds is now struct timespec,
45594         not int.  New member timespec_seen.  Members dates_seen, days_seen,
45595         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
45596         not int.
45597         (%union.intval): Now long int, not int.
45598         New member timespec.
45599         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
45600         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
45601         (spec): Now is a timespec or an item list.
45602         (timespec, items): New nonterminals.
45603         (time, rel, relunit, number, get_date):
45604         Add support for fractional seconds.
45605         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
45606         (gmtime, localtime, mktime): Remove decls; not needed with C89.
45607         (to_hour): First arg is now long int, not int.
45608         (to_year): Returns long int, not int.
45609         Don't treat year -70 like 70.
45610         (tm_diff): Returns long int, not int.
45611         (lookup_word): Use bool instead of int when appropriate.
45612         (yylex): Use size_t for count, not int.
45613         Detect overflow when parsing large integer constants.
45614         Add support for fractions.
45615         (get_date): Make pointers 'const' if possible.
45616         Use more-portable code to detect integer overflow.
45617         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
45618         Don't use ctime; it's not reliable if the year has >4 digits.
45619
45620         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
45621         This is for compatibility with BSD.
45622
45623         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
45624         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
45625         From coreutils' system.h.
45626
45627         * lib/userspec.c: Don't include "posixver.h".
45628         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
45629         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
45630         compatible extension.  Simplify code by removing a boolean int
45631         that was always nonzero if a string was nonnull.
45632
45633 2004-03-30  Jim Meyering  <jim@meyering.net>
45634
45635         Merge from coreutils.
45636
45637         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
45638         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
45639         on some systems one must include <grp.h> before it.
45640         Reported by Christian Krackowizer.
45641
45642 2004-03-30  Jim Meyering  <jim@meyering.net>
45643
45644         Merge from coreutils.
45645
45646         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
45647
45648         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
45649         an empty input stream.
45650
45651         * lib/readtokens.c: Include <stdbool.h>.
45652         (readtoken): Use `size_t' rather than int/long.
45653         All callers adjusted.
45654         Use `bool' rather than `int' where appropriate.
45655         Use memset rather than an explicit loop.
45656         Use x2nrealloc rather than xrealloc.
45657         Allow the use of `\0' as a delimiter.
45658         (readtokens): Likewise.
45659         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
45660
45661 2004-03-30  Jim Meyering  <jim@meyering.net>
45662
45663         * m4/realloc.m4: Remove file, since now it does no more than
45664         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
45665         the `configure.ac' section of module/realloc.
45666         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
45667
45668 2004-03-30  Bruno Haible  <bruno@clisp.org>
45669
45670         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
45671         nonnull.
45672
45673 2004-03-29  Paul Eggert  <eggert@twinsun.com>
45674
45675         Merge changes to getloadavg.c from coreutils and Emacs.
45676
45677         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
45678         Define to an expression, not to the empty string.
45679         Include cloexec.h and xalloc.h.
45680         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
45681         Use set_cloexec_flag rather than rolling our own.
45682         * lib/cloexec.c, lib/cloexec.h: New files.
45683
45684 2004-03-29  Paul Eggert  <eggert@twinsun.com>
45685
45686         * m4/cloexec.m4: New file.
45687
45688 2004-03-18  Paul Eggert  <eggert@twinsun.com>
45689
45690         * lib/getopt.h: Sync with libc CVS.
45691
45692 2004-03-18  Paul Eggert  <eggert@twinsun.com>
45693             Bruno Haible  <bruno@clisp.org>
45694
45695         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
45696         mbswidth.
45697
45698 2004-03-18  Paul Eggert  <eggert@twinsun.com>
45699             Bruno Haible  <bruno@clisp.org>
45700
45701         * lib/mbswidth.h: Include <wchar.h> only if
45702         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
45703         <wchar.h>.
45704         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
45705
45706 2004-03-09  Paul Eggert  <eggert@twinsun.com>
45707
45708         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
45709         Sync with libc CVS.
45710         * lib/getopt_int.h: New file, also synced from libc.
45711
45712 2004-03-09  Paul Eggert  <eggert@twinsun.com>
45713
45714         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
45715         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
45716         Bring back getopt.c, getopt.h, getopt1.c.
45717
45718 2004-03-07  Paul Eggert  <eggert@twinsun.com>
45719
45720         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
45721         All uses changed.  Check for sa_sigaction member; this fixes
45722         a bug first reported by Jason Andrade in
45723         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
45724
45725 2004-03-07  Paul Eggert  <eggert@twinsun.com>
45726
45727         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
45728         '#if' expressions.  Unlike the code it replaces, it does not
45729         depend on (defined _SC_PAGESIZE).  However, it does depend on
45730         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
45731         first reported by Jason Andrade in
45732         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
45733
45734 2004-02-25  Simon Josefsson  <jas@extundo.com>
45735
45736         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
45737
45738 2004-02-25  Simon Josefsson  <jas@extundo.com>
45739
45740         * lib/strdup.h: New file.
45741         * lib/strdup.c: Include it.
45742         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
45743         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
45744
45745 2004-02-23  Karl Berry  <karl@gnu.org>
45746
45747         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
45748         (from fencepost.gnu.org:/gd/gnuorg).
45749
45750 2004-02-23  Karl Berry  <karl@gnu.org>
45751
45752         * config/srclistvars.sh (GNUORG) [karl]: redefine.
45753         * config/srclist.txt: add maintain/standards documents.
45754
45755 2004-02-18  Bruno Haible  <bruno@clisp.org>
45756
45757         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
45758         Reported by Derek Robert Price <derek@ximbiot.com>.
45759
45760 2004-02-16  Karl Berry  <karl@gnu.org>
45761
45762         * config/mkinstalldirs, install-sh: update from automake.
45763
45764 2004-02-06  Karl Berry  <karl@gnu.org>
45765
45766         * m4/po.m4: update from gettext 0.14.1.
45767
45768 2004-02-06  Karl Berry  <karl@gnu.org>
45769
45770         * lib/config.charset: update from gettext 0.14.1.
45771
45772 2004-02-05  Paul Eggert  <eggert@twinsun.com>
45773
45774         Add comments and code, prompted by suggestions from Bruno Haible
45775         for sh-quote.
45776         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
45777         describing the enum quoting_style values.
45778         * lib/quotearg.c (quotearg_alloc): New function.
45779         (quotearg_buffer_restyled): Treat lone { and } as special.
45780         Treat = as special.  Work around bug with older shells
45781         that "see" a '\' that is really the 2nd byte of a multibyte char.
45782         Quote empty string with shell_quoting_style.
45783
45784 2004-02-03  Bruno Haible  <bruno@clisp.org>
45785
45786         * m4/pipe.m4: New file, from GNU gettext.
45787
45788 2004-02-03  Bruno Haible  <bruno@clisp.org>
45789
45790         * lib/pipe.h: New file, from GNU gettext.
45791         * lib/pipe.c: New file, from GNU gettext.
45792
45793 2004-01-27  Bruno Haible  <bruno@clisp.org>
45794
45795         * m4/execute.m4: New file, from GNU gettext.
45796
45797 2004-01-27  Bruno Haible  <bruno@clisp.org>
45798
45799         * lib/execute.h: New file, from GNU gettext.
45800         * lib/execute.c: New file, from GNU gettext.
45801         * lib/w32spawn.h: New file, from GNU gettext.
45802
45803 2004-01-24  Paul Eggert  <eggert@twinsun.com>
45804
45805         Merge from diffutils.
45806
45807         * lib/file-type.c (file_type): Add typed memory objects.
45808         * lib/file-type.h (S_TYPEISTMO): New macro.
45809
45810         * lib/c-stack.h (c_stack_action): Remove argv argument.
45811         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
45812         (die): Don't calculate message unless segv_action returns.
45813         (get_stack_location, min_address_from_argv, max_address_from_argv,
45814         volatile stack_base, volatile_stack_size): Remove.
45815         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
45816         that every segmentation violation is a stack overflow.  (Ouch!)
45817         See Debian bug 136249 (still outstanding) for more info about why
45818         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
45819
45820 2004-01-24  Paul Eggert  <eggert@twinsun.com>
45821
45822         Exit-status fix from coreutils.
45823
45824         Use exit_failure consistently in place of EXIT_FAILURE,
45825         so that program exit statuses are consistent on failure.
45826
45827         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
45828         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
45829         * lib/argmatch.h: Comment fix to match the above.
45830         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
45831         Now a macro referring to exit_failure, instead of a separate
45832         variable.  Include "exitfail.h" to get it.
45833         * lib/xstrtol.h: Include "exitfail.h".
45834         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
45835
45836         * lib/long-options.c (parse_long_options): Use prototype
45837         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
45838         for clarity.
45839
45840 2004-01-21  Jim Meyering  <jim@meyering.net>
45841
45842         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
45843         so as not to conflict with a different-sized __mktime_internal
45844         function in GNU libc.
45845         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
45846         Problem building statically-linked `ls' reported by Michael Brunnbauer.
45847
45848 2004-01-20  Karl Berry  <karl@gnu.org>
45849
45850         * config/config.guess: update from config.
45851
45852         * config/srclistvars.sh: GNUWWWLICENSES for karl.
45853
45854 2004-01-20  Bruno Haible  <bruno@clisp.org>
45855
45856         Safer stack allocation.
45857         * lib/setenv.c: Include allocsa.h.
45858         (alloca): Remove fallback definition.
45859         (freea): Remove macro.
45860         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
45861         instead of freea.
45862
45863 2004-01-20  Bruno Haible  <bruno@clisp.org>
45864
45865         * m4/eealloc.m4: New file, from GNU gettext.
45866
45867 2004-01-20  Bruno Haible  <bruno@clisp.org>
45868
45869         * m4/allocsa.m4: New file, from GNU gettext.
45870
45871 2004-01-20  Bruno Haible  <bruno@clisp.org>
45872
45873         * lib/xallocsa.h: New file, from GNU gettext.
45874         * lib/xallocsa.c: New file, from GNU gettext.
45875
45876 2004-01-20  Bruno Haible  <bruno@clisp.org>
45877
45878         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
45879
45880 2004-01-20  Bruno Haible  <bruno@clisp.org>
45881
45882         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
45883         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
45884         specially.
45885
45886 2004-01-20  Bruno Haible  <bruno@clisp.org>
45887
45888         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
45889         patch.
45890
45891 2004-01-20  Bruno Haible  <bruno@clisp.org>
45892
45893         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
45894
45895 2004-01-20  Bruno Haible  <bruno@clisp.org>
45896
45897         * lib/eealloc.h: New file.
45898
45899 2004-01-20  Bruno Haible  <bruno@clisp.org>
45900
45901         * lib/binary-io.h: Avoid warnings on Cygwin.
45902
45903 2004-01-20  Bruno Haible  <bruno@clisp.org>
45904
45905         * lib/allocsa.h: New file, from GNU gettext.
45906         * lib/allocsa.c: New file, from GNU gettext.
45907
45908 2004-01-18  Karl Berry  <karl@gnu.org>
45909
45910         * doc/gpl.texi, doc/lgpl.texi: new files.
45911
45912 2004-01-18  Karl Berry  <karl@gnu.org>
45913
45914         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
45915         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
45916
45917 2004-01-15  Paul Eggert  <eggert@twinsun.com>
45918
45919         Merge from coreutils.
45920
45921         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
45922         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
45923         (gl_DEFAULT_POSIX2_VERSION): Move
45924         the documentation from 'configure' into 'config.hin',
45925         so that 'configure --help' isn't burdened by it and
45926         we don't have to worry about its formatting there.
45927         Reword the documentation so that it's more succinct
45928         and can be run together into a single paragraph.
45929         * m4/same.m4 (gl_SAME): Check for pathconf.
45930
45931 2004-01-15  Paul Eggert  <eggert@twinsun.com>
45932
45933         Merge from coreutils.
45934
45935         * lib/posixver.c: Include posixver.h.
45936
45937         * lib/same.c: Include <stdbool.h>, <limits.h>.
45938         (_POSIX_NAME_MAX): Define if not defined.
45939         (MIN): New macro.
45940         (same_name): If file names are silently truncated, report
45941         that the file names are the same if they are the same after
45942         the silent truncation.
45943
45944         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
45945         conversion function.
45946         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
45947         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
45948         longer needed.
45949
45950 2004-01-15  Jim Meyering  <jim@meyering.net>
45951
45952         Merge from coreutils.
45953
45954         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
45955         if no library is required.
45956         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
45957         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
45958         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
45959         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
45960         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
45961         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
45962         value, $ac_cv_search_crypt, if it's "none required".
45963         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
45964         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
45965         not gl_FUNC_GETLOADAVG.
45966         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
45967         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
45968
45969 2004-01-15  Jim Meyering  <jim@meyering.net>
45970
45971         Merge from coreutils.
45972
45973         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
45974         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
45975         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
45976
45977         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
45978         optional configure-time default.
45979
45980         * lib/version-etc.c (version_etc_copyright): Update copyright date.
45981
45982         * lib/xreadlink.c (xreadlink): Correct outdated comment.
45983
45984 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
45985
45986         Merge from coreutils.
45987
45988         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
45989         value, $ac_cv_search_nanosleep, if it's "none required".
45990
45991 2004-01-14  Paul Eggert  <eggert@twinsun.com>
45992
45993         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
45994         with like-named macro in fnmatch.c.
45995         (EXT): Use an internal constant instead.
45996
45997         Merge fnmatch patches from glibc.
45998         * lib/fnmatch.c (mbsinit): Remove define.
45999         Add libc_hidden_ver (__fnmatch, fnmatch).
46000         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
46001         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
46002
46003 2004-01-14  Karl Berry  <karl@gnu.org>
46004
46005         * config/install-sh: update from automake.
46006
46007 2004-01-13  Karl Berry  <karl@gnu.org>
46008
46009         * config/install-sh: update from automake.
46010
46011 2004-01-09  Karl Berry  <karl@gnu.org>
46012
46013         * config/install-sh: update from automake.
46014
46015 2004-01-05  Karl Berry  <karl@gnu.org>
46016
46017         * config/config.{sub,guess}: update from config.
46018
46019 2003-12-31  Karl Berry  <karl@gnu.org>
46020
46021         * config/depcomp: update from automake.
46022
46023 2003-12-14  Karl Berry  <karl@gnu.org>
46024
46025         * lib/config.charset: update from gettext-runtime.
46026
46027 2003-12-03  Paul Eggert  <eggert@twinsun.com>
46028
46029         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
46030         Bug reported by Alfred M. Szmidt.
46031
46032 2003-12-03  Bruno Haible  <bruno@clisp.org>
46033
46034         * m4/gettext.m4: Upgrade from gettext-0.13.
46035         * m4/po.m4: Upgrade from gettext-0.13.
46036         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
46037         * m4/intmax.m4: New file, from gettext-0.13.
46038         * m4/printf-posix.m4: New file, from gettext-0.13.
46039
46040 2003-11-29  Karl Berry  <karl@gnu.org>
46041
46042         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
46043
46044 2003-11-25  Paul Eggert  <eggert@twinsun.com>
46045             Bruno Haible  <bruno@clisp.org>
46046
46047         * lib/printf-parse.h: Don't include sys/types.h.
46048         (ARG_NONE): New macro.
46049         (char_directive): Change type of *arg_index fields to size_t.
46050         * lib/printf-parse.c: Don't include sys/types.h.
46051         (SSIZE_MAX): Remove macro.
46052         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
46053         Remove unnecessary overflow check.
46054         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
46055         fields.
46056
46057 2003-11-25  Bruno Haible  <bruno@clisp.org>
46058
46059         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
46060
46061 2003-11-25  Bruno Haible  <bruno@clisp.org>
46062
46063         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
46064         gt_TYPE_SSIZE_T.
46065
46066 2003-11-24  Paul Eggert  <eggert@twinsun.com>
46067
46068         * modules/alloca: Remove dependency on xalloc.
46069
46070 2003-11-24  Paul Eggert  <eggert@twinsun.com>
46071
46072         * lib/alloca.c: Remove dependency on xalloc module.
46073         (xalloc_die): Remove.
46074         (memory_full) [!defined emacs]: New macro.
46075         [!defined emacs]: Don't include xalloc.h.
46076         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
46077         address arithmetic overflows.  Change datatypes a bit to avoid
46078         unnecessary casts.
46079
46080 2003-11-22  Jim Meyering  <jim@meyering.net>
46081
46082         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
46083         s/size/size_t/.
46084
46085 2003-11-21  Karl Berry  <karl@gnu.org>
46086
46087         * config/config.{sub,guess}: update from config.
46088
46089 2003-11-18  Karl Berry  <karl@gnu.org>
46090
46091         * config/config.{sub,guess}: update from config.
46092
46093         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
46094
46095 2003-11-17  Paul Eggert  <eggert@twinsun.com>
46096
46097         * README: Mention that S+T cannot overflow if S is the size of
46098         an existing object and T is sufficiently small.
46099
46100 2003-11-17  Jim Meyering  <jim@meyering.net>
46101
46102         On systems without utime and without a utimes function capable of
46103         dealing with a NULL struct utimbuf* argument, this utime replacement
46104         could -- in unusual circumstances -- leak a file descriptor.
46105         * lib/utime.c: Include <unistd.h> and <errno.h>.
46106         (utime_null): Be sure to close `fd' and to preserve errno.
46107         Reported by Geoff Collyer via Arnold Robbins.
46108
46109 2003-11-17  Bruno Haible  <bruno@clisp.org>
46110
46111         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
46112         (Depends-on): Add xsize.
46113
46114 2003-11-17  Bruno Haible  <bruno@clisp.org>
46115
46116         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
46117
46118 2003-11-17  Bruno Haible  <bruno@clisp.org>
46119
46120         * lib/vasnprintf.c (alloca): Remove fallback definition.
46121         (freea): Remove definition.
46122         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
46123         Reported by Paul Eggert.
46124
46125 2003-11-16  Paul Eggert  <eggert@twinsun.com>
46126             Bruno Haible  <bruno@clisp.org>
46127
46128         Protect against address arithmetic overflow.
46129         * lib/printf-args.h: Include stddef.h.
46130         (arguments): Change type of field 'count' to size_t.
46131         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
46132         'unsigned int' where appropriate.
46133         * lib/printf-parse.h: Include sys/types.h.
46134         (char_directive): Change type of *arg_index fields to ssize_t.
46135         (char_directives): Change type of fields 'count', max_*_length to
46136         size_t.
46137         * lib/printf-parse.c: Include sys/types.h and xsize.h.
46138         (SSIZE_MAX): Define fallback value.
46139         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
46140         instead of 'int' where appropriate. Check a_allocated, d_allocated
46141         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
46142         * lib/vasnprintf.c: Include xsize.h.
46143         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
46144         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
46145         overflow. Avoid wraparound when converting a width or precision from
46146         decimal to binary.
46147
46148 2003-11-16  Bruno Haible  <bruno@clisp.org>
46149
46150         Update from GNU gettext.
46151         * lib/printf-parse.c: Generalize to it can be compiled for wide
46152         strings.
46153         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
46154         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
46155         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
46156         SNPRINTF): New macros.
46157         Don't include <alloca.h> if the file is used inside libintl.
46158         (local_wcslen): New function, for Solaris 2.5.1.
46159         (VASNPRINTF): Use it instead of wcslen.
46160
46161 2003-11-16  Bruno Haible  <bruno@clisp.org>
46162
46163         * lib/xsize.h (xmax): New function.
46164         (xsum, xsum3, xsum4): Declare as "pure" functions.
46165
46166 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46167
46168         * modules/xalloc (Files): Undo latest change, since xalloc.h
46169         no longer needs SIZE_MAX or PTRDIFF_MAX.
46170
46171 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46172
46173         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
46174         gl_PTRDIFF_MAX.
46175
46176 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46177
46178         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
46179         "return", to pacify some unknown compiler.  Problem reported
46180         by Joerg Schilling.
46181
46182 2003-11-12  Paul Eggert  <eggert@twinsun.com>
46183
46184         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
46185         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
46186         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
46187         heuristic is just as accurate as far as we know, and it removes a
46188         dependency on size_max.m4 and ptrdiff_max.m4.
46189
46190 2003-11-11  Bruno Haible  <bruno@clisp.org>
46191
46192         * modules/xsize (Files): Add m4/size_max.m4.
46193         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
46194
46195 2003-11-11  Bruno Haible  <bruno@clisp.org>
46196
46197         * m4/size_max.m4: New file.
46198         * m4/ptrdiff_max.m4: New file.
46199         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
46200         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
46201         (gl_XALLOC): Invoke it.
46202
46203 2003-11-11  Bruno Haible  <bruno@clisp.org>
46204
46205         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
46206         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
46207         defined.
46208
46209 2003-11-10  Paul Eggert  <eggert@twinsun.com>
46210
46211         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
46212         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
46213         rejected some allocations of exactly SIZE_MAX - 2 bytes.
46214         From Bruno Haible.
46215         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
46216         not (size_t) -1, since it's defined here.
46217
46218 2003-11-09  Karl Berry  <karl@gnu.org>
46219
46220         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
46221
46222 2003-11-06  Paul Eggert  <eggert@twinsun.com>
46223
46224         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
46225         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
46226         Reject sizes of exactly SIZE_MAX bytes.
46227         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
46228         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
46229
46230 2003-11-05  Bruno Haible  <bruno@clisp.org>
46231
46232         * lib/xsize.h: Include limits.h, to avoid a possible collision with
46233         SIZE_MAX defined in <limits.h> on Solaris.
46234
46235 2003-11-04  Jim Meyering  <jim@meyering.net>
46236
46237         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
46238         variable names, rather than @VAR@.
46239         * modules/poll: Likewise.
46240
46241 2003-11-04  Bruno Haible  <bruno@clisp.org>
46242
46243         * modules/xsize: New file.
46244         * modules/linebreak: Depend on xsize.
46245         * MODULES.html.sh (func_all_modules): Add xsize.
46246
46247 2003-11-04  Bruno Haible  <bruno@clisp.org>
46248
46249         * m4/xsize.m4: New file.
46250
46251 2003-11-04  Bruno Haible  <bruno@clisp.org>
46252
46253         * lib/xsize.h: New file.
46254         * lib/linebreak.c: Include xsize.h.
46255         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
46256         argument for overflow.
46257         Suggested by Paul Eggert.
46258
46259 2003-11-03  Karl Berry  <karl@gnu.org>
46260
46261         * config/config.{guess,sub}: update from config.
46262
46263 2003-11-03  Jim Meyering  <jim@meyering.net>
46264
46265         * modules/userspec (lib_SOURCES): Add userspec.h.
46266         (Include): Add "userspec.h".
46267         Improve description.
46268
46269 2003-11-03  Jim Meyering  <jim@meyering.net>
46270
46271         * lib/userspec.c: Include "userspec.h".
46272         * lib/userspec.h: New file.
46273
46274 2003-11-03  Bruno Haible  <bruno@clisp.org>
46275
46276         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
46277
46278 2003-11-03  Bruno Haible  <bruno@clisp.org>
46279
46280         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
46281         available, to avoid (extremely rare) race condition.
46282         Suggested by Paul Eggert.
46283
46284 2003-11-02  Karl Berry  <karl@gnu.org>
46285
46286         * config/srclist.txt (vasprintf.c): sync broken, sigh.
46287
46288 2003-10-31  Paul Eggert  <eggert@twinsun.com>
46289
46290         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
46291         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
46292         (read_filesystem_list): Set and use me_type_malloced.
46293         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
46294         whatever the type happens to be), for brevity and consistency.
46295         Check for size calculation overflow on Alphas running OSF/1.
46296
46297 2003-10-31  Jim Meyering  <jim@meyering.net>
46298
46299         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
46300
46301         * lib/linebuffer.c: Include <string.h> for declaration of memset.
46302
46303 2003-10-30  Paul Eggert  <eggert@twinsun.com>
46304             Bruno Haible  <bruno@clisp.org>
46305
46306         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
46307         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
46308
46309 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46310
46311         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
46312         netbsd*-gnu*.  Suggested by Robert Millan.
46313
46314 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46315
46316         * modules/group-member: Depend on stdbool.
46317
46318 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46319
46320         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
46321
46322 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46323
46324         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
46325         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
46326         after the 'gnu' in these cases.  This fixes some bugs in the
46327         previous change, and is based on suggestions by Robert Millan.
46328
46329 2003-10-29  Paul Eggert  <eggert@twinsun.com>
46330
46331         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
46332         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
46333         no longer needed.
46334         * lib/quotearg.c (quotearg_n_options): Use it.
46335         * lib/group-member.c: Include <stdbool.h>.
46336         (free_group_info): Arg is now const *; don't free arg.
46337         (get_group_info): Now returns bool and accepts struct group_info *,
46338         rather than returning a malloc'ed struct group_info *.
46339         All uses changed.  Check for overflow in internal size calculation.
46340
46341         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
46342         rather than xmalloc/xrealloc.
46343         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
46344         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
46345         conformance bug: the old code used a pointer after freeing the
46346         storage that it addressed.
46347         * lib/hash.c (hash_initialize): Simplify the code by using
46348         xalloc_oversized rather than doing it by hand.
46349         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
46350         the buffer preserved.  Use free and xmalloc instead.
46351         * lib/quotearg.c (quotearg_n_options): Likewise.
46352         Use a simpler test for size overflow.  Don't use xalloc_oversized
46353         because unsigned int might be wider than size_t (!); this suggests
46354         that we should switch from unsigned int to size_t for slot numbers.
46355
46356 2003-10-28  Paul Eggert  <eggert@twinsun.com>
46357
46358         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
46359         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
46360         NetBSD kernels.  Requested by Richard Stallman.
46361
46362 2003-10-27  Paul Eggert  <eggert@twinsun.com>
46363
46364         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
46365         to allocate the returned structure.  Do not allocate a subarray,
46366         as x2nrealloc will do that.
46367         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
46368         instead of xnrealloc.
46369         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
46370
46371 2003-10-27  Bruno Haible  <bruno@clisp.org>
46372
46373         * lib/stdbool_.h: Better support for BeOS.
46374
46375 2003-10-26  Paul Eggert  <eggert@twinsun.com>
46376
46377         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
46378         now uses inline.
46379
46380 2003-10-26  Paul Eggert  <eggert@twinsun.com>
46381
46382         * lib/xalloc.h (xalloc_oversized): New static inline function, for
46383         callers that want to do their own size-overflow checking.  Include
46384         <stdbool.h>, since xalloc_oversized returns bool.
46385         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
46386         to use xalloc_oversized.
46387
46388         Add two functions x2realloc, x2nrealloc, for programs that grow
46389         arrays dynamically by doubling their sizes.
46390         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
46391         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
46392         New functions.
46393
46394         Port to C99 semantics for 'inline' of external functions.
46395         Bug reported by Bruno Haible.
46396         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
46397         with the old contents of xnmalloc.
46398         (xnmalloc, xmalloc): Use it.
46399         (xnrealloc_inline): New static inline function,
46400         with the old contents of xnrealloc.
46401         (xnrealloc, xrealloc): Use it.
46402
46403         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
46404         that.
46405
46406 2003-10-26  Karl Berry  <karl@gnu.org>
46407
46408         * config/srclist.txt (COPYING.DOC): no longer available from
46409         /gd/gnuorg; don't know where the ultimate source is.
46410
46411 2003-10-25  Paul Eggert  <eggert@twinsun.com>
46412
46413         Fix several address-calculation bugs in the hash modules,
46414         plus some minor code cleanup.
46415
46416         * lib/hash.h: Include <stdbool.h>, for bool.
46417         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
46418         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
46419         hash_get_n_entries, hash_get_max_bucket_length,
46420         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
46421         hash_rehash): Use size_t rather than unsigned.
46422         * lib/hash.c (struct hash_table, hash_get_n_buckets,
46423         hash_get_n_buckets_used, hash_get_n_entries,
46424         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
46425         hash_get_entries, hash_do_for_each, hash_string, is_prime,
46426         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
46427         Likewise.
46428         (SIZE_MAX): Define if not defined.
46429         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
46430         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
46431         hash_print):
46432         Use const * when possible.
46433         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
46434         (check_tuning): Fix bug: if tuning parameters were very close to
46435         0 or 1, rounding errors could have caused subscript violations.
46436         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
46437         (hash_initialize): Add 'fail:' label
46438         to free table and return NULL, and use it to simplify code.
46439         Use calloc rather than clearing the storage ourself.
46440         (hash_initialize, hash_rehash): Check for arithmetic overflow in
46441         buffer size calculations.
46442         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
46443         Include <stddef.h>, for size_t.
46444         * lib/hash-pjw.c (hash_pjw): Likewise.
46445         Switch to method described by Bruno Haible.
46446         Include <limits.h>, for CHAR_BIT.
46447         (SIZE_BITS): New macro.
46448
46449 2003-10-23  Paul Eggert  <eggert@twinsun.com>
46450
46451         * m4/getline.m4 (AM_FUNC_GETLINE):
46452         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
46453         hosts.  Problem reported by Derek Robert Price in
46454         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
46455         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
46456         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
46457
46458 2003-10-21  Paul Eggert  <eggert@twinsun.com>
46459
46460         * lib/getndelim2.c (getndelim2): When size calculation overflows,
46461         ceiling the allocation at NMAX bytes rather than silently
46462         discarding input bytes before NMAX is reached.  This makes
46463         a difference only if NMAX exceeds SIZE_MAX / 2.
46464
46465         * lib/obstack.c: Merge from glibc.
46466         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
46467         Add libc_hidden_def (_obstack_newchunk).
46468         (_obstack_free) [! defined _LIBC]: Remove.
46469         [defined _LIBC]: Make a strong alias from obstack_free, rather than
46470         a clone of the function body.
46471         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
46472         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
46473
46474         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
46475         glibc.
46476         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
46477         arg to memcpy.
46478
46479         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
46480         (obstack_ptr_grow_fast, obstack_int_grow_fast):
46481         Don't use lvalue casts, as GCC plans to remove support for them
46482         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
46483         was also present in the non-GCC version, indicating that this
46484         code had always been buggy and had never been widely used.
46485         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
46486         Use the fast variant of each macro, rather than copying the
46487         definiens of the fast variant; that way, we'll be more likely to
46488         catch future bugs in the fast variants.
46489
46490 2003-10-20  Bruno Haible  <bruno@clisp.org>
46491
46492         * modules/wait-process: New file.
46493         * MODULES.html.sh (func_all_modules): Add wait-process.
46494
46495 2003-10-20  Bruno Haible  <bruno@clisp.org>
46496
46497         * m4/wait-process.m4: New file.
46498
46499 2003-10-20  Bruno Haible  <bruno@clisp.org>
46500
46501         * lib/wait-process.h: New file, from GNU gettext.
46502         * lib/wait-process.c: New file, from GNU gettext.
46503
46504 2003-10-19  Jim Meyering  <jim@meyering.net>
46505
46506         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
46507         HPUX 10.20.
46508
46509 2003-10-18  Karl Berry  <karl@gnu.org>
46510
46511         * config/config.guess: update from config.
46512
46513 2003-10-16  Paul Eggert  <eggert@twinsun.com>
46514
46515         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
46516         (getgroups): First arg is int, not size_t.
46517         Don't let 'free' mangle errno.
46518
46519 2003-10-16  Paul Eggert  <eggert@twinsun.com>
46520
46521         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
46522
46523 2003-10-16  Karl Berry  <karl@gnu.org>
46524
46525         * config/config.{guess,sub}: update from config.
46526
46527 2003-10-16  Jim Meyering  <jim@meyering.net>
46528
46529         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
46530         memcpy.
46531
46532 2003-10-15  Paul Eggert  <eggert@twinsun.com>
46533
46534         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
46535         (SIZE_MAX): Remove.
46536         (new_exclude, add_exclude_file): Initial size no longer needs to
46537         be a power of 2.
46538         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
46539         our own address arithmetic overflow checking.
46540
46541         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
46542         (fnmatch): Do not alloca more than 2000 wide characters;
46543         instead, use malloc for large buffers.
46544         Check for address arithmetic overflow, and return -1
46545         with errno set to ENOMEM in that case.
46546         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
46547         (NEW_PATTERN): Do not alloca more than 8000 bytes;
46548         instead, return -1.  Check for address arithmetic overflow.
46549
46550 2003-10-14  Paul Eggert  <eggert@twinsun.com>
46551
46552         Handle invalid suffixes and overflow independently, so that
46553         callers can treat them independently as needed.  Fix some bugs in
46554         suffix handling, e.g., "100k@" was not diagnosed as an invalid
46555         suffix for a human-readable blocksize.  The major caller-visible
46556         change is the addition of a new
46557         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
46558         that both overflow and suffix chars were found.
46559
46560         * lib/human.c (humblock): Don't check separately for invalid suffix
46561         char; that is xstrtoumax's job (now that its bug is fixed).
46562         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
46563         INTMAX_MAX]: New macros.
46564         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
46565         TYPE_MAXIMUM): New macros.
46566         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
46567         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
46568         if overflow occurs, as it's what __strtol does and it's more useful
46569         in practice.
46570         (__xstrtol): If __strtol reports some error other than ERANGE,
46571         reflect it to the caller as LONGINT_INVALID.  If it reports
46572         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
46573         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
46574         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
46575         value.
46576         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
46577         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
46578         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
46579         [defined UINTMAX_MAX]: New macros.
46580
46581 2003-10-14  Bruno Haible  <bruno@clisp.org>
46582
46583         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
46584
46585 2003-10-14  Bruno Haible  <bruno@clisp.org>
46586
46587         * m4/sig_atomic_t: New file, from GNU gettext.
46588         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
46589
46590 2003-10-14  Bruno Haible  <bruno@clisp.org>
46591
46592         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
46593         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
46594         Also use volatile where needed.
46595
46596 2003-10-12  Paul Eggert  <eggert@twinsun.com>
46597
46598         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
46599         Change maintainer from Bruno Haible to 'all'.
46600
46601 2003-10-12  Paul Eggert  <eggert@twinsun.com>
46602
46603         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
46604
46605 2003-10-12  Paul Eggert  <eggert@twinsun.com>
46606
46607         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
46608         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
46609         and define in terms of the other primitives.
46610         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
46611         (SIZE_MAX): Define if not already defined.
46612         (array_size_overflow): New function.
46613         (xalloc_die): Abort instead of exiting if 'error' returns.
46614         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
46615         (xmalloc, xrealloc): Use them.
46616         (xcalloc): Check for address arithmetic overflow.
46617         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
46618         a bit faster than strcpy.
46619
46620 2003-10-10  Simon Josefsson  <jas@extundo.com>
46621
46622         * modules/argp (Depends-on): Add restrict and strcase.
46623
46624 2003-10-10  Simon Josefsson  <jas@extundo.com>
46625
46626         * m4/argp.m4: Add AC_C_INLINE.
46627
46628 2003-10-08  Paul Eggert  <eggert@twinsun.com>
46629
46630         Merge getpass from libc, plus a few fixes.
46631
46632         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
46633         Include <stdbool.h>.
46634         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
46635         __fsetlocking to empty.
46636         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
46637         do include <bits/libc-lock.h>.
46638         Do not include <fcntl.h>; not needed.
46639         [_LIBC]: Include <wchar.h>.
46640         (NOTCANCEL_MODE): New macro.
46641         (flockfile, funlockfile) [_LIBC]: New macros.
46642         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
46643         [!_LIBC]: New macros.
46644         (call_fclose): New function.
46645         (getpass): Use it.  Save tty stream separately; this simplifies the
46646         code and makes it more reliable if stdin happens to equal stdout.
46647         Invoke __fsetlocking on tty.
46648         Handle thread cancellation if needed.
46649         Namespace cleanup (use __tcgetattr, __getline).
46650         Use bool for Booleans.
46651         [USE_IN_LIBIO]: Handle wide streams.
46652         [!_LIBC]: Unconditionally do the fseek, since we don't know what
46653         stream might go where.
46654
46655         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
46656         doesn't have to include <stdio.h> before us.
46657         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
46658         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
46659         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
46660         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
46661         if not declared, so that we can use getpass.c code from libc without
46662         rewriting it.
46663         (flockfile, ftrylockfile, funlockfile): New macros.
46664
46665 2003-10-08  Paul Eggert  <eggert@twinsun.com>
46666
46667         * modules/getpass: Depend on stdbool.
46668
46669 2003-10-08  Paul Eggert  <eggert@twinsun.com>
46670
46671         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
46672
46673 2003-10-07  Karl Berry  <karl@gnu.org>
46674
46675         * config/config.{guess,sub}: update from config.
46676
46677 2003-10-06  Jim Meyering  <jim@meyering.net>
46678             Bruno Haible  <bruno@clisp.org>
46679
46680         This lets translators provide better translations for the
46681         "Written by ..." part of --version output.
46682         * lib/version-etc.h: Include stdarg.h.
46683         (version_etc_copyright): Declare as readonly.
46684         (version_etc): Make this function variadic with a NULL-terminated list
46685         of author name strings.
46686         (version_etc_va): New declaration.
46687         * lib/version-etc.c: Include stdarg.h, stdlib.h.
46688         (version_etc_copyright): Declare as readonly.
46689         (version_etc_va): New function. Provide a different translatable string
46690         for each possible number of authors < 10. Abbreviate when there are 10
46691         authors or more.
46692         (version_etc): Make this function variadic. Call version_etc_va.
46693         Suggestion from Gary V. Vaughan.
46694
46695         * lib/long-options.h (parse_long_options): Change prototype: the
46696         authors string is moved to the end and becomes variadic.
46697         * lib/long-options.c: Include stdarg.h.
46698         (parse_long_options): Make this function variadic, too.
46699         Call version_etc_va, not version_etc.
46700
46701 2003-10-06  Bruno Haible  <bruno@clisp.org>
46702
46703         * modules/version-etc-2: Remove file.
46704         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
46705
46706 2003-10-06  Bruno Haible  <bruno@clisp.org>
46707
46708         * modules/fatal-signal: New file.
46709         * MODULES.html.sh (func_all_modules): Add fatal-signal.
46710
46711 2003-10-06  Bruno Haible  <bruno@clisp.org>
46712
46713         * m4/fatal-signal.m4: New file.
46714         * m4/signalblocking.m4: New file, from GNU gettext.
46715
46716 2003-10-06  Bruno Haible  <bruno@clisp.org>
46717
46718         * lib/version-etc-2.h: Remove file.
46719         * lib/version-etc-2.c: Remove file.
46720
46721 2003-10-06  Bruno Haible  <bruno@clisp.org>
46722
46723         * lib/fatal-signal.h: New file, from GNU gettext.
46724         * lib/fatal-signal.c: New file, from GNU gettext.
46725
46726 2003-10-05  Paul Eggert  <eggert@twinsun.com>
46727
46728         * README: Rework advice for preventing empty .o files.
46729         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
46730         not <sys/types.h>.
46731
46732 2003-10-04  Karl Berry  <karl@gnu.org>
46733
46734         * lib/argp*: update from libc.
46735
46736 2003-10-04  Karl Berry  <karl@gnu.org>
46737
46738         * config/config.{guess,sub}: update from config.
46739
46740 2003-10-02  Bruno Haible  <bruno@clisp.org>
46741
46742         * modules/lchown (Include): Add lchown.h.
46743         * modules/time_r (Include): Use "..." syntax.
46744         * modules/xgetdomainname (Include): Add xgetdomainname.h.
46745
46746 2003-10-01  Simon Josefsson  <jas@extundo.com>
46747
46748         * MODULES.html.sh (func_all_modules): Move gethostname from section
46749         'based on' to section 'lacking' POSIX:2001.
46750
46751 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
46752
46753         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
46754         to output mode on the same stream.
46755
46756 2003-09-29  Paul Eggert  <eggert@twinsun.com>
46757
46758         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
46759         Fix arg typo in previous patch.
46760
46761 2003-09-28  Jim Meyering  <jim@meyering.net>
46762
46763         * lib/error.c: Correct cpp indentation.
46764
46765 2003-09-27  Paul Eggert  <eggert@twinsun.com>
46766
46767         * modules/free: New file.
46768
46769 2003-09-27  Paul Eggert  <eggert@twinsun.com>
46770
46771         * m4/free.m4: New file.
46772
46773 2003-09-27  Paul Eggert  <eggert@twinsun.com>
46774
46775         * lib/minmax.h (MIN, MAX)
46776         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
46777         Omit the special code that used __typeof__, since we worry that
46778         it could be more trouble than it's worth.  See:
46779         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
46780         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
46781
46782         * lib/free.c: New file.
46783
46784 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
46785
46786         Trivial fixes to Makefile.am parts of module listings.
46787         * modules/strstr: Append strstr.h to lib_SOURCES.
46788         * modules/strcase: Likewise, for strcase.h.
46789
46790 2003-09-27  Karl Berry  <karl@gnu.org>
46791
46792         * config/mkinstalldirs: update from automake.
46793
46794 2003-09-26  Paul Eggert  <eggert@twinsun.com>
46795
46796         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
46797         (error_tail): Do not loop, reallocating temporary buffer, since
46798         the output cannot contain more wide characters than the input
46799         contains bytes, the size must be big enough already.  This avoids
46800         one potential size overflow calculation.  Check for size overflow
46801         when calculating temporary buffer size.  Free temporary buffer
46802         when done, if it was allocated with malloc; this plugs a memory
46803         leak.  Remove casts from void * to pointers, that are no longer
46804         needed now that we're assuming C89 or better.
46805
46806         Merge error changes from glibc.
46807
46808         * lib/error.c, error.h: Update copyright notice header to match glibc.
46809         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
46810         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
46811         Disable cancellation while printing error.
46812         * lib/error.h: Prepend __ to parameter names.
46813
46814 2003-09-26  Jim Meyering  <jim@meyering.net>
46815
46816         * lib/error.c (error_tail): Move some declarations
46817         into inner scope where the local variables are used.
46818
46819 2003-09-26  Bruno Haible  <bruno@clisp.org>
46820
46821         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
46822         stpncpy().
46823         Don't define stpncpy through config.h; it's now done through stpncpy.h.
46824
46825 2003-09-26  Bruno Haible  <bruno@clisp.org>
46826
46827         * lib/stpncpy.h (gnu_stpncpy): New declaration.
46828         (stpncpy): Define as alias for gnu_stpncpy.
46829         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
46830
46831 2003-09-25  Simon Josefsson  <jas@extundo.com>
46832
46833         * lib/xgetdomainname.h: New file.
46834         * lib/xgetdomainname.c: New file.
46835
46836 2003-09-25  Simon Josefsson  <jas@extundo.com>
46837             Bruno Haible  <bruno@clisp.org>
46838
46839         * modules/getdomainname: New file.
46840         * modules/xgetdomainname: New file.
46841         * MODULES.html.sh (func_all_modules): Add getdomainname,
46842         xgetdomainname.
46843
46844 2003-09-25  Simon Josefsson  <jas@extundo.com>
46845             Bruno Haible  <bruno@clisp.org>
46846
46847         * m4/getdomainname.m4: New file.
46848
46849 2003-09-25  Simon Josefsson  <jas@extundo.com>
46850             Bruno Haible  <bruno@clisp.org>
46851
46852         * lib/getdomainname.h: New file.
46853         * lib/getdomainname.c: New file.
46854
46855 2003-09-25  Karl Berry  <karl@gnu.org>
46856
46857         * lib/argp-fmtstream.c, argp-help.c: update from libc.
46858
46859 2003-09-25  Karl Berry  <karl@gnu.org>
46860
46861         * config/install-sh: update from automake.
46862
46863 2003-09-25  Bruno Haible  <bruno@clisp.org>
46864
46865         * modules/version-etc-2: New file, from modules/version-etc with
46866         modifications.
46867         * MODULES.html.sh (func_all_modules): Add version-etc-2.
46868
46869 2003-09-25  Bruno Haible  <bruno@clisp.org>
46870
46871         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
46872         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
46873
46874 2003-09-24  Simon Josefsson  <jas@extundo.com>
46875
46876         * modules/xgethostname: Add xgethostname.h.
46877
46878 2003-09-24  Paul Eggert  <eggert@twinsun.com>
46879
46880         * lib/linebuffer.c (freebuffer): Don't free the argument, just
46881         the buffer associated with the argument.  Bug reported by
46882         Simon Josefsson.
46883
46884 2003-09-24  Paul Eggert  <eggert@twinsun.com>
46885
46886         * README: Document assumptions that 'int' is at least 32 bits
46887         wide, that integer arithmetic is 2's complement without overflow,
46888         that there are no holes in integer values, that adding sizes of
46889         two nonoverlapping objects can't overflow, and that all-bits-zero
46890         yields scalar zero.  Fix spelling and capitalization typos.
46891
46892 2003-09-19  Karl Berry  <karl@gnu.org>
46893
46894         * lib/argp.h: update from libc.
46895
46896 2003-09-17  Paul Eggert  <eggert@twinsun.com>
46897
46898         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
46899         to avoid spurious warnings like "AC_RUN_IFELSE was called before
46900         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
46901
46902 2003-09-17  Paul Eggert  <eggert@twinsun.com>
46903
46904         * gnulib-tool: Use "test -h", not "test -L", for portability
46905         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
46906         (tags_regexp): Remove, since \| doesn't conform to POSIX.
46907         (sed_extract_prog): Issue s commands one-by-one, rather than
46908         using \| in one s command.
46909
46910 2003-09-16  Paul Eggert  <eggert@twinsun.com>
46911
46912         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
46913         input error, instead of returning NULL the next time we are called
46914         (and therefore losing track of errno).
46915
46916 2003-09-16  Bruno Haible  <bruno@clisp.org>
46917
46918         * gnulib-tool (func_create_testdir): Warn about duplicated
46919         dependencies.
46920
46921 2003-09-15  Paul Eggert  <eggert@twinsun.com>
46922
46923         * modules/argmatch, modules/fatal, modules/obstack,
46924         modules/xalloc, modules/xgethostname: Sort dependencies by
46925         importance, not alphabetically.
46926
46927 2003-09-15  Paul Eggert  <eggert@twinsun.com>
46928
46929         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
46930         fails, so that the caller gets the proper errno.
46931
46932         * lib/readutmp.c (read_utmp): Likewise.
46933         Check for fstat error.  Close stream and free storage
46934         when failing.
46935
46936 2003-09-14  Karl Berry  <karl@gnu.org>
46937
46938         * config/srclist.txt (strdup.c): disable for c89 changes.
46939
46940 2003-09-14  Jim Meyering  <jim@meyering.net>
46941
46942         * lib/getloadavg.c: Correct cpp indentation.
46943         * lib/strdup.c: Likewise.
46944         * lib/vasnprintf.c: Likewise.
46945
46946 2003-09-14  Bruno Haible  <bruno@clisp.org>
46947
46948         * modules/fwriteerror: New file.
46949         * MODULES.html.sh (func_all_modules): Add fwriteerror.
46950
46951 2003-09-14  Bruno Haible  <bruno@clisp.org>
46952
46953         * lib/fwriteerror.h: New file.
46954         * lib/fwriteerror.c: New file.
46955
46956 2003-09-12  Paul Eggert  <eggert@twinsun.com>
46957
46958         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
46959         modules/xgethostname, modules/xalloc: Depend on exit.
46960
46961 2003-09-12  Paul Eggert  <eggert@twinsun.com>
46962
46963         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
46964
46965         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
46966         and AC_MINIX, too, so that their extensions are available.
46967
46968         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
46969         This macro has been superseded by gl_BACKUPFILE.
46970
46971         More patches to assume C89 or better.
46972
46973         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
46974
46975         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
46976         unconditionally.
46977         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
46978         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
46979         Include <string.h>, <stdlib.h> unconditionally.
46980         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
46981         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
46982         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
46983         headers or for string.h.
46984         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
46985         or strtoul.
46986
46987         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
46988         headers.
46989         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
46990         * m4/userspec.m4 (gl_USERSPEC): Likewise.
46991         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
46992         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
46993         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46994         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
46995         memcpy, memset.
46996         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
46997         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
46998         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
46999         strtol.
47000         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
47001         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
47002         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
47003         strtoul.
47004
47005 2003-09-12  Paul Eggert  <eggert@twinsun.com>
47006
47007         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
47008         * lib/obstack.c [!defined _LIBC]: Likewise.
47009         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
47010         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
47011         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
47012
47013         More changes to assume C89 or better.
47014
47015         * lib/error.c (error_tail): Assume vprintf.
47016
47017         * lib/argmatch.c (getenv): Remove decl.
47018         * lib/progreloc.c (get_full_program_name): Define via prototype.
47019         * lib/setenv.c (clearenv): Likewise.
47020         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
47021         needed.
47022         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
47023         (malloc, memcpy): Remove decls.
47024         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
47025         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
47026         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
47027         (memcpy): Remove macro.
47028         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
47029         (__P): Remove.  All uses removed.
47030         (PTR): Remove.  All uses changed to void *.
47031         (CHAR_BIT, NULL): Remove.
47032         (spaces, zeros, memset_space, memset_zero)
47033         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
47034         Remove.
47035         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
47036         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
47037         Define with prototype.
47038         Remove now-unnecessary prototype decl.
47039         (extra_args_spec): Assume ANSI C.  All uses changed.
47040         (extra_args_spec_iso): Remove.
47041         (my_strftime, emacs_strftimeu): Define via prototype.
47042         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
47043         unconditionally.
47044         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
47045         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
47046         (strtoul, strtol): Remove decls.
47047         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
47048         LONG_MAX): Remove.
47049         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
47050         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
47051         (LOCALE_PARAM_PROTO): New macro.
47052         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
47053         (INTERNAL (strtol), strtol): Define with a prototype.
47054         (PARAMS): Remove.  All uses removed.
47055         * lib/tempname.c: Include <string.h> unconditionally.
47056         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
47057         * lib/xgethostname.c (main): Define with a prototype.
47058         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
47059         Include <stdlib.h> unconditionally.
47060         (calloc, malloc, realloc, free): Remove decls.
47061         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
47062         Include <stdlib.h> unconditionally.  Sort include file names.
47063         (strtod): Remove.
47064         (xstrtod): Define with a prototype.
47065         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
47066         (strtol, strtoul): Remove decls.
47067
47068 2003-09-11  Paul Eggert  <eggert@twinsun.com>
47069
47070         More patches to assume C89 or better.
47071         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
47072         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
47073         string.h, memchr, STDC_HEADERS.
47074
47075 2003-09-11  Paul Eggert  <eggert@twinsun.com>
47076
47077         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
47078         Include <stdlib.h>, <string.h> unconditionally.
47079         Remove now-unnecessary cast to char *.
47080         * lib/strnlen.c: Include <string.h> unconditionally.
47081         * lib/yesno.c (yesno): Define with a prototype.
47082
47083 2003-09-11  Bruno Haible  <bruno@clisp.org>
47084
47085         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
47086
47087 2003-09-10  Jim Meyering  <jim@meyering.net>
47088
47089         * lib/error.c: Correct indentation of cpp directives.
47090
47091 2003-09-10  Bruno Haible  <bruno@clisp.org>
47092
47093         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
47094         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
47095         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
47096         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
47097         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
47098         <stdlib.h> and <string.h> checks.
47099         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
47100         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
47101
47102 2003-09-10  Bruno Haible  <bruno@clisp.org>
47103
47104         * lib/strcspn.c: Include <string.h> unconditionally.
47105         * lib/strpbrk.c: Include <string.h> unconditionally.
47106         * lib/strstr.c: Include <string.h> unconditionally.
47107         * lib/unicodeio.c: Include <string.h> unconditionally.
47108         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
47109         * lib/unsetenv.c: Likewise.
47110         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
47111         * lib/yesno.c: Include <stdlib.h> unconditionally.
47112         (rpmatch): Add prototype.
47113
47114 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47115
47116         More patches to assume C89 or better.
47117         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
47118         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
47119         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
47120         or for string.h.
47121         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
47122         stdlib.h.
47123         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
47124         C headers.
47125         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
47126         string.h.
47127         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
47128         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
47129         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
47130         or for string.h.
47131         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
47132         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
47133         C headers.
47134         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
47135         memcpy.
47136         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
47137         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
47138         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
47139         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
47140         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
47141         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
47142         string.h, free.
47143         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
47144         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
47145         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
47146         C headers, or for string.h.
47147         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
47148         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
47149         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
47150         headers, memory.h, stdlib.h, string.h, strings.h.
47151         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
47152         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
47153         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
47154         strchr.
47155         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
47156         headers, memory.h, string.h.
47157         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
47158         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
47159         free.
47160         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
47161         headers.
47162         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
47163         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
47164         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
47165         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
47166         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
47167
47168 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47169
47170         More K&R removal.
47171
47172         * lib/acosl.c (main): Use a prototype.
47173         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
47174         tanl.c: Likewise.
47175
47176         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
47177
47178         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
47179         (getopt, etopt_long, getopt_long_only, _getopt_internal)
47180         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
47181         with a prototype.
47182         * lib/getopt.c (const): Remove macro.
47183         Include <string.h> unconditionally.
47184         (my_index): Remove; all uses changed to strchr.
47185         (strlen): Remove decl.
47186         (exchange): Remove forward decl; no longer needed.
47187         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
47188         Define with prototype.
47189         * lib/getopt1.c (const): Remove macro.
47190         (getopt_long, getopt_long_only, main): Define with prototype.
47191
47192         * lib/getugroups.c: Include <string.h> unconditionally.
47193
47194         * lib/getusershell.c: Include <stdlib.h> unconditionally.
47195         (getusershell, setusershell, endusershell, readname, main):
47196         Define with prototypes.
47197
47198         * lib/group-member.c: Include group-member.h first.
47199         Include <stdlib.h> unconditionally.
47200
47201         * lib/hard-locale.c: Include hard-locale.h first.
47202         Include <stdlib.h>, <string.h> unconditionally.
47203
47204         * lib/hash.c (free, malloc): Remove decls.
47205         Include <stdlib.h> unconditionally.
47206
47207         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
47208         (getenv): Do not declare.
47209
47210         * lib/idcache.c: Include <string.h> unconditionally.
47211
47212         * lib/long-options.c: Include long-options.h first, to test interface.
47213         Include <stdlib.h> unconditionally.
47214
47215         * lib/makepath.c: Include makepath.h first, to test interface.
47216         Include <stdlib.h> and <string.h> unconditionally.
47217
47218         * lib/linebuffer.c: Include <stdlib.h>.
47219         (free): Remove decl.
47220
47221         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
47222         stddef.h. rpl_malloc returns void *, not char *.
47223         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
47224         prototype.
47225
47226         * lib/md5.h: Include <limits.h> unconditionally.
47227         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
47228         (__P): Remove; all uses removed.
47229         * lib/md5.c: Include "md5.h" first.
47230         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
47231         md5_buffer, md5_process_bytes, md5_process_block):
47232         Define with prototypes.
47233         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
47234         * lib/sha.c: Include "sha.h" first.
47235         Include <stdlib.h>, <string.h> unconditionally.
47236
47237         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
47238         * lib/memcmp.c (__ptr_t): Likewise.
47239         * lib/memrchr.c (__ptr_t): Likewise.
47240         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
47241         Include <string.h> unconditionally.
47242         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
47243         * lib/memchr.c: Include <stdlib.h> unconditionally.
47244         * lib/memchr.c (LONG_MAX): Remove.
47245         * lib/memrchr.c (LONG_MAX): Likewise.
47246         * lib/memchr.c (__memchr): Define via a prototype.
47247         * lib/memrchr.c (__memrchr): Likewise.
47248         * lib/memcmp.c (__P): Remove, and remove all uses.
47249         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
47250         Remove forward decls; no longer needed.
47251         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
47252         Use types required by C89 in prototype.
47253
47254         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
47255         * lib/savedir.c: Likewise.
47256         * lib/mkdir.c (free): Remove decl.
47257         * lib/rmdir.c (rmdir): Define with a prototype.
47258         * lib/savedir.c: Include savedir.h first, to test interface.
47259
47260         * lib/mktime.c (STDC_HEADERS): Remove.
47261         Include <stdlib.h>, <string.h> unconditionally.
47262
47263         * lib/modechange.c: Include <stdlib.h> unconditionally.
47264         (malloc): Remove decl.
47265
47266         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
47267         (free): Remove decl.
47268
47269         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
47270         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
47271         (This type really should be intptr_t, but that's a C99ism.)
47272         (_obstack_memcpy): Remove: all uses changed to memcpy.
47273         Include <string.h> unconditionally.
47274         (struct obstack): Assume __STDC__ for types of members
47275         chunkfun, freefun, extra_arg.
47276         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
47277         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
47278         obstack_begin, obstack_specify_allocation,
47279         obstack_specify_allocation_with_arg, obstack_chunkfun,
47280         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
47281         Remove unprototyped decls and the macros that use them.
47282         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
47283         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
47284         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
47285         (defined __STDC__ && __STDC__)]:
47286         Remove nonprototyped code.
47287         Include <stdlib.h> unconditionally.
47288         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
47289         _obstack_allocated_p, _obstack_free, obstack_free,
47290         _obstack_memory_used, print_and_abort):
47291         Define using prototypes.
47292         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
47293         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
47294         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
47295         obstack_next_free, obstack_object_size, obstack_room) [0]:
47296         Remove unused, unprototyped code.
47297
47298         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
47299
47300         * lib/physmem.c (physmem_total, physmem_available, main): Define
47301         with prototypes.
47302
47303         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
47304         (main): Define with a prototype.
47305
47306         * lib/posixver.c (getenv): Remove decl.
47307
47308         * lib/putenv.c (malloc): Returns void *, not char *.
47309         Include <string.h> unconditionally.
47310         (strchr, memcpy, NULL): Do not define.
47311
47312         * lib/readtokens.c: Include readtokens.h first, to test interface.
47313         Include <stdlib.h>, <string.h> unconditionally.
47314         (init_tokenbuffer): Define with a prototype.
47315
47316         * lib/regex.c (PARAMS): Remove.  All uses removed.
47317         All uses of _RE_ARGS removed, too.
47318         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
47319         unconditionally.
47320         (bzero): Assume memset exists.
47321         (memcmp, memcpy, NULL): Remove.
47322         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
47323         char, or assignments to local vars of type signed char.
47324         (init_syntax_once, PREFIX(extract_number_and_incr),
47325         PREFIX(print_partial_compiled_pattern),
47326         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
47327         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
47328         PREFIX(regex_grow_registers), PREFIX(regex_compile),
47329         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
47330         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
47331         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
47332         wcs_compile_range, byte_compile_range, truncate_wchar,
47333         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
47334         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
47335         count_mbs_length, wcs_re_match_2_internal,
47336         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
47337         PREFIX(alt_match_null_string_p),
47338         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
47339         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
47340         regfree, PREFIX(extract_number)): Define with prototype.  Remove
47341         now-unnecessary declaration, if any.
47342         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
47343         regcomp, regexec):
47344         Remove now-unnecessary casts among pointer types.
47345         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
47346
47347         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
47348         (free): Remove decl.
47349
47350         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
47351
47352         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
47353         (free): Remove decl.
47354
47355         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
47356         * lib/xgetcwd.c: Likewise.
47357
47358         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
47359         (free): Remove decl.
47360
47361         * lib/strchrnul.c (strchrnul): Define with a prototype.
47362         Fix bug: c_in was not converted to char before searching.
47363
47364         The following changes are not K&R related:
47365
47366         * lib/group-member.h: Include <sys/types.h>, so that this file is
47367         self-contained.
47368         * lib/makepath.h: Likewise.
47369
47370         * lib/getusershell.c (readname, default_index, line_size, readname):
47371         Use size_t, not int, for sizes.
47372         (readname): If the size overflows, report an error instead of
47373         looping forever.
47374
47375 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47376
47377         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
47378         libc.
47379
47380 2003-09-09  Paul Eggert  <eggert@twinsun.com>
47381
47382         * README: New section: portability guidelines.
47383
47384 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
47385
47386         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
47387         C89 spec.
47388
47389 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
47390
47391         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
47392
47393 2003-09-08  Paul Eggert  <eggert@twinsun.com>
47394
47395         Assume C89 or better; remove K&R cruft.
47396         A few of these changes were first proposed by Derek Robert Price
47397         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
47398
47399         * lib/addext.c: Include <string.h> unconditionally.
47400         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
47401         Don't declare getenv or malloc.
47402
47403         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
47404         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
47405         (NULL): Remove.
47406         (find_stack_direction, alloca): Use prototypes.
47407
47408         * lib/atexit.c (atexit): Define using a prototype.
47409
47410         * lib/basename.c, dirname.c, stripslash.c:
47411         Include <string.h> unconditionally.
47412
47413         * lib/bcopy.c: Include <stddef.h>.
47414         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
47415
47416         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
47417
47418         * lib/error.h (error, error_at_line, error_print_progname)
47419         [! (defined (__STDC__) && __STDC__)]: Remove decls.
47420         * lib/error.c: Include error.h first, to check interface.
47421         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
47422         (VA_START): Remove; all uses changeed to va_start.
47423         (exit, strerror): Remove decls.
47424         (error_print_progname): Prototype uncondionally.
47425         Don't include <errno.h>; no longer needed.
47426         (private_strerror): Remove.
47427         (error_tail): Always define.
47428         (error, error_at_line): Assume C89 or better; always use prototypes.
47429         * lib/fatal.c: Include "fatal.h" first, to test interface.
47430         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
47431         (VA_START): Remove; all uses changed to va_start.
47432         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
47433         this case.
47434         (exit): Remove decl.
47435         (fatal): Prototype unconditionally.  Assume va_start works.
47436         Abort at end, to pacify gcc.
47437
47438         * lib/euidaccess.c (main): Define with a prototype.
47439
47440         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
47441
47442         * lib/exitfail.c: Include <stdlib.h> unconditionally.
47443
47444         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
47445         prototypes.
47446         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
47447         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
47448         (getenv): Remove decl.
47449         (fnmatch): Define using a prototype.
47450         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
47451         (FCT): Define using a prototype.
47452
47453         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
47454
47455         * lib/gethostname.c: Include <stddef.h>.
47456         (gethostname): Define with prototype.  Length is size_t, not int.
47457
47458 2003-09-08  Paul Eggert  <eggert@twinsun.com>
47459
47460         Assume C89 or better; remove K&R cruft.
47461         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
47462         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
47463         string.h, getenv, malloc.
47464         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
47465         headers.
47466         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
47467         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
47468         do not check for strerror.
47469         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
47470         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
47471         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
47472         do not check for doprnt or vprintf.
47473         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
47474         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
47475
47476 2003-09-08  Paul Eggert  <eggert@twinsun.com>
47477
47478         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
47479         getversion.c should have been removed then, but was accidentally
47480         preserved.
47481
47482         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
47483         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
47484
47485 2003-09-08  Karl Berry  <karl@gnu.org>
47486
47487         * config/config.sub, config.guess, srclistvars.sh: update from savannah
47488                 config, forget about prep.
47489
47490         * config/depcomp, missing: update from automake.
47491
47492 2003-09-07  Paul Eggert  <eggert@twinsun.com>
47493
47494         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
47495         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
47496
47497 2003-09-07  Paul Eggert  <eggert@twinsun.com>
47498
47499         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
47500         copy_tm_result.  Bug reported by Simon Josefsson in
47501         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
47502
47503 2003-09-06  Paul Eggert  <eggert@twinsun.com>
47504
47505         * m4/time_r.m4: New file.
47506         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
47507         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
47508         is. Check for timegm declaration.
47509         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
47510         Do not check for gmtime_r.
47511         Replace mktime if __mktime_internal does not exist and if mktime
47512         hasn't been replaced already.
47513
47514 2003-09-06  Paul Eggert  <eggert@twinsun.com>
47515
47516         * lib/time_r.c, lib/time_r.h: New files.
47517
47518         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
47519         __localtime_r.
47520         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
47521         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
47522
47523         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
47524         __gmtime_r.
47525         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
47526         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
47527         Include <time_r.h>.
47528
47529         * lib/timegm.c: Switch to glibc implementation, with the following
47530         changes:
47531         [defined HAVE_CONFIG_H]: Include <config.h>.
47532         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
47533         (__mktime_internal) [!defined _LIBC]: New decl.
47534         (__gmtime_r) [!defined _LIBC]: New macro and function.
47535         (timegm): Use a prototype, since gnulib assumes C89.
47536         Do not bother declaring tmp to be const, as it's not really usefu.
47537         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
47538         (timegm): Declare only if HAVE_DECL_TIMEGM.
47539
47540 2003-09-06  Paul Eggert  <eggert@twinsun.com>
47541
47542         * MODULES.html.sh (func_all_modules): Add time_r.
47543         * modules/time_r: New file.
47544         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
47545         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
47546
47547 2003-09-03  Paul Eggert  <eggert@twinsun.com>
47548
47549         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
47550         Bug reported by Lute Kamstra in
47551         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
47552
47553         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
47554         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
47555         course with correspondingly smaller numbers for tomorrow and
47556         yesterday.  From Tadayoshi Funaba.  Originally installed into
47557         sh-utils on 1999-08-07, but the patch got lost (I guess during the
47558         coreutils merge?).
47559
47560 2003-08-31  Simon Josefsson  <jas@extundo.com>
47561
47562         * modules/timegm: New file.
47563         * MODULES.html.sh (func_all_modules): Add timegm.
47564
47565 2003-08-31  Simon Josefsson  <jas@extundo.com>
47566
47567         * m4/timegm.m4: New file.
47568
47569 2003-08-31  Simon Josefsson  <jas@extundo.com>
47570
47571         * lib/timegm.h: New file.
47572         * lib/timegm.c: New file.  Based on
47573         wget-1.8.2/src/http.c:mktime_from_utc.
47574
47575 2003-08-31  Karl Berry  <karl@gnu.org>
47576
47577         * lib/argp.h: update from libc.
47578
47579 2003-08-28  Bruno Haible  <bruno@clisp.org>
47580
47581         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
47582         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
47583         followed by '#define fnmatch fnmatch_posix' gives an error.
47584
47585 2003-08-28  Bruno Haible  <bruno@clisp.org>
47586
47587         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
47588         warning on QNX, which defines O_BINARY to 000000.
47589
47590 2003-08-27  Jim Meyering  <jim@meyering.net>
47591
47592         * m4/mkstemp.m4: Require that the system mkstemp be able to create
47593         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
47594         would fail after 32.  Reported by Danny Levinson.  Details here:
47595         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
47596
47597 2003-08-24  Bruno Haible  <bruno@clisp.org>
47598
47599         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
47600         MSVC7 <stdio.h> is included later.
47601
47602 2003-08-22  Simon Josefsson  <jas@extundo.com>
47603
47604         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
47605
47606 2003-08-20  Karl Berry  <karl@gnu.org>
47607
47608         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
47609
47610 2003-08-20  Bruno Haible  <bruno@clisp.org>
47611
47612         * modules/progname: New file.
47613         * MODULES.html.sh (func_all_modules): Add progname.
47614
47615 2003-08-20  Bruno Haible  <bruno@clisp.org>
47616
47617         * lib/progname.h: New file, from GNU gettext.
47618         * lib/progname.c: New file, from GNU gettext.
47619         * lib/progreloc.c: New file, from GNU gettext.
47620
47621 2003-08-19  Jim Meyering  <jim@meyering.net>
47622
47623         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
47624         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
47625
47626 2003-08-19  Bruno Haible  <bruno@clisp.org>
47627
47628         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
47629         more.
47630
47631 2003-08-19  Bruno Haible  <bruno@clisp.org>
47632
47633         * lib/xstrdup.c: Assume <string.h> exists.
47634
47635 2003-08-18  Paul Eggert  <eggert@twinsun.com>
47636
47637         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
47638         in makefile rules.
47639
47640 2003-08-18  Jim Meyering  <jim@meyering.net>
47641
47642         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
47643         * m4/lib-ld.m4: Likewise.
47644
47645 2003-08-18  Jim Meyering  <jim@meyering.net>
47646
47647         * lib/setenv.h: Indent nested cpp directive.
47648         * lib/vasnprintf.c: Remove trailing blanks.
47649
47650 2003-08-17  Simon Josefsson  <jas@extundo.com>
47651
47652         * modules/xstrndup: New file.
47653         * MODULES.html.sh (func_all_modules): Add xstrndup.
47654
47655 2003-08-17  Simon Josefsson  <jas@extundo.com>
47656
47657         * modules/argp: Fix autoconf macro name. Add more dependencies.
47658
47659 2003-08-17  Simon Josefsson  <jas@extundo.com>
47660
47661         * m4/xstrndup.m4: New file.
47662
47663 2003-08-17  Simon Josefsson  <jas@extundo.com>
47664
47665         * m4/argp.m4: New file.
47666
47667 2003-08-17  Simon Josefsson  <jas@extundo.com>
47668             Bruno Haible  <bruno@clisp.org>
47669
47670         * lib/xstrndup.h: New file.
47671         * lib/xstrndup.c: New file.
47672
47673 2003-08-17  Bruno Haible  <bruno@clisp.org>
47674
47675         * modules/strndup (Files, Include): Add lib/strndup.h.
47676
47677 2003-08-17  Bruno Haible  <bruno@clisp.org>
47678
47679         * modules/euidaccess (Files): Add lib/euidaccess.h.
47680
47681 2003-08-17  Bruno Haible  <bruno@clisp.org>
47682
47683         * lib/strndup.h: New file.
47684
47685 2003-08-17  Bruno Haible  <bruno@clisp.org>
47686
47687         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
47688         like AC_GNU_SOURCE.
47689         * modules/extensions (configure.ac): Comment out the invocation of
47690         gl_USE_SYSTEM_EXTENSIONS.
47691
47692 2003-08-16  Paul Eggert  <eggert@twinsun.com>
47693
47694         Merges from coreutils, etc.
47695         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
47696         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
47697         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
47698         fixing a typo.
47699         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
47700         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
47701
47702 2003-08-16  Paul Eggert  <eggert@twinsun.com>
47703
47704         Document merge from coreutils.
47705         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
47706         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
47707         * modules/utime: Add m4/utimes-null.m4.
47708
47709 2003-08-16  Paul Eggert  <eggert@twinsun.com>
47710
47711         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
47712         space, undoing this 2003-08-12 change:
47713         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
47714
47715 2003-08-16  Paul Eggert  <eggert@twinsun.com>
47716
47717         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
47718         strtoul.c from libc, undoing this 2003-08-12 change:
47719         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
47720
47721 2003-08-16  Jim Meyering  <jim@meyering.net>
47722
47723         Merges from coreutils.
47724         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
47725         prefix.  Adjust cache variables similarly.  Create 500 rather than
47726         just 300 files, to exercise bug on Darwin6.5, too.
47727         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
47728         $missing_dir.
47729         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
47730         AM_SYS_POSIX_TERMIOS.
47731         Reported by mkc@mathdogs.com.
47732         Also change use of $am_cv_sys_posix_termios
47733         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
47734         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
47735         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
47736         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
47737         in /proc/mounts until it finds one with matching device number.  This
47738         is unnecessary when the FILE argument *is* a mount point.  No stat call
47739         is necessary in that case.  So, disable the statvfs-testing code on
47740         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
47741         as RedHat bug# 84846.
47742         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
47743         to 1MB, so as not to render systems with no stack size limit (e.g.,
47744         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
47745         Include <unistd.h>.  On some systems,
47746         it is required for the definition of _SC_PAGESIZE.
47747
47748 2003-08-16  Jim Meyering  <jim@meyering.net>
47749
47750         Merge from coreutils.
47751         * lib/xstrtoimax.c: #else #if -> #elif.
47752         * lib/xstrtoumax.c: Likewise.
47753
47754 2003-08-16  Jim Meyering  <jim@meyering.net>
47755
47756         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
47757         * m4/utimes.m4: Removed.
47758         * m4/utimes-null.m4: Renamed from utimes.m4.
47759
47760         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
47761         to 1MB, so as not to render systems with no stack size limit (e.g.,
47762         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
47763         Include <unistd.h>.  On some systems,
47764         it is required for the definition of _SC_PAGESIZE.
47765
47766 2003-08-16  Jim Meyering  <jim@meyering.net>
47767         and Paul Eggert  <eggert@cs.ucla.edu>
47768
47769         Merges from coreutils, etc.
47770
47771         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
47772         using the latest version from cvs.  This avoids problems with #line
47773         directives using a vendor (Sun) compiler.
47774         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
47775         Don't set GETGROUPS_LIB here; now it's
47776         done via getgroups.m4's wrapper function.
47777         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
47778         rather than just in sh-util/configure.in, so that the
47779         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
47780         same.
47781         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
47782         AC_FUNC_GETLOADAVG where to find getloadavg.c.
47783         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
47784         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
47785         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
47786         Remove code that is now done by the newly-required macros.
47787         Append $(EXEEXT) to DF_PROG.
47788         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
47789         Do not invoke or require the following here,
47790         since prereq.m4 or some gnulib .m4 now does this for us:
47791         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
47792         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
47793         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
47794         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
47795         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
47796         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
47797         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
47798         AC_FUNC_OBSTACK.
47799         Do not replace the following functions, as this is now the job
47800         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
47801         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
47802         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
47803         atexit getpass, strdup, getpagesize.
47804         Replace 'raise'.
47805         Do not check for the following functions, as this is now the job
47806         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
47807         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
47808         setregid.
47809         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
47810         Check for sys/sysctl.h.
47811         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
47812         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
47813         of checking for ssize_t ourselves.
47814
47815         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
47816         Require every macro that gnulib/modules/* suggests for us.
47817         (jm_PREREQ_ADDEXT): New macro.
47818         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
47819         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
47820
47821         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
47822         (gl_PHYSMEM): Use it.
47823         Also check for `table' function.
47824         Check for new headers and functions.
47825         Add check for sys/sysmp.h.
47826         With suggestions from Kaveh Ghazi.
47827         Ignore headers that are present but cannot be compiled.  This
47828         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
47829         C 5.4.
47830
47831 2003-08-15  Paul Eggert  <eggert@twinsun.com>
47832
47833         Document merge from coreutils.
47834         * modules/userspec: Depend on posixver.
47835         * modules/strftime: Depend on tzset.
47836
47837 2003-08-15  Paul Eggert  <eggert@twinsun.com>
47838
47839         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
47840         rather than tab, after '#' in shell-script copyright notices.
47841         Suggested by Bruno Haible.
47842
47843 2003-08-15  Paul Eggert  <eggert@twinsun.com>
47844
47845         * config/srclist-update: Use three spaces, rather than tab, after '#'
47846         in shell-script copyright notices.  Suggested by Bruno Haible.
47847         Remove unnecessary parenthesization in regular expression.
47848
47849 2003-08-15  Jim Meyering  <jim@meyering.net>
47850
47851         Merge from coreutils.
47852         * lib/xgethostname.c: Include <stdlib.h>.
47853         (xghostname): Don't exit for anything other than memory-related
47854         failure; just return NULL.
47855         * lib/userspec.c: Include "posixver.h".
47856         (parse_user_spec): Accept `.' as a separator only
47857         in pre-POSIX-200112 mode.
47858         * lib/strtoimax.c: Use #elif rather than #else #if.
47859         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
47860         Remove function, now that we can rely on a working tzset function.
47861         [!_LIBC]: Ensure that the required autoconf test has been run.
47862         [!defined _NL_CURRENT && HAVE_STRFTIME]:
47863         Use underlying_strftime for %r.
47864         * lib/sha.c: Merge in some clean-up and optimization changes from
47865         glibc.
47866         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
47867         Ensure that it is a multiple of 64.
47868         Rearrange loop exit tests so as to avoid performing an
47869         additional fread after encountering an error or EOF.
47870         * lib/realloc.c: Update copyright date.
47871
47872 2003-08-15  Jim Meyering  <jim@meyering.net>
47873         and Paul Eggert  <eggert@twinsun.com>
47874
47875         Merge from coreutils.
47876         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
47877         member but strut utmpx does not.  Needed for AIX 4.3.3.
47878         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
47879
47880 2003-08-15  Jim Meyering  <jim@meyering.net>
47881         and Paul Eggert  <eggert@cs.ucla.edu>
47882
47883         Merges from coreutils, etc.
47884         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
47885         Require gl_FUNC_TZSET_CLOBBER.
47886         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
47887         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
47888         members.
47889
47890 2003-08-14  Paul Eggert  <eggert@twinsun.com>
47891
47892         Help the merge from coreutils.
47893         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
47894         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
47895         * m4/tzset.m4: Use it too.
47896
47897 2003-08-14  Paul Eggert  <eggert@twinsun.com>
47898
47899         * modules/tzset: New file.
47900
47901 2003-08-14  Jim Meyering  <jim@meyering.net>
47902
47903         Merges from coreutils.
47904         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
47905         variable names, rather than @FNMATCH_H@.
47906         * modules/alloca: Likewise for $(ALLOCA_H).
47907
47908         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
47909         the three copies of the literal target, `fnmatch.h'.
47910         * modules/alloca (alloca.h): Likewise.
47911
47912 2003-08-14  Jim Meyering  <jim@meyering.net>
47913
47914         Merge from coreutils.
47915         * m4/tzset.m4: New file.
47916         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
47917         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
47918         otherwise, AIX 5.1 systems would end up using the latter.
47919         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
47920         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
47921         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
47922         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
47923
47924 2003-08-14  Jim Meyering  <jim@meyering.net>
47925
47926         Merge from coreutils.
47927         * lib/obstack.h: Whitespace changes.
47928         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
47929         and xcalloc return values.
47930         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
47931         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
47932         hang on OSF/1 5.1 for DIR on both local and remote file systems.
47933         Reported by (and fix confirmed by) Nelson H. F. Beebe.
47934         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
47935         error from mntctl.
47936         Use mntctl's return value to drive the entry-processing loop, since
47937         we can't rely on the value of the vmt_length member in the last
47938         entry.  On some systems doing so could result in exhausting
47939         virtual memory.  Based in part on a patch from Mike Jetzer.
47940
47941 2003-08-14  Jim Meyering  <jim@meyering.net>
47942         and Paul Eggert  <eggert@twinsun.com>
47943
47944         Merges from coreutils, plus other fixes.
47945         * lib/physmem.c: Merge in portability changes from gcc/libiberty
47946         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
47947         for credits and details.  Thanks to Kaveh Ghazi for helping
47948         to keep these files in sync.
47949         (ARRAY_SIZE): Define it.
47950         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
47951         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
47952         (memcasecmp): Don't assume size_t fits in unsigned int.
47953         Remove casts and duplicate code.
47954         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
47955         (memcpy): Remove definition.
47956         Merge in some clean-up and optimization changes from glibc.
47957         [BLOCKSIZE]: Move definition to top of file.
47958         Ensure that it is a multiple of 64.
47959         Rearrange loop exit tests so as to avoid performing an
47960         additional fread after encountering an error or EOF.
47961         * lib/md5.h (md5_uintptr): Define.
47962         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
47963         return to the initial working directory.  Preserve errno
47964         for caller.
47965         * lib/idcache.c: Include "xalloc.h".
47966         (xmalloc, xrealloc): Remove decls.
47967         (getuser): Remove casts no longer required in C89.
47968         * lib/human.c: Include stdio.h, for sprintf.
47969         * lib/group-member.c: Include "xalloc.h".
47970         (xmalloc, xrealloc): Remove decls.
47971         (get_group_info): Remove casts no longer required in C89.
47972         * lib/getusershell.c (readname): Remove casts no longer required in
47973         C89.
47974         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
47975         * lib/getline.c: Whitespace fix, from coreutils.
47976
47977 2003-08-13  Paul Eggert  <eggert@twinsun.com>
47978
47979         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
47980         Check for isascii.
47981
47982         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
47983         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
47984         Undo previous (whitespace-only) change.
47985
47986 2003-08-13  Paul Eggert  <eggert@twinsun.com>
47987
47988         * lib/exclude.c: Include <ctype.h>
47989         (IN_CTYPE_DOMAIN): New macro.
47990         (is_space): New fn.
47991         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
47992         and empty lines.
47993
47994         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
47995         Undo previous (whitespace-only) change.
47996
47997 2003-08-13  Paul Eggert  <eggert@twinsun.com>
47998
47999         * config/srclist-update: Change update back to the old behavior,
48000         leaving whitespace alone.  Use one 'sed' command rather than a
48001         pipeline.
48002         (fixlicense): Now a variable, not a function.
48003         (remove_trailing_blanks): Remove.
48004         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
48005         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
48006         Undo previous (whitespace-only) change.
48007
48008 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48009
48010         Merge from coreutils.
48011         * modules/euidaccess: Add lib_SOURCES, include for new
48012         file euidaccess.h
48013
48014 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48015
48016         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
48017         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
48018         Normalize leading white space and remove trailing white space.
48019
48020         Merge from coreutils
48021         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
48022
48023         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
48024         0.12.1.  These files are now being upgraded automatically by
48025         ../config/srclist-update.
48026
48027 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48028
48029         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
48030         Normalize leading white space and remove trailing white space.
48031         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
48032         notice, as per ../config/srclist-update.
48033
48034         Merge from coreutils.
48035         * lib/euidaccess.h: New file.
48036         * lib/euidaccess.c: Include it.
48037         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
48038         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
48039         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
48040
48041 2003-08-12  Paul Eggert  <eggert@twinsun.com>
48042
48043         * config/srclist-update: Add copyright notice.
48044         (remove_id_lines, remove_trailing_blanks): New constants.
48045         (fixfile): Use them to normalize spacing a bit in copied files.
48046         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
48047         Normalize leading white space and remove trailing white space.
48048
48049         * config/texinfo.tex: Sync with texinfo.
48050
48051         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
48052         strtoul.c from libc, to merge coreutils whitespace changes.
48053
48054         * config/srclist.txt: Get the following m4 files from gettext:
48055         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
48056         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
48057         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
48058         wint_t.m4.
48059
48060 2003-08-12  Karl Berry  <karl@gnu.org>
48061
48062         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
48063         been made.
48064
48065 2003-08-11  Paul Eggert  <eggert@twinsun.com>
48066
48067         * modules/gnu-source, m4/gnu-source.m4:
48068         Remove; we're assuming Autoconf 2.54 or later now.
48069         Suggested by Bruno Haible.
48070         * MODULES.html.sh (func_all_modules): Remove gnu-source.
48071
48072 2003-08-11  Bruno Haible  <bruno@clisp.org>
48073
48074         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
48075
48076 2003-08-11  Bruno Haible  <bruno@clisp.org>
48077
48078         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
48079         (vasnprintf): Use it instead of wcslen.
48080
48081 2003-08-11  Bruno Haible  <bruno@clisp.org>
48082
48083         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
48084         value to ensure that _Bool promotes to int. Use #define for _Bool when
48085         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
48086
48087 2003-08-10  Karl Berry  <karl@gnu.org>
48088
48089         * lib/regex.h: update from libc (whitespace fix).
48090
48091 2003-08-09  Paul Eggert  <eggert@twinsun.com>
48092
48093         Merge some files from coreutils.  These changes were
48094         originally made by Jim Meyering.
48095         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
48096         many older Unixes require this.
48097         * lib/alloca.c (alloca): Remove cast to argument of free;
48098         no longer needed in C89.
48099         * lib/alloca_.h, regex.h: Fix white space to match
48100         what GNU indent does.
48101
48102 2003-08-09  Paul Eggert  <eggert@twinsun.com>
48103
48104         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
48105         apparently Emacs's Unicode mode got confused before my 2003-08-05
48106         checkin.
48107
48108 2003-08-08  Paul Eggert  <eggert@twinsun.com>
48109
48110         * m4/extensions.m4: New file.
48111         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
48112         Require gl_USE_SYSTEM_EXTENSIONS.
48113         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
48114         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
48115
48116 2003-08-08  Paul Eggert  <eggert@twinsun.com>
48117
48118         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
48119         * modules/extensions, modules/gnu-source: New files.
48120         * modules/timespec, modules/unlocked-io: Depend on extensions.
48121
48122 2003-08-07  Paul Eggert  <eggert@twinsun.com>
48123
48124         * modules/restrict: New file.
48125         * MODULES.html.sh (func_all_modules): Add restrict.
48126         * modules/regex: Depend on restrict.
48127
48128 2003-08-07  Paul Eggert  <eggert@twinsun.com>
48129
48130         * m4/restrict.m4: New file.
48131         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
48132
48133 2003-08-07  Bruno Haible  <bruno@clisp.org>
48134
48135         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
48136         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
48137
48138 2003-08-07  Bruno Haible  <bruno@clisp.org>
48139
48140         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
48141         makes the module 'getndelim2' compatible with the module 'getline'.
48142
48143 2003-08-05  Paul Eggert  <eggert@twinsun.com>
48144
48145         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
48146         byte with "\201" to avoid glitches when editing that source file
48147         with multi-gnome-terminal.
48148
48149 2003-08-05  Paul Eggert  <eggert@twinsun.com>
48150
48151         * lib/bumpalloc.h: Remove.
48152
48153 2003-08-05  Paul Eggert  <eggert@twinsun.com>
48154
48155         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
48156         * modules/bumpalloc: Remove.
48157
48158 2003-08-04  Paul Eggert  <eggert@twinsun.com>
48159
48160         * lib/getloadavg.c: Change copyright notice and spacing to conform to
48161         GNU coding style.
48162
48163         Merge from coreutils.
48164         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
48165         1. From glibc.
48166         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
48167         from Karl Berry, implemented by Jim Meyering.
48168         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
48169         from Dmitry V. Levin.
48170         Remove anachronistic cast of xrealloc.
48171         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
48172         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
48173         type. Otherwise, it wouldn't compile with at least /bin/cc on
48174         ymp-cray-unicos9.0.2.X.
48175         Combine two mostly-identical uses of alloca into one.
48176         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
48177
48178 2003-08-04  Dave Love  <d.love@dl.ac.uk>
48179
48180         [From Emacs.]
48181
48182         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
48183         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
48184         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
48185         obsolete NLIST_NAME_UNION.
48186         [__GNU__]: Undef BSD and FSCALE.
48187         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
48188
48189 2003-08-03  Paul Eggert  <eggert@twinsun.com>
48190
48191         * lib/stdbool_.h (_Bool): Make it signed char, instead of
48192         an enum type, so that it's guaranteed to promote to int.  See:
48193         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
48194
48195 2003-08-03  Karl Berry  <karl@gnu.org>
48196
48197         * config/depcomp: update from automake.
48198
48199 2003-07-31  Paul Eggert  <eggert@twinsun.com>
48200
48201         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
48202         (strerror): Don't assume that a printable int fits in 14 bytes.
48203
48204 2003-07-31  Bruno Haible  <bruno@clisp.org>
48205
48206         * modules/getpass-gnu: New file.
48207         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
48208
48209 2003-07-31  Bruno Haible  <bruno@clisp.org>
48210
48211         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
48212
48213 2003-07-24  Karl Berry  <karl@gnu.org>
48214
48215         * config/missing: update from automake.
48216
48217 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
48218             Bruno Haible  <bruno@clisp.org>
48219
48220         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
48221         * lib/getline.c (getline, getdelim): Likewise.
48222         Remove _GNU_SOURCE define; now it's defined in config.h through
48223         m4/getline.m4.
48224
48225 2003-07-23  Karl Berry  <karl@gnu.org>
48226
48227         * config/config.sub: update from prep.
48228
48229 2003-07-22  Paul Eggert  <eggert@twinsun.com>
48230
48231         * modules/xalloc (Depends-on): Add exitfail.
48232         * modules/xmemcoll: Likewise.
48233
48234 2003-07-22  Paul Eggert  <eggert@twinsun.com>
48235
48236         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
48237         over-parenthesization in macros.
48238
48239         Sync with coreutils.
48240
48241         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
48242         required by C99.
48243
48244         Use `exit_failure' for xalloc and xmemcoll instead of their own
48245         private exit-failure variables.
48246         * lib/xalloc.h (xalloc_exit_failure): Remove.
48247         * lib/xmalloc.c: Likewise.  Include exitfail.h.
48248         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
48249         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
48250         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
48251         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
48252
48253 2003-07-20  Jim Meyering  <jim@meyering.net>
48254
48255         * modules/closeout (Depends-on): Add exitfail.
48256         Suggestion from Bruno Haible.
48257
48258 2003-07-19  Karl Berry  <karl@gnu.org>
48259
48260         * config/config.sub: update from prep.
48261
48262 2003-07-18  Paul Eggert  <eggert@twinsun.com>
48263
48264         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
48265         Remove.
48266         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
48267         to test that it can stand by itself.  Include "exitfail.h".
48268         Clients should set exit_failure instead.
48269         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
48270
48271 2003-07-18  Bruno Haible  <bruno@clisp.org>
48272
48273         * modules/getndelim2: New file.
48274         * modules/getline: Share files with module getndelim2.
48275         * modules/getnline: Depend on getndelim2 instead of sharing files with
48276         it. Add getnline.c to lib_SOURCES.
48277         * MODULES.html.sh (func_all_modules): Add getndelim2.
48278
48279 2003-07-18  Bruno Haible  <bruno@clisp.org>
48280
48281         * m4/getndelim2.m4: New file.
48282         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
48283         invoke gl_PREREQ_GETNDELIM2.
48284         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
48285         gl_PREREQ_GETNDELIM2.
48286         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
48287         gl_GETNDELIM2.
48288
48289 2003-07-18  Bruno Haible  <bruno@clisp.org>
48290
48291         * lib/getndelim2.h: New file.
48292         * lib/getndelim2.c: Make into a module of its own. Include config.h,
48293         getndelim2.h.
48294         (getndelim2): Make non-static. Change return type to ssize_t.
48295         * lib/getline.h: Change argument names.
48296         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
48297         * lib/getnline.c: Include getndelim2.h.
48298
48299 2003-07-18  Andreas Schwab  <schwab@suse.de>
48300
48301         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
48302
48303 2003-07-17  Karl Berry  <karl@gnu.org>
48304
48305         * config/config.sub: update from prep.
48306
48307 2003-07-17  Bruno Haible  <bruno@clisp.org>
48308
48309         * modules/getnline: New file.
48310         * modules/getline: Add lib/getndelim2.c to source file list.
48311         * MODULES.html.sh (func_all_modules): Add getnline.
48312
48313 2003-07-17  Bruno Haible  <bruno@clisp.org>
48314
48315         * m4/getnline.m4: New file.
48316
48317 2003-07-17  Bruno Haible  <bruno@clisp.org>
48318
48319         * m4/Makefile.am.in: Remove file.
48320         * m4/Makefile.am: Remove file.
48321         * m4/Makefile.in: Remove file.
48322
48323 2003-07-17  Bruno Haible  <bruno@clisp.org>
48324
48325         * lib/getnline.h: New file.
48326         * lib/getnline.c: New file.
48327         * lib/getndelim2.c: New file, extracted from getline.c.
48328         (getndelim2): Renamed from getdelim2, with added nmax argument.
48329         * lib/getline.c: Include getndelim2.c.
48330         (getdelim2): Moved out to getndelim2.c.
48331         (getline, getdelim): Update.
48332
48333 2003-07-17  Bruno Haible  <bruno@clisp.org>
48334
48335         * lib/Makefile.am: Remove file.
48336         * lib/Makefile.in: Remove file.
48337
48338 2003-07-17  Bruno Haible  <bruno@clisp.org>
48339
48340         * configure.in: Remove file.
48341         * Makefile.in: Remove file.
48342
48343 2003-07-17  Bruno Haible  <bruno@clisp.org>
48344
48345         * MODULES.html.sh: Put the </BODY> right before </HTML>.
48346
48347 2003-07-16  Karl Berry  <karl@gnu.org>
48348
48349         * config/srclist-update: was running fixlicense twice, which caused
48350                 texinfo.tex to be nullified for some reason.  Simplify,
48351                 $gplsrc is no longer needed as far as I can see?
48352
48353 2003-07-16  Jim Meyering  <jim@meyering.net>
48354
48355         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
48356
48357 2003-07-15  Paul Eggert  <eggert@twinsun.com>
48358
48359         * config/srclist.txt: Get the following files from gettext-runtime/intl
48360         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
48361         ref-del.sin.  From Bruno Haible.
48362         * config/srclist-update (fixfile): Change grep pattern again, since the
48363         previous fix didn't work (there was another trailing $).  Use
48364         '[$]' to escape the $s.
48365
48366 2003-07-15  Karl Berry  <karl@gnu.org>
48367
48368         * lib/vasnprintf.c: update from gettext.
48369
48370 2003-07-15  Karl Berry  <karl@gnu.org>
48371
48372         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
48373         gets expanded when surrounded by '$'.
48374
48375 2003-07-15  Jim Meyering  <jim@meyering.net>
48376
48377         * modules/save-cwd: Don't depend on error.  From Derek Price.
48378
48379 2003-07-15  Jim Meyering  <jim@meyering.net>
48380
48381         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
48382
48383 2003-07-14  Simon Josefsson  <jas@extundo.com>
48384
48385         * modules/mempcpy: New file.
48386         * MODULES.html.sh (func_all_modules): Add mempcpy.
48387
48388 2003-07-14  Simon Josefsson  <jas@extundo.com>
48389
48390         * m4/mempcpy.m4: New file.
48391
48392 2003-07-14  Simon Josefsson  <jas@extundo.com>
48393
48394         * lib/mempcpy.h: New file.
48395         * lib/mempcpy.c: New file.
48396
48397 2003-07-14  Paul Eggert  <eggert@twinsun.com>
48398
48399         * modules/getdate, modules/posixtm: Depend on mktime.
48400
48401 2003-07-14  Paul Eggert  <eggert@twinsun.com>
48402
48403         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
48404         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
48405         unicodeio.c, unicodeio.h, unlocked-io.h:
48406         Switch from LGPL to GPL.
48407
48408 2003-07-14  Paul Eggert  <eggert@twinsun.com>
48409
48410         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
48411         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
48412         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
48413         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
48414         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
48415         updated automatically by ../config/srclist-update.  This changes
48416         their license from LPGL to GPL.
48417
48418 2003-07-14  Paul Eggert  <eggert@twinsun.com>
48419
48420         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
48421         assumed to refer to the root of the most recent stable gettext version.
48422         * config/srclistvars.sh: Add defaults for eggert.
48423         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
48424         Match "This program" as well as "The program".  This is needed
48425         for gettext.
48426
48427 2003-07-14  Jim Meyering  <jim@meyering.net>
48428
48429         Don't emit diagnostics.  Let callers do that.
48430         * lib/save-cwd.c: Don't include "error.h".
48431         (save_cwd): Don't call error.  Ensure that errno is valid
48432         when returning nonzero.
48433
48434         * lib/save-cwd.h (restore_cwd): Update prototype.
48435         * lib/save-cwd.c (restore_cwd): Remove two parameters.
48436         Simplify.  Don't call error upon failure.  Let callers do that.
48437         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
48438         when auditing is enabled.  But don't bother updating the #if.
48439
48440 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
48441
48442         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
48443         it breaks C++ compilation.
48444         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
48445
48446 2003-07-10  Simon Josefsson  <jas@extundo.com>
48447
48448         * modules/strchrnul (Makefile.am): Add strchrnul.h.
48449
48450 2003-07-10  Jim Meyering  <jim@meyering.net>
48451
48452         * m4/clock_time.m4: Remove trailing blank.
48453         * m4/intmax_t.m4: Likewise.
48454
48455 2003-07-10  Jim Meyering  <jim@meyering.net>
48456
48457         * lib/vasnprintf.c: Remove trailing blanks.
48458         Make cpp indentation consistent.
48459
48460 2003-07-09  Paul Eggert  <eggert@twinsun.com>
48461
48462         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
48463         posixver.c, strftime.c, strnlen.c, strverscmp.c:
48464         Switch from LGPL to GPL.
48465
48466 2003-07-09  Paul Eggert  <eggert@twinsun.com>
48467
48468         * config/srclist.txt: Sort sublists.  Add
48469         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
48470         that differ from gnulib for one reason or another; we'd like this list
48471         to be smaller but for now let's document what we have.
48472
48473 2003-07-08  Paul Eggert  <eggert@twinsun.com>
48474
48475         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
48476         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
48477         and sweeter "eval x=$x".
48478         * config/srclist.txt: Get lib/argp* from glibc.
48479
48480 2003-07-07  Paul Eggert  <eggert@twinsun.com>
48481
48482         * lib/mktime.c: Fix some boundary cases and remove need for floating
48483         point.
48484
48485         Issue a compile-time diagnostic if time_t is floating point, or if
48486         two's complement arithmetic is not in effect, or if arithmetic
48487         right shift does not propagate the sign.  These assumptions were
48488         all in the original code but they weren't checked.
48489
48490         (TIME_T_MIDPOINT, verify): New macros.
48491         (__isleap): Remove; it has integer overflow problems.
48492         (leapyear): New function, without those problems.
48493         (ydhms_tm_diff): Remove; splitting into two parts.
48494         (ydhms_diff): New function, containing the arithmetic part of
48495         the old ydhms_tm_diff function.  Issue a compile-time
48496         diagnostic if we are not using C99 integer division.
48497         Avoid casts when possible.
48498         (guess_time_tm): New function, containing the checking part of
48499         the old ydhms_tm_diff function.  Return the new value, rather than
48500         the difference between it and the old.  Accept a new argument T
48501         so that *T specifies the old value.  Check for overflow in the result.
48502
48503         (__mktime_internal): Use a time_t offset, not a long int offset.
48504         This undoes the 2003-06-04 change, which is no longer needed now
48505         that we have better overflow checking.
48506         (localtime_offset): Likewise.
48507
48508         (__mktime_internal): Avoid harmful overflow on hosts where time_t
48509         and long are 64-bit but int is only 32-bit.
48510         (ydhms_diff): Use long int to store year1 and yday1.
48511         Issue a compile-time diagnostic if long int is not wide enough.
48512
48513         (__mktime_internal): Use long int to store adjusted year and yday.
48514         Use plain C rather than preprocessor commands, if that doesn't
48515         affect efficiency.
48516         Check for overflow (and try to repair) after each probe
48517         rather than checking only at the very end.  This avoids some bugs
48518         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
48519         does not equal GMT offset at maximum time).
48520         Use integer to check for overflow rather than floating point; this
48521         is more portable to non-IEEE hosts, and is a tad faster.
48522         When we detect that we are oscillating between two values,
48523         don't check whether tm_isdst has the requested value, since
48524         we already know the answer.  When tm_isdst has the wrong value,
48525         use a different heuristic to find the right one, based on the
48526         extreme values actually observed in practice in tz2003a,
48527         rather than the (overly optimistic) "previous 3 calendar quarters".
48528
48529         (not_equal_tm, print_tm, check_result): Use "const T" rather than
48530         "T const" to accommodate glibc style.
48531         (check_result): Use less-confusing report format.  "long" -> "long int.
48532         (main): Likewise.
48533         Don't loop if the iteration overflows time_t.
48534         Allow a negative step in the iteration.
48535
48536 2003-07-06  Karl Berry  <karl@gnu.org>
48537
48538         * config/depcomp: update from automake.
48539         * config/config.sub: update from prep.
48540
48541 2003-07-03  Karl Berry  <karl@gnu.org>
48542
48543         * config/config.guess: update from prep.
48544
48545 2003-07-01  Paul Eggert  <eggert@twinsun.com>
48546
48547         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
48548         xreadlink.c now includes it unconditionally.
48549
48550 2003-07-01  Paul Eggert  <eggert@twinsun.com>
48551
48552         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
48553         having it depend on HAVE_SYS_TYPES_H.
48554
48555 2003-07-01  Bruno Haible  <bruno@clisp.org>
48556
48557         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
48558         <sys/types.h> should be sufficient.
48559         Reported by Paul Eggert.
48560
48561 2003-06-26  Karl Berry  <karl@gnu.org>
48562
48563         * config/depcomp: update from automake.
48564
48565 2003-06-26  Bruno Haible  <bruno@clisp.org>
48566
48567         * modules/human: Depend on module stdbool.
48568
48569 2003-06-25  Bruno Haible  <bruno@clisp.org>
48570
48571         * modules/readlink: New file.
48572         * modules/xreadlink: Depend on it.
48573         * MODULES.html.sh (func_all_modules): Add readlink.
48574
48575 2003-06-25  Bruno Haible  <bruno@clisp.org>
48576
48577         * m4/readlink.m4: New file.
48578
48579 2003-06-25  Bruno Haible  <bruno@clisp.org>
48580
48581         * lib/readlink.c: New file.
48582
48583 2003-06-22  Karl Berry  <karl@gnu.org>
48584
48585         * config/srclist.txt: update mkinstalldirs from automake.
48586         * config/mkinstalldirs: update.
48587
48588 2003-06-22  Bruno Haible  <bruno@clisp.org>
48589
48590         Portability to mingw32.
48591         * m4/ssize_t.m4: New file, from GNU gettext.
48592         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
48593         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
48594
48595 2003-06-22  Bruno Haible  <bruno@clisp.org>
48596
48597         * modules/safe-read: Add m4/ssize_t.m4.
48598         * modules/xreadlink: Add m4/ssize_t.m4.
48599
48600 2003-06-20  Bruno Haible  <bruno@clisp.org>
48601
48602         Assume C89, so PARAMS isn't needed.
48603         * lib/unicodeio.h (PARAMS): Remove.
48604         * lib/unicodeio.c: Don't use PARAMS.
48605
48606 2003-06-18  Karl Berry  <karl@gnu.org>
48607
48608         * config/config.{guess,sub}: update from prep.
48609
48610 2003-06-18  Jim Meyering  <jim@meyering.net>
48611
48612         Merge changes from coreutils.
48613         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
48614         Remove explicit declarations of xmalloc and realloc.
48615         Include xalloc.h.
48616         (read_utmp): Remove anachronistic cast of xmalloc.
48617
48618 2003-06-17  Paul Eggert  <eggert@twinsun.com>
48619
48620         Assume C89, so PARAMS isn't needed.
48621         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
48622         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
48623         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
48624         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
48625         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
48626         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
48627         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
48628         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
48629         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
48630         lib/xstrtod.h, lib/xstrtol.h: Likewise.
48631         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
48632         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
48633         no longer needed. Anyway, config.h should always be included before any
48634         other file.
48635
48636 2003-06-11  Simon Josefsson  <jas@extundo.com>
48637
48638         * modules/sysexits: New file.
48639         * MODULES.html.sh (func_all_modules): Add sysexits.
48640
48641 2003-06-11  Simon Josefsson  <jas@extundo.com>
48642
48643         * lib/sysexit_.h: New file.
48644
48645 2003-06-11  Derek Price  <derek@ximbiot.com>
48646
48647         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
48648         necessary.
48649
48650 2003-06-11  Bruno Haible  <bruno@clisp.org>
48651
48652         * m4/sysexits.m4: New file.
48653
48654 2003-06-10  Simon Josefsson  <jas@extundo.com>
48655
48656         * lib/argp.h: New file, from glibc.
48657         * lib/argp-ba.c: New file, from glibc.
48658         * lib/argp-eexst.c: New file, from glibc.
48659         * lib/argp-fmtstream.c: New file, from glibc.
48660         * lib/argp-fmtstream.h: New file, from glibc.
48661         * lib/argp-fs-xinl.c: New file, from glibc.
48662         * lib/argp-help.c: New file, from glibc.
48663         * lib/argp-namefrob.h: New file, from glibc.
48664         * lib/argp-parse.c: New file, from glibc.
48665         * lib/argp-pv.c: New file, from glibc.
48666         * lib/argp-pvh.c: New file, from glibc.
48667         * lib/argp-xinl.c: New file, from glibc.
48668
48669 2003-06-10  Simon Josefsson  <jas@extundo.com>
48670
48671         * modules/strchrnul: New file.
48672
48673 2003-06-10  Simon Josefsson  <jas@extundo.com>
48674
48675         * modules/argp: New file.
48676
48677 2003-06-10  Simon Josefsson  <jas@extundo.com>
48678
48679         * m4/strchrnul.m4: New file.
48680
48681 2003-06-10  Simon Josefsson  <jas@extundo.com>
48682
48683         * lib/strchrnul.h: New file.
48684         * lib/strchrnul.c: New file.
48685
48686 2003-06-10  Bruno Haible  <bruno@clisp.org>
48687
48688         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
48689
48690 2003-06-07  Karl Berry  <karl@gnu.org>
48691
48692         * config/config.{guess,sub}: update from prep.
48693
48694 2003-06-07  Jim Meyering  <jim@meyering.net>
48695
48696         * modules/strtod: Use $(...) notation, not @...@ for
48697         AC_REPLACE'd variables.
48698         * modules/localcharset: Likewise.
48699
48700 2003-06-07  Jim Meyering  <jim@meyering.net>
48701
48702         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
48703         in place of my name in the copyright comment.
48704         Remove definition and uses of __P.
48705
48706         From coreutils.
48707         * lib/stat.c: Don't declare xmalloc explicitly.
48708         Instead, include "xalloc.h".
48709         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
48710         xrealloc, and xcalloc return values.
48711         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
48712         Improve comment.
48713         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
48714
48715 2003-06-07  Bruno Haible  <bruno@clisp.org>
48716
48717         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
48718         avoid AC_CONFIG_LINKS.
48719         * modules/fnmatch (Makefile.am): Use explicit creation rule for
48720         fnmatch.h, to avoid AC_CONFIG_LINKS.
48721         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
48722
48723 2003-06-07  Bruno Haible  <bruno@clisp.org>
48724
48725         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
48726         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
48727         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
48728         directory.
48729         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
48730         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
48731         directory.
48732
48733 2003-06-06  Jim Meyering  <jim@meyering.net>
48734
48735         Merge from coreutils.
48736         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
48737         Consolidate declarations and initializations of *_base* locals.
48738
48739         Merge from coreutils.
48740         This avoids a core dump on systems without GNU putenv,
48741         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
48742         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
48743         (unsetenv): New static function, from GNU libc.
48744         (rpl_putenv): Use it.
48745
48746         * lib/modechange.c: Remove trailing blanks.
48747
48748         Merge from coreutils.
48749         * lib/fsusage.c: Remove declaration of statfs.
48750         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
48751
48752         * lib/posixtm.c: Include <stdbool.h> unconditionally.
48753
48754 2003-06-06  Jim Meyering  <jim@meyering.net>
48755
48756         * lib/stdbool_.h: Renamed from stdbool.h.in.
48757
48758 2003-06-06  Jim Meyering  <jim@meyering.net>
48759             Bruno Haible  <bruno@clisp.org>
48760
48761         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
48762         Adjust Makefile.am snippet not to redirect directly to target.
48763         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
48764
48765 2003-06-05  Paul Eggert  <eggert@twinsun.com>
48766
48767         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
48768         mismatch, look in future quarters as well as past.  This fixes a
48769         bug when processing fall-backwards gaps immediately after a long
48770         period of daylight-saving time.
48771
48772         * lib/mktime.c: Assume freestanding C89 or better.
48773         (HAVE_LIMITS_H): Remove.  Assume it's 1.
48774         (__P): Remove; not used.
48775         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
48776         (mktime, not_equal_tm, print_tm, check_result,
48777         main): Use prototypes.  Use const * where appropriate.
48778         (main): Fix typo in testing code that uncovered by above changes.
48779         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
48780
48781 2003-06-04  Paul Eggert  <eggert@twinsun.com>
48782
48783         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
48784         locale.h, localeconv.  This merges changes from coreutils.
48785
48786         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
48787         It can be removed after the next Autoconf is released.
48788         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
48789         needed.
48790
48791 2003-06-04  Paul Eggert  <eggert@twinsun.com>
48792
48793         * lib/mktime.c: Fix Debian bug 177940
48794         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
48795         (localtime_offset): Now long int, not time_t, because we want it
48796         to be guaranteed to be signed.  All uses changed.
48797         (__mktime_internal): If overflow would occur when adding offset,
48798         don't add it.
48799
48800         Merge 'human' changes from coreutils.  Rewrite to support
48801         locale-specific notations like thousands separators.
48802         * lib/human.c: Simplify authorship notice.
48803         Include human.h immediately after config.h.
48804         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
48805         <limits.h>: Do not include, since human.h does.
48806         (SIZE_MAX, UINTMAX_MAX): New macros.
48807         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
48808         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
48809         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
48810         (power_letter): Renamed from suffixes.
48811         (generate_suffix_backwards): Remove.
48812         (adjust_value): Now takes int style (because of human.h changes)
48813         and long double value (for greater precision on some platforms).
48814         (group_number): New function.
48815         (human_readable): Use it.  Use integer options, not enum.
48816         Put the options before the sizes in the arg list.
48817         Support all the new options.
48818         The old human_readable function has been removed;
48819         use inttostr.h instead.
48820         (human_readable, default_block_size, humblock):
48821         Use uintmax_t, not int, for block sizes.
48822         (human_readable_inexact, block_size_types): Remove.
48823         (block_size_opts): New constant.
48824         (human_options): Renamed from human_block_size, with new signature
48825         that allows block sizes up to UINTMAX_MAX.  All callers changed.
48826         * lib/human.h: Add copyright and authorship notice.
48827         Include <limits.h> and <stdbool.h> unconditionally.
48828         (PARAMS): Remove.  All uses removed.
48829         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
48830         (enum human_inexact_style): Remove tag; now a nameless enum.
48831         (human_floor, human_ceiling, human_round_to_even): Now have
48832         values 2, 0, 1 rather than -1, 1, 0.
48833         (human_group_digits, human_suppress_point_zero, human_autoscale,
48834         human_base_1024, human_SI, human_B): New constants.
48835         (human_readable_inexact, human_block_size): Remove.
48836         (human_readable): Size args are now uintmax_t, not int.
48837         (human_options): New decl.
48838
48839         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
48840         unnecessary now that we assume C89 or better.  This change
48841         imported from coreutils.
48842
48843         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
48844         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
48845         in the 2003-05-30 sync from glibc.
48846
48847         .h files should stand alone, but we shouldn't include <sys/types.h>
48848         if we can get away with just <stddef.h>.
48849
48850         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
48851         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
48852         rather than <sys/types.h>, as we merely need size_t.
48853         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
48854         to get size_t.
48855         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
48856         Include <stdio.h>, to get FILE.
48857         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
48858         memcasecmp.h has included <stddef.h> and all we need is size_t.
48859         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
48860         our interface, instead of including <sys/types.h>
48861
48862 2003-06-04  Paul Eggert  <eggert@twinsun.com>
48863
48864         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
48865         now, as glibc mktime is buggy on non-glibc systems.
48866
48867 2003-06-03  Karl Berry  <karl@gnu.org>
48868
48869         * config/config.sub: update from prep.
48870
48871 2003-06-02  Paul Eggert  <eggert@twinsun.com>
48872
48873         [from coreutils]
48874         Fix some minor time-related bugs with POSIX time arguments.
48875         Some valid time stamps were being rejected (notably -1, and
48876         time stamps before 1900 on 64-bit hosts).  And some invalid
48877         time stamps were being accepted, e.g. September 31.
48878
48879         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
48880         that we can return (time_t) -1 successfully.
48881         * lib/posixtm.c: Likewise.
48882         [HAVE_STDBOOL_H]: Include <stdbool.h>.
48883         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
48884         (t): Remove static var.
48885         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
48886         of static var.  All uses changed.
48887         (year): Do not reject years before 1900; they can occur with
48888         64-bit time_t.
48889         (posix_time_parse): Do not check for out-of-range components;
48890         that is now the caller's responsibility, since our checks were
48891         only approximations.
48892         (posixtime): Use mktime to check for out-of-range components,
48893         since it knows them exactly.
48894         If mktime returns (time_t) -1, check whether an error actually occurred
48895         by invoking localtime on -1.
48896         (main) [TEST_POSIXTIME]: Check for input data errors, and report
48897         posixtime failures better.
48898         Improve the test data (in comments only).
48899
48900 2003-06-02  Karl Berry  <karl@gnu.org>
48901
48902         * config/mkinstalldirs (version): new variable.
48903         (--version): new option.
48904         (usage): improve message.
48905
48906 2003-05-30  Karl Berry  <karl@gnu.org>
48907
48908         * lib/mktime.c: update from libc.
48909
48910 2003-05-30  Bruno Haible  <bruno@clisp.org>
48911
48912         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
48913         * config/config.rpath: Upgrade to gettext-0.12.1.
48914
48915 2003-05-30  Bruno Haible  <bruno@clisp.org>
48916
48917         * m4/gettext.m4: Upgrade to gettext-0.12.1.
48918         * m4/nls.m4: New file, from gettext-0.12.1.
48919         * m4/po.m4: New file, from gettext-0.12.1.
48920         * m4/progtest.m4: Upgrade to gettext-0.12.1.
48921
48922 2003-05-30  Bruno Haible  <bruno@clisp.org>
48923
48924         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
48925         * lib/localcharset.h: Likewise.
48926         * lib/localcharset.c: Likewise.
48927
48928 2003-05-29  Karl Berry  <karl@gnu.org>
48929
48930         * config/config.rpath: update from gettext.
48931
48932 2003-05-28  Paul Eggert  <eggert@twinsun.com>
48933
48934         Assume the headers required for C89 freestanding compilers.
48935         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
48936         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
48937         * m4/human.m4 (gl_HUMAN): Likewise.
48938         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
48939         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
48940         * m4/userspec.m4 (gl_USERSPEC): Likewise.
48941         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
48942         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
48943         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
48944
48945 2003-05-28  Paul Eggert  <eggert@twinsun.com>
48946
48947         Assume the headers required for C89 freestanding compilers.
48948         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
48949         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
48950         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
48951         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
48952         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
48953         define, since <limits.h> is guaranteed to do that.
48954         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
48955         * lib/exclude.c: Include <stdbool.h> unconditionally.
48956         * lib/tempname.c: Include <stddef.h> unconditionally.
48957         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
48958         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
48959         <stddef.h> does that.
48960         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
48961         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
48962         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
48963         needed.
48964         * lib/xstrtol.c: Likewise.
48965         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
48966         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
48967
48968         * lib/addext.c (addext): Use assignment rather than cast, to avoid
48969         warnings on some platforms.
48970
48971         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
48972         arbitrarily.
48973
48974 2003-05-26  Jim Meyering  <jim@meyering.net>
48975
48976         Merge in a change from coreutils:
48977         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
48978         that is guaranteed to be `no'.  Use `no_such_member' to indicate
48979         that condition, rather than `-1' which is slightly misleading.
48980         Change the name of the cache variable to have the gl_ prefix.
48981         Prompted by a patch from Richard Dawe for DJGPP.
48982
48983 2003-05-24  Karl Berry  <karl@gnu.org>
48984
48985         * config/config.guess: update from prep.
48986
48987 2003-05-22  Karl Berry  <karl@gnu.org>
48988
48989         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
48990
48991 2003-05-20  Karl Berry  <karl@gnu.org>
48992
48993         * config/config.guess: update from prep.
48994
48995 2003-05-18  Karl Berry  <karl@gnu.org>
48996
48997         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
48998         might actually be set by the user.
48999
49000         * config/depcomp, install-sh, mdate-sh: update from automake.
49001
49002 2003-05-17  Bruno Haible  <bruno@clisp.org>
49003
49004         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
49005         invalid expansion for AC_EGREP_CPP.
49006         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
49007         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
49008         Suggested by Akim Demaille <akim@epita.fr> in
49009         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
49010
49011 2003-05-12  Jim Meyering  <jim@meyering.net>
49012
49013         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
49014         the space-padded-by-default conversion specifiers, %e, %k, %l.
49015
49016 2003-05-12  Bruno Haible  <bruno@clisp.org>
49017
49018         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
49019         the string is longer than 4 KB.
49020
49021 2003-05-11  Karl Berry  <karl@gnu.org>
49022
49023         * config/config.{guess,sub}: update from prep.
49024
49025 2003-05-09  Bruno Haible  <bruno@clisp.org>
49026
49027         * modules/error: Add m4/strerror_r.m4 to file list.
49028
49029 2003-05-03  Bruno Haible  <bruno@clisp.org>
49030
49031         Upgrade to Unicode-4.0.
49032         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
49033         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
49034         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
49035         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
49036         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
49037         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
49038         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
49039         Change width of U+E0100..U+E01EF from 1 to 0.
49040
49041 2003-04-25  Jim Meyering  <jim@meyering.net>
49042
49043         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
49044         of type size_t, not int.
49045
49046 2003-04-25  Bruno Haible  <bruno@clisp.org>
49047
49048         * lib/copy-file.c: Include <stddef.h>, for size_t.
49049
49050 2003-04-21  Paul Eggert  <eggert@twinsun.com>
49051
49052         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
49053         code which expansion is under static control.  Patch imported from
49054         Akim Demaille's patch to Bison; see
49055         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
49056
49057 2003-04-14  Bruno Haible  <bruno@clisp.org>
49058
49059         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
49060
49061 2003-04-11  Jim Meyering  <jim@meyering.net>
49062
49063         Merge changes from Coreutils.
49064
49065         2003-03-22  Jim Meyering  <jim@meyering.net>
49066
49067         * lib/strftime.c (widen): Cast alloca return value to proper type.
49068
49069         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
49070
49071         From GNU libc.
49072         * lib/strftime.c (my_strftime): Handle very large width
49073         specifications for numeric values correctly.  Improve checks for
49074         overflow.
49075
49076         2003-01-19  Jim Meyering  <jim@meyering.net>
49077
49078         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
49079         definitions.
49080         (nl_get_alt_digit) [! defined my_strftime]: Define.
49081         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
49082         _nl_get_alt_digit and _nl_get_walt_digit.
49083
49084         * lib/strftime.c (my_strftime): Merge in locale-related changes from
49085         libc. These changes have no effect outside of _LIBC.
49086
49087 2003-04-10  Bruno Haible  <bruno@clisp.org>
49088
49089         * modules/findprog: New file.
49090         * MODULES.html.sh (func_all_modules): Add it.
49091
49092 2003-04-10  Bruno Haible  <bruno@clisp.org>
49093
49094         * m4/findprog.m4: New file.
49095         * m4/eaccess.m4: New file.
49096
49097 2003-04-10  Bruno Haible  <bruno@clisp.org>
49098
49099         * lib/findprog.h: New file, from GNU gettext.
49100         * lib/findprog.c: New file, from GNU gettext.
49101
49102 2003-04-05  Jim Meyering  <jim@meyering.net>
49103
49104         Merge changes from Coreutils.
49105
49106         * lib/exclude.h (PARAMS): Remove definition and uses.
49107         * lib/exclude.c: Remove uses of `PARAMS'.
49108
49109         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
49110         Add test-cases for DOS filenames. Declare program_name.
49111         (main): Set up program_name.  Patch by Rich Dawe.
49112
49113         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
49114         error from mntctl.
49115         Use mntctl's return value to drive the entry-processing loop, since
49116         we can't rely on the value of the vmt_length member in the last
49117         entry.  On some systems doing so could result in exhausting
49118         virtual memory.  Based in part on a patch from Mike Jetzer.
49119
49120 2003-04-04  Bruno Haible  <bruno@clisp.org>
49121
49122         * modules/linebreak: New file.
49123         * MODULES.html.sh (func_all_modules): Add it.
49124
49125 2003-04-04  Bruno Haible  <bruno@clisp.org>
49126
49127         * m4/linebreak.m4: New file.
49128
49129 2003-04-04  Bruno Haible  <bruno@clisp.org>
49130
49131         * lib/linebreak.h: New file, from GNU gettext.
49132         * lib/linebreak.c: New file, from GNU gettext with slight
49133         modifications.
49134         * lib/lbrkprop.h: New file, from GNU gettext.
49135
49136 2003-04-03  Bruno Haible  <bruno@clisp.org>
49137
49138         * modules/utf8-ucs4: New file.
49139         * modules/utf16-ucs4: New file.
49140         * modules/ucs4-utf8: New file.
49141         * modules/ucs4-utf16: New file.
49142         * MODULES.html.sh (func_all_modules): Add them.
49143
49144 2003-04-03  Bruno Haible  <bruno@clisp.org>
49145
49146         * m4/utf-ucs4.m4: New file.
49147         * m4/ucs4-utf.m4: New file.
49148
49149 2003-04-03  Bruno Haible  <bruno@clisp.org>
49150
49151         * lib/utf8-ucs4.h: New file, from GNU gettext.
49152         * lib/utf16-ucs4.h: New file, from GNU gettext.
49153         * lib/ucs4-utf8.h: New file, from GNU gettext.
49154         * lib/ucs4-utf16.h: New file, from GNU gettext.
49155
49156 2003-04-02  Bruno Haible  <bruno@clisp.org>
49157
49158         * modules/binary-io: New file.
49159         * MODULES.html.sh (func_all_modules): Add it.
49160
49161 2003-04-02  Bruno Haible  <bruno@clisp.org>
49162
49163         * lib/binary-io.h: New file, from GNU gettext.
49164
49165 2003-04-01  Bruno Haible  <bruno@clisp.org>
49166
49167         * modules/pathname: New file.
49168         * MODULES.html.sh (func_all_modules): Add it.
49169
49170 2003-04-01  Bruno Haible  <bruno@clisp.org>
49171
49172         * lib/pathname.h: New file, from GNU gettext.
49173         * lib/concatpath.c: New file, from GNU gettext.
49174
49175 2003-03-30  Bruno Haible  <bruno@clisp.org>
49176
49177         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
49178
49179 2003-03-30  Bruno Haible  <bruno@clisp.org>
49180
49181         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
49182         function chown() doesn't exist.
49183
49184 2003-03-28  Bruno Haible  <bruno@clisp.org>
49185
49186         * modules/copy-file: New file.
49187         * MODULES.html.sh (func_all_modules): Add it.
49188
49189 2003-03-28  Bruno Haible  <bruno@clisp.org>
49190
49191         * m4/copy-file.m4: New file.
49192
49193 2003-03-28  Bruno Haible  <bruno@clisp.org>
49194
49195         * lib/copy-file.h: New file, from GNU gettext.
49196         * lib/copy-file.c: New file, from GNU gettext.
49197
49198 2003-03-18  Jim Meyering  <jim@meyering.net>
49199
49200         * lib/quote.c (quote_n): Fix typo in comment.
49201
49202 2003-03-18  Bruno Haible  <bruno@clisp.org>
49203
49204         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
49205         checking.
49206         * m4/onceonly_2_57.m4: Likewise.
49207
49208 2003-03-17  Bruno Haible  <bruno@clisp.org>
49209
49210         * m4/onceonly.m4: Require autoconf 2.54 or newer.
49211         (m4_quote): Remove macro.
49212         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
49213
49214 2003-03-14  Jim Meyering  <jim@meyering.net>
49215
49216         Merge changes from Coreutils.
49217         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
49218         to be const, in order to avoid warnings.
49219         (obstack_room): Likewise.
49220         (obstack_empty_p): Likewise.
49221
49222 2003-03-14  Bruno Haible  <bruno@clisp.org>
49223
49224         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
49225         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
49226
49227 2003-03-13  Paul Eggert  <eggert@twinsun.com>
49228
49229         Merge changes from Bison.
49230         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
49231         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
49232         when compiling Bison 1.875's `bitset bset = obstack_alloc
49233         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
49234         * lib/hash.c: Include <stdbool.h> unconditionally.
49235
49236 2003-03-13  Paul Eggert  <eggert@twinsun.com>
49237
49238         * m4/onceonly.m4 (m4_quote): New macro.
49239         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
49240         Quote AC_FOREACH variable-expansions properly.
49241
49242 2003-03-13  Paul Eggert  <eggert@twinsun.com>
49243
49244         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
49245
49246 2003-03-09  Paul Eggert  <eggert@twinsun.com>
49247
49248         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
49249         Reported by Bruce Becker; see:
49250         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
49251
49252 2003-03-03  Paul Eggert  <eggert@twinsun.com>
49253             Bruno Haible  <bruno@clisp.org>
49254
49255         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
49256         Reported by John Hughes, see
49257         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
49258
49259 2003-02-20  Bruno Haible  <bruno@clisp.org>
49260
49261         * MODULES.html.sh (func_all_modules): Add poll.
49262
49263 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
49264
49265         * modules/poll: New file.
49266
49267 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
49268
49269         * lib/poll_.h: New file.
49270         * lib/poll.c: New file.
49271
49272 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
49273
49274         * m4/poll.m4: New file.
49275
49276 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
49277
49278         * modules/mathl: New file.
49279
49280 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
49281
49282         * lib/mathl.h: New file.
49283         * lib/acosl.c: New file.
49284         * lib/asinl.c: New file.
49285         * lib/atanl.c: New file.
49286         * lib/ceill.c: New file.
49287         * lib/cosl.c: New file.
49288         * lib/expl.c: New file.
49289         * lib/floorl.c: New file.
49290         * lib/frexpl.c: New file.
49291         * lib/ldexpl.c: New file.
49292         * lib/logl.c: New file.
49293         * lib/sincosl.c: New file.
49294         * lib/sinl.c: New file.
49295         * lib/sqrtl.c: New file.
49296         * lib/tanl.c: New file.
49297         * lib/trigl.c: New file.
49298         * lib/trigl.h: New file.
49299
49300 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
49301
49302         * m4/mathl.m4: New file.
49303
49304 2003-02-18  Bruno Haible  <bruno@clisp.org>
49305
49306         * MODULES.html.sh (func_all_modules): Add mathl.
49307
49308 2003-02-17  Bruno Haible  <bruno@clisp.org>
49309
49310         * modules/mkdtemp: New module.
49311         * MODULES.html.sh (func_all_modules): Add it.
49312
49313 2003-02-17  Bruno Haible  <bruno@clisp.org>
49314
49315         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
49316
49317 2003-02-17  Bruno Haible  <bruno@clisp.org>
49318
49319         * lib/mkdtemp.h: New file, from GNU gettext.
49320         * lib/mkdtemp.c: New file, from GNU gettext.
49321
49322 2003-02-02  Jim Meyering  <jim@meyering.net>
49323
49324         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
49325         e.g. glibc-2.2.93.
49326
49327 2003-01-31  Bruno Haible  <bruno@clisp.org>
49328
49329         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
49330         'rpl_rename'.
49331         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
49332         'rpl_strnlen'.
49333         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
49334         'rpl_strtod'.
49335         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
49336         'rpl_utime'.
49337
49338 2003-01-31  Bruno Haible  <bruno@clisp.org>
49339
49340         * lib/rename.c: #undef rename before defining rpl_rename.
49341         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
49342
49343 2003-01-30  Bruno Haible  <bruno@clisp.org>
49344
49345         * modules/vasnprintf, modules/vasprintf: New modules.
49346         * MODULES.html.sh (func_all_modules): Add them.
49347
49348 2003-01-30  Bruno Haible  <bruno@clisp.org>
49349
49350         * m4/signed.m4: New file, from GNU gettext.
49351         * m4/longdouble.m4: New file, from GNU gettext.
49352         * m4/wchar_t.m4: New file, from GNU gettext.
49353         * m4/wint_t.m4: New file, from GNU gettext.
49354         * m4/vasnprintf.m4: New file.
49355         * m4/vasprintf.m4: New file.
49356
49357 2003-01-30  Bruno Haible  <bruno@clisp.org>
49358
49359         * lib/printf-args.h: New file, from GNU gettext.
49360         * lib/printf-args.c: New file, from GNU gettext.
49361         * lib/printf-parse.h: New file, from GNU gettext.
49362         * lib/printf-parse.c: New file, from GNU gettext.
49363         * lib/vasnprintf.h: New file, from GNU gettext.
49364         * lib/vasnprintf.c: New file, from GNU gettext.
49365         * lib/asnprintf.c: New file, from GNU gettext.
49366         * lib/vasprintf.h: New file, from GNU gettext with modifications.
49367         * lib/vasprintf.c: New file, from GNU gettext.
49368         * lib/asprintf.c: New file, from GNU gettext.
49369
49370 2003-01-29  Bruno Haible  <bruno@clisp.org>
49371
49372         * modules/stpncpy: New module.
49373         * MODULES.html.sh (func_all_modules): Add it.
49374
49375 2003-01-29  Bruno Haible  <bruno@clisp.org>
49376
49377         * m4/stpncpy.m4: New file.
49378
49379 2003-01-29  Bruno Haible  <bruno@clisp.org>
49380
49381         * lib/stpncpy.h: New file, from GNU gettext with modifications.
49382         * lib/stpncpy.c: New file, from GNU gettext with modifications.
49383
49384 2003-01-28  Bruno Haible  <bruno@clisp.org>
49385
49386         * modules/c-ctype: New module.
49387         * MODULES.html.sh (func_all_modules): Add it.
49388
49389 2003-01-28  Bruno Haible  <bruno@clisp.org>
49390
49391         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
49392         Paul Eggert.
49393         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
49394         Paul Eggert.
49395
49396 2003-01-27  Bruno Haible  <bruno@clisp.org>
49397
49398         * modules/xsetenv: New module.
49399         * MODULES.html.sh (func_all_modules): Add it.
49400
49401 2003-01-27  Bruno Haible  <bruno@clisp.org>
49402
49403         * lib/xsetenv.h: New file, from GNU gettext.
49404         * lib/xsetenv.c: New file, from GNU gettext.
49405
49406 2003-01-23  Jim Meyering  <jim@meyering.net>
49407
49408         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
49409         from working on systems without dirfd (at least Irix and OSF1/Tru64).
49410
49411 2003-01-23  Bruno Haible  <bruno@clisp.org>
49412
49413         * modules/minmax: New module.
49414         * MODULES.html.sh (func_all_modules): Add it.
49415
49416 2003-01-23  Bruno Haible  <bruno@clisp.org>
49417
49418         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
49419         Eggert.
49420
49421 2003-01-22  Bruno Haible  <bruno@clisp.org>
49422
49423         * modules/exit: New module.
49424         * MODULES.html.sh (func_all_modules): Add it.
49425
49426 2003-01-22  Bruno Haible  <bruno@clisp.org>
49427
49428         * lib/exit.h: New file, from GNU gettext.
49429
49430 2003-01-19  Bruno Haible  <bruno@clisp.org>
49431
49432         * gnulib-tool: Recognize option --extract-maintainer.
49433         (func_get_maintainer): New function.
49434         * modules/*: Add Maintainer entry.
49435
49436 2003-01-16  Jim Meyering  <jim@meyering.net>
49437
49438         * m4/regex.m4: The `regex' struct is both input and output.
49439         Initialize it before each use.  Patch by Tim Waugh.
49440
49441 2003-01-16  Bruno Haible  <bruno@clisp.org>
49442
49443         * MODULES.html.sh: Add a table of contents. Add the module name as
49444         leftmost column. Add hyperlinks.
49445
49446 2003-01-15  Bruno Haible  <bruno@clisp.org>
49447
49448         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
49449
49450 2003-01-15  Bruno Haible  <bruno@clisp.org>
49451
49452         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
49453         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
49454         suffix.
49455
49456 2003-01-15  Bruno Haible  <bruno@clisp.org>
49457
49458         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
49459
49460 2003-01-15  Bruno Haible  <bruno@clisp.org>
49461
49462         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
49463         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
49464
49465 2003-01-14  Jim Meyering  <jim@meyering.net>
49466
49467         * lib/same.c (same_name): Tweak a comment.
49468
49469 2003-01-14  Bruno Haible  <bruno@clisp.org>
49470
49471         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
49472         when a string comparison is sufficient.
49473
49474 2003-01-14  Bruno Haible  <bruno@clisp.org>
49475
49476         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
49477         'unsigned int'.
49478
49479 2003-01-14  Bruno Haible  <bruno@clisp.org>
49480
49481         * lib/hash-pjw.c: Add comment about low quality of this function.
49482
49483 2003-01-13  Bruno Haible  <bruno@clisp.org>
49484
49485         * modules/stpcpy: Distribute lib/stpcpy.h.
49486         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
49487
49488 2003-01-13  Bruno Haible  <bruno@clisp.org>
49489
49490         * modules/*: Add a description.
49491         * modules/strpbrk: Fix Makefile.am snippet.
49492         * modules/strtoimax: Fix dependencies.
49493         * modules/strtoumax: Likewise.
49494
49495 2003-01-13  Bruno Haible  <bruno@clisp.org>
49496
49497         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
49498         * modules/alloca (Makefile.am): All object files depend on alloca.h.
49499         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
49500
49501 2003-01-13  Bruno Haible  <bruno@clisp.org>
49502
49503         * gnulib-tool (func_create_testdir): Store config/* files in the main
49504         directory.
49505         * config.rpath: Move to ...
49506         * config/config.rpath: ... here.
49507         * modules/gettext: Contains config/config.rpath, not config.rpath.
49508         * modules/iconv: Likewise.
49509
49510 2003-01-12  Paul Eggert  <eggert@twinsun.com>
49511
49512         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
49513         to avoid collisions with libcurses and libreadline.
49514
49515         * m4/getstr.m4: Remove.
49516         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
49517
49518 2003-01-12  Paul Eggert  <eggert@twinsun.com>
49519
49520         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
49521         to avoid collisions with libcurses and libreadline.
49522
49523         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
49524         * lib/getstr.h, getstr.c: Remove.
49525         * lib/getline.c: Include "getline.h", to check interface.
49526         Move body of old getstr.c here: this defines MIN_CHUNK and
49527         declares getdelim2, which is renamed from getstr.
49528         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
49529
49530         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
49531         All uses changed.
49532         * lib/linebuffer.h: Likewise.
49533         (readline): Remove backward-compatibility macro.
49534
49535 2003-01-12  Paul Eggert  <eggert@twinsun.com>
49536
49537         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
49538         to avoid collisions with libcurses and libreadline.
49539         * getstr: Remove.
49540         * MODULES.html.sh: Remove getstr.
49541         * modules/getline: Depend on unlocked-io, not getstr.
49542
49543 2003-01-12  Jim Meyering  <jim@meyering.net>
49544
49545         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
49546
49547 2003-01-10  Bruno Haible  <bruno@clisp.org>
49548
49549         * modules/alloca: Change Makefile.am requirements. Simplify Include
49550         requirements. Add lib/alloca_.h to file list.
49551
49552 2003-01-10  Bruno Haible  <bruno@clisp.org>
49553
49554         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
49555
49556 2003-01-10  Bruno Haible  <bruno@clisp.org>
49557
49558         * lib/alloca_.h: New file.
49559         * lib/getdate.y: Unconditionally include alloca.h.
49560         * lib/makepath.c: Likewise.
49561         * lib/setenv.c: Likewise.
49562         * lib/userspec.c: Likewise.
49563
49564 2003-01-09  Karl Berry  <karl@gnu.org>
49565
49566         * MODULES.html.sh: include `dirname $0` in PATH, to find
49567         gnulib-tool.
49568
49569 2003-01-09  Bruno Haible  <bruno@clisp.org>
49570
49571         * modules/stdbool: Change configure.ac, Makefile.am requirements.
49572         Simplify Include requirements. Add lib/stdbool.h.in to file list.
49573
49574 2003-01-09  Bruno Haible  <bruno@clisp.org>
49575
49576         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
49577
49578 2003-01-09  Bruno Haible  <bruno@clisp.org>
49579
49580         * lib/stdbool.h.in: New file.
49581
49582 2003-01-09  Bruno Haible  <bruno@clisp.org>
49583
49584         * gnulib-tool (func_all_modules): Ignore files ending in ~.
49585         * MODULES.html.sh: Likewise.
49586
49587 2003-01-08  Jim Meyering  <jim@meyering.net>
49588
49589         * lib/full-write.c: Undefine and define-away `const' after inclusion
49590         of errno.h, not before.  Suggestion from Bruno Haible.
49591
49592 2003-01-08  Bruno Haible  <bruno@clisp.org>
49593
49594         * modules/full-read: Depend on full-write.
49595
49596 2003-01-08  Bruno Haible  <bruno@clisp.org>
49597
49598         * lib/safe-read.c: Include specification header first, to ensure its
49599         selfcontainedness.
49600         * lib/full-write.c: Likewise.
49601
49602 2003-01-07  Jim Meyering  <jim@meyering.net>
49603
49604         * lib/full-write.c: Rework so that it may serve to define full_read,
49605         too.
49606         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
49607
49608 2003-01-07  Bruno Haible  <bruno@clisp.org>
49609
49610         * lib/strtoimax.c: Include <stdint.h> as an alternative to
49611         <inttypes.h>.
49612         * lib/xstrtol.h: Likewise.
49613         * lib/xstrtoimax.c: Likewise.
49614         * lib/xstrtoumax.c: Likewise.
49615         * lib/human.h: Likewise.
49616
49617         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
49618         on systems that have <inttypes.h> but not <stdint.h>.
49619
49620 2003-01-07  Bruno Haible  <bruno@clisp.org>
49621
49622         * MODULES.html.sh: Add copyright notice.
49623         (missed_files): Omit CVS directory entries.
49624         (func_module): Make it work with sed-3.02.
49625         * MODULES.txt: Remove file.
49626
49627 2003-01-06  Jim Meyering  <jim@meyering.net>
49628
49629         * lib/version-etc.c: Update year in translatable copyright string.
49630
49631 2003-01-03  Karl Berry  <karl@gnu.org>
49632
49633         * config/config.{guess,sub}: update from prep.
49634
49635 2003-01-02  Karl Berry  <karl@gnu.org>
49636
49637         * doc/COPYING.DOC: belatedly updated to 1.2.
49638
49639 2003-01-01  Karl Berry  <karl@gnu.org>
49640
49641         * gnulib-tool (func_verify_module): report module name $module in
49642         error message, not $1.
49643         * gnulib-tool (create-testdir): don't complain if destdir couldn't
49644         be created, only if it doesn't exist.
49645         * gnulib-tool (last_checkin_date): don't expand the $Date here.
49646
49647 2002-12-31  Paul Eggert  <eggert@twinsun.com>
49648
49649         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
49650
49651 2002-12-31  Paul Eggert  <eggert@twinsun.com>
49652
49653         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
49654         memcmp if strcoll doesn't work.
49655
49656 2002-12-31  Bruno Haible  <bruno@clisp.org>
49657
49658         * lib/utime.c (utime_null): No need to call ftruncate if the file was
49659         nonempty.
49660
49661 2002-12-31  Bruno Haible  <bruno@clisp.org>
49662
49663         * lib/memcoll.c (STRCOLL): New macro.
49664         (memcoll): Use it.
49665
49666 2002-12-31  Bruno Haible  <bruno@clisp.org>
49667
49668         * lib/localcharset.h: New file.
49669         * lib/localcharset.c: Include it.
49670         * lib/unicodeio.c: Likewise.
49671
49672 2002-12-31  Bruno Haible  <bruno@clisp.org>
49673
49674         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
49675         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
49676
49677 2002-12-31  Bruno Haible  <bruno@clisp.org>
49678
49679         * lib/getline.h: Include <stddef.h>, for size_t.
49680
49681         * lib/unicodeio.h: Include <stddef.h>, for size_t.
49682         * lib/unicodeio.c: Don't include <stddef.h>.
49683
49684 2002-12-31  Bruno Haible  <bruno@clisp.org>
49685
49686         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
49687         HAVE_TM_ZONE.
49688
49689 2002-12-24  Karl Berry  <karl@gnu.org>
49690
49691         * config/config.guess: update from prep.
49692
49693 2002-12-24  Bruno Haible  <bruno@clisp.org>
49694
49695         General infrasructure.
49696         * m4/README: Rewritten.
49697         * m4/onceonly.m4: New file.
49698         * m4/onceonly_2_57.m4: New file.
49699
49700         Module atexit.
49701         * m4/atexit.m4: New file.
49702
49703         Module strtod.
49704         * m4/strtod.m4: New file.
49705
49706         Module strtol.
49707         * m4/strtol.m4: New file.
49708
49709         Module strtoul.
49710         * m4/strtoul.m4: New file.
49711
49712         Module memchr.
49713         * m4/memchr.m4: New file.
49714
49715         Module memcmp.
49716         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
49717         (jm_FUNC_MEMCMP): Invoke it.
49718
49719         Module memcpy.
49720         * m4/memcpy.m4: New file.
49721
49722         Module memmove.
49723         * m4/memmove.m4: New file.
49724
49725         Module memset.
49726         * m4/memset.m4: New file.
49727
49728         Module strcspn.
49729         * m4/strcspn.m4: New file.
49730
49731         Module strpbrk.
49732         * m4/strpbrk.m4: New file.
49733
49734         Module strstr.
49735         * m4/strstr.m4: New file.
49736
49737         Module strerror.
49738         * m4/strerror.m4: New file.
49739
49740         Module mktime.
49741         * m4/mktime.m4: Renamed from jm-mktime.m4.
49742         (gl_PREREQ_MKTIME): New macro.
49743         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
49744
49745         Module malloc.
49746         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
49747         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
49748         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
49749
49750         Module realloc.
49751         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
49752         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
49753         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
49754
49755         Module strftime.
49756         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
49757         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
49758         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
49759         gl_TM_GMTOFF.
49760         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
49761
49762         Module xalloc.
49763         * m4/xalloc.m4: New file.
49764
49765         Module alloca.
49766         * m4/alloca.m4: New file.
49767
49768         Module putenv.
49769         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
49770         (jm_FUNC_PUTENV): Invoke it.
49771
49772         Module setenv.
49773         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
49774         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
49775         when invoked twice.
49776         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
49777         gt_FUNC_SETENV.
49778
49779         Module memrchr.
49780         * m4/memrchr.m4: New file.
49781
49782         Module stpcpy.
49783         * m4/stpcpy.m4: New file.
49784
49785         Module strcase.
49786         * m4/strcase.m4: New file.
49787
49788         Module strdup.
49789         * m4/strdup.m4: New file.
49790
49791         Module strnlen.
49792         * m4/strnlen.m4: New file.
49793
49794         Module strndup.
49795         * m4/strndup.m4: New file.
49796
49797         Module xstrtod.
49798         * m4/xstrtod.m4: New file.
49799
49800         Module xstrtol.
49801         * m4/xstrtol.m4: New file.
49802
49803         Module getdate.
49804         * m4/getdate.m4: New file.
49805
49806         Module unlocked-io.
49807         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
49808         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
49809         * m4/jm-glibc-io.m4n: Remove file.
49810
49811         Module long-options.
49812         * m4/long-options.m4: New file.
49813
49814         Module md5.
49815         * m4/md5.m4: New file.
49816
49817         Module sha.
49818         * m4/sha.m4: New file.
49819
49820         Module getstr.
49821         * m4/getstr.m4: New file.
49822
49823         Module getline.
49824         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
49825         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
49826         <sys/types.h>, for size_t. Use the function name gnu_getline, not
49827         simply getline. Infoke gl_PREREQ_GETLINE.
49828
49829         Module obstack.
49830         * m4/obstack.m4: New file.
49831
49832         Module hash.
49833         * m4/hash.m4: New file.
49834
49835         Module readtokens.
49836         * m4/readtokens.m4: New file.
49837
49838         Module strverscmp.
49839         * m4/strverscmp.m4: New file.
49840
49841         Module stdbool.
49842         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
49843         OSF/1.
49844
49845         Module strtoll.
49846         * m4/strtoll.m4: New file.
49847
49848         Module strtoull.
49849         * m4/strtoull.m4: New file.
49850
49851         Module strtoimax.
49852         * m4/strtoimax.m4: New file.
49853
49854         Module strtoumax.
49855         * m4/strtoumax.m4: New file.
49856
49857         Module xstrtoimax.
49858         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
49859         jm_AC_PREREQ_XSTRTOIMAX.
49860         Moved the strtol prerequisites to strtol.m4.
49861         Moved the strtoll prerequisites to strtoll.m4.
49862         Moved the strtoimax prerequisites to strtoimax.m4.
49863
49864         Module xstrtoumax.
49865         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
49866         jm_AC_PREREQ_XSTRTOUMAX.
49867         Moved the strtoul prerequisites to strtoul.m4.
49868         Moved the strtoull prerequisites to strtoull.m4.
49869         Moved the strtoumax prerequisites to strtoumax.m4.
49870
49871         Module chown.
49872         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
49873         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
49874
49875         Module dup2.
49876         * m4/dup2.m4: New file.
49877
49878         Module ftruncate.
49879         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
49880         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
49881
49882         Module getgroups.
49883         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
49884         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
49885
49886         Module gettimeofday.
49887         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
49888         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
49889         gl_PREREQ_GETTIMEOFDAY.
49890
49891         Module mkdir.
49892         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
49893         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
49894
49895         Module mkstemp.
49896         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
49897         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
49898         jm_AC_TYPE_UINTMAX_T.
49899         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
49900
49901         Module stat.
49902         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
49903         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
49904
49905         Module lstat.
49906         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
49907         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
49908
49909         Module timespec.
49910         * m4/timespec.m4 (gl_TIMESPEC): New macro.
49911         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
49912         * m4/st_mtim.m4: Indentation.
49913
49914         Module nanosleep.
49915         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
49916         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
49917         gl_PREREQ_NANOSLEEP.
49918
49919         Module regex.
49920         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
49921         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
49922         (gl_REGEX): New macro.
49923
49924         Module rename.
49925         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
49926         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
49927
49928         Module rmdir.
49929         * m4/rmdir.m4: New file.
49930
49931         Module utime.
49932         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
49933         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
49934         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
49935
49936         Module dirname.
49937         * m4/dirname.m4: New file.
49938
49939         Module getopt.
49940         * m4/getopt.m4: New file.
49941
49942         Module unistd-safer.
49943         * m4/unistd-safer.m4: New file.
49944
49945         Module fnmatch.
49946         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
49947         declaration.
49948         (gl_PREREQ_FNMATCH_EXTRA): New macro.
49949         (gl_FUNC_FNMATCH_POSIX): New macro.
49950         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
49951         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
49952         simply fnmatch.
49953
49954         Module exclude.
49955         * m4/exclude.m4: New file.
49956
49957         Module human.
49958         * m4/human.m4: New file.
49959
49960         Module acl.
49961         * m4/acl.m4: Nop.
49962
49963         Module backupfile.
49964         * m4/backupfile.m4: New file.
49965         * m4/d-ino.m4: Indentation.
49966
49967         Module fsusage.
49968         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
49969         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
49970         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
49971
49972         Module dirfd.
49973         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
49974         requirements.
49975
49976         Module euidaccess.
49977         * m4/euidaccess.m4: New file.
49978
49979         Module file-type.
49980         * m4/file-type.m4: New file.
49981
49982         Module fileblocks.
49983         * m4/fileblocks.m4: New file.
49984
49985         Module filemode.
49986         * m4/filemode.m4: New file.
49987
49988         Module isdir.
49989         * m4/isdir.m4: New file.
49990
49991         Module lchown.
49992         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
49993         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
49994
49995         Module makepath.
49996         * m4/makepath.m4: New file.
49997
49998         Module modechange.
49999         * m4/modechange.m4: New file.
50000
50001         Module mountlist.
50002         * m4/mountlist.m4: New file.
50003         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
50004         Indentation.
50005
50006         Module path-concat.
50007         * m4/path-concat.m4: New file.
50008
50009         Module pathmax.
50010         * m4/pathmax.m4: New file.
50011
50012         Module same.
50013         * m4/same.m4: New file.
50014
50015         Module save-cwd.
50016         * m4/save-cwd.m4: New file.
50017
50018         Module savedir.
50019         * m4/savedir.m4: New file.
50020
50021         Module xgetcwd.
50022         * m4/xgetcwd.m4: New file.
50023         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
50024
50025         Module xreadlink.
50026         * m4/xreadlink.m4: New file.
50027
50028         Module safe-read.
50029         * m4/safe-read.m4: New file.
50030
50031         Module safe-write.
50032         * m4/safe-write.m4: New file.
50033
50034         Module closeout.
50035         * m4/closeout.m4: New file.
50036
50037         Module stdio-safer.
50038         * m4/stdio-safer.m4: New file.
50039
50040         Module getpass.
50041         * m4/getpass.m4: New file.
50042
50043         Module getugroups.
50044         * m4/getugroups.m4: New file.
50045
50046         Module group-member.
50047         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
50048         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
50049
50050         Module idcache.
50051         * m4/idcache.m4: New file.
50052
50053         Module userspec.
50054         * m4/userspec.m4: New file.
50055
50056         Module gettime.
50057         * m4/clock_time.m4: New file.
50058         * m4/gettime.m4: New file.
50059
50060         Module settime.
50061         * m4/settime.m4: New file.
50062
50063         Module posixtm.
50064         * m4/posixtm.m4: New file.
50065
50066         Module gethostname.
50067         * m4/gethostname.m4: New file.
50068
50069         Module canon-host.
50070         * m4/canon-host.m4: New file.
50071
50072         Module gettext.
50073         * m4/codeset.m4: New file, from gettext-0.11.5.
50074         * m4/gettext.m4: New file, from gettext-0.11.5.
50075         * m4/glibc21.m4: New file, from gettext-0.11.5.
50076         * m4/iconv.m4: New file, from gettext-0.11.5.
50077         * m4/intdiv0.m4: New file, from gettext-0.11.5.
50078         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
50079         * m4/inttypes.m4: New file, from gettext-0.11.5.
50080         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
50081         * m4/isc-posix.m4: New file, from gettext-0.11.5.
50082         * m4/lcmessage.m4: New file, from gettext-0.11.5.
50083         * m4/lib-ld.m4: New file, from gettext-0.11.5.
50084         * m4/lib-link.m4: New file, from gettext-0.11.5.
50085         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
50086         * m4/progtest.m4: New file, from gettext-0.11.5.
50087         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
50088         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
50089         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
50090
50091         Module localcharset.
50092         * m4/localcharset.m4: New file.
50093
50094         Module hard-locale.
50095         * m4/hard-locale.m4: New file.
50096
50097         Module mbswidth.
50098         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
50099         onceonly macros.
50100         * m4/mbrtowc.m4: Add comment.
50101
50102         Module memcasecmp.
50103         * m4/memcasecmp.m4: New file.
50104
50105         Module memcoll.
50106         * m4/memcoll.m4: New file.
50107
50108         Module unicodeio.
50109         * m4/unicodeio.m4: New file.
50110
50111         Module rpmatch.
50112         * m4/rpmatch.m4: New file.
50113
50114         Module yesno.
50115         * m4/yesno.m4: New file.
50116
50117         Module exitfail.
50118         * m4/exitfail.m4: New file.
50119
50120         Module c-stack.
50121         * m4/c-stack.m4 (gl_C_STACK): New macro.
50122         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
50123
50124         Module error.
50125         * m4/error.m4 (gl_ERROR): New macro.
50126         (jm_PREREQ_ERROR): Use onceonly macros.
50127
50128         Module fatal.
50129         * m4/fatal.m4: New file.
50130
50131         Module getloadavg.
50132         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
50133         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
50134
50135         Module getpagesize.
50136         * m4/getpagesize.m4: New file.
50137
50138         Module getusershell.
50139         * m4/getusershell.m4: New file.
50140
50141         Module physmem.
50142         * m4/physmem.m4: New file.
50143
50144         Module posixver.
50145         * m4/posixver.m4: New file.
50146
50147         Module quotearg.
50148         * m4/quotearg.m4: New file.
50149
50150         Module quote.
50151         * m4/quote.m4: New file.
50152
50153         Module readutmp.
50154         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
50155
50156         Module sig2str.
50157         * m4/sig2str.m4: New file.
50158
50159         Other.
50160         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
50161         ulonglong.m4.
50162         * m4/intmax_t.m4: New file.
50163         * m4/d-type.m4: Indentation.
50164         * m4/jm-macros.m4: Update.
50165         * m4/prereq.m4 (jm_PREREQ): Update.
50166         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
50167         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
50168         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
50169         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
50170         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
50171         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
50172         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
50173         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
50174         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
50175         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
50176         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
50177         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
50178         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
50179         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
50180         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
50181         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
50182         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
50183         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
50184         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
50185
50186 2002-12-24  Bruno Haible  <bruno@clisp.org>
50187
50188         * MODULES.txt: Update according to m4/ changes.
50189
50190         Module gettext.
50191         * config.rpath: New file, from gettext-0.11.5.
50192
50193         * modules/*: New module descriptions.
50194         * gnulib-tool: New file.
50195         * MODULES.html.sh: New file.
50196
50197 2002-12-21  Karl Berry  <karl@gnu.org>
50198
50199         * doc/fdl.texi: update to version 1.2.
50200
50201 2002-12-19  Karl Berry  <karl@gnu.org>
50202
50203         * config/config.guess: update from prep.
50204
50205 2002-12-18  Bruno Haible  <bruno@clisp.org>
50206
50207         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
50208         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
50209
50210 2002-12-17  Bruno Haible  <bruno@clisp.org>
50211
50212         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
50213         stdlib.h, string.h.
50214
50215 2002-12-17  Bruno Haible  <bruno@clisp.org>
50216
50217         * lib/canon-host.c (strdup): Remove unused declaration.
50218
50219         * lib/fsusage.c: Include full_read.h.
50220         (get_fs_usage): Use full_read instead of safe_read.
50221
50222         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
50223
50224 2002-12-12  Karl Berry  <karl@gnu.org>
50225
50226         * config/config.guess: update from prep.
50227
50228 2002-12-11  Bruno Haible  <bruno@clisp.org>
50229
50230         * m4/setenv.m4: New file, from gettext-0.11.5.
50231
50232 2002-12-11  Bruno Haible  <bruno@clisp.org>
50233
50234         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
50235         not unsetenv().
50236         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
50237         modifications:
50238
50239         2002-12-11  Bruno Haible  <bruno@clisp.org>
50240
50241                 * setenv.c (alloca): Fall back to malloc.
50242                 (freea): New macro.
50243                 (setenv): Use freea() to free memory allocated with alloca().
50244
50245         2002-11-13  Bruno Haible  <bruno@clisp.org>
50246
50247                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
50248                 function declarations.
50249                 * unsetenv.c (unsetenv): Likewise.
50250
50251         2002-03-04  Bruno Haible  <bruno@clisp.org>
50252
50253                 Portability to AIX 4.3.3.
50254                 * unsetenv.c: New file, extracted from setenv.c.
50255                 * setenv.c: Move the unsetenv() function to unsetenv.c.
50256
50257         2001-12-20  Bruno Haible  <bruno@clisp.org>
50258
50259                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
50260                 use malloc instead. For SunOS 4.
50261
50262         2001-12-11  Bruno Haible  <bruno@clisp.org>
50263
50264                 * setenv.c: Declare alloca.
50265                 (compar_fn_t): New typedef.
50266                 (KNOWN_VALUE, STORE_VALUE): Use it.
50267
50268         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
50269         setenv.h.
50270
50271 2002-12-10  Paul Eggert  <eggert@twinsun.com>
50272
50273         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
50274         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
50275         Choose values that are less likely to collide with system fnmatch
50276         options.
50277         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
50278         defined (e.g., a pure POSIX system).
50279         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
50280         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
50281
50282 2002-12-06  Paul Eggert  <eggert@twinsun.com>
50283
50284         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
50285         a pain in practice to deal with generated m4 files.  This change
50286         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
50287
50288         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
50289         and jm-glibc-io.m4, as they are no longer a special case.
50290         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
50291         kludge and the auto-generation stuff.  Check only whether the
50292         functions are declared, not whether they exist, since older hosts
50293         that don't declare the functions can't use the optimization anyway.
50294
50295 2002-12-06  Jim Meyering  <jim@meyering.net>
50296
50297         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
50298
50299         Merge in changes from libc's misc/error.c, in preparation
50300         for the merge of gnulib's changes back into libc.
50301
50302         * lib/error.c (_): Define only if not already defined.
50303         Move definition to follow all #include directives.
50304         Include unlocked-io.h only if !_LIBC.
50305         [_LIBC]: Include <libio/libioP.h>.
50306         [USE_IN_LIBIO]: Include <libio/iolibio.h>
50307         (fflush): Tweak definition to use INTUSE.
50308         (putc): Define.
50309
50310 2002-12-05  Paul Eggert  <eggert@twinsun.com>
50311
50312         * lib/alloca.c [defined emacs]: Include "lisp.h".
50313         (xalloc_die) [defined emacs]: New macro.
50314         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
50315         [! defined emacs]: Include <xalloc.h>.
50316         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
50317         (pointer): Typedef to POINTER_TYPE *.
50318         (malloc): Remove decl; we now always use xmalloc.
50319         (alloca): Use old-style definition, since Emacs needs this.
50320         Check for arithmetic overflow when computing combined size.
50321
50322 2002-12-04  Paul Eggert  <eggert@twinsun.com>
50323
50324         Do not generate unlocked-io.h automatically, since it's easier to
50325         maintain it by hand.
50326
50327         * lib/unlocked-io.h: New file, from GNU diffutils,
50328         but with proper copyright notice and attribution.
50329         * lib/gen-uio: Remove.
50330         * lib/Makefile.am: Add copyright notice.
50331         (libfetish_a_SOURCES): Add unlocked-io.h.
50332         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
50333         (DISTCLEANFILES, io_functions): Remove macros.
50334         (EXTRA_DIST): Remove gen_uio.
50335         (unlocked-io.h): Remove rule.
50336
50337 2002-12-04  Jim Meyering  <jim@meyering.net>
50338
50339         Reflect the fact that stat.c and lstat.c are no longer generated.
50340         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
50341         (DISTCLEANFILES): Likewise.
50342         (EXTRA_DIST): Likewise.
50343         (all_local): Don't depend on stat.c or lstat.c.
50344         (stat.c, lstat.c): Remove rules.
50345         (EXTRA_DIST): Remove xstat.in.
50346
50347         * lib/xstat.in: Remove file.  Contents moved into stat.c.
50348         * lib/stat.c: New file.  Contents mostly from xstat.in.
50349         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
50350         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
50351
50352         * lib/safe-read.c: Rework so that it may serve to define safe_write,
50353         too.
50354         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
50355
50356 2002-12-03  Jim Meyering  <jim@meyering.net>
50357
50358         * lib/safe-read.c, safe-write.c: Change variable names and comments,
50359         but not semantics, to minimize the differences between these two files.
50360         (safe_read): Change comment to mention SAFE_READ_ERROR.
50361
50362         * lib/safe-read.c (IS_EINTR): Define.
50363         (safe_read): Use IS_EINTR in place of in-function cpp directives.
50364
50365 2002-12-02  Jim Meyering  <jim@meyering.net>
50366
50367         * lib/safe-read.c (EINTR): Define.
50368         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
50369         (INT_MAX): Provide fallback.
50370         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
50371
50372         * lib/safe-read.h (SAFE_READ_ERROR): Define.
50373
50374 2002-12-02  Bruno Haible  <bruno@clisp.org>
50375
50376         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
50377         Define, taken from safe-read.c.
50378         (INT_MAX): Provide fallback.
50379         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
50380         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
50381
50382         * lib/safe-read.c (EINTR): Remove definition.
50383         (safe_read): Don't use EINTR if it is absent.
50384
50385 2002-12-01  Jim Meyering  <jim@meyering.net>
50386
50387         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
50388         zero.
50389         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
50390
50391 2002-11-27  Paul Eggert  <eggert@twinsun.com>
50392
50393         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
50394         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
50395         with `if (! (value < limit)) abort ();', for readability.
50396
50397 2002-11-26  Karl Berry  <karl@gnu.org>
50398
50399         * lib/strdup.c: copy from libc again, with jim's ok.
50400         * lib/.cppi-disable: re-add strdup.c
50401
50402 2002-11-25  Karl Berry  <karl@gnu.org>
50403
50404         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
50405         instead of "strtol.c".
50406
50407 2002-11-25  Karl Berry  <karl@gnu.org>
50408
50409         * config/install-sh: update from automake for variable quoting, $0 in
50410         error msgs, etc.
50411
50412         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
50413         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
50414         entry.
50415
50416 2002-11-25  Jim Meyering  <jim@meyering.net>
50417
50418         * lib/mktime.c: Sync from libc, now that it has the latest fix.
50419
50420 2002-11-24  Karl Berry  <karl@gnu.org>
50421
50422         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
50423         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
50424
50425 2002-11-24  Jim Meyering  <jim@meyering.net>
50426
50427         Update from coreutils:
50428
50429         * lib/mktime.c: Merge in changes from libc.
50430
50431         Avoid a link-time failure on some Linux systems.
50432         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
50433         (otherwise).
50434         (__mon_yday): Declare with the STATIC attribute.
50435         (__mktime_internal): Likewise.
50436         Based on a report from Greg Schafer.
50437
50438 2002-11-23  Jim Meyering  <jim@meyering.net>
50439
50440         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
50441         Use `unsigned', not `int', as type of index.
50442
50443         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
50444
50445         * lib/fsusage.c: Remove unneeded parentheses around operands of
50446         `defined'.
50447
50448 2002-11-22  Paul Eggert  <eggert@twinsun.com>
50449
50450         * lib/quotearg.h: Allow multiple inclusion by surrounding with
50451         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
50452         so that we can be included first.
50453         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
50454         * lib/quotearg.c: Include quotearg.h immediately after config.h.
50455         No need to include stddef.h or sys/types.h any more.
50456         Surround local include files with "", not "<>".
50457         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
50458         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
50459         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
50460         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
50461         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
50462         (ISPRINT): Remove; no longer needed now that we assume C89.
50463
50464         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
50465         Preserve errno.
50466
50467         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
50468         quotearg_char): Use SIZE_MAX rather than
50469         (size_t) -1 when we are talking about "infinity".
50470
50471         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
50472
50473 2002-11-22  Paul Eggert  <eggert@twinsun.com>
50474
50475         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
50476         hint that one should use `if (! x) abort ();' rather than `assert
50477         (x);', and anyway it's one less thing to worry about configuring.
50478         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
50479         hash_rehash, hash_insert): Use abort rather than assert.
50480
50481 2002-11-22  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/safe-read.h: Assume C89. Add comments.
50484         (safe_read): Change return type to size_t.
50485         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
50486         byte counts > SSIZE_MAX correctly.
50487         * lib/safe-write.h: New file.
50488         * lib/safe-write.c: New file.
50489         * lib/full-read.h: New file.
50490         * lib/full-read.c: New file.
50491         * lib/full-write.h: Assume C89. Add comments.
50492         * lib/full-write.c: Include safe-write.h.
50493         (full_write): Rewritten to use safe_write.
50494         Suggested by Jim Meyering and Paul Eggert.
50495
50496 2002-11-21  Jim Meyering  <jim@meyering.net>
50497
50498         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
50499
50500         Merge in changes from the coreutils.
50501
50502         2002-09-25  Paul Eggert  <eggert@twinsun.com>
50503         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
50504         <stdint.h>.
50505         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
50506         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
50507         int.  Work more efficiently if X is the same width as uintmax_t.
50508         Do not compare X to -1, to avoid bogus compiler warning.
50509         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
50510         Don't assume that f_frsize and f_bsize are the same type.
50511
50512         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
50513         warning on FreeBSD.
50514
50515         * lib/makepath.c (make_path): Restore umask *before* creating the final
50516         component.
50517         (make_path): Minor reformatting.
50518
50519         * lib/xmalloc.c: Adjust to work with new autoconf macros,
50520         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
50521         HAVE_MALLOC/HAVE_REALLOC.
50522
50523         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
50524         dummy ones.  At least on GNU/Linux systems, `auto' means something
50525         else.
50526         From Michael Stone.
50527
50528 2002-11-21  Bruno Haible  <bruno@clisp.org>
50529
50530         Remove case insensitive option matching.
50531         * lib/argmatch.h (argcasematch): Remove declaration.
50532         (ARGCASEMATCH): Remove macro.
50533         (__xargmatch_internal): Remove case_sensitive argument.
50534         (XARGMATCH): Update.
50535         (XARGCASEMATCH): Remove macro.
50536         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
50537         case_sensitive argument.
50538         (argcasematch): Remove function.
50539         (__xargmatch_internal): Remove case_sensitive argument.
50540         (main): Use XARGMATCH instead of XARGCASEMATCH.
50541
50542         * lib/xmalloc.c: Change compile-time error message. Add comment about
50543         required autoconf version.
50544
50545 2002-11-20  Paul Eggert  <eggert@twinsun.com>
50546
50547         Merge argmatch cleanups from Bison.  Assume C89.
50548
50549         * lib/argmatch.c: Include config.h here, not in argmatch.h.
50550         Include stdlib.h, for EXIT_FAILURE.
50551         Always include <string.h>, since we assume C89.
50552         (EXIT_FAILURE): Remove pre-C89 bug workaround.
50553         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
50554         Include <stddef.h> instead, since it's all we need for size_t.
50555         (PARAMS): Remove.  All uses removed.
50556         (ARRAY_CARDINALITY): Do not bother to #undef.
50557         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
50558         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
50559         Remove unnecessary parentheses.
50560         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
50561         Insert necessary parentheses.
50562         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
50563         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
50564
50565 2002-11-19  Bruno Haible  <bruno@clisp.org>
50566
50567         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
50568         * lib/mbswidth.h: Include <stddef.h>, for size_t.
50569
50570         * lib/mbswidth.h (PARAMS): Remove macro.
50571         (mbswidth, mbsnwidth): Use ANSI C function declarations.
50572         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
50573
50574         * lib/gcd.h (PARAMS): Remove macro.
50575         (gcd): Use ANSI C function declarations.
50576         * lib/gcd.c (gcd): Likewise.
50577
50578 2002-11-15  Bruno Haible  <bruno@clisp.org>
50579
50580         * lib/strcspn.c: Include <stddef.h>.
50581         (strcspn): Use ANSI C function declaration. Change return type to
50582         size_t. Use NULL.
50583         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
50584         (strpbrk): Use NULL.
50585         * lib/strpbrk.h (PARAMS): Remove macro.
50586         (strpbrk): Use ANSI C function declaration.
50587         * lib/strstr.c: Don't include <sys/types.h>.
50588         * lib/strstr.h (PARAMS): Remove macro.
50589         (strstr): Use ANSI C function declarations.
50590
50591 2002-11-14  Karl Berry  <karl@gnu.org>
50592
50593         * config/mkinstalldirs: `do' on separate line, instead of
50594         `for var; do'.
50595
50596 2002-11-06  Bruno Haible  <bruno@clisp.org>
50597
50598         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
50599         * lib/gcd.c (gcd): Likewise.
50600
50601 2002-11-05  Bruno Haible  <bruno@clisp.org>
50602
50603         * lib/gcd.h: New file, from gettext-0.11.5.
50604         * lib/gcd.c: New file, from gettext-0.11.5.
50605
50606 2002-11-05  Bruno Haible  <bruno@clisp.org>
50607
50608         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
50609         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
50610         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
50611         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
50612
50613         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
50614         <libintl.h>.
50615         * lib/makepath.c: Include gettext.h instead of <locale.h> and
50616         <libintl.h>.
50617
50618         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
50619         * lib/human.c: Include gettext.h instead of <libintl.h>.
50620         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
50621         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
50622         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
50623         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
50624         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
50625         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
50626         (textdomain): Remove definition.
50627         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
50628
50629         * lib/long-options.c: Remove include of <libintl.h> and definition of
50630         _.
50631         * lib/same.c: Remove include of <libintl.h> and definition of _.
50632
50633 2002-11-04  Owen Taylor  <otaylor@redhat.com>
50634
50635         * lib/config.charset: A few additions for Solaris.
50636
50637 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
50638
50639         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
50640         * lib/localcharset.c (locale_charset): Declare as extern "C".
50641
50642 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
50643
50644         * lib/config.charset: msdos in uk_UA uses CP1125.
50645
50646 2002-11-04  Bruno Haible  <bruno@clisp.org>
50647
50648         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
50649         * lib/strcase.h: New file, from GNU gettext-0.11.5.
50650         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
50651         * lib/strstr.h: New file, from GNU gettext-0.11.5.
50652         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
50653
50654 2002-11-04  Bruno Haible  <bruno@clisp.org>
50655
50656         * lib/localcharset.c (locale_charset): Don't return an empty string.
50657
50658 2002-11-04  Bruno Haible  <bruno@clisp.org>
50659
50660         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
50661         aliases.
50662
50663 2002-11-04  Bruno Haible  <bruno@clisp.org>
50664
50665         * lib/config.charset: Update for newest glibc. Add canonical names
50666         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
50667
50668 2002-11-04  Bruno Haible  <bruno@clisp.org>
50669
50670         * lib/config.charset: Add support for NetBSD.
50671
50672 2002-11-04  Bruno Haible  <bruno@clisp.org>
50673
50674         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
50675
50676 2002-11-01  Bruno Haible  <bruno@clisp.org>
50677
50678         * configure.in: Add AC_CONFIG_AUX_DIR call.
50679         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
50680         test/Makefile.
50681         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
50682
50683 2002-09-28  Karl Berry  <karl@gnu.org>
50684
50685         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
50686         installed automake until the next release, since changes have been
50687         made.
50688
50689 2002-09-25  Karl Berry  <karl@gnu.org>
50690
50691         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
50692         * lib/getopt*: copy from libc/posix.
50693         * lib/gettext.h: copy from gettext.
50694         * lib/.cppi-disable: add strdup.c, gettext.h.
50695
50696 2002-09-25  Karl Berry  <karl@gnu.org>
50697
50698         * config/srclist.txt: enable gettext.h check.
50699         * config/config.{guess,sub}: update from prep.
50700         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
50701                 from automake 1.6.3.
50702         See srclist*.
50703
50704 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
50705
50706         * regex.c (PATFETCH): Remove the translating fetch.
50707         (PATFETCH_RAW): Rename to PATFETCH.
50708         (set_image_of_range): New fun.
50709         (SET_RANGE_TABLE_WORK_AREA): Use it.
50710         (regex_compile): Don't translate the pattern chars so eagerly.
50711         Only do it when inserting an `exactn' bytecode or when handling
50712         a char-range.
50713         (mutually_exclusive_p): Avoid empty statement.
50714
50715 2002-07-06  Jim Meyering  <meyering@lucent.com>
50716
50717         * m4/README: Don't mention Makefile.am.in.
50718         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
50719
50720 2002-07-01  Jim Meyering  <meyering@lucent.com>
50721
50722         * lib/c-stack.c: Include sys/time.h.
50723         From Volker Borchert.
50724
50725 2002-06-26  Paul Eggert  <eggert@twinsun.com>
50726
50727         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
50728
50729 2002-06-26  Paul Eggert  <eggert@twinsun.com>
50730
50731         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
50732         New macro.  Use it uniformly instead of
50733         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
50734         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
50735         reported by Vin Shelton.
50736
50737 2002-06-22  Paul Eggert  <eggert@twinsun.com>
50738
50739         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
50740         Do not assume SA_SIGINFO behavior.
50741         Bug reported by Jim Meyering on NetBSD 1.5.2.
50742
50743 2002-06-22  Jim Meyering  <meyering@lucent.com>
50744
50745         * m4/c-stack.m4: New file, from diffutils-2.8.2.
50746         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
50747
50748         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
50749         now that configure.ac uses AC_GNU_SOURCE.
50750         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
50751         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
50752
50753         Update to latest tools.  Suggestions from Paul Eggert.
50754         * m4/stdbool.m4: New file, from diffutils-2.8.2.
50755         * m4/gnu-source.m4: Update from diffutils-2.8.2.
50756         * m4/fnmatch.m4: Likewise.
50757         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
50758         to AC_HEADER_STDBOOL
50759
50760 2002-06-22  Jim Meyering  <meyering@lucent.com>
50761
50762         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
50763         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
50764
50765 2002-06-22  Jim Meyering  <meyering@lucent.com>
50766
50767         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
50768
50769         * lib/exitfail.c, exitfail.h: Likewise.
50770         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
50771
50772         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
50773         of fnmatch.h.
50774         (EXTRA_DIST): Add fnmatch_loop.c.
50775         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
50776
50777         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
50778         * lib/fnmatch.c: Update from diffutils-2.8.2.
50779         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
50780         * lib/fnmatch.h: Remove file.
50781
50782 2002-06-21  Jim Meyering  <meyering@lucent.com>
50783
50784         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
50785         * m4/mbrtowc.m4: Likewise.
50786
50787         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
50788         * m4/mbswidth.m4: Reflect name change:
50789         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
50790         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
50791
50792         * m4/lib-link.m4: Update from gettext-0.11.2.
50793         * m4/gettext.m4: Likewise.
50794
50795         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
50796         From Alfred M. Szmidt.
50797
50798 2002-06-18  Paul Eggert  <eggert@twinsun.com>
50799
50800         * lib/file-type.h: Report an error if neither S_ISREG nor
50801         S_IFREG is defined, instead of using a test specific to glibc
50802         2.2.  This should be safe, since POSIX requires S_ISREG and
50803         Unix Version 7 had S_IFREG.  We don't need to check for
50804         <sys/types.h> since we don't use any symbols that it defines.
50805
50806 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
50807
50808         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
50809         $@-t, so that each temporary file name is unique and valid in the first
50810         8 characters, for operation under DOS.
50811
50812 2002-06-15  Paul Eggert  <eggert@twinsun.com>
50813
50814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
50815
50816 2002-06-15  Jim Meyering  <meyering@lucent.com>
50817
50818         Work even with DJGPP 2.03, which lacks support for symlinks.
50819         From Richard Dawe.
50820         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
50821         is defined.
50822         * lib/lchown.c (S_ISLNK): Likewise.
50823
50824 2002-06-15  Jim Meyering  <meyering@lucent.com>
50825
50826         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
50827         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
50828         have been included before this file.
50829
50830 2002-06-14  Jim Meyering  <meyering@lucent.com>
50831
50832         * lib/file-type.h: Use the version from diffutils-2.8.2.
50833         * lib/file-type.c: Likewise.
50834
50835 2002-06-07  Jim Meyering  <meyering@lucent.com>
50836
50837         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
50838         They're needed at least for NetBSD 1.5.2.
50839         ($statxfs_includes): Include those same headers.
50840         ($statxfs_includes): Include sys/vfs.h if available.
50841         ($statxfs_includes): Likewise for sys/statvfs.h.
50842         Check for the following members in both structs statfs and statvfs:
50843         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
50844
50845 2002-06-01  Jim Meyering  <meyering@lucent.com>
50846
50847         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
50848         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
50849
50850 2002-05-28  Jim Meyering  <meyering@lucent.com>
50851
50852         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
50853         Reported by Volker Borchert.
50854
50855 2002-05-27  Jim Meyering  <meyering@lucent.com>
50856
50857         Fix a problem seen only on nonconforming systems whereby ls.c's
50858         use of localtime, and then of gettimeofday would cause trouble:
50859         the localtime call used to initialize rpl_gettimeofday's save
50860         mechanism would clobber ls's current local time information so
50861         that in any long listing the first file would always be listed
50862         with date 1970-01-01.  Analysis by Volker Borchert.
50863
50864         * lib/gettimeofday.c (localtime): Undefine.
50865         (rpl_localtime): New function.
50866
50867 2002-05-27  Jim Meyering  <meyering@lucent.com>
50868
50869         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
50870         localtime.
50871
50872         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
50873         use the replacement function; it wouldn't resolve at link time.
50874         Reported by Volker Borchert.
50875
50876 2002-05-22  Jim Meyering  <meyering@lucent.com>
50877
50878         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
50879         file-type.h.
50880         * lib/file-type.h: New file.
50881         * lib/file-type.c (file_type): New file/function.  Extracted from
50882         diffutils.
50883
50884 2002-04-30  Jim Meyering  <meyering@lucent.com>
50885
50886         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
50887
50888 2002-04-29  Paul Eggert  <eggert@twinsun.com>
50889
50890         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
50891
50892 2002-04-29  Paul Eggert  <eggert@twinsun.com>
50893
50894         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
50895         Do not check for alloca.h (no longer used) or stdbool.h (was never
50896         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
50897
50898 2002-04-29  Paul Eggert  <eggert@twinsun.com>
50899
50900         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
50901
50902 2002-04-29  Jim Meyering  <meyering@lucent.com>
50903
50904         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
50905         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
50906         Use AC_FUNC_STRNLEN here instead.
50907
50908         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
50909         With autoconf-2.53a, it's part of AC_PROG_CC.
50910
50911 2002-04-28  Paul Eggert  <eggert@twinsun.com>
50912
50913         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
50914         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
50915
50916 2002-04-28  Paul Eggert  <eggert@twinsun.com>
50917
50918         * lib/sig2str.h, lib/sig2str.c: New files.
50919         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
50920
50921 2002-04-28  Paul Eggert  <eggert@twinsun.com>
50922
50923         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
50924         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
50925         of 127, since 64 is the largest conceivable number for ancient
50926         nonstandard hosts.
50927         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
50928
50929 2002-04-28  Jim Meyering  <meyering@lucent.com>
50930
50931         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
50932
50933 2002-04-24  Jim Meyering  <meyering@lucent.com>
50934
50935         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
50936         (jm_PREREQ): Use it.
50937
50938         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
50939         mach/mach.h fcntl.h.
50940         Check for this function: setlocale.
50941
50942 2002-04-24  Jim Meyering  <meyering@lucent.com>
50943
50944         * lib/gettext.h: New file, from Gettext.
50945         * lib/Makefile.am (INCLUDES): Remove -I../intl.
50946         (libfetish_a_SOURCES): Add gettext.h.
50947
50948 2002-04-16  Jim Meyering  <meyering@lucent.com>
50949
50950         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
50951         ut_pid, ut_id, ut_exit.
50952
50953 2002-04-16  Jim Meyering  <meyering@lucent.com>
50954
50955         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
50956         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
50957         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
50958
50959 2002-04-12  Jim Meyering  <meyering@lucent.com>
50960
50961         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
50962         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
50963         existence of the getmntinfo function.  Needed for Darwin 5.3.
50964
50965         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
50966         This is necessary at least on Darwin 5.3.
50967
50968         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
50969         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
50970         strnlen.o in the library, and that makes some versions of ranlib
50971         object.
50972
50973 2002-04-12  Jim Meyering  <meyering@lucent.com>
50974
50975         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
50976
50977 2002-04-09  Jim Meyering  <meyering@lucent.com>
50978
50979         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
50980         to be more precise.  Rather than saying we're checking whether the
50981         function `works', say what we're testing.
50982         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
50983         Reported by Bruno Haible.
50984
50985 2002-03-10  Jim Meyering  <meyering@lucent.com>
50986
50987         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
50988         Suggestion from Santiago Vila.
50989
50990 2002-03-08  Jim Meyering  <meyering@lucent.com>
50991
50992         * lib/rename.c: Mention that this wrapper is needed also on
50993         mips-dec-ultrix4.4 systems.
50994
50995 2002-03-02  Jim Meyering  <meyering@lucent.com>
50996
50997         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
50998         not HAVE_CLOCK_SETTIME.
50999
51000 2002-02-27  Paul Eggert  <eggert@twinsun.com>
51001
51002         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
51003         Check for clock_settime.
51004
51005 2002-02-27  Paul Eggert  <eggert@twinsun.com>
51006
51007         * lib/nanosleep.h: Rename to....
51008         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
51009
51010         * lib/gettime.c: New file.
51011         * lib/settime.c: New file.
51012         * lib/stime.c: Remove.
51013
51014         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
51015         timespec.h.  Remove nanosleep.h.
51016
51017 2002-02-25  Paul Eggert  <eggert@twinsun.com>
51018
51019         * m4/acl.m4: New file.
51020         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
51021         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
51022
51023 2002-02-25  Paul Eggert  <eggert@twinsun.com>
51024
51025         * lib/acl.c, lib/acl.h: New files.
51026         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
51027
51028 2002-02-24  Jim Meyering  <meyering@lucent.com>
51029
51030         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
51031         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
51032         cause trouble.  Reported by Nelson Beebe.
51033
51034 2002-02-23  Paul Eggert  <eggert@twinsun.com>
51035
51036         * lib/path-concat.c (xpath_concat): Reorder code to pacify
51037         compilers that don't know that xalloc_die never returns.
51038
51039 2002-02-20  Jim Meyering  <meyering@lucent.com>
51040
51041         * lib/getdate.c: Regenerate using bison-1.33.
51042
51043 2002-02-17  Jim Meyering  <meyering@lucent.com>
51044
51045         * config/config.guess (main): Don't use `head -1'; it's no longer
51046         portable. Use `sed 1q' instead.
51047
51048 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
51049
51050         * m4/codeset.m4: Upgrade to gettext-0.11.
51051         * m4/gettext.m4: Upgrade to gettext-0.11.
51052         * m4/glibc21.m4: Upgrade to gettext-0.11.
51053         * m4/iconv.m4: Upgrade to gettext-0.11.
51054         * m4/isc-posix.m4: Upgrade to gettext-0.11.
51055         * m4/lcmessage.m4: Upgrade to gettext-0.11.
51056         * m4/lib-ld.m4: New file, from gettext-0.11.
51057         * m4/lib-link.m4: New file, from gettext-0.11.
51058         * m4/lib-prefix.m4: New file, from gettext-0.11.
51059         * m4/progtest.m4: Upgrade to gettext-0.11.
51060
51061 2002-02-15  Paul Eggert  <eggert@twinsun.com>
51062
51063         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
51064         (jm_PREREQ): Use it.
51065
51066 2002-02-15  Paul Eggert  <eggert@twinsun.com>
51067
51068         * lib/posixver.c, lib/posixver.h: New files.
51069         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
51070
51071 2002-02-02  Paul Eggert  <eggert@twinsun.com>
51072             Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
51075         (fwrite_success_callback): New declaration.
51076         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
51077         print_unicode_char. Call failure callback instead of error.
51078         (fwrite_success_callback): New function.
51079         (exit_failure_callback): New function.
51080         (fallback_failure_callback): New function.
51081         (print_unicode_char): Call unicode_to_mb.
51082
51083 2002-01-26  Jim Meyering  <meyering@lucent.com>
51084
51085         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
51086         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
51087
51088 2002-01-26  Jim Meyering  <meyering@lucent.com>
51089
51090         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
51091
51092 2002-01-22  Paul Eggert  <eggert@twinsun.com>
51093
51094         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
51095
51096 2002-01-22  Jim Meyering  <meyering@lucent.com>
51097
51098         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
51099         Otherwise, some versions of automake would omit the rule that makes
51100         Makefile from Makefile.in.
51101
51102 2002-01-21  Paul Eggert  <eggert@twinsun.com>
51103
51104         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
51105         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
51106         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
51107         (memcoll): Set errno to zero if there is no error.
51108
51109         * lib/quotearg.c (quotearg_buffer_restyled):
51110         Fix bug with quoting buffers containing NUL when backslashing escapes.
51111         This bug was exposed by the other changes in this patch.
51112         (quotearg_n_options): New arg ARGSIZE.
51113         All callers changed.
51114         (quoting_options_from_style): New function.
51115         (quotearg_n_style): Use it.
51116         (quotearg_n_style_mem): New function.
51117
51118         * lib/quotearg.h (quotearg_n_style_mem): New function.
51119
51120 2002-01-19  Jim Meyering  <meyering@lucent.com>
51121
51122         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
51123         Remove useless quotes: DF_PROG="df".
51124         * m4/strnlen.m4: New file.
51125
51126 2002-01-16  Paul Eggert  <eggert@twinsun.com>
51127
51128         * lib/backupfile.c (ISDIGIT): Comment fix.
51129         * lib/getdate.y (ISDIGIT): Likewise.
51130         * lib/posixtm.c (ISDIGIT, year): Likewise.
51131         * lib/strverscmp.c (ISDIGIT): Likewise.
51132         * lib/userspec.c (ISDIGIT): Likewise.
51133
51134 2002-01-16  Jim Meyering  <meyering@lucent.com>
51135
51136         * lib/getdate.y: Add three semicolons, each just before a closing
51137         brace. Bison (as of version 1.31) no longer papers over that mistake.
51138
51139 2002-01-05  Jim Meyering  <meyering@lucent.com>
51140
51141         * lib/version-etc.c (version_etc_copyright): Update copyright year.
51142
51143 2001-12-19  Paul Eggert  <eggert@twinsun.com>
51144
51145         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
51146         not silently exit merely because the output buffer happens to
51147         have nothing pending.
51148
51149 2001-12-18  Paul Eggert  <eggert@twinsun.com>
51150
51151         See the big note in ../ChangeLog.
51152         * lib/human.c (suffixes): Prefer K to k for 1024.
51153         (generate_suffix_backwards): New function.
51154         (human_readable_inexact): Use it.
51155         * lib/xstrtol.c (__xstrtol): If there is no number but there
51156         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
51157         Accept 'K' as well as 'k'.
51158
51159 2001-12-15  Jim Meyering  <meyering@lucent.com>
51160
51161         * lib/regex.h (__restrict_arr): Update from libc.
51162
51163         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
51164         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
51165         (STREQ): Define.
51166
51167 2001-12-14  Jim Meyering  <meyering@lucent.com>
51168
51169         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
51170         Suggestion from Bruno Haible.
51171
51172 2001-12-10  Jim Meyering  <meyering@lucent.com>
51173
51174         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
51175         xrealloc, Instead, include "xalloc.h".
51176         (initbuffer): Don't cast xmalloc return value to char*.
51177         (readline): Reword comment.
51178         Don't cast xrealloc return value to char*
51179         Return NULL, not 0.
51180
51181 2001-12-09  Jim Meyering  <meyering@lucent.com>
51182
51183         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
51184         about `signed and unsigned type in conditional expression'.
51185         * lib/posixtm.c (posix_time_parse): Likewise.
51186
51187         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
51188
51189         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
51190         to avoid a pedantic warning.
51191
51192         * lib/getstr.c: Don't include assert.h.
51193         (getstr): Remove warning-evoking assertions.
51194         Return -1 if offset parameter is out of bounds.
51195         Change the type of a local from int to size_t.
51196
51197         * lib/strftime.c (my_strftime_localtime_r): Include this function
51198         definition in the `#if ! HAVE_TM_GMTOFF' block.
51199
51200         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
51201         Include xalloc.h instead.
51202
51203 2001-12-02  Jim Meyering  <meyering@lucent.com>
51204
51205         * lib/tempname.c: Don't declare getenv, thus reverting the change of
51206         2001-11-18.  It's no longer necessary, now that stdlib.h is always
51207         included.
51208
51209         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
51210         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
51211
51212 2001-11-30  Akim Demaille  <akim@epita.fr>
51213
51214         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
51215         before being defined.
51216
51217 2001-11-27  Paul Eggert  <eggert@twinsun.com>
51218
51219         * lib/quotearg.h (quotearg_n, quotearg_n_style):
51220         First arg is int, not unsigned.
51221         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
51222         (SIZE_MAX, UINT_MAX): New macros.
51223         (quotearg_n_options): Abort if N is negative.
51224         Avoid overflow check on hosts where size_t is 64 bits and int
51225         is 32 bits, as overflow is impossible there.
51226         Fix off-by-one typo that caused unnecessary reallocation.
51227
51228 2001-11-27  Jim Meyering  <meyering@lucent.com>
51229
51230         * lib/tempname.c: Merge with version from libc.
51231         * lib/regex.c: Likewise.
51232
51233         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
51234         systems for which STDC_HEADERS is 0, it was not included, resulting in
51235         a warning about an integer-to-pointer conversion problem with getenv.
51236         Reported by Volker Borchert.
51237
51238 2001-11-26  Jim Meyering  <meyering@lucent.com>
51239
51240         * lib/gtod.h: Remove file.
51241         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
51242         * lib/gettimeofday.c: Don't include gtod.h.
51243         (GTOD_init): Remove function.
51244         (rpl_gettimeofday): Do its job here instead, rather than aborting.
51245         Suggestion from Volker Borchert.
51246
51247 2001-11-23  Jim Meyering  <meyering@lucent.com>
51248
51249         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
51250         it.
51251         * lib/hash.c (struct hash_table): Define it here instead.
51252
51253 2001-11-22  Jim Meyering  <meyering@lucent.com>
51254
51255         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
51256
51257 2001-11-20  Jim Meyering  <meyering@lucent.com>
51258
51259         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
51260         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
51261
51262 2001-11-19  Jim Meyering  <meyering@lucent.com>
51263
51264         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
51265         directory.  Use "conftestXXXXXX" as the template.
51266         Suggestion from Paul Eggert.
51267
51268         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
51269         immediately, so the test doesn't mistakenly hit the max-open-files
51270         limit.
51271
51272 2001-11-18  Paul Eggert  <eggert@twinsun.com>
51273
51274         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
51275         (TEMPORARIES): New macro.
51276         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
51277         removes an artificial limitation (e.g. HP-UX 10.20, where
51278         TMP_MAX is 17576).
51279
51280 2001-11-18  Jim Meyering  <meyering@lucent.com>
51281
51282         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
51283
51284 2001-11-18  Jim Meyering  <meyering@lucent.com>
51285
51286         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
51287         on SunOS 4.
51288
51289         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
51290         files will be created before anything else.
51291
51292 2001-11-17  Paul Eggert  <eggert@twinsun.com>
51293
51294         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
51295         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
51296
51297 2001-11-17  Jim Meyering  <meyering@lucent.com>
51298
51299         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
51300         Prompted by a report from Bob Proulx.
51301
51302         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
51303         Instead, require UTILS_FUNC_MKSTEMP.
51304
51305 2001-11-17  Jim Meyering  <meyering@lucent.com>
51306
51307         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
51308         Now, that's done as part of AC_FUNC_STRTOD.
51309
51310 2001-11-17  Jim Meyering  <meyering@lucent.com>
51311
51312         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
51313         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
51314         rather than group writable.  Patch by Juan F. Codagnone.
51315
51316         * lib/readtokens.c: Remove explicit declarations of xmalloc and
51317         xrealloc, Instead, include "xalloc.h".
51318
51319         * lib/mountlist.c: Include unlocked-io.h after all system headers.
51320         Remove explicit declarations of xmalloc, xrealloc,
51321         and xstrdup.  Instead, include "xalloc.h".
51322
51323         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
51324         unlocked-io.h.
51325         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
51326         Likewise.
51327         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
51328
51329         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
51330         Reported by Padraig Brady.
51331
51332         * lib/mkstemp.c: #undef mkstemp.
51333         Include config.h.
51334         (rpl_mkstemp): Rename from mkstemp.
51335         Protoize.
51336
51337 2001-11-16  Jim Meyering  <meyering@lucent.com>
51338
51339         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
51340         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
51341         determine the amount of total physical memory, use pstat_getstatic.
51342         HPUX-11 doesn't define _SC_PHYS_PAGES.
51343         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
51344         If sysconf couldn't be used to determine the amount of available
51345         physical memory, use both pstat_getstatic and pstat_getdynamic.
51346         Based on a patch from Bob Proulx.
51347
51348 2001-11-10  Jim Meyering  <meyering@lucent.com>
51349
51350         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
51351         (jm_PREREQ): Use it.
51352
51353 2001-11-09  Jim Meyering  <meyering@lucent.com>
51354
51355         * m4/jm-macros.m4: Require autoconf-2.52f.
51356         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
51357         Use these AC_-prefixed names, not the AM_-prefixed ones.
51358
51359         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
51360
51361 2001-11-05  Jim Meyering  <meyering@lucent.com>
51362
51363         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
51364
51365 2001-11-04  Jim Meyering  <meyering@lucent.com>
51366
51367         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
51368         $DEFS.
51369
51370 2001-11-03  Jim Meyering  <meyering@lucent.com>
51371
51372         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
51373         of AC_DEFUN.
51374
51375         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
51376         know the name of the variable in the macro definition.
51377
51378 2001-11-03  Jim Meyering  <meyering@lucent.com>
51379
51380         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
51381         in argmatch_to_argument call.
51382
51383         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
51384         argument.
51385
51386         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
51387         e.g., a fault due to an attempt to free a NULL pointer.
51388
51389 2001-11-01  Jim Meyering  <meyering@lucent.com>
51390
51391         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
51392         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
51393
51394 2001-11-01  Jim Meyering  <meyering@lucent.com>
51395
51396         * lib/dirfd.c, lib/dirfd.h: New files.
51397         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
51398
51399         * lib/hash.c (hash_print) [TESTING]: Clean up.
51400
51401 2001-10-22  Paul Eggert  <eggert@twinsun.com>
51402
51403         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
51404         to avoid a warning if -Wall.
51405
51406 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
51407
51408         * README: New file
51409         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
51410         (per RMS's instructions, this is now the canonical source)
51411         * lgpl/, gpl/: New directories.
51412
51413 2001-10-21  Paul Eggert  <eggert@twinsun.com>
51414
51415         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
51416
51417 2001-10-21  Jim Meyering  <meyering@lucent.com>
51418
51419         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
51420         this code would end up calling gettext even in packages built
51421         with --disable-nls.
51422         * lib/getopt.c (_): Likewise.
51423         * lib/regex.c (_): Likewise.
51424
51425 2001-10-20  Paul Eggert  <eggert@twinsun.com>
51426
51427         * m4/error.m4 (jm_PREREQ_ERROR):
51428         Do not invoke AC_CHECK_FUNCS with strerror_r, as
51429         AC_FUNC_STRERROR_R does that.
51430         Check for strerror declaration.
51431
51432         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
51433         are supposed to have them these days.
51434         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
51435         Merge changes from latest Autoconf CVS.
51436         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
51437         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
51438         POSIX decided to standardize on the int flavor of strerror_r.
51439
51440 2001-10-20  Paul Eggert  <eggert@twinsun.com>
51441
51442         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
51443         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
51444         Use strerror_r that is only a macro, even if it is not a function.
51445         (strerror): Check for HAVE_DECL_STRERROR before declaring.
51446         (private_strerror): Use prototypes, not old-style function definition.
51447         (print_errno_message): New function.
51448         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
51449         char*-flavored one.
51450         (error_tail, error, error_at_line): Use it.
51451
51452 2001-10-11  Jim Meyering  <meyering@lucent.com>
51453
51454         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
51455         and quote_n (1, ... to avoid clobbering a buffer.
51456
51457 2001-10-05  Jim Meyering  <meyering@lucent.com>
51458
51459         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
51460         hash-pjw.h.
51461         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
51462         * lib/hash-pjw.h: New file.
51463
51464 2001-09-30  Jim Meyering  <meyering@lucent.com>
51465
51466         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
51467         `struct fsstat' has the `f_fstypename' member.
51468         Use that to define FS_TYPE, which is now used to make
51469         the getfsstat link test tighter.
51470
51471 2001-09-30  Jim Meyering  <meyering@lucent.com>
51472
51473         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
51474         Include <sys/ucred.h>, for Apple Darwin.
51475         Include sys/mount.h and sys/fs_types.h only if available.
51476         (FS_TYPE): Define.
51477         (read_filesystem_list): Use FS_TYPE.
51478
51479 2001-09-29  Paul Eggert  <eggert@twinsun.com>
51480
51481         * lib/exclude.c (excluded_filename): 0 -> false, since it's
51482         a boolean context.
51483
51484 2001-09-29  Jim Meyering  <meyering@lucent.com>
51485
51486         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
51487         [one-argument getmntent function]): Include stdio.h before mntent.h.
51488         SunOS 4.1.x needs it for the declaration of `FILE'.
51489         Patch by Volker Borchert.
51490
51491         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
51492         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
51493         sys/fs_types.h, and make the link-test for getfsstat guard #include
51494         directives with appropriate #if HAVE_*_H tests so that we can
51495         detect getfsstat on Apple Darwin1.3.7 systems.
51496         Reported by Nelson Beebe.
51497         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
51498
51499 2001-09-28  Paul Eggert  <eggert@twinsun.com>
51500
51501         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
51502         #defines strtoimax.  Also treat the other strto* functions
51503         like strtoimax.
51504
51505         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
51506         Check for strtoul and strtoumax,
51507         as those declarations are made even in the signed case.
51508         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
51509         Likewise, for strtol and strtoimax.
51510
51511 2001-09-28  Paul Eggert  <eggert@twinsun.com>
51512
51513         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
51514         #defines strtoimax.  Also treat the other strto* functions
51515         like strtoimax.
51516
51517         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
51518         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
51519         (strtoimax, strtoumax): Do not declare if already defined as a macro.
51520
51521 2001-09-26  Jim Meyering  <meyering@lucent.com>
51522
51523         Most macros in unlocked-io.h had the wrong number of arguments.
51524         * lib/gen-uio: New script.
51525         (USE_UNLOCKED_IO): Define to 1 if not already defined.
51526         * lib/unlocked-io.hin: Remove file.
51527         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
51528         rather than trying to embed it here.
51529         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
51530         Reported by Padraig Brady.
51531
51532 2001-09-25  Volker Borchert  <bt@teknon.de>
51533
51534         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
51535         `result'.
51536
51537 2001-09-24  Jim Meyering  <meyering@lucent.com>
51538
51539         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
51540
51541 2001-09-23  Jim Meyering  <meyering@lucent.com>
51542
51543         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
51544         instead of the mere test for existence of mntent.h.  The latter
51545         would get a false-positive on AIX 3.4 systems.
51546         In the outer getmntent if-block, don't die if neither of the getmntent
51547         tests succeeds.  Instead, just fall through and continue with the
51548         remaining tests.
51549
51550 2001-09-23  Jim Meyering  <meyering@lucent.com>
51551
51552         * lib/mountlist.c: Remove useless parentheses in #if directives.
51553         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
51554         the deprecated MOUNTED symbol is no longer defined in mntent.h.
51555
51556 2001-09-22  Jim Meyering  <meyering@lucent.com>
51557
51558         * m4/gettext.m4: New file.  From gettext.
51559         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
51560         * m4/progtest.m4: Likewise
51561         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
51562         * m4/glibc21.m4: Likewise.
51563
51564         * m4/libintl.m4: Remove.  No longer used.
51565
51566 2001-09-22  Jim Meyering  <meyering@lucent.com>
51567
51568         * lib/localcharset.c: Update from latest gettext.
51569         * lib/config.charset: Likewise.
51570
51571 2001-09-20  Jim Meyering  <meyering@lucent.com>
51572
51573         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
51574         strtoimax.
51575         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
51576         strtoumax.
51577
51578 2001-09-20  Jim Meyering  <meyering@lucent.com>
51579
51580         * lib/xstrtol.c (strtoimax): Guard declaration with
51581         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
51582         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
51583         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
51584         (strtoumax): Likewise, for completeness (it wasn't necessary).
51585
51586 2001-09-17  Paul Eggert  <eggert@twinsun.com>
51587
51588         * lib/strtoimax.c (HAVE_LONG_LONG):
51589         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
51590         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
51591         to work around bug in IBM C compiler.
51592
51593 2001-09-17  Jim Meyering  <meyering@lucent.com>
51594
51595         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
51596         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
51597         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
51598         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
51599         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
51600         whenever the right hand side need not be expanded by the shell.
51601
51602 2001-09-16  Paul Eggert  <eggert@twinsun.com>
51603
51604         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
51605         library.  It's not correct, as some older glibcs are buggy.
51606         fnmatch wasn't fixed until glibc 2.2.
51607
51608         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
51609         special shell magic here.
51610
51611 2001-09-16  Jim Meyering  <meyering@lucent.com>
51612
51613         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
51614         * m4/jm-macros.m4: Require it.
51615
51616 2001-09-16  Jim Meyering  <meyering@lucent.com>
51617
51618         * lib/mkdir.c: New file.
51619
51620 2001-09-15  Jim Meyering  <meyering@lucent.com>
51621
51622         * m4/jm-macros.m4: Check for help2man.
51623
51624 2001-09-11  Jim Meyering  <meyering@lucent.com>
51625
51626         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
51627         The body, by Paul Eggert, was moved here from configure.in.
51628         * m4/jm-macros.m4: Require UTILS_HOST_OS.
51629
51630 2001-09-04  Paul Eggert  <eggert@twinsun.com>
51631
51632         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
51633         (jm_PREREQ): Use it.
51634
51635 2001-09-04  Paul Eggert  <eggert@twinsun.com>
51636
51637         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
51638         Use ssize_t, not int, to store result of readlink.
51639         Check for ssize_t overflow as well as size_t overflow,
51640         as POSIX says the result of readlink is implementation-defined
51641         when ssize_t overflows.
51642         Remove unnecessary cast to char*.
51643         Use free+malloc instead of realloc, as the storage doesn't need
51644         to be preserved and it's clearer and can be more efficient that way.
51645         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
51646         * lib/xreadlink.h (xreadlink): Update prototype.
51647
51648 2001-09-04  Paul Eggert  <eggert@twinsun.com>
51649
51650         * lib/xgetcwd.c: Revert some of the previous change; intead,
51651         fix the HAVE_GETCWD_NULL code to behave more like the
51652         !HAVE_GETCWD_NULL code used to.
51653
51654         Include "xalloc.h".
51655         (xgetcwd): Do not return NULL when memory is exhausted; instead,
51656         invoke xalloc_die.
51657
51658 2001-09-03  Paul Eggert  <eggert@twinsun.com>
51659
51660         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
51661         sys/param.h, as pathmax.h includes them.
51662
51663 2001-09-03  Paul Eggert  <eggert@twinsun.com>
51664
51665         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
51666         (jm_PREREQ_XGETCWD): New macro.
51667
51668         * m4/getcwd.m4: New file.
51669
51670 2001-09-03  Paul Eggert  <eggert@twinsun.com>
51671
51672         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
51673         like the HAVE_GETCWD_NULL code.
51674         Include pathmax.h if not HAVE_GETCWD.
51675         Do not include xalloc.h.
51676         (INITIAL_BUFFER_SIZE): New symbol.
51677         Do not use xmalloc / xrealloc, since the caller is responsible for
51678         handling errors.  Preserve errno around `free' during failure.
51679         Do not overrun buffer when using getwd.
51680
51681 2001-09-03  Paul Eggert  <eggert@twinsun.com>
51682
51683         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
51684         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
51685         getcwd (NULL, 0).
51686
51687 2001-09-03  Paul Eggert  <eggert@twinsun.com>
51688
51689         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
51690         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
51691         spotted by Jim Meyering.
51692
51693 2001-09-03  Jim Meyering  <meyering@lucent.com>
51694
51695         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
51696         failure.
51697
51698 2001-09-02  Jim Meyering  <meyering@lucent.com>
51699
51700         * lib/error.c: Update from GNU libc.
51701
51702 2001-09-01  Jim Meyering  <meyering@lucent.com>
51703
51704         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
51705         Used by df.
51706
51707 2001-09-01  Jim Meyering  <meyering@lucent.com>
51708
51709         * lib/xreadlink.c: New file.
51710         * lib/xreadlink.h: New file.
51711         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
51712         xreadlink.h.
51713
51714         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
51715         doesn't conflict with sparc Solaris 7's definition in
51716         /usr/include/sys/int_types.h.
51717
51718         * lib/exclude.c: Use `""', not `<>' to #include non-system header
51719         files.
51720         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
51721         and strncasecmp as r-values.  Unixware didn't have declarations.
51722
51723 2001-08-31  Paul Eggert  <eggert@twinsun.com>
51724
51725         * lib/xstrtol.h: Add copyright notice.
51726         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
51727         LONGINT_INVALID_SUFFIX_CHAR.
51728
51729 2001-08-31  Paul Eggert  <eggert@twinsun.com>
51730
51731         * lib/xstrtol.c (strtoimax): New decl.
51732
51733 2001-08-31  Paul Eggert  <eggert@twinsun.com>
51734
51735         * lib/xgetcwd.c: Don't include pathmax.h.
51736         Include stdlib.h and unistd.h if available.
51737         Include xalloc.h.
51738         (xmalloc, xstrdup, free): Remove decls.
51739         (xgetcwd): Don't assume sizes fit in unsigned.
51740         Check for overflow when computing sizes.
51741         Simplify reallocation code.
51742
51743 2001-08-31  Paul Eggert  <eggert@twinsun.com>
51744
51745         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
51746         a directory's st_size can have an arbitrary value, so the old
51747         usage could waste an arbitrary amount of memory.  All uses
51748         changed.
51749         * lib/savedir.h: Update prototype.
51750
51751 2001-08-31  Paul Eggert  <eggert@twinsun.com>
51752
51753         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
51754
51755         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
51756         old strtoimax.c.
51757
51758         Also, make the following further changes to make this file's
51759         configuration more similar to that of strtol.c:
51760         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
51761         (strtoumax, uintmax_t, strtoull, strtol): Remove.
51762         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
51763         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
51764         changed to signed values.
51765
51766         And make the following changes as well:
51767         Fix copyright notice, as 1999 was missing.
51768         (verify): New macro.
51769         (strtoimax): Check sizes at compile-time, not run-time.
51770         Prefer strtol to strtoll if both work.
51771         (main): Remove; it was not that useful and was a pain to maintain.
51772
51773         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
51774
51775 2001-08-31  Jim Meyering  <meyering@lucent.com>
51776
51777         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
51778         Use an initial, malloc'd, buffer of length 128 rather than
51779         a statically allocated one of length 1024.
51780
51781 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51782
51783         Simplify code, partly by assuming autoconf 2.52 semantics.
51784
51785         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
51786
51787         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
51788         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
51789         All uses removed.
51790         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
51791         Move AC_REQUIRE to next-to-top level, to avoid confusion.
51792         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
51793         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
51794         jm_AC_HEADER_INTTYPES_H.
51795         * m4/jm-macros.m4 (jm_MACROS): Likewise.
51796
51797         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
51798
51799         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
51800         Quote first arg of AC_DEFUN.
51801         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
51802         since they are needed to parse the include file even if we need
51803         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
51804         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
51805         but with opposite signedness.
51806
51807 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51808
51809         Merge 'exclude' changes from tar 1.13.22.
51810         This fixes one or two unlikely storage allocation overflow bugs,
51811         but doesn't change user-visible behavior otherwise.
51812
51813 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51814
51815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
51816         (jm_PREREQ_EXCLUDE): New macro.
51817
51818 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51819
51820         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
51821         tm to be declared.
51822
51823 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51824
51825         * lib/hash.c: Remove '2001' from copyright notice.
51826
51827 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51828
51829         * lib/full-write.h: New file.
51830         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
51831         * lib/full-write.c: Correct credits, as cccp.c no longer
51832         exists and anyway it was so heavily changed from the old cccp
51833         code as to be unrecognizable.  Include full-write.h.
51834         (full_write) Return size_t, with short writes meaning failure.
51835         All callers changed.  This fixes a bug with large buffers
51836         on 64-bit hosts.
51837         * lib/utime.c: Include full-write.h.
51838
51839 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51840
51841         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
51842         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
51843         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
51844         Include if available.
51845         (<xalloc.h>): Include
51846         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
51847         (verify): New macro.  Use it to verify that EXCLUDE macros do not
51848         collide with FNM macros.
51849         (struct patopts): New struct.
51850         (struct exclude): Use it, as exclude patterns now come with options.
51851         (new_exclude): Support above changes.
51852         (new_exclude, add_exclude_file):
51853         Initial size must now be a power of two to simplify overflow checking.
51854         (free_exclude, fnmatch_no_wildcards): New function.
51855         (excluded_filename): No longer requires options arg, as the options
51856         are determined by add_exclude.  Now returns bool, not int.
51857         (excluded_filename, add_exclude):
51858         Add support for the fancy new exclusion options.
51859         (add_exclude, add_exclude_file): Now takes int options arg.
51860         Check for arithmetic overflow when computing sizes.
51861         (add_exclude_file): xrealloc might modify errno, so don't
51862         realloc until after errno might be used.
51863
51864         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
51865         New macros.
51866         (free_exclude): New decl.
51867         (add_exclude, add_exclude_file): Now takes int options arg.
51868         (excluded_filename): No longer requires options arg, as the options
51869         are determined by add_exclude.  Now returns bool, not int.
51870
51871 2001-08-30  Paul Eggert  <eggert@twinsun.com>
51872
51873         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
51874
51875 2001-08-27  Jim Meyering  <meyering@lucent.com>
51876
51877         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
51878
51879         * lib/version-etc.c (N_): Remove definition.
51880         Revert most of last change.
51881         Instead, simply don't mark the `Copyright...' string for translation.
51882         Based on advice from Paul Eggert.
51883
51884         * lib/strtoxmax.c: Tweak comment.
51885
51886 2001-08-26  Jim Meyering  <meyering@lucent.com>
51887
51888         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
51889
51890         * m4/xstrtoimax.m4: New file.
51891         * m4/xstrtoumax.m4: Add comments explaining why we
51892         AC_REPLACE_FUNCS(strtol).
51893
51894 2001-08-26  Jim Meyering  <meyering@lucent.com>
51895
51896         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
51897         of copyright with `%s' so translators don't get an untranslated
51898         message in 2002.
51899         (COPYRIGHT_YEAR): Define.
51900         (version_etc): Use fprintf rather than fputs.
51901         Suggestion from Ulrich Drepper.
51902
51903         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
51904
51905         * lib/strtoll.c: New file, from GNU libc.
51906         * lib/xstrtoimax.c: New file.
51907
51908         * lib/xstrtol.h: Add xstrtoimax.
51909         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
51910         * lib/strtoimax.c: New file.  Likewise, but first define
51911         STRTOUXMAX_SIGNED.
51912
51913         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
51914         ...
51915         * lib/strtoxmax.c: ... then renamed to this.
51916
51917 2001-08-18  Paul Eggert  <eggert@twinsun.com>
51918
51919         * m4/inttypes.m4: Add AC_PREREQ(2.13).
51920         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
51921         (jm_AC_TYPE_INTMAX_T): New macro.
51922         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
51923
51924         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
51925
51926         * m4/longlong.m4: Renamed from ulonglong.m4.
51927         * m4/inttypes.m4: Renamed from inttypes_h.m4.
51928         * m4/uintmax_t.m4: Removed.
51929
51930 2001-08-13  Paul Eggert  <eggert@twinsun.com>
51931
51932         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
51933         Port to Solaris 8, where 'sed' requires a space after the 'r'
51934         command, and where sh dislikes "$/".  Clean up the spacing a bit.
51935         Redirect output to $tmp just once.
51936
51937 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
51938
51939         * lib/addext.c (<errno.h>): Include.
51940         (errno): Declare if not defined.
51941         (addext): Work correctly when pathconf returns -1 and leaves
51942         errno alone because there is no limit.  Also, work even if
51943         pathconf returns a value greater than SIZE_MAX.
51944
51945 2001-08-12  Jim Meyering  <meyering@lucent.com>
51946
51947         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
51948         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
51949         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
51950         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
51951         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
51952         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
51953         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
51954         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
51955         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
51956         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
51957         utime.m4, utimes.m4, xstrtoumax.m4:
51958         Quote the first argument in each use of AC_DEFUN.
51959
51960 2001-08-12  Jim Meyering  <meyering@lucent.com>
51961
51962         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
51963         Simply `return getcwd (NULL, 0);'.
51964         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
51965         Use 1300 as initial value for length, not PATH_MAX.
51966
51967         * lib/pathmax.h: Clean up cpp syntax.
51968
51969 2001-08-12  Jim Meyering  <meyering@lucent.com>
51970
51971         * lib/gettimeofday.c: New file.
51972         * lib/gtod.h: New file.
51973         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
51974
51975 2001-08-05  Jim Meyering  <meyering@lucent.com>
51976
51977         * m4/jm-macros.m4: Require autoconf-2.52.
51978
51979 2001-08-04  Jim Meyering  <meyering@lucent.com>
51980
51981         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
51982         stmt, to get in sync with glibc.
51983
51984 2001-08-03  Paul Eggert  <eggert@twinsun.com>
51985
51986         The following changes are from gettext 0.10.39 as maintained by
51987         Bruno Haible.
51988
51989         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
51990         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
51991         with inverted sense.  All uses changed.
51992
51993         * lib/mbswidth.c: Don't include <limits.h>.
51994         Include <stdlib.h> and <string.h> unconditionally.
51995         (iswcntrl, mbsinit, ISCNTRL): New macros.
51996         (mbsnwidth): Use K&R style function declarations.
51997         Don't bother checking for MB_LEN_MAX == 1, since the compiler
51998         can optimize it when MB_CUR_MAX == 1.
51999         The width of control characters is zero, not 1.
52000
52001 2001-08-03  Paul Eggert  <eggert@twinsun.com>
52002
52003         The following changes are from gettext 0.10.39 as maintained by
52004         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
52005
52006         * m4/codeset.m4: Upgrade to serial AM1.
52007         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
52008         all uses changed.  Quote first arg of AC_DEFUN.
52009         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
52010
52011         * m4/iconv.m4: Upgrade to serial AM2.
52012         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
52013         Add --with-libconv-prefix.
52014         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
52015         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
52016         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
52017         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
52018         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
52019
52020         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
52021         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
52022         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
52023         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
52024         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
52025         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
52026         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52027         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
52028         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
52029
52030         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
52031         string.h any more.
52032
52033         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
52034         not the default value.
52035
52036         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
52037         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
52038         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
52039         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
52040         Also check for iswcntrl, used for wcwidth fallback.
52041         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
52042         to Autoconf 2.13.
52043
52044 2001-08-03  Jim Meyering  <meyering@lucent.com>
52045
52046         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
52047         as it was in the original.  Reported by Paul Eggert.
52048
52049 2001-07-16  Jim Meyering  <meyering@lucent.com>
52050
52051         * m4/gettimeofday.m4: New file.
52052         Prompted by a report from Bernhard Baehr.
52053
52054 2001-07-15  Jim Meyering  <meyering@lucent.com>
52055
52056         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
52057         stuff. Now it's in ../Makefile.cfg.
52058
52059 2001-07-15  Jim Meyering  <meyering@lucent.com>
52060
52061         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
52062         (BUILT_SOURCES): Add unlocked-io.h.
52063         (io_functions): Define.
52064         (unlocked-io.h): New rule.
52065         (DISTCLEANFILES): Add unlocked-io.h.
52066         (all-local): Depend on unlocked-io.h, to ensure it is created.
52067
52068         * lib/unlocked-io.hin: New file
52069
52070         * lib/regex.c: Update from glibc.
52071
52072 2001-07-05  Jim Meyering  <meyering@lucent.com>
52073
52074         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
52075         recommendation.
52076         (libfetish_a_SOURCES): Put all .h files here instead.
52077         Remove a thus-exposed (better checks in automake) duplicate and
52078         two unnecessary .h files.
52079
52080 2001-07-04  Jim Meyering  <meyering@lucent.com>
52081
52082         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
52083         that generates jm-glibc-io.m4 so that it doesn't trigger any make
52084         distcheck failure.
52085
52086 2001-07-02  Jim Meyering  <meyering@lucent.com>
52087
52088         The following changes were prompted by suggestions from Bruno Haible.
52089
52090         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
52091         is now generated.
52092         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
52093         definition of EXTRA_DIST.
52094         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
52095         ensure that the generated file is created/updated whenever the list
52096         of $(unlocked_functions) is changed.
52097         (jm-glibc-io.m4): New rule.
52098         (unlocked-io.h): New rule -- currently unused.
52099
52100 2001-06-24  Jim Meyering  <meyering@lucent.com>
52101
52102         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
52103         unmatched right bracket, rather than kludging it with an extra,
52104         falsely-matching quote in a comment.  Patch by Akim Demaille.
52105
52106 2001-06-11  Jim Meyering  <meyering@lucent.com>
52107
52108         * lib/regex.c: Update from GNU libc.
52109
52110 2001-05-27  Jim Meyering  <meyering@lucent.com>
52111
52112         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
52113         Check for ut_type in struct utmp.
52114
52115 2001-05-27  Jim Meyering  <meyering@lucent.com>
52116
52117         * lib/readutmp.h (UT_TYPE): Define.
52118
52119 2001-05-24  Jim Meyering  <meyering@lucent.com>
52120
52121         * lib/argmatch.c: Include "quote.h".
52122         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
52123         quote function.  Reported by Göran Uddeborg.
52124
52125 2001-05-22  Jim Meyering  <meyering@lucent.com>
52126
52127         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
52128         now that we use the package-supplied version unconditionally.
52129         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
52130
52131 2001-05-21  Jim Meyering  <meyering@lucent.com>
52132
52133         * m4/regex.m4: Change a couple backticks to single quotes to avoid
52134         shell syntax errors.
52135
52136 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
52137
52138         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
52139
52140 2001-05-20  Paul Eggert  <eggert@twinsun.com>
52141
52142         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
52143         Don't bother to check library strftime, since
52144         we'll be using our own my_strftime function anyway.
52145         Define my_strftime instead of strftime.
52146
52147 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
52148
52149         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
52150         which is not yet declared.
52151
52152 2001-05-15  Jim Meyering  <meyering@lucent.com>
52153
52154         * m4/regex.m4: Use proper quoting so brackets appear in the test
52155         program.
52156         Reported by, and with help from, Bruno Haible.
52157
52158 2001-05-13  Jim Meyering  <meyering@lucent.com>
52159
52160         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
52161         undefined.
52162
52163 2001-05-11  Paul Eggert  <eggert@twinsun.com>
52164
52165         dirname code cleanup.  base_name now behaves more compatibly
52166         with POSIX basename when given file names that have trailing
52167         slashes, and similarly for dir_name.  Add new primitives
52168         base_len and dir_len.  Put the directory-name-related decls
52169         into dirname.h.
52170
52171         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
52172         * lib/backupfile.c (base_name): Likewise.
52173         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
52174         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
52175         * lib/makepath.c (strip_trailing_slashes): Likewise.
52176         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
52177         ISSLASH): Likewise.
52178         * lib/rename.c (strip_trailing_slashes): Likewise.
52179         * lib/same.c (base_name): Likewise.
52180         * lib/stripslash.c (ISSLASH): Likewise.
52181
52182         * lib/addext.c: Include <dirname.h> after size_t is defined.
52183         * lib/backupfile.c: Likewise.
52184
52185         * lib/addext.c (addext): Use base_len to trim redundant
52186         trailing slashes instead of doing it ourselves.
52187         But do not trim the last slash if it is not redundant.
52188
52189         * lib/backupfile.c (find_backup_file_name,
52190         max_backup_version): Use base_len instead of rolling it ourselves.
52191         Handle the case of "" and (on DOS) "C:" correctly.
52192
52193         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
52194         needed. Include <string.h>, <dirname.h>.
52195         (base_name): Allow file names ending in slashes, other than names
52196         that are all slashes.  In this case, return the basename followed
52197         by the slashes.  This is more general, and can be used in places
52198         where the original base_name purposely had an assertion failure.
52199         (base_len): New function.
52200
52201         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
52202         Do not include <assert.h>; no longer needed.
52203         Include xalloc.h.
52204         (memrchr): Remove decl.
52205         (dir_name_r): Remove.
52206         (dir_len): Renamed from dirlen.  All callers changed.
52207         Rewrite in terms of base_name, for simplicity and consistency.
52208         (dir_name): Never return NULL.  All callers changed.
52209         Do not include <stdlib.h> in test program; no longer needed.
52210         return 0; is fine for test program.
52211
52212         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
52213         New macros.
52214         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
52215
52216         * lib/path-concat.c (path_concat): Use base_len to compute
52217         base length, not strlen; this means we cannot rely on memcpy
52218         to null-terminate.
52219
52220         * lib/same.c (STREQ): Remove.
52221         (same_name): Handle the case where the basename ends in trailing '/'.
52222
52223         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
52224         a slash was stripped.  Do not strip the last slash after a
52225         file system prefix.
52226
52227 2001-05-11  Paul Eggert  <eggert@twinsun.com>
52228
52229         * lib/Makefile.am (libfetish_a_SOURCES):
52230         Add strftime.c, since we now compile it on all hosts.
52231
52232         * lib/strftime.c (my_strftime):
52233         Define to nstrftime if emacs, but only if my_strftime is not defined.
52234         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
52235         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
52236         Add one more extra argument: a nanoseconds value.
52237         All uses changed.
52238         (ns): New macro.
52239         (my_strftime function): Add %N format.
52240         (emacs_strftimeu): Renamed from emacs_strftime,
52241         with extra ut argument.
52242
52243 2001-05-09  Paul Eggert  <eggert@twinsun.com>
52244
52245         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
52246
52247 2001-04-21  Jim Meyering  <meyering@lucent.com>
52248
52249         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
52250         doesn't interfere.
52251
52252 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
52253
52254         * m4/ftruncate.m4: Check for chsize.
52255         Link with ftruncate.o unconditionally if ftruncate is missing.
52256         This was required when cross-compiling to i586-mingw32msvc.
52257
52258 2001-04-08  Jim Meyering  <meyering@lucent.com>
52259
52260         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
52261         recomputed; that's necessary when the offset spans a DST transition.
52262         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
52263
52264 2001-04-02  Jim Meyering  <meyering@lucent.com>
52265
52266         * lib/regex.h, regex.c: Update from GNU libc.
52267
52268 2001-03-24  Jim Meyering  <meyering@lucent.com>
52269
52270         * m4/jm-macros.m4: Require autoconf-2.49d.
52271
52272 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
52273
52274         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
52275
52276 2001-03-19  Paul Eggert  <eggert@twinsun.com>
52277
52278         * lib/version-etc.c (version_etc_copyright): Update to 2001.
52279
52280 2001-03-17  Jim Meyering  <meyering@lucent.com>
52281
52282         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
52283         now that the version in autoconf is equivalent.
52284         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
52285
52286         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
52287         Suggestion from Akim Demaille.
52288
52289         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
52290         (jm_PREREQ_TEMPNAME): New function.
52291
52292 2001-03-16  Paul Eggert  <eggert@twinsun.com>
52293
52294         * lib/tempname.c (uint64_t): Define to uintmax_t if
52295         not defined, and if UINT64_MAX is not defined.
52296         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
52297         Reported by John David Anglin.
52298
52299 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
52300
52301         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
52302         resolve alias if codeset is empty.
52303         * lib/config.charset (BeOS): Use wildcard syntax.
52304
52305 2001-03-13  Jim Meyering  <meyering@lucent.com>
52306
52307         * lib/path-concat.c (path_concat)
52308         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
52309         concatenating e.g., `C:' and `foo'.
52310         From Bruno Haible.
52311
52312 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
52313
52314         * lib/localcharset.c (locale_charset): Don't use
52315         setlocale(LC_CTYPE,NULL). Don't return NULL.
52316         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
52317
52318 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
52319
52320         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
52321         support for DOS/DJGPP.
52322
52323 2001-03-01  Paul Eggert  <eggert@twinsun.com>
52324
52325         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
52326         lacks mkstemp.  Compile our own tempname.c if we compile our own
52327         mkstemp.c, as mkstemp relies on tempname.
52328
52329 2001-03-01  Jim Meyering  <meyering@lucent.com>
52330
52331         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
52332         AH_VERBATIM really does output its argument verbatim.
52333
52334 2001-02-28  Paul Eggert  <eggert@twinsun.com>
52335
52336         * lib/Makefile.am (libfetish_a_SOURCES):
52337         Add dup-safer.c, fopen-safer.c.
52338         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
52339
52340         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
52341         * lib/unistd-safer.h: New files.
52342
52343 2001-02-25  Paul Eggert  <eggert@twinsun.com>
52344
52345         The mkstemp replacement is taken from glibc 2.2.2, with some
52346         portability fixes for use outside glibc, as follows:
52347
52348         * lib/tempname.c (struct_stat64): New macro.
52349         (direxists, __gen_tempname): Use it.
52350         This avoids a portability problem with Solaris 8.
52351
52352         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
52353         (<stddef.h>, <stdint.h>, <string.h>):
52354         Include only if STDC_HEADERS || _LIBC.
52355         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
52356         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
52357         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
52358         (__set_errno): Define this macro if <errno.h> doesn't.
52359         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
52360         Define these macros if <stdio.h> doesn't.
52361         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
52362         Define these macros if <sys/stat.h>
52363         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
52364         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
52365         __xstat64): Define if not _LIBC.
52366         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
52367         (__gen_tempname): Invoke gettimeofday only if
52368         HAVE_GETTIMEOFDAY || _LIBC;
52369         otherwise, fall back on plain "time".
52370         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
52371
52372         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
52373
52374         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
52375
52376 2001-02-18  Paul Eggert  <eggert@twinsun.com>
52377
52378         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
52379
52380 2001-02-17  Paul Eggert  <eggert@twinsun.com>
52381
52382         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
52383         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
52384         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
52385         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
52386
52387 2001-02-17  Paul Eggert  <eggert@twinsun.com>
52388
52389         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
52390         Remove workaround macros for hosts that have mbrtowc but not
52391         mbstate_t, as we now insist on proper declarations for both
52392         before using mbrtowc.
52393
52394 2001-02-17  Jim Meyering  <meyering@lucent.com>
52395
52396         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
52397         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
52398         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
52399         UnixWare 7.1.1.
52400
52401         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
52402         rather than AC_CACHE_VAL.
52403
52404 2001-02-17  Jim Meyering  <meyering@lucent.com>
52405
52406         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
52407         around included file name.
52408
52409         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
52410
52411         * lib/strftime.c: Update from GNU libc (the only changes were to
52412         comments).
52413
52414 2001-02-17  Jim Meyering  <meyering@lucent.com>
52415
52416         * lib/regex.c: Update from libc.
52417
52418 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
52419
52420         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
52421         clash.
52422
52423 2001-02-16  Paul Eggert  <eggert@twinsun.com>
52424
52425         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
52426         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
52427         Reported by Mark Hounschell via Paul Eggert.
52428
52429 2001-02-07  Jim Meyering  <meyering@lucent.com>
52430
52431         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
52432
52433 2001-02-05  Jim Meyering  <meyering@lucent.com>
52434
52435         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
52436         it includes the patch required for `large file' support with at least
52437         HP-UX's 10.20 /bin/cc.
52438
52439 2001-02-03  Jim Meyering  <meyering@lucent.com>
52440
52441         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
52442         AS_IF, now that it works once again (mysteriously).
52443         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
52444
52445 2001-01-30  Jim Meyering  <meyering@lucent.com>
52446
52447         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
52448         * m4/chown.m4: Rename conftestchown to conftest.chown.
52449         * m4/rename.m4: s/conftestdir/conftest.d1/ and
52450         s/conftestdir2/conftest.d2/.
52451         * m4/utimes.m4: s/conftestdata/conftest.data/
52452         Inspired by Pavel Roskin's change in autoconf.
52453
52454 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
52455
52456         * lib/config.charset: Update for FreeBSD 4.2.
52457
52458 2001-01-27  Jim Meyering  <meyering@lucent.com>
52459
52460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
52461         a use of AS_IF.
52462         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
52463
52464 2001-01-26  Jim Meyering  <meyering@lucent.com>
52465
52466         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
52467         quotearg.c includes it.
52468
52469 2001-01-26  Jim Meyering  <meyering@lucent.com>
52470
52471         * lib/quotearg.c: Include stddef.h.
52472         * lib/quote.c: Include stddef.h.
52473         Reported by Axel Kittenberger.
52474
52475         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
52476         line in double quotes so that it evokes a better diagnostic.
52477         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
52478         Reported by Axel Kittenberger.
52479
52480 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
52481
52482         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
52483         as if it was a `charset'.
52484
52485 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
52486
52487         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
52488         has const.
52489
52490 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
52491
52492         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
52493         to avoid a warning.  Add back 'const' to inptr.
52494
52495 2001-01-20  Jim Meyering  <meyering@lucent.com>
52496
52497         Be sure that headers are checked before used in code compiled
52498         for the type checks.
52499         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
52500         In place of that, invoke jm_CHECK_ALL_TYPES.
52501         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
52502         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
52503         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
52504         The check for ssize_t was mistakenly run before the test for unistd.h.
52505
52506         The configure-time check for stdbool.h was missing.
52507         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
52508         (jm_PREREQ_HASH): New function.
52509
52510 2001-01-17  Jim Meyering  <meyering@lucent.com>
52511
52512         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
52513         for autoconf-2.49c.
52514         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
52515
52516 2001-01-16  Jim Meyering  <meyering@lucent.com>
52517
52518         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
52519         From Bruno Haible.
52520
52521 2001-01-14  Jim Meyering  <meyering@lucent.com>
52522
52523         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
52524         foo and bar.  Create conftestdir/ in the script, not in the C code.
52525         Remove directories in the script, not in the C code.
52526         Remove conftestdir{,2} before trying to create the directory.
52527         Make the entire configure script fail if the mkdir fails.
52528
52529 2001-01-14  Jim Meyering  <meyering@lucent.com>
52530
52531         * lib/rename.c: New file.  From Volker Borchert.
52532         Include stdlib.h, string.h or strings.h, and xalloc.h.
52533         Use strip_trailing_slashes rather than open-coding it.
52534
52535 2001-01-03  Paul Eggert  <eggert@twinsun.com>
52536
52537         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
52538
52539 2001-01-03  Jim Meyering  <meyering@lucent.com>
52540
52541         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
52542         of local `inptr' to avoid warning with some system declarations of
52543         iconv.
52544
52545 2001-01-02  Volker Borchert  <bt@teknon.de>
52546
52547         * m4/rename.m4: New file.
52548         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
52549
52550 2001-01-01  Jim Meyering  <meyering@lucent.com>
52551
52552         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
52553         even on systems with utmpx.h.  It's necessary for the declaration of
52554         utmp's ut_user member.  Reported by Andreas Jaeger.
52555
52556         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
52557         available. They are required for the declarations of getgrgid and
52558         getpwuid resp.
52559         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
52560         Reported by Andreas Jaeger.
52561
52562 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
52563
52564         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
52565         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
52566         so `make install' also works in VPATH builds.
52567
52568 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
52569
52570         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
52571         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
52572         can be used in subdirectories.
52573
52574 2000-12-29  Paul Eggert  <eggert@twinsun.com>
52575
52576         * lib/modechange.c: Do not assume that mode_t uses the
52577         traditional octal encoding.  E.g. "chmod 1 FOO" should set
52578         the other-execute bit of FOO even if S_IXOTH != 1.
52579
52580         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
52581         WOTH, XOTH, ALLM): New macros.
52582         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
52583          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
52584         Use them.
52585         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
52586         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
52587         (mode_compile):
52588         No need to use uintmax_t; unsigned long is long enough.
52589         Don't bother to get suffix since we don't use it.
52590
52591 2000-12-26  Jim Meyering  <meyering@lucent.com>
52592
52593         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
52594         better with autoheader.
52595
52596 2000-12-24  Jim Meyering  <meyering@lucent.com>
52597
52598         * lib/hash.c (is_prime): Return explicit boolean values.
52599         (hash_get_first): Return NULL to appease Irix5.6's 89.
52600         Reported by Nelson Beebe.
52601
52602 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
52603
52604         * lib/localcharset.c (locale_charset): Add support for Win32.
52605
52606 2000-12-18  Paul Eggert  <eggert@twinsun.com>
52607
52608         * lib/physmem.h, lib/physmem.c: New files.
52609
52610         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
52611         (noinst_HEADERS): Add physmem.h.
52612
52613         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
52614         't' for compatibility with Solaris 8 sort.
52615
52616 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
52617
52618         * lib/config.charset: Add support for BeOS.
52619
52620 2000-12-17  Jim Meyering  <meyering@lucent.com>
52621
52622         * m4/dos.m4 (jm_AC_DOS): New file and macro.
52623         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
52624
52625 2000-12-16  Jim Meyering  <meyering@lucent.com>
52626
52627         This bug had a serious impact on chown: `chown N:M FILE' (for integer
52628         N and M) would have treated it like `chown N:N FILE'.
52629
52630         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
52631
52632 2000-12-16  Jim Meyering  <meyering@lucent.com>
52633
52634         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
52635         SHELLS_FILE to a file name that's useful on djgpp systems.
52636         Include stdlib.h.
52637         (ADDITIONAL_DEFAULT_SHELLS): Define.
52638         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
52639         Based mostly on a patch from Prashant TR.
52640
52641 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
52642
52643         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
52644         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
52645         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
52646
52647 2000-12-08  Andreas Schwab  <schwab@suse.de>
52648
52649         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
52650         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
52651
52652 2000-12-07  Jim Meyering  <meyering@lucent.com>
52653
52654         * lib/stripslash.c (ISSLASH): Define.
52655         (strip_trailing_slashes): Use ISSLASH rather than comparing against
52656         `/'.
52657         From Prashant TR.
52658
52659         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
52660         (dir_name_r): Declare this function as static.
52661         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
52662         manifest itself on a name containing a mix of slashes and
52663         backslashes.
52664         Make this function work with names starting with a DOS-style
52665         drive letter and colon prefix.
52666         (dir_name): Append `.' if necessary.
52667         Based mostly on patches from Prashant TR and Eli Zaretskii.
52668
52669         * lib/dirname.h (dir_name_r): Remove prototype.
52670
52671 2000-12-06  Paul Eggert  <eggert@twinsun.com>
52672
52673         * m4/off_t-format.m4: Remove this file.
52674         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
52675
52676 2000-12-06  Jim Meyering  <meyering@lucent.com>
52677
52678         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
52679         replacement strtoull, we may well need the replacement strtoul, too.
52680         Check for declarations of strtoul and strtoull.
52681         Check for strtol.  Mainly as a cue to cause automake to include
52682         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
52683         Check for limits.h -- strtol.c needs it.
52684
52685 2000-12-05  Jim Meyering  <meyering@lucent.com>
52686
52687         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
52688
52689 2000-12-04  Jim Meyering  <meyering@lucent.com>
52690
52691         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
52692         Also include memory.h, stdlib.h, unistd.h if appropriate.
52693         Reported by Andreas Jaeger (conflicting declaration of malloc).
52694
52695 2000-12-02  Jim Meyering  <meyering@lucent.com>
52696
52697         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
52698         * m4/jm-macros.m4 (jm_MACROS): require it.
52699
52700 2000-12-02  Jim Meyering  <meyering@lucent.com>
52701
52702         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
52703
52704 2000-12-01  Paul Eggert  <eggert@twinsun.com>
52705
52706         * lib/memrchr.c: Include <config.h> before any system include file.
52707
52708 2000-11-30  Jim Meyering  <meyering@lucent.com>
52709
52710         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
52711
52712 2000-11-30  Jim Meyering  <meyering@lucent.com>
52713
52714         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
52715
52716 2000-11-29  Paul Eggert  <eggert@twinsun.com>
52717
52718         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
52719
52720 2000-11-26  Jim Meyering  <meyering@lucent.com>
52721
52722         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
52723
52724 2000-11-22  Paul Eggert  <eggert@twinsun.com>
52725
52726         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
52727         size of (size_t) -1; it's not portable.
52728
52729 2000-11-17  Jim Meyering  <meyering@lucent.com>
52730
52731         * lib/strstr.c: Update from GNU libc.
52732
52733 2000-11-17  Akim Demaille  <akim@epita.fr>
52734
52735         * lib/obstack.h: Formatting changes.
52736         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
52737         prevent type checking.
52738         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
52739         cast the value to (void *): assigning a `foo *' to a `void *'
52740         variable is valid.
52741         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
52742
52743 2000-11-16  Jim Meyering  <meyering@lucent.com>
52744
52745         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
52746
52747 2000-11-11  Jim Meyering  <meyering@lucent.com>
52748
52749         * lib/error.c: Add a couple #includes, merging from GNU libc version.
52750
52751 2000-11-10  Jim Meyering  <meyering@lucent.com>
52752
52753         * lib/obstack.h: Update from GNU libc.
52754         * lib/obstack.c: Likewise.
52755
52756 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
52757
52758         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
52759
52760 2000-11-06  Paul Eggert  <eggert@twinsun.com>
52761
52762         * lib/getusershell.c (setusershell): Use rewind rather than
52763         fseek/fseeko, to avoid configuration hassles with fseeko.
52764         Don't bother opening SHELLS_FILE if shellstream is NULL;
52765         it's not necessary.
52766
52767 2000-11-05  Jim Meyering  <meyering@lucent.com>
52768
52769         * lib/makepath.h (make_dir): Declare.
52770         * lib/makepath.c (make_dir): Remove `static' attribute.
52771         Tweak a comment.
52772
52773 2000-11-04  Jim Meyering  <meyering@lucent.com>
52774
52775         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
52776
52777 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
52778
52779         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
52780         last one in a bucket, advance to the next bucket.
52781
52782 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
52783
52784         * lib/fnmatch.c: Do not comment out all the code if we are using
52785         the GNU C library, because in some cases we are replacing buggy
52786         code in the GNU C library itself.
52787
52788 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
52789
52790         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
52791         (regex_compile): Catch bogus \(\1\).
52792
52793 2000-10-30  Paul Eggert  <eggert@twinsun.com>
52794
52795         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
52796         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
52797         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
52798
52799 2000-10-30  Paul Eggert  <eggert@twinsun.com>
52800
52801         * lib/error.h, getline.h, modechange.h:
52802         Remove "2000" from Copyright line, as the file hasn't been
52803         changed this year other than in the copyright notice.
52804
52805         * lib/xalloc.h: Add "2000" to Copyright line, as this file
52806         was changed this year.
52807
52808 2000-10-29  Jim Meyering  <meyering@lucent.com>
52809
52810         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
52811         renaming.
52812         * m4/ls-mntd-fs.m4: Likewise
52813
52814 2000-10-29  Jim Meyering  <meyering@lucent.com>
52815
52816         * lib/xstat.in: Fix grammar in comment.
52817
52818 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
52819
52820         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
52821         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
52822         doesn't define __restrict_arr.
52823
52824 2000-10-28  Jim Meyering  <meyering@lucent.com>
52825
52826         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
52827         (jm_PREREQ_MEMCHR): New function.
52828
52829 2000-10-28  Jim Meyering  <meyering@lucent.com>
52830
52831         * lib/memchr.c: Update from libc.
52832         Adjust for portability:
52833         [HAVE_STDLIB_H]: Include stdlib.h.
52834         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
52835         Undef __memchr, too.
52836         [!weak_alias]: Define __memchr to memchr.
52837
52838         * lib/regex.c: Update from libc.
52839         * lib/regex.h: Likewise.
52840         * lib/getopt1.c: Likewise.
52841         * lib/memcmp.c: Likewise.
52842
52843         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
52844         Avoid using fseek, when possible -- it's broken by design.
52845         Patch by Ulrich Drepper.
52846
52847 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
52848
52849         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
52850         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
52851         Giving in to popular pressure to shut up the compiler with casts.
52852
52853 2000-10-26  Jim Meyering  <meyering@lucent.com>
52854
52855         * lib/strftime.c: Update from libc.
52856
52857 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
52858
52859         * regex.c: More `unsigned char' -> `re_char' changes.
52860         Also change several `int' into `re_wchar_t'.
52861         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
52862         (PUSH_FAILURE_POINTER): Don't cast any more.
52863         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
52864         We want GCC to complain, since this piece of code makes
52865         re_match non-reentrant, which *should* be fixed.
52866         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
52867         (EXTEND_BUFFER): Use RETALLOC.
52868         (SET_LIST_BIT): Don't cast.
52869         (re_wchar_t): New type.
52870         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
52871         that those two functions will always properly return.
52872         (IMMEDIATE_QUIT_CHECK): Cast to void.
52873         (analyse_first): Use recursion rather than an explicit stack.
52874         (re_compile_fastmap): Can't fail anymore.
52875         (re_search_2): Don't check re_compile_fastmap for failure.
52876         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
52877         Now also sets the new value (passed in a new argument).
52878         (re_match_2_internal): Use it.
52879         Also, use a new var `reg' of type size_t when looping through regs
52880         rather than reuse the inappropriate `mcnt'.
52881
52882 2000-10-25  Jim Meyering  <meyering@lucent.com>
52883
52884         * lib/obstack.c: Update from libc.
52885
52886 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
52887
52888         * regex.c (regex_compile): Change the way of handling a range from
52889         a char less than 256 to a char not less than 256.
52890
52891 2000-10-24  Andrew Innes  <andrewi@gnu.org>
52892
52893         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
52894         NT-Emacs only.
52895         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
52896         so that re_search functions only quit when callers expect them to.
52897
52898 2000-10-23  Jim Meyering  <meyering@lucent.com>
52899
52900         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
52901         wrong.  That set_locale call must not have any side effects.
52902         From Paul Eggert.
52903
52904 2000-10-22  Jim Meyering  <meyering@lucent.com>
52905
52906         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
52907         [CYCLIC]: Remove now-unused definition.
52908
52909         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
52910         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
52911         Suggestion from Ulrich Drepper.
52912
52913 2000-10-21  Jim Meyering  <meyering@lucent.com>
52914
52915         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
52916         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
52917         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
52918
52919 2000-10-21  Jim Meyering  <meyering@lucent.com>
52920
52921         * lib/dirname.c (memrchr): Declare if necessary.
52922         (dir_name): Remove the restriction that there be no
52923         trailing slashes.  Now, this code skips past them, effectively
52924         ignoring them.
52925         [TEST_DIRNAME] (main): New unit tests.
52926
52927         * lib/memrchr.c: New file from GNU libc.
52928         Undef __memrchr, too.
52929         [!weak_alias]: Define __memrchr to memrchr.
52930         Guard weak_alias use with `#ifdef weak_alias'.
52931
52932 2000-10-21  Jim Meyering  <meyering@lucent.com>
52933
52934         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
52935         (dir_name): Use dir_name_r.
52936         * lib/dirname.h (dir_name_r): Declare it.
52937
52938 2000-10-17  Jim Meyering  <meyering@lucent.com>
52939
52940         * lib/quote.h (PARAMS): Define and use.
52941         Reported by Akim Demaille.
52942
52943         * lib/getopt.c: Update from libc.
52944
52945 2000-10-16  Jim Meyering  <meyering@lucent.com>
52946
52947         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
52948         setlocale.
52949         From Jan Fedak.
52950
52951 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
52952
52953         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
52954
52955 2000-09-25  Jim Meyering  <meyering@lucent.com>
52956
52957         * lib/md5.h (rol): Define (from GnuPG).
52958
52959         * lib/sha.c: Give credit (GnuPG) where due.
52960         (M): Use rol rather than open-coding it.
52961         Add a FIXME comment.
52962
52963 2000-09-21  Jim Meyering  <meyering@lucent.com>
52964
52965         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
52966         Reported by Michael Stone.
52967
52968 2000-09-20  Jim Meyering  <meyering@lucent.com>
52969
52970         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
52971         (noinst_HEADERS): Add sha.h.
52972         Based on code from Scott G. Miller and from GnuPG.
52973
52974 2000-09-18  Jim Meyering  <meyering@lucent.com>
52975
52976         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
52977         LIBS. Otherwise, everyone ends up linking with -lelf for some
52978         configurations.
52979         Reported by Mike Stone.
52980
52981 2000-09-15  Jim Meyering  <meyering@lucent.com>
52982
52983         * lib/regex.c: Update from libc.
52984
52985 2000-09-10  Jim Meyering  <meyering@lucent.com>
52986
52987         * lib/getopt.c (_getopt_internal): Update from glibc.
52988
52989 2000-09-09  Jim Meyering  <meyering@lucent.com>
52990
52991         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
52992         think it should be used as a general replacement for isascii.
52993         * lib/fnmatch.c: Likewise.
52994         * lib/mbswidth.c: Likewise
52995         * lib/regex.c: Likewise.
52996
52997         Don't use atoi.
52998         * lib/userspec.c: Include sys/param.h and limits.h.
52999         Include xstrtol.h.
53000         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
53001         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
53002         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
53003         UID, GID.  Check range.
53004
53005 2000-09-06  Jim Meyering  <meyering@lucent.com>
53006
53007         * lib/getopt.c (_getopt_internal): Update from glibc.
53008
53009 2000-08-30  Jim Meyering  <meyering@lucent.com>
53010
53011         * lib/strftime.c: Merge in changes from GNU libc.
53012
53013 2000-08-26  Jim Meyering  <meyering@lucent.com>
53014
53015         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
53016         * m4/fpending.m4: New file.
53017
53018 2000-08-26  Jim Meyering  <meyering@lucent.com>
53019
53020         * lib/closeout.c: Include "__fpending.h".
53021         (close_stdout_status): Return right away if there's nothing to flush.
53022
53023         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
53024         * lib/__fpending.c: New file.
53025         * lib/__fpending.h: New file.
53026
53027 2000-08-20  Jim Meyering  <meyering@lucent.com>
53028
53029         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
53030         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
53031         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
53032
53033 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
53034
53035         Improve fileutils installation on systems where running
53036         programs (like install) can't be unlinked.
53037         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
53038         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
53039
53040 2000-08-07  Paul Eggert  <eggert@twinsun.com>
53041
53042         Standardize on "memory exhausted" instead of "Memory exhausted"
53043         or "virtual memory exhausted".
53044         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
53045         "virtual memory exhausted".
53046         * lib/same.c (same_name): Invoke xalloc_die instead of printing
53047         our own message.
53048         * lib/userspec.c (parse_user_spec): Likewise.
53049         * lib/bumpalloc.h: comment fix
53050         * lib/same.c, userspec.c: Include xalloc.h.
53051
53052         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
53053         not char *const and pointing to a constant array.
53054         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
53055         (xrealloc): Comment fix.
53056
53057         * lib/userspec.c (parse_user_spec):
53058         Don't translate a message until just before returning,
53059         to avoid unnecessary translation.
53060
53061 2000-08-07  Jim Meyering  <meyering@lucent.com>
53062
53063         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
53064         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
53065         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
53066         getgroups.c, gethostname.c, getopt.h, group-member.c,
53067         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
53068         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
53069         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
53070         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
53071         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
53072         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
53073         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
53074         yesno.c: Back out Copyright date changes for each file with no change
53075         this year.  This eases coordination with other programs using the same
53076         source code modules.  From Paul Eggert.
53077
53078 2000-08-06  Paul Eggert  <eggert@twinsun.com>
53079
53080         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
53081         not char, for compatibility with glibc 2.1.3 strftime.c.
53082
53083 2000-08-03  Greg McGary  <greg@mcgary.org>
53084
53085         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
53086         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
53087         (EXTEND_BUFFER): Use them.
53088
53089 2000-08-01  Jim Meyering  <meyering@lucent.com>
53090
53091         * lib/dirname.c (ISSLASH): Define.
53092         (BACKSLASH_IS_PATH_SEPARATOR): Define.
53093         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
53094         both `\' and `/' may be use as path separators.
53095         Based on a patch from Prashant TR.
53096
53097 2000-07-31  Paul Eggert  <eggert@twinsun.com>
53098
53099         * lib/quotearg.c (quotearg_n_options): Don't make the initial
53100         slot vector a constant, since it might get modified.
53101
53102 2000-07-31  Jim Meyering  <meyering@lucent.com>
53103
53104         * lib/xmalloc.c: Use `virtual memory exhausted', not
53105         `Memory exhausted'.
53106         * lib/obstack.c (print_and_abort): Likewise.
53107
53108 2000-07-30  Paul Eggert  <eggert@twinsun.com>
53109
53110         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
53111         buffer, so that the caller can always quote one small
53112         component of a "memory exhausted" message in slot 0.
53113         From a suggestion by Jim Meyering.
53114
53115 2000-07-30  Jim Meyering  <meyering@lucent.com>
53116
53117         * lib/makepath.c (make_path): Quote the other instance, too.
53118
53119         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
53120         (STATIC_BUF_SIZE): Define.
53121         (quotearg_n_options): Use only statically allocated storage when
53122         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
53123         than STATIC_BUF_SIZE.
53124
53125 2000-07-29  Jim Meyering  <meyering@lucent.com>
53126
53127         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
53128         * lib/dirname.c (dir_name): Likewise.
53129
53130         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
53131         `/'.
53132
53133         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
53134         (dir_name): Assert that there are no trailing slashes.
53135
53136 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
53137
53138         * lib/mbswidth.h (mbswidth): Add a flags argument.
53139         (mbswidth): New declaration.
53140         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
53141         * lib/mbswidth.c (mbswidth): Add a flags argument.
53142         (mbsnwidth): New function.
53143
53144 2000-07-24  Jim Meyering  <meyering@lucent.com>
53145
53146         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
53147
53148 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53149
53150         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
53151
53152 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53153
53154         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
53155         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
53156         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
53157         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
53158         invoke multibyte primitives.
53159
53160 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53161
53162         * lib/quotearg.c:
53163         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
53164         so that mbstate_t is always defined.
53165
53166         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
53167         be 1 in at least one GCC installation, and this configuration
53168         error is likely to be common.  Ignoring MB_LEN_MAX hurts
53169         performance on hosts that have mbrtowc but have only unibyte
53170         locales, but I assume these hosts are rare.
53171
53172 2000-07-23  Paul Eggert  <eggert@twinsun.com>
53173
53174         * lib/mbswidth.c (_XOPEN_SOURCE):
53175         Don't define; this causes problems on Solaris 7.
53176         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
53177
53178 2000-07-23  Jim Meyering  <meyering@lucent.com>
53179
53180         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
53181         too: getgrgid, getpwuid, getuid.
53182
53183 2000-07-23  Jim Meyering  <meyering@lucent.com>
53184
53185         * lib/basename.c (base_name): Add an assertion.
53186
53187 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
53188
53189         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
53190         shadow its mbsinit function.
53191
53192 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
53193
53194         * lib/mbswidth.h: New file.
53195         * lib/mbswidth.c: New file.
53196         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
53197         (noinst_HEADERS): Add mbswidth.h.
53198
53199 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
53200
53201         * lib/config.charset: Add support for FreeBSD. Improve support for
53202         HP-UX and IRIX 6.
53203
53204 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
53205
53206         * m4/mbswidth.m4: New file.
53207         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
53208
53209 2000-07-15  Jim Meyering  <meyering@lucent.com>
53210
53211         * lib/makepath.c: Include quote.h.
53212         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
53213         corresponding argument in a `quote (...)' call.
53214         Give better diagnostics.
53215
53216         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
53217         (noinst_HEADERS): Add quote.h.
53218
53219         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
53220         from tar's src/misc.c.
53221         * lib/quote.h: New file.  Prototypes for same.
53222
53223 2000-07-14  Paul Eggert  <eggert@twinsun.com>
53224
53225         From a suggestion by Bruno Haible.
53226         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
53227         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
53228         to decide whether to define the BeOS workaround macro;
53229         this adjusts to the change to AC_MBSTATE_T.
53230
53231 2000-07-14  Jim Meyering  <meyering@lucent.com>
53232
53233         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
53234         jm_AC_TYPE_UINTMAX_T.
53235
53236 2000-07-13  Paul Eggert  <eggert@twinsun.com>
53237
53238         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
53239
53240         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
53241         quotearg_buffer_restyled): Add support for
53242         clocale_quoting_style.  Undo previous change to
53243         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
53244         and "{RIGHT QUOTATION MARK}" msgids.
53245
53246 2000-07-10  Paul Eggert  <eggert@twinsun.com>
53247
53248         From a suggestion by Bruno Haible.
53249         * m4/mbstate_t.m4 (AC_MBSTATE_T):
53250         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
53251         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
53252         and mbstate_t, to a single-part test that simply defines mbstate_t.
53253         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
53254         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
53255
53256 2000-07-10  Jim Meyering  <meyering@lucent.com>
53257
53258         * m4/strerror_r.m4: Mirror the correction made in autoconf.
53259
53260         * m4/gnu-source.m4: Output to confdefs.h directly.
53261         Suggestion from Akim Demaille.
53262
53263 2000-07-09  Paul Eggert  <eggert@twinsun.com>
53264
53265         The old behavior of quoting `like this' doesn't look good with
53266         newer, ISO-style fonts.  See:
53267         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
53268
53269         Instead, quote "like this" by default.  Let the translator
53270         tailor the locale-specific quoting behavior by providing
53271         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
53272
53273         * lib/quotearg.c (N_): New macro.
53274         (gettext_default): New function.
53275         (quotearg_buffer_restyled): Use
53276         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
53277         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
53278
53279 2000-07-09  Jim Meyering  <meyering@lucent.com>
53280
53281         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
53282         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
53283
53284         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
53285         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
53286
53287 2000-07-09  Jim Meyering  <meyering@lucent.com>
53288
53289         * lib/Most files: Update copyright dates to include 2000.
53290
53291 2000-07-08  Jim Meyering  <meyering@lucent.com>
53292
53293         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
53294         if not defined.
53295         (xgethostname): Remove now-unnecessary #ifdef.
53296         Move declaration of `err' into loop where it's used.
53297
53298 2000-07-05  Paul Eggert  <eggert@twinsun.com>
53299         and Bruno Haible  <haible@clisp.cons.org>
53300
53301         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
53302         only if the test for an object-type mbstate_t fails.  This
53303         prevents us from mistakenly reporting that mbstate_t is a
53304         system object type after we "#define mbstate_t int" to work
53305         around its lack.
53306
53307 2000-07-05  Paul Eggert  <eggert@twinsun.com>
53308         and Bruno Haible  <haible@clisp.cons.org>
53309
53310         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
53311
53312 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
53313
53314         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
53315         to strerror_r.
53316         Include <ctype.h> for use of isalpha.
53317
53318 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
53319
53320         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
53321         by allocating a larger buffer. Test the gethostname return value for
53322         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
53323         returns an error and ENAMETOOLONG isn't defined.
53324
53325 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
53326
53327         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
53328         dimension.
53329
53330 2000-07-04  Jim Meyering  <meyering@lucent.com>
53331
53332         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
53333         of the deprecated AC_CHECKING.
53334
53335 2000-07-04  Jim Meyering  <meyering@lucent.com>
53336
53337         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
53338         Reported by Bruno Haible.
53339
53340 2000-07-04  Jim Meyering  <meyering@lucent.com>
53341
53342         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
53343         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
53344         lacks mbrtowc.
53345
53346 2000-07-03  Paul Eggert  <eggert@twinsun.com>
53347
53348         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
53349         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
53350
53351 2000-07-03  Paul Eggert  <eggert@twinsun.com>
53352         and Bruno Haible  <haible@clisp.cons.org>
53353
53354         * lib/quotearg.c (mbrtowc):
53355         Assign to *pwc, and return 1 only if result is nonzero.
53356         (iswprint): Use ISPRINT when substituting our own mbrtowc.
53357
53358 2000-07-03  Jim Meyering  <meyering@lucent.com>
53359
53360         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
53361
53362 2000-07-03  Jim Meyering  <meyering@lucent.com>
53363
53364         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
53365         This is necessary to get a definition of e.g., UTMP_FILE on
53366         HP-UX 10.20.
53367         From Bob Proulx.
53368
53369 2000-07-02  Jim Meyering  <meyering@lucent.com>
53370
53371         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
53372
53373         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
53374         AC_LIBOBJ(function_name).
53375         * m4/chown.m4: Likewise.
53376         * m4/fnmatch.m4: Likewise.
53377         * m4/ftruncate.m4: Likewise.
53378         * m4/getgroups.m4: Likewise.
53379         * m4/getline.m4: Likewise.
53380         * m4/group-member.m4: Likewise.
53381         * m4/jm-macros.m4: Likewise.
53382         * m4/lstat.m4: Likewise.
53383         * m4/malloc.m4: Likewise.
53384         * m4/memcmp.m4: Likewise.
53385         * m4/nanosleep.m4: Likewise.
53386         * m4/putenv.m4: Likewise.
53387         * m4/realloc.m4: Likewise.
53388         * m4/regex.m4: Likewise.
53389         * m4/stat.m4: Likewise.
53390         * m4/strftime.m4: Likewise.
53391
53392 2000-07-02  Jim Meyering  <meyering@lucent.com>
53393
53394         * lib/quotearg.c (mbstate_t): Don't define here.
53395
53396 2000-07-02  Jim Meyering  <meyering@lucent.com>
53397
53398         * lib/nanosleep.c (SIGCONT): Define if not already defined.
53399
53400 2000-07-01  Jim Meyering  <meyering@lucent.com>
53401
53402         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
53403
53404 2000-07-01  Jim Meyering  <meyering@lucent.com>
53405
53406         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
53407         problem.
53408
53409 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
53410
53411         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
53412         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
53413
53414 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
53415
53416         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
53417         per change in ../m4/ls-mntd-fs.m4.
53418         (read_filesystem_list): Ignore symbolic links.
53419
53420 2000-06-29  Jim Meyering  <meyering@lucent.com>
53421
53422         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
53423         for declaration of strcmp.
53424
53425         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
53426
53427         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
53428         Avoid warning by casting result to `char *' to remove `const'.
53429
53430 2000-06-28  Jim Meyering  <meyering@lucent.com>
53431
53432         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
53433         included by quotearg.c, for which we perform this test.  From
53434         Bruno Haible.
53435
53436 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
53437
53438         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
53439         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
53440         <utmpx.h> exists, put readutmp.o into LIBOBJS.
53441
53442 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
53443
53444         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
53445
53446 2000-06-26  Paul Eggert  <eggert@twinsun.com>
53447
53448         savedir now sets errno on failure and invokes xmalloc to get memory.
53449         Fix a couple of other minor bugs while we're at it.
53450
53451         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
53452         (NAMLEN): Remove macro.
53453         (malloc, realloc): Remove decls.
53454         (stpcpy): Likewise.
53455         ("xalloc.h"): Include.
53456         (NAME_SIZE_DEFAULT): New macro.
53457         (savedir): Use xmalloc / xrealloc to allocate memory.
53458         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
53459         Skip "" directory entries.
53460         Use strlen to calculate directory entry length, since the old method
53461         is rarely used these days and isn't worth supporting.
53462         Don't use a pointer after freeing it.
53463         Check for integer overflow when calculating allocation size.
53464         Use memcpy to copy entries, instead of stpcpy.
53465         Set errno properly when returning NULL.
53466         Check for readdir error.
53467
53468 2000-06-26  Jim Meyering  <meyering@lucent.com>
53469
53470         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
53471
53472 2000-06-25  Jim Meyering  <meyering@lucent.com>
53473
53474         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
53475         Linux header bug when _XOPEN_SOURCE is defined to 500.
53476
53477 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
53478
53479         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
53480         deficiency.
53481
53482 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
53483
53484         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
53485         Include xalloc.h.
53486         Don't include <stdlib.h>.  Don't declare malloc, realloc.
53487
53488 2000-06-24  Jim Meyering  <meyering@lucent.com>
53489
53490         * m4/strerror_r.m4: Revive this file -- to try out an experimental
53491         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
53492         for which strerror does return char*, but which lacks a conveniently
53493         accessible declaration of the function.  If the compile-test says
53494         strerror_r doesn't work, then resort to a `run'-test that works on
53495         BeOS and segfaults on DEC Unix.
53496
53497 2000-06-24  Jim Meyering  <meyering@lucent.com>
53498
53499         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
53500
53501 2000-06-23  Paul Eggert  <eggert@twinsun.com>
53502
53503         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
53504         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
53505
53506 2000-06-23  Paul Eggert  <eggert@twinsun.com>
53507
53508         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
53509         (mbrtowc, mbstate_t): Define substitutes if
53510         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
53511         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
53512         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
53513
53514 2000-06-23  Jim Meyering  <meyering@lucent.com>
53515
53516         * m4/afs.m4: Add missing AC_MSG_RESULT.
53517         Reported by Bruno Haible.
53518
53519         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
53520         Suggestion from Bruno Haible.
53521
53522 2000-06-23  Jim Meyering  <meyering@lucent.com>
53523
53524         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
53525
53526 2000-06-21  Jim Meyering  <meyering@lucent.com>
53527
53528         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
53529
53530 2000-06-21  Jim Meyering  <meyering@lucent.com>
53531
53532         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
53533         (noinst_HEADERS): Add getstr.h.
53534
53535         * lib/getline.c (getstr): Move into a separate file.
53536         * lib/getstr.c (getstr): New file, extracted from getline.c, with
53537         the following changes: new parameter, delim2; both delim[12]
53538         parameters have type `int', not `char'.  The latter would lose
53539         with 8-bit delimiters.
53540         * lib/getstr.h: New file.
53541
53542 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
53543
53544         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
53545         than 1024, return a memory chunk of least possible size, instead
53546         of size PATH_MAX + 2. In the loop, increment the size proportionally.
53547         Use free/xmalloc instead of xrealloc to avoid copying for very long
53548         paths.
53549
53550 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
53551
53552         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
53553         the empty string.
53554
53555 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
53556
53557         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
53558         address, not strdup.  Include <stdlib.h> and don't declare free().
53559
53560 2000-06-19  Jim Meyering  <meyering@lucent.com>
53561
53562         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
53563
53564 2000-06-18  Jim Meyering  <meyering@lucent.com>
53565
53566         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
53567
53568         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
53569         `checking whether...' message to be consistent with that of the
53570         lstat test.
53571
53572 2000-06-18  Jim Meyering  <meyering@lucent.com>
53573
53574         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
53575         Besides, these days every porting target provides a mkdir function.
53576
53577         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
53578         needed. (this snippet comes from src/system.h).
53579
53580 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
53581
53582         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
53583
53584 2000-06-15  Paul Eggert  <eggert@twinsun.com>
53585
53586         * lib/human.c (adjust_value): New function.
53587         (human_readable_inexact): Apply rounding style even when
53588         printing approximate values.
53589
53590 2000-06-14  Paul Eggert  <eggert@twinsun.com>
53591
53592         * lib/human.c (human_readable_inexact): Allow an input block
53593         size that is not a multiple of the output block size, and vice versa.
53594         Reported by Piergiorgio Sartor.
53595
53596 2000-06-14  Paul Eggert  <eggert@twinsun.com>
53597
53598         * lib/getdate.y (get_date): Apply relative times after time
53599         zone indicator, not before.  Reported by Todd A. Jacobs.
53600
53601 2000-06-13  Jim Meyering  <meyering@lucent.com>
53602
53603         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
53604
53605         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
53606
53607 2000-06-12  Paul Eggert  <eggert@twinsun.com>
53608
53609         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
53610
53611 2000-06-12  Jim Meyering  <meyering@lucent.com>
53612
53613         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
53614         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
53615         optional argument.
53616         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
53617         the optional argument, `lib'.
53618
53619 2000-06-08  Jim Meyering  <meyering@lucent.com>
53620
53621         * m4/largefile.m4: Remove file (now that it's part of autoconf).
53622
53623 2000-06-04  Paul Eggert  <eggert@twinsun.com>
53624
53625         Rewrite largefile configuration so that we don't need to run
53626         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
53627         AC_CANONICAL_HOST in configure.in -- jmm]
53628
53629         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
53630         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
53631         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
53632         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
53633         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
53634         All uses changed.
53635         Instead of inspecting the output of getconf, try to compile the
53636         test program without and with the macro definition.
53637         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
53638         for getconf.  Instead, check for the needed flags by compiling
53639         test programs.
53640
53641 2000-06-04  Paul Eggert  <eggert@twinsun.com>
53642
53643         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
53644
53645 2000-06-04  Jim Meyering  <meyering@lucent.com>
53646
53647         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
53648         SunOS 4.1.4 for which gid_t is an unsigned type.
53649
53650 2000-06-03  Jim Meyering  <meyering@lucent.com>
53651
53652         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
53653         now that autoconf requires that.
53654
53655         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
53656         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
53657         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
53658
53659 2000-06-03  Jim Meyering  <meyering@lucent.com>
53660
53661         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
53662
53663 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
53664
53665         * m4/glibc21.m4: New file.
53666         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
53667
53668 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
53669
53670         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
53671         newer, don't install charset.alias.
53672         * lib/config.charset: Change the Linux/glibc rules so they become empty
53673         on glibc-2.1 or newer.
53674
53675 2000-06-02  Jim Meyering  <meyering@lucent.com>
53676
53677         * lib/mountlist.c: Back out last change.  Instead, do this...
53678         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
53679         me_dummy member using the same `ignore'-testing code.
53680         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
53681         fs_type strings.
53682         From Mark D. Roth.
53683
53684 2000-05-29  Jim Meyering  <meyering@lucent.com>
53685
53686         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
53687         mounts with the `ignore' attribute.  Based on a patch from
53688         Mark D. Roth.
53689
53690 2000-05-28  Jim Meyering  <meyering@lucent.com>
53691
53692         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
53693         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53694         * m4/stat.m4: Likewise.
53695         * m4/lstat.m4: Likewise.
53696         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
53697
53698         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
53699         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
53700
53701 2000-05-26  Jim Meyering  <meyering@lucent.com>
53702
53703         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
53704
53705 2000-05-24  Jim Meyering  <meyering@lucent.com>
53706
53707         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
53708         autoconf requires that.
53709         * m4/lib-check.m4: Likewise.
53710         * m4/jm-macros.m4: Likewise.
53711         * m4/strftime.m4: Likewise.
53712
53713         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
53714         AC_CHECK_DECLS, now that autoconf requires that.
53715
53716 2000-05-22  Jim Meyering  <meyering@lucent.com>
53717
53718         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53719         * m4/lstat.m4: Likewise.
53720
53721 2000-05-22  Jim Meyering  <meyering@lucent.com>
53722
53723         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
53724
53725 2000-05-20  Jim Meyering  <meyering@lucent.com>
53726
53727         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
53728         (jm_PREREQ): Use it.
53729
53730 2000-05-18  Jim Meyering  <meyering@lucent.com>
53731
53732         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
53733         back, too, since it may have been modified by allocate_entry.
53734         (hash_delete): Rewrite to use neither the assignment operator
53735         nor the comma operator in an if-expression.
53736
53737 2000-05-15  Paul Eggert  <eggert@twinsun.com>
53738
53739         * lib/closeout.c:
53740         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
53741         Remove; no longer needed.
53742         "quotearg.h": Add include.
53743         (file_name): Do not bother to explicitly initialize to NULL; it's less
53744         efficient on some hosts.
53745         (close_stdout_status): Remove test as to whether stdout was already
53746         closed; it breaks for the case "echo x | sort >&-".
53747         Quote file name colons.
53748         Do not assume that _("write error") lacks format strings.
53749
53750 2000-05-15  Jim Meyering  <meyering@lucent.com>
53751
53752         * lib/version-etc.c (version_etc_copyright): Update the copyright
53753         string used in all --version output.
53754
53755 2000-05-14  Jim Meyering  <meyering@lucent.com>
53756
53757         * lib/closeout.c (close_stdout_set_file_name): New function.
53758         (close_stdout_status): Use new file-scoped global.
53759         Return right away if fstat says the stdout file descriptor is invalid.
53760         * lib/closeout.h (close_stdout_set_file_name): Declare.
53761
53762 2000-05-10  Jim Meyering  <meyering@lucent.com>
53763
53764         * lib/closeout.c [default_exit_status]: New file-scoped variable.
53765         (close_stdout_set_status): New function.
53766         * lib/closeout.h (close_stdout_set_status): Declare.
53767
53768 2000-05-09  Jim Meyering  <meyering@lucent.com>
53769
53770         * m4/gettext.m4: Rename this...
53771         * m4/libintl.m4: ...to this.
53772
53773 2000-05-08  Jim Meyering  <meyering@lucent.com>
53774
53775         * lib/long-options.c: Don't include closeout.h.
53776         (parse_long_options): Don't call close_stdout for --version.
53777
53778 2000-05-06  Paul Eggert  <eggert@twinsun.com>
53779
53780         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
53781         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
53782         2.1.3 bug.  This avoids a clash when files like regex.c define
53783         _GNU_SOURCE.
53784
53785 2000-05-06  Jim Meyering  <meyering@lucent.com>
53786
53787         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
53788         (AC_REPLACE_FUNCS): Add strnlen.
53789
53790         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
53791         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
53792
53793         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
53794         AC_SEARCH_LIBS call for nanosleep.
53795         (LIB_NANOSLEEP): Set and AC_SUBST.
53796
53797 2000-05-06  Jim Meyering  <meyering@lucent.com>
53798
53799         * lib/strnlen.c: Undefine __strnlen and strnlen.
53800         [!weak_alias]: Define __strnlen to strnlen.
53801
53802         * lib/atexit.c: New file, from libiberty.
53803
53804 2000-05-06  Jim Meyering  <meyering@lucent.com>
53805
53806         * lib/closeout.c (close_stdout_status): Also check for errors on the
53807         stderr stream.
53808
53809 2000-05-05  Jim Meyering  <meyering@lucent.com>
53810
53811         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
53812         AC_SEARCH_LIBS call for clock_gettime.
53813         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
53814
53815         * m4/search-libs.m4: Update from autoconf.
53816
53817         su doesn't work on Solaris 2.6.
53818         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
53819         <shadow.h>.  Reported by Dragos Harabor.
53820
53821 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
53822
53823         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
53824         memcpy instead of xmalloc, xrealloc, path_concat.
53825         (locale_charset): Treat empty environment variables as absent.
53826         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
53827
53828 2000-05-04  Jim Meyering  <meyering@lucent.com>
53829
53830         * lib/getopt.c: Update from glibc.
53831         * lib/obstack.c: Likewise.
53832         * lib/obstack.h: Likewise.
53833         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
53834         file
53835
53836         * lib/regex.h: Likewise.
53837         * lib/strndup.c: Likewise.
53838         * lib/strnlen.c: New file, from glibc.
53839
53840 2000-05-03  Jim Meyering  <meyering@lucent.com>
53841
53842         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
53843
53844 2000-05-02  Paul Eggert  <eggert@twinsun.com>
53845
53846         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
53847         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
53848         compile-time test, rather than inspecting host and OS, to
53849         decide whether to define _LARGEFILE_SOURCE.
53850
53851 2000-05-01  Jim Meyering  <meyering@lucent.com>
53852
53853         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
53854
53855         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
53856         Based on a patch from Bruno Haible.
53857
53858 2000-05-01  Jim Meyering  <meyering@lucent.com>
53859
53860         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
53861
53862 2000-04-29  Jim Meyering  <meyering@lucent.com>
53863
53864         * lib/path-concat.c: Declare strdup only if it's not defined.
53865         * lib/canon-host.c: Likewise.
53866
53867 2000-04-28  Jim Meyering  <meyering@lucent.com>
53868
53869         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
53870         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
53871         is included first, then limits.h is included by locale.h by libintl.h.
53872         From John David Anglin.
53873
53874 2000-04-25  Jim Meyering  <meyering@lucent.com>
53875
53876         * lib/makepath.c (S_IRWXUGO): Define.
53877         (make_path): Always perform explicit chmod if MODE specifies any
53878         of the `special' permission bits.  Prompted by a bug report against
53879         install from Mate Wierdl and Joost van Baal.
53880
53881 2000-04-18  Jim Meyering  <meyering@lucent.com>
53882
53883         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
53884         (jm_PREREQ): Use it.
53885
53886 2000-04-18  Jim Meyering  <meyering@lucent.com>
53887
53888         * lib/README: New file.
53889
53890         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
53891         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
53892
53893 2000-04-17  Jim Meyering  <meyering@lucent.com>
53894
53895         Get it right :-)
53896         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
53897         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
53898         Suggestion from Akim Demaille.
53899
53900 2000-04-17  Jim Meyering  <meyering@lucent.com>
53901
53902         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
53903         the definition of it to rpl_strftime also defined-away the system's
53904         declaration.
53905
53906 2000-04-15  Jim Meyering  <meyering@lucent.com>
53907
53908         Use `C' to denote so-called `contiguous' files, the same way
53909         that tar does.
53910         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
53911         (ftypelet): Use S_ISCTG.
53912         From Michael Deutschmann.
53913
53914 2000-04-14  Jim Meyering  <meyering@lucent.com>
53915
53916         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
53917         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
53918         clobbered.
53919
53920 2000-04-14  Jim Meyering  <meyering@lucent.com>
53921
53922         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
53923
53924 2000-04-13  Jim Meyering  <meyering@lucent.com>
53925
53926         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
53927         AH_VERBATIM to insert required #ifndef into config.h.in.
53928         Suggestion from Akim Demaille.
53929
53930 2000-04-12  Jim Meyering  <meyering@lucent.com>
53931
53932         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
53933         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
53934         Christian Krackowizer.
53935
53936         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
53937         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
53938         (AC_SYS_LARGEFILE): Require.
53939         (AM_C_PROTOTYPES): Require.
53940
53941 2000-04-08  Jim Meyering  <meyering@lucent.com>
53942
53943         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
53944         names don't conflict.  Reported by Eli Zaretskii.
53945
53946 2000-04-07  Jim Meyering  <meyering@lucent.com>
53947
53948         * lib/putenv.c: Move inclusion of errno.h so it follows that of
53949         sys/types.h, to work around system header problems on AIX 3.2.5.
53950         From Bruno Haible.
53951
53952 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
53953
53954         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
53955         bug.  Deal with the different error behavior of Irix iconv.
53956
53957 2000-04-05  Paul Eggert  <eggert@twinsun.com>
53958
53959         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
53960         IRIX if the installer said otherwise.
53961
53962 2000-04-05  Jim Meyering  <meyering@lucent.com>
53963
53964         Portability tweaks required for ultrix4.3.
53965         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
53966         (jm_CHECK_DECLS): Add getutent to the list of functions.
53967         (_jm_DECL_HEADERS): Add utmpx.h.
53968         From John David Anglin.
53969
53970         * m4/strftime.m4: Back out the 2000-04-02 change.
53971         Instead of that change, simply undefine putenv in the test program.
53972
53973 2000-04-05  Jim Meyering  <meyering@lucent.com>
53974
53975         Portability tweaks required for ultrix4.3.
53976         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
53977         getutent.
53978         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
53979         * lib/canon-host.c: Declare strdup.
53980         * lib/path-concat.c: Likewise.
53981         From John David Anglin.
53982
53983 2000-04-04  Jim Meyering  <meyering@lucent.com>
53984
53985         Be more DOS 8.3-friendly.
53986         * lib/ref-add.sin: Renamed from ref-add.sed.in.
53987         * lib/ref-del.sin: Renamed from ref-del.sed.in.
53988         * lib/Makefile.am: Reflect renaming.
53989         Reported by Eli Zaretskii.
53990
53991         Use a temporary file name that won't clash with `charset.alias'
53992         in the DOS 8.3 name space.
53993         * lib/Makefile.am (charset_tmp): Define.
53994         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
53995         (uninstall-local): Likewise.
53996         Reported by Eli Zaretskii.
53997
53998 2000-04-03  Jim Meyering  <meyering@lucent.com>
53999
54000         * m4/gettext.m4: Fix typo in comment.
54001
54002         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
54003         textutils/configure.in).  Suggestion from Paul Eggert.
54004         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
54005
54006 2000-04-02  Paul Eggert  <eggert@twinsun.com>
54007
54008         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
54009         variable in the shell rather than using putenv, which isn't
54010         portable.  This avoids the configure-time inter-test dependency
54011         on the potentially-renamed putenv function.
54012
54013 2000-03-30  Paul Eggert  <eggert@twinsun.com>
54014
54015         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
54016         before checking struct stat.st_blksize, so that
54017         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
54018
54019 2000-03-29  Paul Eggert  <eggert@twinsun.com>
54020
54021         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
54022         since strftime.c uses HAVE_STRFTIME to decide whether to use
54023         the underlying strftime.
54024
54025 2000-03-29  Paul Eggert  <eggert@twinsun.com>
54026
54027         * lib/time/strftime.c (my_strftime): Make sure we call the system
54028         strftime, not ourselves, when invoking the underlying strftime.
54029
54030 2000-03-24  Jim Meyering  <meyering@lucent.com>
54031
54032         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
54033         (charset_alias): Define.
54034         (install-exec-local): Factor out common code.
54035         (uninstall-local): Split lines longer than 80.
54036         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
54037         (SUFFIXES): Define.
54038         (.sed.in.sed): New rule.  Don't redirect directly to $@.
54039         (CLEANFILES): Add ref-add.sed and ref-del.sed.
54040
54041 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
54042
54043         * lib/config.charset: Output a line containing "Packages using this
54044         file".
54045         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
54046         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
54047         ref-del.sed): New rules.
54048
54049 2000-03-17  Jim Meyering  <meyering@lucent.com>
54050
54051         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
54052         Otherwise, include <strings.h>
54053
54054 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
54055
54056         * lib/unicodeio.c (utf8_wctomb): New function.
54057         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
54058         format instead of in UCS-4 with platform dependent endianness.
54059
54060 2000-03-10  Jim Meyering  <meyering@lucent.com>
54061
54062         * m4/lib-check.m4: Look for getspnam in -lgen, too.
54063         From Marco Franzen.
54064
54065 2000-03-07  Paul Eggert  <eggert@twinsun.com>
54066
54067         * lib/savedir.c (savedir): Work even if directory size is
54068         negative; this can happen with some screwy NFS configurations.
54069
54070 2000-03-06  Jim Meyering  <meyering@lucent.com>
54071
54072         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
54073         if it's NULL (because we ran out of memory).  From Bruno Haible.
54074
54075 2000-03-05  Jim Meyering  <meyering@lucent.com>
54076
54077         * lib/localcharset.c ("path-concat.h"): Include.
54078         (get_charset_aliases): Use path_concat instead of ANSI string
54079         concatenation.
54080
54081         * lib/unicodeio.h (PARAMS): Define.
54082         Use it to guard prototype.
54083
54084 2000-03-04  Jim Meyering  <meyering@lucent.com>
54085
54086         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
54087         for lib/localcharset.c.
54088
54089 2000-03-04  Jim Meyering  <meyering@lucent.com>
54090
54091         * lib/Makefile.am (install-exec-local): Create $(libdir) before
54092         installing into it.
54093         (uninstall-local): Uncomment this rule so `make distcheck' works
54094         once again.
54095
54096         * lib/unicodeio.c (<errno.h>): Include it.
54097         (errno): Declare if not defined.
54098
54099         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
54100
54101         * lib/config.charset: New version, incorporating remarks from a linux
54102         i18n mailing list.  From Bruno Haible.
54103
54104 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
54105
54106         * m4/codeset.m4: New file.
54107         * m4/iconv.m4: New file.
54108         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
54109
54110 2000-03-03  Jim Meyering  <meyering@lucent.com>
54111
54112         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
54113
54114 2000-03-02  Jim Meyering  <meyering@lucent.com>
54115
54116         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
54117         the messages come out on separate lines.
54118
54119         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
54120         rather than jm_CHECK_DECLARATIONS.
54121         * m4/decl.m4: Remove now-unused file.
54122
54123         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
54124         geteuid.
54125
54126 2000-03-02  Jim Meyering  <meyering@lucent.com>
54127
54128         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
54129
54130 2000-03-01  Jim Meyering  <meyering@lucent.com>
54131
54132         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
54133         * lib/unicodeio.c: Likewise.
54134
54135 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
54136
54137         * lib/config.charset: New file.
54138         * lib/localcharset.c: New file.
54139         * lib/unicodeio.h, lib/unicodeio.c: New files.
54140         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
54141         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
54142         (noinst_HEADERS): Add unicodeio.h.
54143         (all-local, install-exec-local, charset.alias): New targets.
54144
54145 2000-02-28  Paul Eggert  <eggert@twinsun.com>
54146
54147         * lib/quotearg.c (ALERT_CHAR): New macro.
54148         (quotearg_buffer_restyled): Use it.
54149
54150 2000-02-27  Jim Meyering  <meyering@lucent.com>
54151
54152         * m4/check-decl.m4: Add getenv to the list.
54153
54154 2000-02-27  Jim Meyering  <meyering@lucent.com>
54155
54156         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
54157         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
54158
54159         * lib/backupfile.c: Guard inclusion of stdlib.h with
54160         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
54161         Declare malloc if needed.
54162
54163         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
54164         `#ifndef HAVE_DECL..'
54165         now that autoconf always defines the HAVE_DECL_ symbols.
54166         * lib/human.c: Likewise.
54167         * lib/same.c: Likewise.
54168         * lib/strtoumax.c: Likewise.
54169
54170         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
54171         declaration check was not run.
54172         * lib/hash.c: Likewise.
54173         * lib/human.c: Likewise.
54174         * lib/same.c: Likewise.
54175         * lib/strtoumax.c: Likewise.
54176
54177         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
54178         `.', then first look up the entire `.'-containing string as a login
54179         name.
54180
54181 2000-02-23  Jim Meyering  <meyering@lucent.com>
54182
54183         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
54184         in place of my hack.
54185
54186 2000-02-18  Paul Eggert  <eggert@twinsun.com>
54187
54188         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
54189         (textint): New typedef.
54190         (parser_control): Member year changed from int to textint.
54191         All uses changed.
54192         (YYSTYPE): Removed; replaced by %union with int and textint members.
54193         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
54194         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
54195         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
54196         (tSNUMBER, tUNUMBER): Now of type <textintval>.
54197         (date, number, to_year): Use width of number in digits, not its value,
54198         to determine whether it's a 2-digit year, or a 2-digit time.
54199         (yylex): Store number of digits of numeric tokens.
54200         Reported by John Kendall.
54201
54202         (parser_control): Changed from struct parser_control to typedef (for
54203         consistency).  All uses changed.
54204
54205         (tID): Removed; not used.
54206         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
54207
54208 2000-02-14  Paul Eggert  <eggert@twinsun.com>
54209
54210         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
54211         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
54212
54213 2000-02-12  Jim Meyering  <meyering@lucent.com>
54214
54215         * lib/userspec.c (ISDIGIT): Define it.
54216         (isdigit): Remove definition.
54217         (is_number): Use ISDIGIT, not isdigit.
54218         <libintl.h>: Include.
54219         (_ and N_): Define.
54220         (parse_user_spec): Mark translatable strings.
54221
54222 2000-02-10  Jim Meyering  <meyering@lucent.com>
54223
54224         With these changes, nanosleep.[ch] are finally enough like the other
54225         lib/* replacement files to compile on a few more losing systems.
54226
54227         * lib/nanosleep.h: Don't include config.h.
54228         Remove prototype from declaration of nanosleep.
54229         (PARAMS): Remove now-unneeded definition.
54230         * lib/nanosleep.c: #undef nanosleep.
54231         (rpl_nanosleep): Rename from nanosleep.
54232
54233 2000-02-10  Jim Meyering  <meyering@lucent.com>
54234
54235         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
54236         gnu_nanosleep to rpl_nanosleep.
54237
54238 2000-02-09  Jim Meyering  <meyering@lucent.com>
54239
54240         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
54241         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
54242
54243 2000-02-08  Akim Demaille  <akim@epita.fr>
54244
54245         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
54246         `[' and `]' and remove uses of `changequote'.
54247         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
54248         (AC_SYS_LARGEFILE): Likewise.
54249         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
54250         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
54251         of changequote.
54252         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
54253         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
54254         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
54255         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
54256
54257 2000-02-05  Jim Meyering  <meyering@lucent.com>
54258
54259         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
54260         Remove explicit use of AC_HEADER_TIME.  It is required by
54261         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
54262         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
54263         in autoconf whereby the expansion of the latter ended up preceding
54264         the expansion of its prerequisite, AC_HEADER_TIME.
54265         Reported by Volker Borchert.
54266
54267 2000-02-03  Jim Meyering  <meyering@lucent.com>
54268
54269         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
54270
54271 2000-02-03  Jim Meyering  <meyering@lucent.com>
54272
54273         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
54274         rather than with `#if HAVE_UTMPNAME'.
54275
54276 2000-02-02  Jim Meyering  <meyering@lucent.com>
54277
54278         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
54279         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
54280         Reported by Eli Zaretskii.
54281
54282 2000-02-01  Jim Meyering  <meyering@lucent.com>
54283
54284         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
54285
54286 2000-01-31  Jim Meyering  <meyering@lucent.com>
54287
54288         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
54289         functions.  Add the time.h and sys/time.h headers along with the
54290         AC_REQUIRE'ment of AC_HEADER_TIME.
54291
54292 2000-01-31  Jim Meyering  <meyering@lucent.com>
54293
54294         * lib/nanosleep.h (nanosleep): Guard declaration with
54295         `#if ! HAVE_DECL_NANOSLEEP'.
54296         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
54297         the declaration in that vendor's sys/timers.h.
54298         Reported by Christian Krackowizer.
54299
54300         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
54301         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
54302         (ISPRINT): Likewise.
54303         Reported by Tom Tromey.
54304
54305 2000-01-30  Jim Meyering  <meyering@lucent.com>
54306
54307         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
54308
54309         * m4/prereq.m4 (utmp_includes): Define.
54310         Check for ut_user and ut_name members in both struct utmpx
54311         and struct utmp.
54312
54313 2000-01-30  Jim Meyering  <meyering@lucent.com>
54314
54315         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
54316         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
54317         header files where only utmpx.ut_user is declared.
54318
54319         * lib/readutmp.h (UT_USER): Define.
54320
54321 2000-01-29  Jim Meyering  <meyering@lucent.com>
54322
54323         * m4/lib-check.m4: New file containing library-related checks from
54324         fileutils and sh-utils (textutils had none).
54325
54326 2000-01-28  Jim Meyering  <meyering@lucent.com>
54327
54328         * m4/perl.m4: Change format of warning message to look more like that
54329         from the missing script.  Suggestion from François Pinard.
54330
54331 2000-01-25  Jim Meyering  <meyering@lucent.com>
54332
54333         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
54334         well as time.h in the compile check.
54335         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
54336         Fix typo in cross-compiling case: s/yes/no/.
54337
54338 2000-01-23  Jim Meyering  <meyering@lucent.com>
54339
54340         * m4/jm-macros.m4: Move df-related tests here from
54341         fileutils/configure.in
54342
54343         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
54344         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
54345
54346         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
54347         s/space/ac_fsusage_space/.
54348         (jm_FILE_SYSTEM_USAGE): Take two parameters.
54349
54350         * m4/ftruncate.m4: New file (derived from part of
54351         fileutils/configure.in).
54352         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
54353         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
54354
54355         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
54356         AC_SUBST these here, rather than just in sh-util/configure.in, so
54357         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
54358         all the same.
54359         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
54360         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
54361         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
54362         (AC_SUBST(POW_LIBM)): Likewise.
54363         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
54364
54365 2000-01-23  Jim Meyering  <meyering@lucent.com>
54366
54367         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
54368         obstack.c.
54369
54370 2000-01-22  Jim Meyering  <meyering@lucent.com>
54371
54372         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
54373
54374         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
54375
54376         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
54377         configure.in
54378         (AC_CHECK_HEADERS): Likewise for sh-utils.
54379         (AC_CHECK_HEADERS): Likewise for textutils.
54380         Merge the three lists of headers.
54381
54382         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
54383         from fileutils' configure.in.
54384
54385         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
54386         code. Moved tests into their own function (_jm_DECL_HEADERS) in
54387         check-decl.m4.
54388
54389         * m4/check-decl.m4: Use #if rather than #ifdef.
54390         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
54391         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
54392         (_jm_DECL_HEADERS): Define new function.
54393         (jm_CHECK_DECLARATIONS): Require it.
54394
54395 2000-01-22  Jim Meyering  <meyering@lucent.com>
54396
54397         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
54398         [! HAVE_DECL_STRTOULL]: Declare strtoull.
54399         Required for some AIX systems.  Reported by Christian Krackowizer.
54400         [TESTING] (main): New function.
54401
54402         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
54403         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
54404         letters.
54405
54406         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
54407         iswprint.
54408
54409         * lib/strverscmp.c (ISDIGIT): Define.
54410         (strverscmp): Use ISDIGIT, not isdigit.
54411
54412 2000-01-19  Jim Meyering  <meyering@lucent.com>
54413
54414         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
54415         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
54416         defines `struct timespec' in <sys/time.h>
54417
54418         * m4/c-bs-a.m4: Remove uses of changequote altogether.
54419         Thanks to Akim for explaining.
54420
54421 2000-01-17  Paul Eggert  <eggert@twinsun.com>
54422
54423         * lib/nanosleep.c (nanosleep):
54424         Don't use SA_INTERRUPT to decide whether to call sigaction, as
54425         POSIX.1 doesn't require SA_INTERRUPT and some systems
54426         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
54427         it's been part of POSIX.1 since day 1 (in 1988).
54428
54429 2000-01-17  Jim Meyering  <meyering@lucent.com>
54430
54431         * lib/interlock: Remove unused file.  Reported by François Pinard.
54432
54433 2000-01-16  Paul Eggert  <eggert@twinsun.com>
54434
54435         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
54436         alert, backslash, formfeed, and vertical tab unnecessarily in
54437         shell quoting style.
54438
54439 2000-01-16  Jim Meyering  <meyering@lucent.com>
54440
54441         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
54442         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
54443         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
54444         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
54445
54446 2000-01-16  Jim Meyering  <meyering@lucent.com>
54447
54448         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
54449         because the latter didn't work.
54450
54451 2000-01-15  Jim Meyering  <meyering@lucent.com>
54452
54453         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
54454         (AC_REPLACE_FUNCS): Add memcpy and memset.
54455         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
54456         Add strpbrk.
54457         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
54458
54459 2000-01-12  Jim Meyering  <meyering@lucent.com>
54460
54461         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
54462         (jm_PREREQ): Use it.
54463         (jm_PREREQ_READUTMP): New macro.
54464         (jm_PREREQ): Use it.
54465
54466 2000-01-11  Paul Eggert  <eggert@twinsun.com>
54467
54468         Quote multibyte characters correctly.
54469         * m4/c-bs-a.m4: New file.
54470         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
54471         (jm_PREREQ): Use it.
54472
54473 2000-01-11  Paul Eggert  <eggert@twinsun.com>
54474
54475         * m4/uintmax_t.m4: Port to autoconf 2.13.
54476
54477 2000-01-08  Jim Meyering  <meyering@ascend.com>
54478
54479         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
54480         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
54481
54482 2000-01-04  Jim Meyering  <meyering@ascend.com>
54483
54484         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
54485         jm_STRUCT_DIRENT_D_TYPE.
54486         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
54487         jm_STRUCT_DIRENT_D_INO.
54488         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
54489         jm_STRUCT_UTIMBUF.
54490         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
54491         renamings.
54492         * m4/utime.m4: Likewise.
54493
54494         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
54495         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
54496
54497 2000-01-03  Paul Eggert  <eggert@twinsun.com>
54498
54499         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
54500         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
54501
54502 2000-01-02  Jim Meyering  <meyering@ascend.com>
54503
54504         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
54505         remember if this is necessary.
54506
54507 1999-12-26  Jim Meyering  <meyering@ascend.com>
54508
54509         * m4/jm-macros.m4: Use it here.
54510         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
54511
54512 1999-12-23  Jim Meyering  <meyering@ascend.com>
54513
54514         * m4/jm-macros.m4: Check for clock_gettime (moved from
54515         fileutils/configure.in)
54516         Check for gettimeofday.
54517
54518 1999-12-20  Jim Meyering  <meyering@ascend.com>
54519
54520         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
54521         autoconf-2.14a-1999-12-20.
54522
54523 1999-12-19  Jim Meyering  <meyering@ascend.com>
54524
54525         * m4/lstat-slash.m4: New file.
54526         * m4/jm-macros.m4: Use the new macro:
54527         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54528
54529 1999-12-07  Jim Meyering  <meyering@ascend.com>
54530
54531         * m4/perl.m4: Require that File::Compare be available, too.
54532         Too many systems seem to lack it.
54533
54534         * m4/strftime.m4: Add checks for most of the cpp macros tested in
54535         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
54536
54537 1999-11-18  Paul Eggert  <eggert@twinsun.com>
54538
54539         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
54540         problem with the QNX 4.25 shell, which doesn't propagate exit
54541         status of failed commands inside shell assignments.
54542
54543 1999-11-17  Jim Meyering  <meyering@ascend.com>
54544
54545         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
54546
54547 1999-11-07  Jim Meyering  <meyering@ascend.com>
54548
54549         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
54550
54551 1999-11-06  Jim Meyering  <meyering@ascend.com>
54552
54553         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
54554         * m4/jm-macros.m4 (jm_MACROS): Use it here.
54555
54556 1999-11-05  Jim Meyering  <meyering@ascend.com>
54557
54558         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
54559         configure.in of textutils, fileutils, and sh-utils into this one
54560         (shared between those packages) file.
54561         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
54562         AC_STRUCT_ST_BLKSIZE.
54563
54564 1999-11-03  Jim Meyering  <meyering@ascend.com>
54565
54566         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
54567         of AC_CHECK_TYPE checks includes unistd.h.
54568         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
54569         Suggestion from Akim Demaille.
54570
54571 1999-10-30  Jim Meyering  <meyering@ascend.com>
54572
54573         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
54574         m4-quoted string.
54575         * m4/ls-mntd-fs.m4: Likewise.
54576         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
54577         * m4/jm-winsz1.m4: Likewise.
54578
54579         * m4/const.m4: Remove file, since the fix made it into the experimental
54580         version of autoconf.
54581         * m4/mktime.m4: Likewise.
54582
54583         * m4/check-type.m4: Remove file, now that the latest version of
54584         AC_CHECK_TYPE takes a third arg to specify additional #includes.
54585
54586         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
54587         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
54588         AC_CHECK_TYPE.
54589
54590 1999-10-04  Jim Meyering  <meyering@ascend.com>
54591
54592         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
54593
54594 1999-09-22  Paul Eggert  <eggert@twinsun.com>
54595
54596         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
54597         2.95.1 bug with HP-UX 10.20.
54598
54599 1999-09-17  Jim Meyering  <meyering@ascend.com>
54600
54601         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
54602         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
54603         due to missing strdup (against sh-utils-2.0).
54604
54605 1999-08-29  Jim Meyering  <meyering@ascend.com>
54606
54607         * m4/jm-macros.m4: Require jm_BISON.
54608         * m4/bison.m4: New file.
54609
54610 1999-08-17  Paul Eggert  <eggert@twinsun.com>
54611
54612         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
54613         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
54614
54615 1999-08-05  Jim Meyering  <meyering@ascend.com>
54616
54617         * m4/getline.m4: Rename test file from conftestdata to conftest.data
54618         to avoid conflicts with `conftest' on 8+3 filesystems.
54619         Suggestion from Eli Zaretskii.
54620
54621 1999-08-04  Jim Meyering  <meyering@ascend.com>
54622
54623         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
54624         fileutils and sh-utils (textutils's getline test was inadequate).
54625         (AM_FUNC_GETLINE): Run this test.
54626         (AC_CHECK_FUNCS): Check for getdelim.
54627         Reported by Bob Proulx.
54628
54629 1999-08-02  Jim Meyering  <meyering@ascend.com>
54630
54631         * m4/jm-macros.m4: Add a comment.
54632
54633 1999-08-01  Paul Eggert  <eggert@twinsun.com>
54634
54635         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
54636         <inttypes.h> defines strtoumax as a macro (and not as a
54637         function).
54638
54639 1999-08-01  Paul Eggert  <eggert@twinsun.com>
54640
54641         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
54642         that we can shift, multiply and divide unsigned long long
54643         values; Ultrix cc can't do it.
54644
54645 1999-08-01  Paul Eggert  <eggert@twinsun.com>
54646
54647         * m4/mktime.m4: New file, which is a preview of what should appear
54648         in the next public autoconf release.
54649
54650 1999-08-01  Paul Eggert  <eggert@twinsun.com>
54651
54652         * m4/lfs.m4: Remove this file.
54653         * m4/largefile.m4: New file.  It contains the old contents of
54654         lfs.m4, except that all names with prefix AC_LFS have been
54655         changed to use the prefix AC_SYS_LARGEFILE instead, to be
54656         compatible with future autoconf versions.  Also, some minor m4
54657         quoting problems have been fixed.
54658
54659 1999-08-01  Paul Eggert  <eggert@twinsun.com>
54660
54661         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
54662         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
54663         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
54664         and simplify the shell code.
54665
54666 1999-08-01  Jim Meyering  <meyering@ascend.com>
54667
54668         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
54669         m4.
54670
54671 1999-07-20  Jim Meyering  <meyering@ascend.com>
54672
54673         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
54674
54675 1999-07-15  Jim Meyering  <meyering@ascend.com>
54676
54677         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
54678
54679 1999-05-22  Jim Meyering  <meyering@ascend.com>
54680
54681         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
54682
54683 1999-05-20  Jim Meyering  <meyering@ascend.com>
54684
54685         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
54686         Add a colon after each `then' in case $4 is empty.
54687
54688 1999-05-16  Jim Meyering  <meyering@ascend.com>
54689
54690         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
54691
54692 1999-05-10  Jim Meyering  <meyering@ascend.com>
54693
54694         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
54695
54696         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
54697         AC_FUNC_MKTIME.
54698
54699 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
54700
54701         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
54702
54703 1999-05-04  Paul Eggert  <eggert@twinsun.com>
54704
54705         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
54706         not CPPFLAGS, so that linking works correctly in IRIX.
54707
54708 1999-04-30  Paul Eggert  <eggert@twinsun.com>
54709
54710         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
54711
54712 1999-04-20  Paul Eggert  <eggert@twinsun.com>
54713
54714         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
54715         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
54716         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
54717         jm_AC_TYPE_UNSIGNED_LONG_LONG.
54718         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
54719
54720         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
54721
54722 1999-04-20  Jim Meyering  <meyering@ascend.com>
54723
54724         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
54725         AC_REPLACE xstroull if necessary.  From Paul Eggert.
54726         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
54727
54728 1999-04-18  Jim Meyering  <meyering@ascend.com>
54729
54730         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
54731         * m4/jm-macros.m4: Use it.
54732
54733 1999-04-06  Jim Meyering  <meyering@ascend.com>
54734
54735         * m4/strftime.m4: Remove test for %f.
54736
54737 1999-03-29  Jim Meyering  <meyering@ascend.com>
54738
54739         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
54740         superset of the AC_TYPE_* checks in the textutils, fileutils,
54741         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
54742         AC_TYPE_PID_T.
54743
54744 1999-03-28  Jim Meyering  <meyering@ascend.com>
54745
54746         * m4/jm-macros.m4: Define GNU_PACKAGE here.
54747         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
54748         replaced e.g., in the *.sh files of the sh-utils.
54749
54750 1999-03-20  Jim Meyering  <meyering@ascend.com>
54751
54752         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
54753         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
54754         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
54755
54756 1999-03-19  Jim Meyering  <meyering@ascend.com>
54757
54758         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
54759
54760 1999-03-12  Jim Meyering  <meyering@ascend.com>
54761
54762         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
54763
54764 1999-03-07  Jim Meyering  <meyering@ascend.com>
54765
54766         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
54767         declared.
54768
54769 1999-02-17  Jim Meyering  <meyering@ascend.com>
54770
54771         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
54772         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
54773
54774 1999-02-07  Jim Meyering  <meyering@ascend.com>
54775
54776         * m4/group-member.m4: New file -- extracted from sh-utils'
54777         configure.in.
54778
54779         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
54780         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
54781
54782 1999-02-06  Jim Meyering  <meyering@ascend.com>
54783
54784         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
54785         * m4/fnmatch.m4: Likewise.
54786         * m4/getgroups.m4: Likewise.
54787         * m4/lstat.m4: Likewise.
54788         * m4/malloc.m4: Likewise.
54789         * m4/putenv.m4: Likewise.
54790         * m4/realloc.m4: Likewise.
54791         * m4/regex.m4: Likewise.
54792         * m4/stat.m4: Likewise.
54793         * m4/strftime.m4: Likewise.
54794         Suggestion from Alain Magloire.
54795
54796         * m4/chown.m4: Use `.$ac_objext', not `.o'.
54797         * m4/fnmatch.m4: Likewise.
54798         * m4/getgroups.m4: Likewise.
54799         * m4/getline.m4: Likewise.
54800         * m4/lstat.m4: Likewise.
54801         * m4/malloc.m4: Likewise.
54802         * m4/memcmp.m4: Likewise.
54803         * m4/putenv.m4: Likewise.
54804         * m4/realloc.m4: Likewise.
54805         * m4/regex.m4: Likewise.
54806         * m4/stat.m4: Likewise.
54807         * m4/strftime.m4: Likewise.
54808         Suggestion from Alain Magloire.
54809
54810         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
54811         an argument.
54812
54813         * m4/regex.m4: Add a run-time Test for proper operation of
54814         re_compile_pattern.
54815
54816 1999-01-31  Jim Meyering  <meyering@ascend.com>
54817
54818         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
54819
54820 1999-01-30  Jim Meyering  <meyering@ascend.com>
54821
54822         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
54823
54824         * m4/jm-mktime.m4: Make this a wrapper around the official
54825         AM_FUNC_MKTIME rather than my private copy, now that the official one
54826         is up to date.
54827         * m4/mktime.m4: Remove file.
54828
54829         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
54830         * m4/uptime.m4: Likewise.
54831         * m4/uintmax_t.m4: Likewise.
54832
54833 1999-01-28  Jim Meyering  <meyering@ascend.com>
54834
54835         * m4/jm-macros.m4: Use jm_AFS.
54836         * m4/afs.m4: New file (from fileutils' configure.in).
54837
54838         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
54839         * m4/chown.m4: Likewise.
54840         * m4/d-ino.m4: Likewise.
54841         * m4/d-type.m4: Likewise.
54842         * m4/fnmatch.m4: Likewise.
54843         * m4/getgroups.m4: Likewise.
54844         * m4/gettext.m4: Likewise.
54845         * m4/jm-mktime.m4: Likewise.
54846         * m4/jm-winsz2.m4: Likewise.
54847         * m4/lcmessage.m4: Likewise.
54848         * m4/ls-mntd-fs.m4: Likewise.
54849         * m4/malloc.m4: Likewise.
54850         * m4/memcmp.m4: Likewise.
54851         * m4/putenv.m4: Likewise.
54852         * m4/realloc.m4: Likewise.
54853         * m4/st_mtim.m4: Likewise.
54854         * m4/strftime.m4: Likewise.
54855
54856 1999-01-16  Jim Meyering  <meyering@ascend.com>
54857
54858         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
54859         (ARGMATCH_DIE_DECL): Define.
54860
54861 1999-01-12  Jim Meyering  <meyering@ascend.com>
54862
54863         * m4/Makefile.am.in: Rewrite to avoid using fmt.
54864         Reported by Lars Hecking.
54865
54866 1999-01-10  Jim Meyering  <meyering@ascend.com>
54867
54868         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
54869         gross kludge.
54870         * m4/inttypes_h.m4: Likewise.
54871         * m4/lstat.m4: Likewise.
54872         * m4/malloc.m4: Likewise.
54873         * m4/readdir.m4: Likewise.
54874         * m4/realloc.m4: Likewise.
54875         * m4/st_dm_mode.m4: Likewise.
54876         * m4/stat.m4: Likewise.
54877         * m4/utimbuf.m4: Likewise.
54878         * m4/utimes.m4: Likewise.
54879
54880         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
54881         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
54882         comments in config.h.in are meaningful.
54883
54884         * m4/jm-macros.m4: Require autoconf-2.13 here.
54885
54886         * m4/regex.m4: By default, don't use the included regex.c on systems
54887         with glibc 2.  Suggestion from Uli Drepper.
54888
54889 1999-01-02  Jim Meyering  <meyering@ascend.com>
54890
54891         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
54892
54893 1998-12-18  Jim Meyering  <meyering@ascend.com>
54894
54895         * m4/Makefile.am.in (Makefile.am): Simplify rule.
54896         Based on a suggestion from Lars Hecking.
54897
54898 1998-11-16  Paul Eggert  <eggert@twinsun.com>
54899
54900         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
54901
54902 1998-11-16  Jim Meyering  <meyering@ascend.com>
54903
54904         * m4/lfs.m4: Double-quote the `uname...` expression.
54905
54906 1998-11-14  Jim Meyering  <meyering@ascend.com>
54907
54908         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
54909         * m4/stat.m4: Likewise.
54910
54911 1998-11-03  Jim Meyering  <meyering@ascend.com>
54912
54913         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
54914         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
54915
54916 1998-10-18  Jim Meyering  <meyering@ascend.com>
54917
54918         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
54919
54920 1998-10-17  Jim Meyering  <meyering@ascend.com>
54921
54922         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
54923         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
54924         calls for those previously hard-coded headers.  Instead, take a new
54925         parameter.
54926         (jm_CHECK_DECLARATIONS): Reflect interface change.
54927         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
54928         (jm_CHECK_DECL_LOCALTIME_R): New macro.
54929
54930         * m4/mktime.m4: Test for spring-forward gap before long-running test.
54931
54932 1998-10-14  Jim Meyering  <meyering@ascend.com>
54933
54934         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
54935         instead of "TZ=America/Vancouver".  From Paul Eggert.
54936
54937 1998-10-11  Jim Meyering  <meyering@ascend.com>
54938
54939         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
54940         This adds a test for a recently added compatibility fix for mktime.c.
54941         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
54942
54943 1998-09-27  Jim Meyering  <meyering@ascend.com>
54944
54945         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
54946
54947         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
54948         ../configure.in, including a change from Gordon Matzigkeit to allow
54949         cross-compiling for the Hurd.
54950
54951         * m4/glibc.m4: New file/macro to test for the GNU C Library
54952         versions 1 and 2.  From Gordon Matzigkeit.
54953         Indent.
54954
54955 1998-09-21  Jim Meyering  <meyering@ascend.com>
54956
54957         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
54958
54959 1998-08-18  Paul Eggert  <eggert@twinsun.com>
54960
54961         Port nanosecond-resolution times to UnixWare 2.1.2 and
54962         pedantic Solaris 2.6.
54963
54964         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
54965         AC_STRUCT_ST_MTIM.
54966         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
54967         Generate name of ns member, instead of just 1 or undef.
54968         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
54969
54970 1998-08-15  Jim Meyering  <meyering@ascend.com>
54971
54972         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
54973         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
54974         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
54975         instead of jm_TYPE_SSIZE_T.
54976
54977 1998-08-12  Jim Meyering  <meyering@ascend.com>
54978
54979         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
54980
54981 1998-08-02  Jim Meyering  <meyering@ascend.com>
54982
54983         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
54984         in acconfig.h manually.
54985
54986 1998-07-31  Paul Eggert  <eggert@twinsun.com>
54987
54988         * m4/st_mtim.m4: New file.
54989
54990 1998-07-28  Jim Meyering  <meyering@ascend.com>
54991
54992         * m4/utimes.m4: Undef stat.
54993
54994 1998-07-25  Jim Meyering  <meyering@ascend.com>
54995
54996         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
54997         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
54998
54999 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
55000
55001         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
55002         uid and gid actually remain unchanged.
55003
55004 1998-07-07  Jim Meyering  <meyering@ascend.com>
55005
55006         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
55007
55008 1998-07-04  Jim Meyering  <meyering@ascend.com>
55009
55010         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
55011         to prove that this macro can be used in packages without regex.c.
55012
55013 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
55014
55015         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
55016         is to be used.
55017
55018 1998-07-03  Jim Meyering  <meyering@ascend.com>
55019
55020         * m4/gettext.m4: Add -lintl if it's found to be necessary.
55021
55022         * m4/gettext.m4: New file -- from gettext-0.10.35.
55023         * m4/lcmessage.m4: Likewise.
55024         * m4/progtest.m4: Likewise.
55025
55026         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
55027         * m4/jm-macros.m4: Require the new macro.
55028
55029 1998-06-29  Jim Meyering  <meyering@ascend.com>
55030
55031         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
55032         for the definition of NGROUPS (used in a system header included
55033         by sys/mount.h).
55034
55035 1998-06-28  Jim Meyering  <meyering@ascend.com>
55036
55037         * m4/ls-mntd-fs.m4: New file.
55038         * m4/fstypename.m4: New file.
55039
55040         * m4/jm-macros.m4: Require the new macro.
55041         * m4/jm-glibc-io.m4: New file.
55042
55043 1998-05-19  Jim Meyering  <meyering@ascend.com>
55044
55045         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
55046         * m4/lchown.m4: New file.
55047
55048         * m4/Makefile.am.in: New file.
55049         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
55050
55051 1998-05-14  Jim Meyering  <meyering@ascend.com>
55052
55053         * m4/Makefile.am (EXTRA_DIST): Add them.
55054         * m4/jm-macros.m4: New file.
55055         * m4/utimbuf.m4: New file.
55056
55057 1998-05-12  Jim Meyering  <meyering@ascend.com>
55058
55059         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
55060
55061 1998-05-11  Jim Meyering  <meyering@ascend.com>
55062
55063         * m4/isc-posix.m4: New file.
55064
55065 1998-05-10  Jim Meyering  <meyering@ascend.com>
55066
55067         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
55068
55069 1998-05-09  Jim Meyering  <meyering@ascend.com>
55070
55071         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
55072         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
55073         with automake.
55074
55075         * m4/ssize_t.m4: New file.
55076         * m4/mktime.m4: Remove file -- the new automake has this now.
55077
55078 1998-04-26  Jim Meyering  <meyering@ascend.com>
55079
55080         * m4/assert.m4: New file.
55081         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
55082
55083 1998-04-05  Jim Meyering  <meyering@ascend.com>
55084
55085         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
55086         (jm_PREREQ): Use it here.
55087
55088 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
55089
55090         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
55091         in acconfig.h.
55092
55093 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
55094
55095         * m4/prereq.m4: New file.
55096         * m4/error.m4: New file.
55097         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
55098
55099 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
55100
55101         * m4/getline.m4: Don't set am_cv_func_working_getline before the
55102         cache-check for the same variable -- that defeated the purpose of
55103         the test; the test program was never run.  This was a problem only
55104         on systems with losing getline functions -- HP-UX 10.20 is one.
55105         Reported by Bjorn Helgaas.
55106
55107 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
55108
55109         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
55110
55111 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
55112
55113         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
55114
55115         * m4/const.m4: New file.  Use an initializer in this declaration
55116         typedef int charset[2]; const charset x;
55117         Reported by Bob Glickstein.
55118
55119 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
55120
55121         * m4/chown.m4: Fix reversed types on -1 args to chown.
55122         From Kaveh Ghazi.
55123
55124 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
55125
55126         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
55127         Add lseek and memchr.
55128
55129         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
55130         T.E.Dickey <dickey@clark.net> said that some older preprocessors
55131         have a 20-character limit on names.
55132
55133 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
55134
55135         * m4/inttypes_h.m4: New file.
55136         * m4/uintmax_t.m4: New file.
55137         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
55138
55139
55140         -----
55141
55142         Local Variables:
55143         coding: utf-8
55144         End:
55145
55146         Copyright (C) 1997-2009 Free Software Foundation, Inc.
55147
55148         Copying and distribution of this file, with or without
55149         modification, are permitted provided the copyright notice
55150         and this notice are preserved.