vasnprintf: Tiny optimization.
[pspp] / ChangeLog
1 2009-11-22  Bruno Haible  <bruno@clisp.org>
2
3         vasnprintf: Tiny optimization.
4         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
5         MacOS X.
6
7 2009-11-22  Bruno Haible  <bruno@clisp.org>
8
9         Tests for module 'duplocale'.
10         * modules/duplocale-tests: New file.
11         * tests/test-duplocale.c: New file.
12
13         New module 'duplocale'.
14         * m4/duplocale.m4: New file.
15         * lib/locale.in.h (duplocale): New declaration.
16         * lib/duplocale.c: New file.
17         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
18         gl_LOCALE_H_DEFAULTS): New macros.
19         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
20         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
22         REPLACE_DUPLOCALE.
23         * modules/duplocale: New file.
24         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
25
26 2009-11-22  Bruno Haible  <bruno@clisp.org>
27
28         * modules/locale-tests (configure.ac): Test for newlocale function.
29         * tests/test-locale.c: When the system has extended locale functions,
30         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
31
32         locale: Make locale_t available when possible.
33         * lib/locale.in.h: Include <xlocale.h> when it exists.
34         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36         * modules/locale (Depends-on): Add extensions.
37         (Makefile.am): Also substitute HAVE_XLOCALE_H.
38         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39
40 2009-11-22  Bruno Haible  <bruno@clisp.org>
41
42         Add comments.
43         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
44         invocation.
45         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
47         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
48
49 2009-11-22  Bruno Haible  <bruno@clisp.org>
50
51         error: account for the possibility of freopen (stdout).
52         * lib/error.c: Include <unistd.h>.
53         (flush_stdout): New function, extracted from error and error_at_line.
54         Determine stdout's fd dynamically.
55         (error, error_at_line): Invoke flush_stdout.
56         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
57         * modules/error (Depends-on): Add unistd.
58
59 2009-11-22  Bruno Haible  <bruno@clisp.org>
60
61         diffseq: Add comment.
62         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
63
64 2009-11-22  Jim Meyering  <meyering@redhat.com>
65
66         c-stack: avoid defining an unused static function
67         * lib/c-stack.c (find_stack_direction): Do not define this function
68         when it will not be used.
69
70         diffseq: avoid spurious gcc warnings
71         * lib/diffseq.h (IF_LINT2): Define.
72         (compareseq): Use it to initialize two members of "part".
73         This avoids two used-uninitialized warnings.
74
75 2009-11-21  Jim Meyering  <meyering@redhat.com>
76
77         c-stack: avoid "ignoring return value of `write'" warning
78         * lib/c-stack.c: Include "ignore-value.h".
79         (die): Explicitly ignore each write return value.
80         * modules/c-stack (Depends-on): Add ignore-value.
81
82 2009-11-21  Bruno Haible  <bruno@clisp.org>
83
84         diffseq: reduce scope of variable 'best'.
85         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
86         variable, earlier used for two different purposes.
87
88 2009-11-21  Jim Meyering  <meyering@redhat.com>
89
90         diffseq: remove useless assignment to "best"
91         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
92         assignment.  At that point "best" is already guaranteed to be zero.
93
94 2009-11-20  Eric Blake  <ebb9@byu.net>
95
96         build: mention ftp redirector in release announcements
97         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
98         values that used to come from cfg.mk; mention FTP redirect URL.
99         * build-aux/announce-gen: Mention the mirror list.
100         Suggested by Karl Berry.
101
102         nanosleep: improve port to mingw
103         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
105         LIB_NANOSLEEP, but only when needed.
106         * modules/select (Link): Document LIBSOCKET.
107         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
108         enough.
109
110         nanosleep: work around cygwin bug
111         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
112         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
113         bug.
114         (getnow): Delete, not needed.
115         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
116         LIB_CLOCK_GETTIME.
117         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
118         clock-time, gettime.
119         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
120         bug.
121         * modules/nanosleep-tests: New test.
122         * tests/test-nanosleep.c: New file.
123
124         sleep: work around cygwin bug
125         * lib/sleep.c (rpl_sleep): Work around the bug.
126         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
127         (gl_PREREQ_SLEEP): Delete unused macro.
128         * modules/sleep (Depends-on): Add verify.
129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
130         * modules/unistd (Makefile.am): Substitute witness.
131         * lib/unistd.in.h (sleep): Update prototype.
132         * doc/posix-functions/sleep.texi (sleep): Document the bug.
133         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
134         * modules/sleep-tests (Depends-on): Check for alarm.
135
136 2009-11-20  Jim Meyering  <meyering@redhat.com>
137
138         maint.mk: improve sc_prohibit_magic_number_exit
139         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
140         so it does not match uses like System.exit(1).
141         Add comments showing how to correct all offenders.
142
143 2009-11-19  Eric Blake  <ebb9@byu.net>
144
145         xalloc-die-tests: add missing library
146         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
147
148         test-xvasprintf: silence compiler warnings
149         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
150         empty string from gcc.
151
152 2009-11-19  Jim Meyering  <meyering@redhat.com>
153
154         xfreopen: new module, from coreutils
155         * modules/xfreopen: New module.
156         * lib/xfreopen.c: New file.
157         * lib/xfreopen.h: New file.
158         * MODULES.html.sh (File stream based Input/Output"): Add it.
159
160 2009-11-19  Eric Blake  <ebb9@byu.net>
161
162         manywarnings: depend on warnings
163         * modules/manywarnings (Depends-on): Add warnings.
164
165         build: avoid compiler warnings
166         * lib/select.c (rpl_select): Delete unused variable.
167         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
168
169 2009-11-18  Eric Blake  <ebb9@byu.net>
170
171         tests: avoid false negative with --with-packager
172         * tests/test-version-etc.sh: Discard packager information.
173         * tests/test-argp-version-etc-1.sh: Likewise.
174         Reported by Mike Frysinger.
175
176         utimens: fix regression on Solaris
177         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
178         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
179         can only change fd timestamps via futimesat.  Instead, use an
180         additional witness macro to avoid BSD bug.
181         Reported by Jim Meyering.
182
183 2009-11-17  Eric Blake  <ebb9@byu.net>
184
185         usleep: use it to simplify tests
186         * modules/stat-time-tests (Depends-on): Add usleep.
187         (configure.ac): Drop usleep check.
188         * modules/chown-tests (Depends-on, configure.ac): Likewise.
189         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
190         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
191         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
192         * modules/openat-tests (Depends-on, configure.ac): Likewise.
193         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
194         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
195         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
196         Likewise.
197         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
198         * tests/test-lchown.h (nap): Likewise.
199         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
200         * tests/test-stat-time.c (nap): Likewise.
201         * tests/test-utimens-common.h (nap): Update comments.
202
203         usleep: new module
204         * modules/usleep: New file.
205         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
206         * lib/usleep.c (usleep): Likewise.
207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
208         * modules/unistd (Makefile.am): Substitute witnesses.
209         * lib/unistd.in.h (usleep): Add declaration.
210         * doc/pastposix-functions/usleep.texi (usleep): Document this.
211         * MODULES.html.sh (Date and time): Likewise.
212         * modules/usleep-tests (Depends-on): New test.
213         * tests/test-usleep.c: New file.
214
215         chown: work around OpenBSD bug
216         * lib/chown.c (rpl_chown): Work around the bug.
217         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
218         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
219         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
220         * modules/chown (Depends-on): Add stdbool.
221         * modules/lchown (Depends-on): Likewise.
222         * doc/posix-functions/chown.texi (chown): Document the bug.
223         * doc/posix-functions/lchown.texi (lchown): Likewise.
224         * tests/test-lchown.h (test_chown): Relax test.
225
226         mkstemp: avoid conflict with C++ keyword template
227         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
228         * lib/mkostemp.c (mkostemp): Likewise.
229         * lib/mkostemps.c (mkostemps): Likewise.
230         * lib/mkstemp.c (mkstemp): Likewise.
231         * lib/mkstemps.c (mkstemps): Likewise.
232
233         xalloc-die-tests: optimize
234         * tests/test-xalloc-die.sh: Reduce number of processes.
235
236 2009-11-17  Simon Josefsson  <simon@josefsson.org>
237
238         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
239         patch from ludo@gnu.org (Ludovic Courtès).
240
241 2009-11-17  Jim Meyering  <meyering@redhat.com>
242
243         version-etc: use proper license string
244         * modules/version-etc (License): Use LGPL, not LGPLv3+.
245         * modules/version-etc-fsf: Likewise.
246
247 2009-11-17  Simon Josefsson  <simon@josefsson.org>
248
249         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
250         printed to stdout.  Deal with EOL differences.
251
252 2009-11-17  Eric Blake  <ebb9@byu.net>
253
254         unsetenv: work around Solaris bug
255         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
256         * lib/unsetenv.c (rpl_unsetenv): Work around it.
257         Reported by Jim Meyering.
258
259         vasnprintf: avoid compiler warnings
260         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
261         variables.
262         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
263
264 2009-11-17  Simon Josefsson  <simon@josefsson.org>
265
266         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
267         settings since xalloc-die is no longer the self test,
268         xalloc-die.sh is.
269
270 2009-11-17  Jim Meyering  <meyering@redhat.com>
271
272         test-xalloc-die.sh: make the code agree with the commit log
273         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
274         at the end, just in case you happen to have a test-xalloc-die
275         program in some other PATH directory.
276
277         test-xalloc-die.sh: fix a portability bug
278         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
279         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
280         Otherwise, argv[0] (as often seen in diagnostics) would be too
281         system-dependent, sometimes with, and sometimes without the leading "./".
282
283         version-etc-fsf: relax license to LGPLv3+
284         * modules/version-etc-fsf (License): Relax license.
285
286 2009-11-16  Eric Blake  <ebb9@byu.net>
287
288         xalloc-die-tests: avoid printing null pointer
289         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
290         shell script.
291         * tests/test-xalloc-die.c (program_name): Declare.
292         * tests/test-xalloc-die.sh (tmpfiles): New file.
293
294         setenv, unsetenv: work around various bugs
295         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
296         (setenv) [HAVE_SETENV]: Work around bugs.
297         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
298         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
299         for bugs.
300         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
301         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
303         * modules/stdlib (Makefile.am): Update substitutions.
304         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
305         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
306         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
307         * modules/setenv-tests: New test.
308         * modules/unsetenv-tests: Likewise.
309         * tests/test-setenv.c: New file.
310         * tests/test-unsetenv.c: Likewise.
311
312 2009-11-16  Jim Meyering  <meyering@redhat.com>
313
314         version-etc: relax license to LGPLv3+
315         * modules/version-etc (License): Relax license.
316
317         better AC_REQUIRE expanded-before-required-warning avoidance
318         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
319         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
320         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
321         which is no longer needed.
322
323 2009-11-16  Eric Blake  <ebb9@byu.net>
324
325         test-freading: clean up temporary file
326         * tests/test-freading.c (main): Remove file on success, and use
327         ASSERT more liberally.
328         Reported by Jim Meyering.
329
330 2009-11-16  Jim Meyering  <meyering@redhat.com>
331
332         avoid new AC_REQUIRE expanded-before-required warnings
333         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
334         merely using it.
335         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
336         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
337
338 2009-11-15  Simon Josefsson  <simon@josefsson.org>
339
340         * tests/test-xalloc-die.c: New file.
341         * modules/xalloc-die-tests: New file.
342         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
343         XFAIL_TESTS so it can be appended by modules.
344
345 2009-11-15  Simon Josefsson  <simon@josefsson.org>
346
347         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
348         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
349
350 2009-11-14  Eric Blake  <ebb9@byu.net>
351
352         fnmatch: avoid compiler warning
353         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
354         to silence compiler warning about mismatch signedness in ?:.
355         Reported by Robert Millan.
356
357         intprops: add double-inclusion guard
358         * lib/intprops.h: Allow idempotent includes.
359         Suggested by Bruce Korb.
360
361         openat: detect Solaris fchownat bug
362         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
363         penalizing glibc chownat when only lchownat is broken.
364         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
365         trailing slash bugs.
366         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
367         * modules/openat-tests (Files): Include more files.
368         (Depends-on): Add mgetgroups, sleep, stat-time.
369         (configure.ac): Add additional checks.
370         (Makefile.am): Build new test.
371         * tests/test-fchownat.c: New file.
372
373         lchown: detect Solaris and FreeBSD bug
374         * lib/lchown.c (rpl_lchown): Work around bug.
375         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
377         * modules/unistd (Makefile.am): Populate it.
378         * lib/unistd.in.h (lchown): Update declaration.
379         * doc/posix-functions/lchown.texi (lchown): Document the bug.
380         * modules/lchown-tests: New file.
381         * tests/test-lchown.h (test_lchown): Likewise.
382         * tests/test-lchown.c (main): Likewise.
383
384         chown: detect Solaris and FreeBSD bug
385         * lib/chown.c (rpl_chown): Work around bug.
386         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
387         (gl_PREREQ_CHOWN): Delete.
388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
389         * modules/unistd (Makefile.am): Populate it.
390         * lib/unistd.in.h (chown): Update declaration.
391         * lib/lchown.c (chown): Update client.
392         * modules/lchown (Depends-on): Add lstat.
393         * doc/posix-functions/chown.texi (chown): Document the bug.
394         * doc/posix-functions/getgroups.texi (getgroups): Document
395         getgroups pitfall.
396         * modules/chown-tests: New file.
397         * tests/test-chown.h (test_chown): Likewise.
398         * tests/test-chown.c (main): Likewise.
399
400 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
401
402         gnulib-tool: correctly detect absence of m4 directories
403         * gnulib-tool: Avoid extra newline on data passed to wc -l.
404
405 2009-11-14  Jim Meyering  <meyering@redhat.com>
406
407         maint.mk: Prohibit inclusion of "xalloc.h" without use.
408         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
409
410 2009-11-14  John W. Eaton  <jwe@gnu.org>
411
412         strftime.h: wrap funtion declaration in extern "C" block
413         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
414
415 2009-11-13  Eric Blake  <ebb9@byu.net>
416
417         getgroups: avoid compiler warning
418         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
419
420         getgroups: work around FreeBSD bug
421         * lib/getgroups.c (rpl_getgroups): Work around the bug.
422         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
423         * doc/posix-functions/getgroups.texi (getgroups): Document it.
424         * tests/test-getgroups.c (main): Fix buffer overrun.
425
426         getgroups: avoid compilation failure
427         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
428         * modules/getgroups (Depends-on): Add stdint.
429
430 2009-11-13  Jim Meyering  <meyering@redhat.com>
431
432         test-getgroups: avoid compilation failure
433         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
434
435 2009-11-13  Eric Blake  <ebb9@byu.net>
436
437         mgetgroups: new module, taken from coreutils
438         * modules/mgetgroups: New file.
439         * lib/mgetgroups.h: Likewise.
440         * lib/mgetgroups.c (mgetgroups): Likewise.
441         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
442         * MODULES.html.sh (Users and groups): Mention it.
443
444         getgroups: don't expose GETGROUPS_T to user
445         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
446         an element at a time if GETGROUPS_T is wrong size.
447         * lib/getugroups.h (getugroups): Change signature.
448         * lib/unistd.in.h (getgroups): Likewise.
449         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
450         signature needs fixing.
451         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
452         AC_TYPE_GETGROUPS.
453         * modules/group-member (Depends-on): Add getgroups.
454         * lib/group-member.c (group_info, get_group_info): Use gid_t.
455         (group_member): Rely on getgroups replacement.
456         * lib/getugroups.c (getugroups): Use gid_t.
457         * tests/test-getgroups.c (main): Likewise.
458         * NEWS: Mention the signature change.
459         * doc/posix-functions/getgroups.texi (getgroups): Mention the
460         problem with signature.
461         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
462         GETGROUPS_T is still useful for setgroups.
463
464         getgroups, getugroups: provide stubs for mingw
465         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
466         * lib/getugroups.c (getugroups): Likewise.
467         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
468         function.  Modernize replacement scheme.
469         (gl_PREREQ_GETGROUPS): Delete.
470         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
471         * modules/getgroups (configure.ac): Declare witness.
472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
473         * modules/unistd (Depends-on): Substitute witness.
474         * lib/unistd.in.h (getgroups): Declare replacement.
475
476         getgroups: avoid calling exit
477         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
478         drop xalloc.
479         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
480         dependencies.
481         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
482         exiting, in the rare case of malloc failure.
483
484         getgroups: fix logic error
485         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
486         has more than 20 groups.
487         * modules/getgroups-tests: New test.
488         * tests/test-getgroups.c: New file.
489
490 2009-11-13  Simon Josefsson  <simon@josefsson.org>
491
492         * tests/test-base64.c: Improve.
493
494 2009-11-13  Simon Josefsson  <simon@josefsson.org>
495
496         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
497         Blake <ebb9@byu.net>.
498
499 2009-11-13  Simon Josefsson  <simon@josefsson.org>
500
501         * tests/test-xvasprintf.c: Add %s%s related checks.
502
503 2009-11-12  Eric Blake  <ebb9@byu.net>
504
505         version-etc: match standards.texi style
506         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
507         and use <> only for URLs.
508
509 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
510
511         fts: do not fail on a submount during traversal
512         * lib/fts.c (fts_build): Read the stat info again after opening
513         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
514         Original report at http://bugzilla.redhat.com/501848.
515
516 2009-11-12  Jim Meyering  <meyering@redhat.com>
517
518         bootstrap: sync from coreutils
519         * build-aux/bootstrap (bootstrap_epilogue): New function.
520         Use git_modules_config in one more place.  This make bootstrap's
521         --gnulib-srcdir option more useful for testing.
522
523         bootstrap: generalize autoheader check
524         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
525         AC_CONFIG_HEADERS.
526
527 2009-11-11  Eric Blake  <ebb9@byu.net>
528
529         mkfifoat: use new modules for Solaris and BSD bugs
530         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
531         * lib/mkfifoat.c (mknodat): Split...
532         * lib/mknodat.c (mknodat): ...into new file.
533         * modules/mkfifoat (Files): Ship new file.
534         (Depends-on): Add mkfifo, mknod.
535         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
536         (Depends-on): Add symlink.
537         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
538         redundant with test_mkfifo.h.
539         (do_mkfifoat, do_mknodat): New helpers.
540
541         mknod: new module
542         * modules/mknod: New file.
543         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
544         * lib/mknod.c (mknod): Likewise.
545         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
546         defaults.
547         * modules/sys_stat (Makefile.am): Substitute them.
548         * lib/sys_stat.in.h (mknod): Declare replacement.
549         * MODULES.html.sh (Support for systems lacking POSIX:2008):
550         Document it.
551         * doc/posix-functions/mknod.texi (mknod): Likewise.
552         * modules/mknod-tests: New test.
553         * tests/test-mknod.c: Likewise.
554
555         mkfifo: new module
556         * modules/mkfifo: New file.
557         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
558         * lib/mkfifo.c (mkfifo): Likewise.
559         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
560         defaults.
561         * modules/sys_stat (Makefile.am): Substitute them.
562         * lib/sys_stat.in.h (mkfifo): Declare replacement.
563         * MODULES.html.sh (Support for systems lacking POSIX:2008):
564         Document it.
565         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
566         * modules/mkfifo-tests: New test.
567         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
568         from test-mkfifoat.c.
569         * tests/test-mkfifo.c: New file.
570
571         readlink: detect FreeBSD bug
572         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
573         slash on symlink.
574         * doc/posix-functions/readlink.texi (readlink): Document the bug.
575         * tests/test-readlink.h (test_readlink): Enhance test.
576
577         symlink: detect FreeBSD bug
578         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
579         slash on symlink.
580         * doc/posix-functions/symlink.texi (symlink): Document the bug.
581         * tests/test-symlink.h (test_symlink): Enhance test.
582
583 2009-11-10  Eric Blake  <ebb9@byu.net>
584
585         link: detect FreeBSD bug
586         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
587         symlink.
588         * doc/posix-functions/link.texi (link): Document the bug.
589         * tests/test-link.h (test_link): Enhance test.
590         * tests/test-linkat.c (main): Update caller.
591
592         unlink, remove: detect FreeBSD bug
593         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
594         slash on symlink.
595         * doc/posix-functions/unlink.texi (unlink): Document the bug.
596         * doc/posix-functions/remove.texi (remove): Likewise.
597         * tests/test-unlink.h (test_unlink): Enhance test.
598         * tests/test-remove.c (main): Likewise.
599
600 2009-11-09  Eric Blake  <ebb9@byu.net>
601
602         rename: detect FreeBSD bug
603         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
604         slash on symlink.
605         * modules/renameat-tests (Depends-on): Add filenamecat.
606         * tests/test-rename.h (test_rename): Allow one more errno.
607         * tests/test-renameat.c (main): Likewise.
608         * doc/posix-functions/rename.texi (rename): Document the bug.
609
610         open: detect FreeBSD bug
611         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
612         symlink.
613         * doc/posix-functions/open.texi (open): Document the bug.
614         * doc/posix-functions/utimes.texi (utimes): Likewise.
615         * tests/test-open.h (test_open): Add parameters, and test symlink
616         handling.
617         * tests/test-open.c (main): Adjust caller.
618         * tests/test-fcntl-safer.c (main): Likewise.
619         * modules/open-tests (Depends-on): Add stdbool, symlink.
620         * modules/fcntl-safer-tests (Depends-on): Likewise.
621         * tests/test-openat.c (main): Add test-open tests.
622
623         stat: detect FreeBSD bug
624         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
625         symlink.
626         * doc/posix-functions/stat.texi (stat): Document the bug.
627         * tests/test-stat.h (test_stat_func): Add argument.
628         * tests/test-stat.c (main): Adjust caller.
629         * tests/test-fstatat.c (main): Likewise.
630         * modules/stat-tests (Depends-on): Add stdbool, symlink.
631         Reported by Jim Meyering.
632
633 2009-11-09  James Youngman  <jay@gnu.org>
634
635         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
636         * lib/strftime.c: Correct placement of #include "ignore-value.h".
637
638 2009-11-08  Jim Meyering  <meyering@redhat.com>
639
640         utimens: remove invalid futimesat call
641         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
642         It used the file descriptor of the target file as the DIR_FD
643         parameter and NULL as the file name.  That caused failure with
644         errno == EFAULT on FreeBSD-8.0-rc2
645
646 2009-11-07  Eric Blake  <ebb9@byu.net>
647
648         fflush, freadseek: use fseeko, not fseek
649         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
650         (clear_ungetc_buffer): Avoid potential problems on large files.
651         * lib/freadseek.c (freadseek): Likewise.
652         * modules/freadseek (Depends-on): Add fseeko.
653         * modules/fseek (configure.ac): Set a witness.
654         * tests/test-fflush.c (main): Use fseeko.
655         * tests/test-fpurge.c (fseek): Disable link warning.
656         * tests/test-freadable.c (fseek): Likewise.
657         * tests/test-freading.c (fseek): Likewise.
658         * tests/test-fseeko.c (fseek): Likewise.
659         * tests/test-ftell.c (fseek): Likewise.
660         * tests/test-ftello.c (fseek): Likewise.
661         * tests/test-fwritable.c (fseek): Likewise.
662         * tests/test-fwriting.c (fseek): Likewise.
663
664 2009-11-06  Simon Josefsson  <simon@josefsson.org>
665
666         * modules/memchr (Depends-on): Drop getpagesize dependency.
667
668 2009-11-06  Simon Josefsson  <simon@josefsson.org>
669
670         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
671         Reported by Ludovic Courtès.
672         * build-aux/pmccabe2html: Improve example usage.
673         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
674
675 2009-11-06  Jim Meyering  <meyering@redhat.com>
676
677         do-release-commit-and-tag: New module.
678         Automate the release-commit and tag process.
679         * build-aux/do-release-commit-and-tag: New script, from coreutils.
680         * modules/do-release-commit-and-tag: New file.
681         * MODULES.html.sh (Support for maintaining and releasing): Add it.
682
683 2009-11-06  Simon Josefsson  <simon@josefsson.org>
684
685         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
686         because test-select.c uses inet_pton.
687
688 2009-11-06  Simon Josefsson  <simon@josefsson.org>
689
690         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
691         GETADDRINFO_LIB.  Bump serial number.
692         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
693         Suggested by Eric Blake <ebb9@byu.net>.
694
695 2009-11-05  Eric Blake  <ebb9@byu.net>
696
697         strtod: detect darwin bug
698         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
699         Reported by Leo Davis.
700
701         freopen-safer: new module
702         * modules/freopen-safer: New module.
703         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
704         * lib/freopen-safer.c (freopen_safer): New file.
705         * lib/stdio-safer.h (freopen_safer): New declaration.
706         * lib/stdio--.h (freopen): New override.
707         * MODULES.html.sh (File stream based Input/Output): Mention it.
708         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
709         freopen-safer module.
710         * doc/posix-functions/stderr.texi (stderr): Likewise.
711         * doc/posix-functions/stdin.texi (stdin): Likewise.
712         * doc/posix-functions/stdout.texi (stdout): Likewise.
713         * modules/freopen-safer-tests: New test.
714         * tests/test-reopen-safer.c: New file.
715
716 2009-11-05  Jim Meyering  <meyering@redhat.com>
717
718         maint.mk: Prohibit inclusion of "close-stream.h" without use.
719         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
720
721 2009-11-05  Simon Josefsson  <simon@josefsson.org>
722
723         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
724
725 2009-11-05  Simon Josefsson  <simon@josefsson.org>
726
727         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
728
729 2009-11-05  Simon Josefsson  <simon@josefsson.org>
730
731         Fix link error.
732         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
733         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
734
735 2009-11-05  Simon Josefsson  <simon@josefsson.org>
736
737         * tests/test-func.c: Also test value of __func__.
738
739 2009-11-05  Simon Josefsson  <simon@josefsson.org>
740
741         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
742         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
743
744 2009-11-05  Bruno Haible  <bruno@clisp.org>
745
746         Fix link error.
747         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
748         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
749         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
750
751 2009-11-05  Bruno Haible  <bruno@clisp.org>
752
753         Tests for module 'inet_pton'.
754         * modules/inet_pton-tests: New file.
755         * tests/test-inet_pton.c: New file.
756
757 2009-11-05  Bruno Haible  <bruno@clisp.org>
758
759         Tests for module 'inet_ntop'.
760         * modules/inet_ntop-tests: New file.
761         * tests/test-inet_ntop.c: New file.
762
763 2009-11-04  Eric Blake  <ebb9@byu.net>
764
765         stdlib-safer: wrap all mkstemp variants
766         * modules/mkostemp (configure.ac): Set witness.
767         * modules/mkostemps (configure.ac): Likewise.
768         * modules/mkstemps (configure.ac): Likewise.
769         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
770         (mkstemps_safer): Wrap more functions.
771         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
772         wrapping.
773         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
774         (mkstemps_safer): Implement the wrappers.
775
776         mkstemps, mkostemps: new modules
777         * modules/mkostemps: New module.
778         * modules/mkstemps: Likewise.
779         * lib/mkostemps.c (mkostemps): New file.
780         * lib/mkstemps.c (mkstemps): Likewise.
781         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
782         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
784         * modules/stdlib (Makefile.am): Substitute them.
785         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
786         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
787         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
788         * doc/gnulib.texi (Glibc stdlib.h): Include them.
789         * MODULES.html.sh (File system functions): Mention them.
790
791         tempname: resync from glibc
792         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
793         same values for __GT_FILE as glibc.  Abort even when assertions
794         are disabled.
795         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
796         match its value otherwise.  Allow idempotent inclusion.
797         * lib/mkdtemp.c (mkdtemp): Adjust caller.
798         * lib/mkostemp.c (mkostemp): Likewise.
799         * lib/mkstemp.c (mkstemp): Likewise.
800         * lib/tmpfile.c (tmpfile): Likewise.
801         * NEWS: Document this.
802
803         utimens: fix use of futimens on older Linux
804         * lib/utimens.c (fdutimens): Use updated, rather than original,
805         timespec to avoid bug in older Linux kernel.
806         Reported by Simon Josefsson.
807
808 2009-11-04  Bruno Haible  <bruno@clisp.org>
809
810         Make num_processors more flexible and consistent.
811         * lib/nproc.h (enum nproc_query): New type.
812         (num_processors): Add a 'query' argument.
813         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
814         (num_processors): Add a 'query' argument. Test the value of the
815         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
816         mingw, count the number of CPUs available for the current process.
817         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
818         Check for sched_getaffinity and sched_getaffinity_np.
819         * modules/nproc (Depends-on): Add c-ctype, extensions.
820         * NEWS: Mention the change.
821
822 2009-11-03  Bruno Haible  <bruno@clisp.org>
823
824         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
825
826 2009-11-03  Jim Meyering  <meyering@redhat.com>
827
828         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
829         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
830         if it is defined.
831
832 2009-11-02  Eric Blake  <ebb9@byu.net>
833
834         mktime, timegm: share common declaration
835         * lib/mktime-internal.h: New file.
836         * lib/mktime.c: Use it rather than open-coding a declaration.
837         * lib/timegm.c: Likewise.
838         * modules/mktime (Files): Ship it.
839         * modules/timegm (Files): Likewise.
840         Suggested by Bruno Haible.
841
842         test-update-copyright: update test to match script changes
843         * tests/test-update-copyright.sh: Avoid hard-coding perl
844         location.  Don't update *.bak created by earlier runs.
845
846 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
847             Simon Josefsson  <simon@josefsson.org>
848             Bruno Haible  <bruno@clisp.org>
849
850         Fix link error on Solaris 8.
851         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
852         also in libnsl. Define also INET_PTON_LIB.
853         * modules/inet_pton (Link): New section.
854
855 2009-11-02  Simon Josefsson  <simon@josefsson.org>
856             Bruno Haible  <bruno@clisp.org>
857
858         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
859         * modules/inet_ntop (Link): New section.
860         Reported by Boyan Kasarov <bkasarov@gmail.com>.
861
862 2009-11-02  Eric Blake  <ebb9@byu.net>
863
864         maint: avoid compiler warnings in m4 macros
865         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
866         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
867
868 2009-11-02  Simon Josefsson  <simon@josefsson.org>
869
870         * m4/pmccabe2html.m4: Remove file.
871         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
872         function.  Change maintainer.
873         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
874         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
875         Courtès).
876
877 2009-10-31  Eric Blake  <ebb9@byu.net>
878
879         fseeko: fix m4 regression
880         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
881         regression from 2009-10-27.
882         Reported by Ralf Wildenhues.
883
884 2009-10-31  Jim Meyering  <meyering@redhat.com>
885
886         inttostr: aesthetics and improved (compile-time) safety
887         Define inttype_is_signed rather than inttype_is_unsigned,
888         since the sole use is via "#if inttype_is_signed".
889         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
890         inttype_is_unsigned.
891         * lib/offtostr.c (inttype_is_signed): Likewise.
892         * lib/uinttostr.c (inttype_is_signed): Likewise.
893         * lib/umaxtostr.c (inttype_is_signed): Likewise.
894         * lib/inttostr.c (inttostr): Use verify to cross-check the
895         inttype_is_signed value and the signedness of the actual type.
896         * modules/inttostr (Depends-on): Add verify.
897
898 2009-10-30  Eric Blake  <ebb9@byu.net>
899
900         build: avoid compiler warnings
901         * lib/fchmodat.c (lchmod): Mark unused variables.
902         * lib/getopt.c (_getopt_initialize): Likewise.
903         * lib/mktime.c (__mktime_internal): Provide prototype.
904         * lib/inttostr.c (inttostr): Avoid compiler warning even with
905         older gcc that do not understand #pragma GCC diagnostic.
906         * lib/uinttostr.c (inttype_is_unsigned): Define.
907         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
908
909 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
910
911         stat: fix compilation on AIX
912         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
913         only see struct stat64.
914
915 2009-10-30  Eric Blake  <ebb9@byu.net>
916
917         exclude: make more robust
918         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
919         rather than masking a coding bug.
920         Suggested by Bruno Haible.
921
922 2009-10-30  Jim Meyering  <meyering@redhat.com>
923
924         perl scripts: remove #!/usr/bin/perl in favor of more portable...
925         Rather than putting #!/usr/bin/perl on the first line,
926         start with a variant of what's recommended by "man perlrun" that
927         invokes the first "perl" program from your shell's search path.
928         * build-aux/gitlog-to-changelog: Replace #!... as above.
929         Add a "Local Variables" perl mode setting.
930         Prompted by a patch from Ludovic Courtès.
931         Improved by Eric Blake.
932         * build-aux/useless-if-before-free: Likewise.
933         * build-aux/announce-gen: Likewise.
934         * build-aux/update-copyright: Likewise.
935
936 2009-10-29  Eric Blake  <ebb9@byu.net>
937
938         filenamecat-lgpl: adjust clients
939         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
940         filenamecat.
941         * modules/renameat (Depends-on): Likewise.
942
943         filenamecat: split into filenamecat-lgpl
944         * modules/filenamecat-lgpl: New module.
945         * modules/filenamecat (Files): Move library-safe files into
946         filenamecat-lgpl.
947         (Depends-on): Add filenamecat-lgpl.
948         (configure.ac): Declare witness.
949         * lib/filenamecat.h (file_name_concat): Only declare when using
950         GPL module.
951         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
952         Move...
953         * lib/filenamecat-lgpl.c: ...into new file.
954         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
955         (gl_FILE_NAME_CONCAT): Use it.
956         * MODULES.html.sh (File system functions): Mention new module.
957
958         argp: avoid memory leak
959         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
960         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
961         base_name, since the latter malloc()s and can call exit().
962         Leak introduced 2006-07-03.
963
964         dirname-lgpl: adjust clients that don't need full dirname
965         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
966         * modules/filenamecat (Depends-on): Likewise.
967         * modules/linkat (Depends-on): Likewise.
968         * modules/mkancesdirs (Depends-on): Likewise.
969         * modules/mkdir (Depends-on): Likewise.
970         * modules/openat (Depends-on): Likewise.
971         * modules/savewd (Depends-on): Likewise.
972         * modules/rename (Depends-on): Likewise.
973         (License): Relax license.
974         * modules/mkdir-tests (Depends-on): Drop progname.
975         (Makefile.am): Delete unneeded LDADD.
976         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
977
978         dirname: split into dirname-lgpl
979         * modules/dirname-lgpl: New module.
980         * modules/dirname (Files): Move library-safe files into
981         dirname-lgpl.
982         (Depends-on): Add dirname-lgpl.
983         (configure.ac): Declare witness.
984         * modules/double-slash-root (License): Relax license.
985         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
986         module.
987         * lib/dirname.c (dir_len, mdir_name): Move...
988         * lib/dirname-lgpl.c: ...into new file.
989         * lib/basename.c (last_component, base_len): Move...
990         * lib/basename-lgpl.c: ...into new file.
991         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
992         (gl_DIRNAME): Use it.
993         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
994         Mention new module.
995         * modules/dirname-tests (Depends-on): Add progname.
996         * tests/test-dirname.c (program_name): Delete.
997
998         mkdir: make safe for libraries
999         * modules/mkdir (Depends-on): Drop xalloc.
1000         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
1001         exit.
1002
1003         tests: avoid some compiler warnings
1004         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
1005         literals.
1006         * tests/test-memchr.c (main): Avoid type mismatch.
1007         * tests/test-arpa_inet.c (main): Avoid unused parameters.
1008         * tests/test-base64.c (main): Likewise.
1009         * tests/test-getdelim.c (main): Likewise.
1010         * tests/test-gethostname.c (main): Likewise.
1011         * tests/test-getline.c (main): Likewise.
1012         * tests/test-netinet_in.c (main): Likewise.
1013         * tests/test-select.c (open_server_socket, main): Likewise.
1014         * tests/test-select-stdin.c (main): Likewise.
1015         * tests/test-sockets.c (main): Likewise.
1016         * tests/test-strsignal.c (main): Likewise.
1017         * tests/test-sys_select.c (main): Likewise.
1018         * tests/test-sys_socket.c (main): Likewise.
1019         * tests/test-u64.c (main): Likewise.
1020         * tests/test-xfprintf-posix.c (main): Likewise.
1021         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
1022
1023         sockets: avoid compiler warning
1024         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
1025
1026         maint: detect usage(1) and other suspicious exits
1027         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
1028
1029 2009-10-29  Jim Meyering  <meyering@redhat.com>
1030
1031         timespec: long-to-int truncation could make timespec_cmp malfunction
1032         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
1033         a multiple of 2^32 nanoseconds as no difference.
1034
1035 2009-10-28  Jim Meyering  <meyering@redhat.com>
1036
1037         fprintftime: wrap macro code argument in "do {...} while(0)"
1038         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
1039         cpy macro must be a statement that can be followed by a semicolon.
1040         Now that the else clause contains a comment and is hence longer
1041         than one line, I require curly braces.  That in turn requires
1042         that we wrap this code block in the standard do...while(0).
1043
1044         fprintftime: remove stray semicolon from previous change
1045         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
1046
1047         fprintftime: avoid a warning about ignored fwrite return value
1048         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
1049         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
1050         that is unsafe.
1051         * modules/fprintftime (Depends-on): Add ignore-value.
1052
1053         exclude: avoid an unwarranted warning
1054         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
1055
1056 2009-10-27  Eric Blake  <ebb9@byu.net>
1057
1058         fseek: avoid compilation failure when fflush is replaced
1059         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
1060         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
1061         module is in use.
1062         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
1063         module is not in use; since REPLACE_FSEEK worked otherwise.
1064         (GNULIB_FTELLO): Likewise for ftell.
1065         Reported by Ian Beckwith and others.
1066
1067 2009-10-27  Bruno Haible  <bruno@clisp.org>
1068
1069         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
1070         Reported by Jim Meyering.
1071
1072 2009-10-27  Jim Meyering  <jim@meyering.net>
1073             Bruno Haible  <bruno@clisp.org>
1074
1075         Avoid warning despite dropping the return value of fwrite.
1076         * lib/unicodeio.c: Include ignore-value.h.
1077         (fwrite_success_callback): Explicitly ignore fwrite's return value.
1078         * modules/unicodeio (Depends-on): Add ignore-value.
1079
1080 2009-10-26  Eric Blake  <ebb9@byu.net>
1081
1082         areadlinkat: fix fallback path
1083         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
1084         pointer and zero.
1085
1086 2009-10-22  Pádraig Brady  <P@draigBrady.com>
1087
1088         Use a better IO block size for modern systems
1089         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
1090         * lib/md2.c: Likewise.
1091         * lib/md4.c: Likewise.
1092         * lib/md5.c: Likewise.
1093         * lib/sha1.c: Likewise.
1094         * lib/sha256.c: Likewise.
1095         * lib/sha512.c: Likewise.
1096
1097 2009-10-22  Eric Blake  <ebb9@byu.net>
1098
1099         tests: avoid several compiler warnings
1100         * tests/test-getcwd.c (main): Avoid buffer underflow.
1101         * tests/test-getdate.c (main): String literals are not safe with
1102         putenv, so use setenv.  Declare unused argument.
1103         * modules/getdate-tests (Depends-on): Add setenv.
1104         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
1105         problems with string literals in char *.
1106         * tests/test-hash.c (main): Avoid shadowing declaration.
1107         (insert_new): Treat string literals as char const *.
1108         * tests/test-getopt.h (test_getopt): Likewise.
1109         (getopt_loop): Alter types to minimize casting elsewhere.
1110         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
1111         (test_getopt_long_posix): Likewise.
1112         (do_getopt_long): Add wrapper to minimize casting.
1113         * tests/test-atexit.c (clear_temp_file): Use void.
1114         * tests/test-areadlink-with-size.c (main): Declare unused
1115         arguments.
1116         * tests/test-areadlink.c (main): Likewise.
1117         * tests/test-areadlinkat-with-size.c (main): Likewise.
1118         * tests/test-areadlinkat.c (main): Likewise.
1119         * tests/test-canonicalize-lgpl.c (main): Likewise.
1120         * tests/test-canonicalize.c (main): Likewise.
1121         * tests/test-dirent-safer.c (main): Likewise.
1122         * tests/test-dirname.c (main): Likewise.
1123         * tests/test-dup2.c (main): Likewise.
1124         * tests/test-fchdir.c (main): Likewise.
1125         * tests/test-fcntl-h.c (main): Likewise.
1126         * tests/test-fcntl-safer.c (main): Likewise.
1127         * tests/test-fdopendir.c (main): Likewise.
1128         * tests/test-fdutimensat.c (main): Likewise.
1129         * tests/test-fflush.c (main): Likewise.
1130         * tests/test-filenamecat.c (main): Likewise.
1131         * tests/test-filevercmp.c (main): Likewise.
1132         * tests/test-fopen-safer.c (main): Likewise.
1133         * tests/test-fopen.c (main): Likewise.
1134         * tests/test-fpending.c (main): Likewise.
1135         * tests/test-fpurge.c (main): Likewise.
1136         * tests/test-freading.c (main): Likewise.
1137         * tests/test-fstatat.c (main): Likewise.
1138         * tests/test-fsync.c (main): Likewise.
1139         * tests/test-futimens.c (main): Likewise.
1140         * tests/test-getndelim2.c (main): Likewise.
1141         * tests/test-gettimeofday.c (main): Likewise.
1142         * tests/test-getopt.c (main): Likewise.
1143         * tests/test-i-ring.c (main): Likewise.
1144         * tests/test-inttypes.c (main): Likewise.
1145         * tests/test-link.c (main): Likewise.
1146         * tests/test-lstat.c (main): Likewise.
1147         * tests/test-math.c (main): Likewise.
1148         * tests/test-md5.c (main): Likewise.
1149         * tests/test-memchr2.c (main): Likewise.
1150         * tests/test-memrchr.c (main): Likewise.
1151         * tests/test-mkdir.c (main): Likewise.
1152         * tests/test-mkdirat.c (main): Likewise.
1153         * tests/test-mkfifoat.c (main): Likewise.
1154         * tests/test-open.c (main): Likewise.
1155         * tests/test-openat-safer.c (main): Likewise.
1156         * tests/test-openat.c (main): Likewise.
1157         * tests/test-quotearg.c (main): Likewise.
1158         * tests/test-rawmemchr.c (main): Likewise.
1159         * tests/test-readlink.c (main): Likewise.
1160         * tests/test-remove.c (main): Likewise.
1161         * tests/test-rename.c (main): Likewise.
1162         * tests/test-renameat.c (main): Likewise.
1163         * tests/test-rmdir.c (main): Likewise.
1164         * tests/test-sha1.c (main): Likewise.
1165         * tests/test-signal.c (main): Likewise.
1166         * tests/test-sigaction.c (main): Likewise.
1167         * tests/test-stat.c (main): Likewise.
1168         * tests/test-stat-time.c (main): Likewise.
1169         * tests/test-stddef.c (main): Likewise.
1170         * tests/test-stdint.c (main): Likewise.
1171         * tests/test-stdio.c (main): Likewise.
1172         * tests/test-stdlib.c (main): Likewise.
1173         * tests/test-strchrnul.c (main): Likewise.
1174         * tests/test-strerror.c (main): Likewise.
1175         * tests/test-string.c (main): Likewise.
1176         * tests/test-strtod.c (main): Likewise.
1177         * tests/test-strverscmp.c (main): Likewise.
1178         * tests/test-symlink.c (main): Likewise.
1179         * tests/test-symlinkat.c (main): Likewise.
1180         * tests/test-sys_stat.c (main): Likewise.
1181         * tests/test-sys_time.c (main): Likewise.
1182         * tests/test-time.c (main): Likewise.
1183         * tests/test-unistd.c (main): Likewise.
1184         * tests/test-unlink.c (main): Likewise.
1185         * tests/test-unlinkat.c (main): Likewise.
1186         * tests/test-utimens.c (main): Likewise.
1187         * tests/test-utimensat.c (main): Likewise.
1188         * tests/test-version-etc.c (main): Likewise.
1189         * tests/test-wchar.c (main): Likewise.
1190         * tests/test-wctype.c (main): Likewise.
1191         * tests/test-xprintf-posix.c (main): Likewise.
1192         * tests/test-posixtm.c (main): Likewise.
1193         (STREQ): Delete unused macro.
1194         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
1195         shadowed variables.
1196         * tests/test-memchr.c (main): Likewise.
1197
1198 2009-10-21  Eric Blake  <ebb9@byu.net>
1199
1200         areadlinkat: avoid failure on older glibc
1201         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
1202         rather than mis-comparing 0 against FUNC_RESULT of char*.
1203
1204 2009-10-21  Bruno Haible  <bruno@clisp.org>
1205
1206         * modules/stpncpy (License): Relicense under LGPLv2+.
1207         Reported by David Lutterkort <lutter@redhat.com>.
1208
1209 2009-10-20  Eric Blake  <ebb9@byu.net>
1210
1211         utimensat: work around Solaris 9 bug
1212         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
1213         has trailing slash bugs.
1214         * tests/test-lutimens.h (test_lutimens): Enhance test.
1215         * tests/test-utimens.h (test_utimens): Likewise.
1216         * doc/posix-functions/utime.texi (utime): Enhance documentation.
1217         * doc/posix-functions/utimes.texi (utimes): Likewise.
1218         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1219         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
1220         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
1221         * doc/posix-functions/futimens.texi (futimens): Likewise.
1222
1223         fdutimensat: new module
1224         * modules/fdutimensat: New file.
1225         * lib/fdutimensat.c (fdutimensat): Likewise.
1226         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
1227         * MODULES.html.sh (File system functions): Mention module.
1228         * modules/fdutimensat-tests: New test.
1229         * tests/test-fdutimensat.c: Likewise.
1230
1231         doc: regenerate INSTALL
1232         * doc/INSTALL: Reflect recent autoconf update.
1233         * doc/INSTALL.ISO: Likewise.
1234         * doc/INSTALL.UTF-8: Likewise.
1235
1236 2009-10-20  Pádraig Brady  <P@draigBrady.com>
1237
1238         acl: warn if ACL support is not detected
1239         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
1240
1241 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
1242
1243         * lib/nproc.h: Add extern "C" block for C++.
1244
1245 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
1246             Bruno Haible  <bruno@clisp.org>
1247
1248         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
1249         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
1250         * doc/posix-functions/isalpha.texi: Likewise.
1251         * doc/posix-functions/isblank.texi: Likewise.
1252         * doc/posix-functions/iscntrl.texi: Likewise.
1253         * doc/posix-functions/isdigit.texi: Likewise.
1254         * doc/posix-functions/isgraph.texi: Likewise.
1255         * doc/posix-functions/islower.texi: Likewise.
1256         * doc/posix-functions/isprint.texi: Likewise.
1257         * doc/posix-functions/ispunct.texi: Likewise.
1258         * doc/posix-functions/isspace.texi: Likewise.
1259         * doc/posix-functions/isupper.texi: Likewise.
1260         * doc/posix-functions/isxdigit.texi: Likewise.
1261
1262 2009-10-18  Bruno Haible  <bruno@clisp.org>
1263
1264         Tests for module 'isblank'.
1265         * modules/isblank-tests: New file.
1266         * tests/test-isblank.c: New file.
1267
1268         New module 'isblank'.
1269         * lib/isblank.c: New file.
1270         * m4/isblank.m4: New file.
1271         * modules/isblank: New file.
1272         * doc/posix-functions/isblank.texi: Mention the new module.
1273
1274 2009-10-18  Bruno Haible  <bruno@clisp.org>
1275
1276         New module 'ctype'.
1277         * lib/ctype.in.h: New file.
1278         * m4/ctype.m4: New file.
1279         * modules/ctype: New file.
1280         * doc/posix-headers/ctype.texi: Mention the new module.
1281
1282 2009-10-18  Jim Meyering  <meyering@redhat.com>
1283
1284         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
1285         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
1286         right after its initialization, rather than farther down.
1287         Keeping these in close proximity makes it easier to ensure
1288         that each such variable is initialized.  E.g.,
1289
1290             LIB_CLOCK_GETTIME=
1291             AC_SUBST([LIB_CLOCK_GETTIME])
1292
1293         This change also increments these serial numbers.
1294         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
1295         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1296         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1297
1298 2009-10-18  Bruno Haible  <bruno@clisp.org>
1299
1300         Don't let environment variables perturb build.
1301         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
1302         (gl_PREREQ_GETHRXTIME): ... not here.
1303
1304 2009-10-18  Bruno Haible  <bruno@clisp.org>
1305
1306         Avoid symlink attack in localcharset module.
1307         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
1308         (O_NOFOLLOW): Define fallback.
1309         (get_charset_aliases): Don't open the file if it is a symbolic link.
1310         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
1311         gl_FCNTL_H.
1312         (gl_FCNTL_H): Require it.
1313         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
1314         * modules/localcharset (Files): Add m4/fcntl_h.m4.
1315         Reported by Fergal Glynn <fglynn@veracode.com>.
1316
1317 2009-10-18  Bruno Haible  <bruno@clisp.org>
1318
1319         Implement nproc for mingw.
1320         * lib/nproc.c: Include <windows.h>
1321         (num_processors): On native Windows platforms, try GetSystemInfo.
1322
1323 2009-10-18  Bruno Haible  <bruno@clisp.org>
1324
1325         Implement nproc for IRIX.
1326         * lib/nproc.c: Include <sys/sysmp.h>.
1327         (num_processors): On IRIX systems, try sysmp.
1328         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
1329
1330 2009-10-18  Bruno Haible  <bruno@clisp.org>
1331
1332         Implement nproc for HP-UX.
1333         * lib/nproc.c: Include <sys/pstat.h>
1334         (num_processors): On HP-UX systems, try pstat_getdynamic.
1335         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
1336         pstat_getdynamic.
1337
1338 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
1339             Bruno Haible  <bruno@clisp.org>
1340
1341         Implement nproc for NetBSD, OpenBSD.
1342         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
1343         (ARRAY_SIZE): New macro.
1344         (num_processors): On BSD systems, try sysctl of HW_NCPU.
1345         * m4/nproc.m4: New file.
1346         * modules/nproc (Files): Add m4/nproc.m4.
1347         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
1348         (Makefile.am): Instead, augment lib_SOURCES.
1349
1350 2009-10-18  Bruno Haible  <bruno@clisp.org>
1351
1352         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
1353         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
1354         sys/param.h.
1355
1356 2009-10-16  Eric Blake  <ebb9@byu.net>
1357
1358         utimensat: new module
1359         * modules/utimensat: New file.
1360         * lib/utimensat.c (utimensat): Likewise.
1361         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1362         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
1363         so we can work around Linux bugs.
1364         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1365         * modules/sys_stat (Makefile.am): Substitute them.
1366         * lib/sys_stat.in.h (utimensat): Declare it.
1367         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1368         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1369         * modules/utimensat-tests: New test.
1370         * tests/test-utimensat.c: Likewise.
1371
1372         utimens: let lutimens work on non-symlinks
1373         * lib/utimens.c (lutimens): Fall back to utimens rather than
1374         failing with ENOSYS, when file is not a symlink.
1375         (utimens): Reduce redirection.
1376         * tests/test-lutimens.h (test_lutimens): Update test to cover
1377         non-symlinks.
1378         * tests/test-utimens.h (test_utimens): Update test to cover
1379         symlinks.
1380         * tests/test-utimens.c (main): Update caller.
1381
1382         utimens: cache whether utimensat syscall works
1383         * lib/utimens.c (utimensat_works_really): New cache variable.
1384         (fdutimens, lutimens): Use it to avoid failing syscall.
1385
1386         test-stat-time, test-utimens: improve portability
1387         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
1388         ext4 on alpha, and for cygwin.
1389         * tests/test-utimens-common.h: New file.
1390         (nap): Factor delays into single function.
1391         * tests/test-lutimens.h (test_lutimens): Use new header.
1392         * tests/test-futimens.h (test_futimens): Likewise.
1393         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
1394         timestamps to occur from same machine, as was done previously for
1395         test_utimens.
1396         * modules/utimens-tests (Files): Ship new file.
1397         * modules/futimens-tests (Files): Likewise.
1398         Reported in part by Jim Meyering.
1399
1400         sys_stat: sort replacement declarations
1401         * lib/sys_stat.in.h: Sort declarations.
1402         * lib/futimens.c (futimens): Fix typo.
1403
1404 2009-10-15  Jim Meyering  <meyering@redhat.com>
1405
1406         don't let environment settings perturb build
1407         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
1408         could cause a configure-time and/or build-time malfunction.
1409         Typically, a configure-time function-in-library test is performed
1410         via code like this:
1411
1412           LIB_VAR=
1413           AC_SUBST([LIB_VAR])
1414           prefix_saved_LIBS=$LIBS
1415             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
1416                        [test "$ac_cv_search_FUNC" = "none required" ||
1417                         LIB_VAR=$ac_cv_search_FUNC])
1418           LIBS=$prefix_saved_LIBS
1419
1420         However, in each of the files affected by this change, the LIB_VAR=
1421         initialization was omitted.  Thus, when set in the environment, its
1422         value would propagate into generated Makefiles when FUNC is not found
1423         in LIB_NAME.
1424         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
1425         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1427
1428 2009-10-14  Eric Blake  <ebb9@byu.net>
1429
1430         fchdir: avoid infinite recursion in mingw
1431         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
1432         recursing.
1433
1434         test-stat-time: port to mingw
1435         * tests/test-stat-time.c (force_unlink): Return a value.
1436         (test_ctime) [W32]: Fix compilation error.
1437         (nap): Don't call usleep with too large an argument.  Use
1438         force_unlink.
1439         * doc/pastposix-functions/usleep.texi (usleep): Document the
1440         portability issue.
1441
1442 2009-10-13  Jim Meyering  <meyering@redhat.com>
1443
1444         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
1445         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
1446         * modules/pipe-filter-ii: Likewise.
1447         * modules/sys_socket-tests: Likewise.
1448         * modules/tsearch-tests: Likewise.
1449         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
1450         (check): Depend on it.
1451
1452 2009-10-12  Eric Blake  <ebb9@byu.net>
1453
1454         utimens-tests: port to NFS file systems
1455         * tests/test-utimens.h (test_utimens): Refactor utimecmp
1456         comparisons to avoid spurious failures from timestamp drift
1457         between NFS machines.
1458
1459 2009-10-12  Eric Blake  <ebb9@byu.net>
1460
1461         stat-time-tests: minor cleanups
1462         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1463         * tests/test-stat-time.c (nap): Separate assignment from call.
1464         Suggested by Paolo Bonzini and Bruno Haible.
1465
1466         sys_stat: guarantee struct timespec
1467         * lib/sys_stat.in.h (includes): Always include <time.h>
1468         * modules/sys_stat (Depends-on): Add time.
1469         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
1470         mode_t permission values.
1471         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
1472         get at subsecond timestamps.
1473
1474 2009-10-10  Eric Blake  <ebb9@byu.net>
1475
1476         futimens: new module
1477         * modules/futimens: New file.
1478         * lib/futimens.c (futimens): Likewise.
1479         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
1480         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
1481         we can work around Linux bugs.
1482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1483         * modules/sys_stat (Makefile.am): Substitute them.
1484         * lib/sys_stat.in.h (futimens): Declare it.
1485         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1486         * doc/posix-functions/futimens.texi (futimens): Likewise.
1487         * modules/futimens-tests: New test.
1488         * tests/test-futimens.c: Likewise.
1489
1490         utimens: introduce fdutimens
1491         * lib/utimens.h (fdutimens): New prototype.
1492         * lib/utimens.c (gl_futimens): Move guts...
1493         (fdutimens): ...to new interface.
1494         * tests/test-utimens.c (do_fdutimens): Use it.
1495
1496         utimens: add UTIME_NOW and UTIME_OMIT support
1497         * lib/utimens.c (validate_timespec, update_timespec): New helper
1498         functions.
1499         (gl_futimens, lutimens): Use them.
1500         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
1501         stdbool, sys_stat.
1502         (Link): Mention resulting library dependency.
1503         * modules/utimecmp (Link): Likewise.
1504         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
1505         (Makefile.am): Pick up library dependency.
1506         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
1507         definition.
1508         * tests/test-sys_stat.c: Test the definitions.
1509         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
1510         * NEWS: Document library dependency.
1511
1512         utimecmp: support symlink timestamps
1513         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
1514         hashing when possible.  Use pathconf when available.
1515         (SYSCALL_RESOLUTION): Recognize tighter resolution.
1516         * modules/utimecmp (Depends-on): Add lstat.
1517
1518         utimens: add lutimens interface
1519         * lib/utimens.c (lutimens): New function.
1520         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
1521         * lib/utimens.h (lutimens): Declare new interface.
1522         * tests/test-utimens.c (main): Enhance test.
1523         * tests/test-lutimens.h (test_lutimens): New file.
1524         * modules/utimens-tests (Files): Distribute it.
1525         (Depends-on): Add symlink.
1526         (configure.ac): Check for usleep.
1527
1528         utimens: validate futimens usage
1529         * lib/utimens.c (gl_futimens): Require valid fd up front, using
1530         fewer syscalls on failure later on.  Avoid compiler warning on
1531         mingw.
1532         * modules/utimens (Depends-on): Add dup2.
1533
1534         utimens: add test
1535         * modules/utimens-tests: New test.
1536         * tests/test-utimens.h: New file.
1537         * tests/test-futimens.h: Likewise.
1538         * tests/test-utimens.c: Likewise.
1539
1540         doc: mention timestamp portability issues
1541         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
1542         instead.
1543         * doc/posix-functions/utime.texi (utime): Likewise.
1544         * doc/posix-functions/utimes.texi (utimes): Likewise.
1545         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
1546         instead.
1547         * doc/posix-functions/futimens.texi (futimens): Mention utimens
1548         module.
1549         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1550         Mention weakness with symlink timestamps.
1551         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
1552         to utimensat/futimens instead.
1553         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
1554
1555         test-dup2: enhance test
1556         * tests/test-dup2.c (main): Also check AT_FDCWD.
1557
1558         test-stat-time: avoid more spurious failures
1559         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
1560         xfs; and avoid race if the two timestamps cross quantization edge.
1561
1562         relocatable: prefer 'file system' over 'filesystem'
1563         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
1564         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
1565         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
1566         * doc/relocatable.texi (Enabling Relocatability): Likewise.
1567         * lib/relocatable.c (compute_curr_prefix): Likewise.
1568
1569 2009-10-10  Jim Meyering  <meyering@redhat.com>
1570
1571         stat-time-tests: check for the usleep function
1572         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
1573
1574 2009-10-10  Bruno Haible  <bruno@clisp.org>
1575
1576         * modules/xnanosleep: Put the Link section after the Include section.
1577
1578 2009-10-09  Eric Blake  <ebb9@byu.net>
1579
1580         dup2: work around FreeBSD 6.1 bug
1581         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
1582         * doc/posix-functions/dup2.texi (dup2): Document it.
1583         Reported by Nelson H. F. Beebe and Jim Meyering.
1584
1585         test-stat-time: port to buggy NFS clients
1586         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
1587         (test_ctime): Also skip test if mtime and ctime are skewed.
1588
1589         maint: prefer 'file system' over 'filesystem'
1590         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1591         * doc/posix-functions/lstat.texi (lstat): Likewise.
1592         * lib/file-has-acl.c (file_has_acl): Likewise.
1593         * lib/fwriteerror.c [TEST]: Likewise.
1594         * tests/test-areadlink.h (test_areadlink): Likewise.
1595         * tests/test-areadlinkat-with-size.c (main): Likewise.
1596         * tests/test-areadlinkat.c (main): Likewise.
1597         * tests/test-canonicalize-lgpl.c (main): Likewise.
1598         * tests/test-canonicalize.c (main): Likewise.
1599         * tests/test-fstatat.c (main): Likewise.
1600         * tests/test-linkat.c (main): Likewise.
1601         * tests/test-lstat.h (test_lstat_func): Likewise.
1602         * tests/test-mkdir.h (test_mkdir): Likewise.
1603         * tests/test-readlink.h (test_readlink): Likewise.
1604         * tests/test-remove.c (main): Likewise.
1605         * tests/test-rename.h (test_rename): Likewise.
1606         * tests/test-renameat.c (main): Likewise.
1607         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1608         * tests/test-symlink.h (test_symlink): Likewise.
1609         * tests/test-symlinkat.c (main): Likewise.
1610         * tests/test-unlink.h (test_unlink_func): Likewise.
1611         * tests/test-unlinkat.c (main): Likewise.
1612
1613         maint: make realtime library usage explicit
1614         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
1615         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
1616         * modules/settime (Link): Likewise.
1617         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
1618
1619         test-stat-time: speed up execution
1620         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
1621         warning on mingw.
1622         (nap): New helper function.
1623         (prepare_test): Use it to reduce sleep time.
1624         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
1625         execution.
1626         * modules/stat-time-tests (configure.ac): Check for usleep.
1627
1628 2009-10-09  Jim Meyering  <meyering@redhat.com>
1629
1630         selinux-h: always use getfilecon wrappers
1631         * lib/getfilecon.c: New file.
1632         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
1633         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
1634         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
1635         (fgetfilecon): Provide a stub.
1636         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
1637         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
1638         file unconditionally.
1639         When <selinux/selinux.h> is found, arrange to use wrappers.
1640         * modules/selinux-h (Files): Add getfilecon.c.
1641         (Makefile.am): Substitute include-next-related bits
1642         into the now-always-generated selinux/selinux.h file.
1643         * doc/glibc-functions/lgetfilecon.texi: New file.
1644         * doc/glibc-functions/fgetfilecon.texi: New file.
1645         * doc/glibc-functions/getfilecon.texi: New file.
1646         * doc/glibc-functions/getfilecon-desc.texi: New file.
1647         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
1648         which to pull in the new files.
1649         * MODULES.html.sh (Misc): Add selinux-h.
1650
1651 2009-10-08  Jim Meyering  <meyering@redhat.com>
1652
1653         unistd: fix comment typo
1654         * lib/unistd.in.h (euidaccess): Fix a comment typo.
1655
1656 2009-10-08  Eric Blake  <ebb9@byu.net>
1657
1658         areadlink: use SIZE_MAX consistently
1659         * modules/areadlink (Depends-on): Add stdint.
1660         * modules/areadlink-with-size (Depends-on): Likewise.
1661         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
1662         gives NULL; drop sys/types, since unistd gives size_t; and add
1663         stdint for SIZE_MAX.
1664         (SIZE_MAX): Rely on headers.
1665         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
1666         and add stdint.
1667         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
1668         (SIZE_MAX): Likewise.
1669         (INITIAL_BUF_SIZE): Turn into enum.
1670         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
1671
1672 2009-10-08  Jim Meyering  <meyering@redhat.com>
1673
1674         areadlinkat: avoid compilation failure
1675         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
1676         Fix typo in comment.
1677
1678 2009-10-07  Eric Blake  <ebb9@byu.net>
1679
1680         areadlinkat-with-size: new module
1681         * modules/areadlinkat-with-size: New module.
1682         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
1683         * lib/areadlink.h (areadlinkat): Declare it.
1684         * MODULES.html.sh (File system functions): Mention it.
1685         * modules/areadlinkat-with-size-tests: New test.
1686         * tests/test-areadlinkat-with-size.c: New file.
1687
1688         xreadlinkat: new module
1689         * modules/xreadlinkat: New module.
1690         * lib/xreadlinkat.c (xreadlinkat): New file.
1691         * lib/xreadlink.h (xreadlinkat): Declare it.
1692         * MODULES.html.sh (File system functions): Mention it.
1693
1694         areadlinkat: new module
1695         * lib/at-func.c (FUNC_FAIL): New define.
1696         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
1697         * modules/areadlinkat: New module.
1698         * lib/linkat.c (areadlinkat): Move...
1699         * lib/areadlinkat.c (areadlinkat): ...to new file.
1700         * lib/areadlink.h (areadlinkat): Declare it.
1701         * modules/linkat (Depends-on): Add areadlinkat.
1702         * MODULES.html.sh (File system functions): Mention it.
1703         * modules/areadlinkat-tests: New test.
1704         * tests/test-areadlinkat.c: New file.
1705
1706         areadlink, areadlink-with-size: add tests
1707         * modules/areadlink-tests: New test.
1708         * modules/areadlink-with-size-tests: Likewise.
1709         * tests/test-areadlink.h: New file.
1710         * tests/test-areadlink.c: Likewise.
1711         * tests/test-areadlink-with-size.c: Likewise.
1712
1713         maint: minor cleanups
1714         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
1715         _UNUSED_PARAMETER_ instead.
1716         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
1717         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
1718         * modules/linkat-tests (Files): Distribute test-link.h.
1719
1720         openat, utimens: whitespace cleanup
1721         * lib/openat.c: Prefer space throughout, rather than mix of 8
1722         spaces vs. tabs.
1723         * lib/at-func.c: Likewise.
1724         * lib/utimens.c: Likewise.
1725
1726         openat: avoid using wrong fd
1727         * lib/openat.c (openat_permissive): Reject user's fd if saving the
1728         working directory chooses same fd.
1729         * lib/at-func.c (AT_FUNC_NAME): Likewise.
1730
1731         mkdir, mkdirat: fix cygwin 1.5.x bug
1732         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
1733         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
1734         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
1735         bug.
1736         (gl_PREREQ_MKDIR): Delete unused macro.
1737         * modules/mkdir (Files): Track file rename.
1738         (configure.ac): Update macro name.
1739         * modules/openat (Depends-on): Add mkdir.
1740         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
1741
1742         mkdir, mkdirat: add tests
1743         * modules/mkdir-tests: New test.
1744         * tests/test-mkdir.h: New file.
1745         * tests/test-mkdir.c: Likewise.
1746         * tests/test-mkdirat.c: Likewise.
1747         * modules/openat-tests (Files): Add new files.
1748         (Makefile.am): Run new test.
1749
1750 2009-10-06  Eric Blake  <ebb9@byu.net>
1751
1752         doc: tweak *at function documentation
1753         * doc/posix-functions/faccessat.texi (faccessat): Mention
1754         known issue with replacement.
1755         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
1756         * doc/posix-functions/linkat.texi (linkat): Likewise.
1757         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
1758         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
1759         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1760         * doc/posix-functions/renameat.texi (renameat): Likewise.
1761         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1762
1763         openat: fix GNU/Hurd bug in unlinkat
1764         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
1765         broken.
1766         * doc/posix-functions/unlink.texi (unlink): Document this.
1767         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
1768
1769         fdopendir: fix GNU/Hurd bug
1770         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
1771         allowing non-directory fds.
1772         * lib/fdopendir.c (rpl_fdopendir): Work around it.
1773         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1774         * modules/dirent (Makefile.am): Substitute it.
1775         * lib/dirent.in.h (fdopendir): Declare replacement.
1776         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
1777         * tests/test-fdopendir.c (main): Test something other than
1778         /dev/null, since on Hurd that behaves like a directory.
1779
1780         test-symlink: port to GNU/Hurd
1781         * tests/test-symlink.h (test_symlink): Relax expected errno.
1782
1783         doc: tweak more cygwin information
1784         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
1785         now compatible with glibc.
1786         * doc/posix-functions/getopt.texi (getopt): Likewise.
1787
1788         getopt-gnu: add another test
1789         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
1790         guarantee behavior relied on by m4.
1791         * tests/test-getopt.c (main): Use it.
1792         * modules/getopt-posix-tests (Depends-on): Add setenv.
1793         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
1794
1795         getopt: fix compilation on darwin
1796         * lib/getopt.in.h (includes): Leave breadcrumbs during system
1797         include.
1798         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
1799         Reported by Ludovic Courtès.
1800
1801 2009-10-06  Bruno Haible  <bruno@clisp.org>
1802
1803         * modules/size_max (Description): Discourage its use.
1804         Reported by Simon Josefsson.
1805
1806 2009-10-06  Jim Meyering  <meyering@redhat.com>
1807
1808         linkat: avoid compilation failure
1809         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
1810
1811 2009-10-05  Eric Blake  <ebb9@byu.net>
1812
1813         linkat: support Linux 2.6.17
1814         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
1815         linkat on Linux, but allow cache variable override.
1816         * lib/linkat.c (rpl_linkat): Define override.
1817         * modules/linkat (Depends-on): Add symlinkat.
1818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
1819         * modules/unistd (Makefile.am): Substitute it.
1820         * lib/unistd.in.h (linkat): Declare replacement.
1821         Reported by Pádraig Brady.
1822
1823         quotearg: port test to systems with C.UTF-8 locale
1824         * tests/test-quotearg.c (struct result_strings): Add another
1825         member, differentiating between C.ASCII and C.UTF-8 handling.
1826         (compare_strings): Add parameter.
1827         (main): Adjust all callers.
1828
1829         getopt: avoid clash with FreeBSD _getopt_internal
1830         * lib/getopt.in.h (_getopt_internal): Override the name.
1831         * lib/getopt_int.h (includes): Pick up any overrides.
1832         Reported by Reuben Thomas.
1833
1834         hash: allow C89 compilation
1835         * lib/hash.c (check_tuning): Move declaration before statement.
1836         Reported by Reuben Thomas.
1837
1838 2009-10-05  Karl Berry  <karl@gnu.org>
1839
1840         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
1841
1842 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
1843             Bruno Haible  <bruno@clisp.org>
1844
1845         * lib/uname.c (uname): Use a table-driven algorithm to compute
1846         Windows NT versions.
1847
1848 2009-10-04  Bruno Haible  <bruno@clisp.org>
1849
1850         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
1851         program_invocation_short_name.
1852         * modules/progname (configure.ac): Test for presence of
1853         program_invocation_short_name.
1854         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
1855
1856 2009-10-04  Bruno Haible  <bruno@clisp.org>
1857
1858         * lib/progname.c (set_program_name): Fix comment.
1859         Reported by Jim Meyering.
1860
1861 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
1862             Bruno Haible  <bruno@clisp.org>
1863
1864         * lib/uname.c: Include <string.h>.
1865         (uname): Do only one call to GetVersionEx in the common case.
1866
1867 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
1868             Bruno Haible  <bruno@clisp.org>
1869
1870         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
1871         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
1872         (uname): Add support for Windows CE and various non-x86 CPU types.
1873
1874 2009-10-03  Bruno Haible  <bruno@clisp.org>
1875
1876         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
1877         invocation to tests/configure.ac.
1878         Reported by Ian Beckwith <ianb@erislabs.net>.
1879
1880 2009-10-02  Eric Blake  <ebb9@byu.net>
1881
1882         fchdir: avoid compiler warning
1883         * lib/fchdir.c (canonicalize_file_name)
1884         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
1885
1886         test-open: support mingw errno values
1887         * tests/test-open.h (test_open): Relax test.
1888         * tests/test-fopen.h (test_fopen): Likewise.
1889         * tests/test-openat-safer.c (main): Likewise.
1890
1891         open: fix opening directory on mingw
1892         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
1893
1894         test-open: on GNU/Hurd, /dev/null is a directory
1895         * tests/test-fopen.h (main): Rename...
1896         (test_fopen): ...to this.  Use a guaranteed non-directory when
1897         confirming open behavior on trailing slash.
1898         * tests/test-openat-safer.c (main): Likewise.
1899         * tests/test-open.h (main): Likewise....
1900         (test_open): ...to this.
1901         * tests/test-fopen.c (main): Adjust caller.
1902         * tests/test-fopen-safer.c (main): Likewise.
1903         * tests/test-open.c (main): Likewise.
1904         * tests/test-fcntl-safer.c (main): Likewise.
1905         Reported by Samuel Thibault.
1906
1907         rename, fchdir: don't ignore chdir failure
1908         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
1909         * lib/rename.c (rpl_rename) [W32]: Likewise.
1910         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
1911         an empty destination directory if source cannot be renamed,
1912         although there is still possibility for failure.
1913         * doc/posix-functions/rename.texi (rename): Document the race.
1914         Reported by Jim Meyering.
1915
1916         maint: cleanup whitespace in recent commits
1917         * lib/rename.c (rpl_rename): Remove tabs.
1918         * tests/test-link.h (test_link): Likewise.
1919         * lib/fchdir.c (get_name): Likewise.
1920         Reported by Jim Meyering.
1921
1922 2009-10-02  Ben Pfaff  <blp@gnu.org>
1923
1924         relocatable-prog-wrapper: Add missing dependency on
1925         double-slash-root.
1926         * modules/relocatable-prog-wrapper: Add dependency.
1927         Reported by Ian Beckwith <ianb@erislabs.net>.
1928
1929 2009-10-02  Eric Blake  <ebb9@byu.net>
1930
1931         renameat: fix Solaris bugs
1932         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
1933         needed fixing.
1934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
1935         * modules/stdio (Makefile.am): Substitute it.
1936         * lib/stdio.in.h (renameat): Declare replacement.
1937         * lib/renameat.c (rpl_renameat): Implement fix.
1938
1939         renameat: new module
1940         * modules/renameat: New file.
1941         * lib/renameat.c (renameat): Likewise.
1942         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
1943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
1944         * modules/stdio (Makefile.am): Substitute them.
1945         * lib/stdio.in.h (renameat): Declare it.
1946         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1947         * doc/posix-functions/renameat.texi (renameat): Likewise.
1948         * modules/renameat-tests: New test.
1949         * tests/test-renameat.c: Likewise.
1950
1951         rename: fix mingw bugs
1952         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
1953         directory overwrite bugs.
1954
1955         rename: fix another cygwin 1.5 bug
1956         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
1957         checks.
1958         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
1959         unnecessary cygwin workarounds.  Also work around bug with moving
1960         full directory onto an empty one.
1961         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
1962
1963         rename-dest-slash: merge into rename module
1964         * modules/rename-dest-slash (Status): Mark obsolete.
1965         (Depends-on): Add rename.
1966         (Files): Let rename do it all.
1967         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
1968         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
1969         * m4/rename-dest-slash.m4: ...so this file can be deleted.
1970         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
1971         * lib/rename.c (rpl_rename): Update comments.
1972
1973         rename: fix cygwin 1.5.x bugs
1974         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
1975         * lib/rename.c (rpl_rename): Work around them.
1976         * modules/rename (Depends-on): Add same-inode.
1977
1978         rename: fix Solaris 10 bug
1979         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
1980         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
1981         was the only bug.
1982
1983         rename: fix Solaris 9 bug
1984         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
1985         on non-directory.  Avoid calling exit.
1986         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
1987         strdup.
1988         * modules/rename-tests (Depends-on): Drop lstat.
1989         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
1990         (gl_PREREQ_RENAME): Delete unused macro.
1991
1992         rename-dest-slash: fix NetBSD bug
1993         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
1994         links.
1995         * modules/rename-dest-slash (Depends-on): Add same-inode.
1996
1997         rename-tests: new test, exposes several platform bugs
1998         * modules/rename-tests: New file.
1999         * tests/test-rename.h: Likewise.
2000         * tests/test-rename.c: Likewise.
2001         * doc/posix-functions/rename.texi (rename): Improve documentation,
2002         including bugs that will eventually be fixed in gnulib.
2003
2004 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
2005
2006         * lib/uname.c: Include <stdlib.h>
2007         (uname): Assume version info is available.
2008
2009 2009-10-02  Jim Meyering  <meyering@redhat.com>
2010
2011         gnu-web-doc-update: correct --help output
2012         * build-aux/gnu-web-doc-update: Make --help output relevant.
2013
2014         gnu-web-doc-update: add standard options
2015         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
2016
2017         gnu-web-doc-update: New module.
2018         Use this script to automatically update the on-line web documentation
2019         for your GNU project at http://www.gnu.org/software/$pkg/manual/
2020         * modules/gnu-web-doc-update: New file, from coreutils.
2021         * build-aux/gnu-web-doc-update: New script.
2022
2023 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
2024
2025         link: LoadLibrary is not needed.
2026         * lib/link.c: Use GetModuleHandle.
2027
2028 2009-10-01  Eric Blake  <ebb9@byu.net>
2029
2030         getopt: bump serial number
2031         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
2032         change.
2033
2034         tests: tighten link, rmdir, and remove tests
2035         * tests/test-link.h (includes): No need to use <config.h> here.
2036         Clean up if directory hard link was created, otherwise test for
2037         trailing '.'.
2038         * tests/test-linkat.c (main): Simplify.
2039         * tests/test-remove.c (main): Enhance test for trailing '.'.
2040         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2041
2042 2009-10-01  Jim Meyering  <meyering@redhat.com>
2043
2044         maint.mk: requiring "make major" was annoying, for a "minor" release.
2045         What is intended is "stable", to contrast with alpha and beta,
2046         so require "make stable", not "make major".
2047         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
2048         (get_tool_versions): Likewise.
2049         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
2050
2051 2009-09-30  Ben Pfaff  <blp@gnu.org>
2052
2053         Fix broken build of replacement for Windows tmpfile().
2054         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
2055         flags argument added along with the 'mkostemp' module.
2056
2057 2009-09-28  Bruno Haible  <bruno@clisp.org>
2058
2059         Avoid identifier clash with POSIX function 'remove' defined as a macro.
2060         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
2061         to 'remove_elt'.
2062         (gl_list_remove): Update.
2063         * lib/gl_list.c (gl_list_remove): Update.
2064         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
2065         to 'remove_elt'.
2066         (gl_oset_remove): Update.
2067         * lib/gl_list.c (gl_oset_remove): Update.
2068         Reported by Eric Blake.
2069
2070 2009-09-28  Eric Blake  <ebb9@byu.net>
2071
2072         doc: mention yet more cygwin 1.7 status
2073         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
2074         cygwin.
2075         * doc/glibc-functions/execvpe.texi (execvpe): New file.
2076         * doc/gnulib.texi (Glibc unistd.h): Mention it.
2077
2078         argp: fix test failure
2079         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
2080         that are not upper-case.  Pass correct range to tolower.
2081
2082 2009-09-27  Jim Meyering  <meyering@redhat.com>
2083
2084         test-yesno: work around sparc-dash here-document infelicity
2085         Without this change, the literal \177 byte in a here document
2086         would make dash 0.5.5.1-3 access uninitialized memory.
2087         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
2088         Instead, use a marker, "@", and filter through tr to create the desired
2089         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
2090
2091 2009-09-27  Bruno Haible  <bruno@clisp.org>
2092
2093         Disable untested support for new flavours of ACLs on AIX.
2094         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
2095         progress.
2096         * lib/set-mode-acl.c (qset_acl): Likewise.
2097
2098 2008-12-07  Bruno Haible  <bruno@clisp.org>
2099
2100         Add support for new flavours of ACLs on AIX. (Untested.)
2101         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
2102         (file_has_acl): Add support for newer AIX.
2103         * lib/set-mode-acl.c (qset_acl): Likewise.
2104         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
2105         Rainer Tammer <tammer@tammer.net>.
2106
2107 2009-09-26  Eric Blake  <ebb9@byu.net>
2108
2109         argp: fix compilation of getopt
2110         * lib/getopt.in.h (includes): Use different guard than glibc.
2111         Reported by Sergey Poznyakoff.
2112
2113         doc: mention more cygwin 1.7 status
2114         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
2115         bug.
2116         * doc/posix-functions/execl.texi (execl): Likewise.
2117         * doc/posix-functions/execle.texi (execle): Likewise.
2118         * doc/posix-functions/execlp.texi (execlp): Likewise.
2119         * doc/posix-functions/execv.texi (execv): Likewise.
2120         * doc/posix-functions/execve.texi (execve): Likewise.
2121         * doc/posix-functions/execvp.texi (execvp): Likewise.
2122         * doc/glibc-functions/canonicalize_file_name.texi
2123         (canonicalize_file_name): Cygwin 1.7 now provides this.
2124         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
2125         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
2126         on AT_SYMLINK_NOFOLLOW.
2127
2128 2009-09-24  Eric Blake  <ebb9@byu.net>
2129
2130         test-linkat: make test more robust
2131         * tests/test-linkat.c (main): Avoid collision with EEXIST.
2132
2133         getopt: fix inclusion guards for cygwin
2134         * modules/getopt-posix (Depends-on): Add include-next.
2135         (Makefile.am): Substitute more items in replacement header.
2136         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
2137         <getopt.h>.
2138         * lib/getopt.in.h (includes): Use split inclusion guard, and
2139         prefer <getopt.h> over include <unistd.h> when one is present.
2140         (option): Also override name of 'struct option'.
2141
2142         same-inode: revert prior change; it is not yet ready
2143         * NEWS: Undo mention of this change.
2144         * lib/same-inode.h (same-inode.h): Undo tri-state change.
2145         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
2146         * lib/cycle-check.c (cycle_check): Likewise.
2147         * lib/same.c (same_name): Likewise.
2148         * lib/at-func2.c (at_func2): Likewise.
2149
2150 2009-09-23  Eric Blake  <ebb9@byu.net>
2151
2152         linkat: new module
2153         * modules/linkat: New file.
2154         * lib/at-func2.c (at_func2): Likewise.
2155         * lib/linkat.c (linkat): Likewise.
2156         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2157         * lib/openat-priv.h (at_func2): Add declaration.
2158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2159         * modules/unistd (Makefile.am): Substitute them.
2160         * lib/unistd.in.h (linkat): Declare it.
2161         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2162         * doc/posix-functions/linkat.texi (linkat): Likewise.
2163         * doc/posix-functions/link.texi (link): Tweak wording.
2164         * tests/test-link.c (main): Move guts...
2165         * tests/test-link.h (test_link): ...into new file.
2166         * modules/linkat-tests: New test.
2167         * tests/test-linkat.c: Likewise.
2168         * modules/link-tests (Files): Ship new file.
2169         (Depends-on): Add stdbool.
2170
2171         dirname: add library-safe mdir_name
2172         * lib/dirname.h (mdir_name): New prototype.
2173         * lib/dirname.c (dir_name): Move guts...
2174         (mdir_name): ...to new function that avoids xalloc_die.
2175
2176         fchdir: another mingw fix
2177         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
2178         * lib/fchdir.c (get_name): New helper method; skips canonicalize
2179         on mingw (where it has not yet been ported), and make it optional
2180         elsewhere.
2181         (_gl_register_fd): Use it.
2182
2183         same-inode: make SAME_INODE tri-state, to port to mingw
2184         * NEWS: Mention this change.
2185         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
2186         st_ino always being 0.
2187         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
2188         * lib/cycle-check.c (cycle_check): Likewise.
2189         * lib/same.c (same_name): Likewise.
2190
2191         lstat: avoid mingw compilation error
2192         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
2193         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
2194         lstat ourselves.
2195         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
2196         was adequate.
2197         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
2198         the checks for lstat.
2199         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
2200
2201         link: fix test failure on Solaris 9
2202         * lib/link.c (rpl_link): Don't assume link will catch bogus
2203         trailing slash on source.
2204
2205         test-symlinkat: enhance test
2206         * tests/test-readlink.c (main): Move guts...
2207         * tests/test-readlink.h (test_readlink): ...into new file.
2208         * tests/test-symlink.c (main): Move guts...
2209         * tests/test-symlink.h (test_symlink): ...into new file.
2210         * tests/test-symlinkat.c (main): Use new files for further
2211         coverage.
2212         (do_symlink, do_readlink): New helper functions.
2213         * modules/symlink-tests (Files): Ship new file.
2214         (Depends-on): Add stdbool.
2215         * modules/readlink-tests (Files): Ship new file.
2216         (Depends-on): Add stdbool.
2217         * modules/symlinkat-tests (Files): Use new files.
2218
2219 2009-09-23  Eric Blake  <ebb9@byu.net>
2220
2221         readlink: document portability issue with symlink length
2222         * doc/posix-functions/lstat.texi (lstat): Mention that some file
2223         systems have bogus st_size on symlinks, and mention the
2224         areadlink-with-size module.
2225         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
2226         * doc/posix-functions/readlink.texi (readlink): Mention the
2227         areadlink module, and ERANGE failure.
2228         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2229         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
2230
2231         readlink: fix Solaris 9 bug with trailing slash
2232         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
2233         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
2234         * doc/posix-functions/readlink.texi (readlink): Document this.
2235         * modules/readlink-tests: New test.
2236         * tests/test-readlink.c: Likewise.
2237
2238         readlink: fix cygwin 1.5.x bug with return type
2239         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
2240         * lib/unistd.in.h (readlink): Use ssize_t.
2241         * lib/readlink.c (readlink): Likewise.
2242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2243         * modules/unistd (Makefile.am): Substitute it.
2244         * lib/unistd.in.h (readlink): Declare replacement.
2245         * doc/posix-functions/readlink.texi (readlink): Document this.
2246
2247         symlink: use throughout gnulib
2248         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
2249         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
2250         symlink is not used.
2251         * modules/symlinkat (Depends-on): Add symlink.
2252         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2253         * modules/canonicalize-tests (Depends-on): Likewise.
2254         * modules/lstat-tests (Depends-on): Likewise.
2255         * modules/openat-tests (Depends-on): Likewise.
2256         * modules/remove-tests (Depends-on): Likewise.
2257         * modules/rmdir-tests (Depends-on): Likewise.
2258         * modules/unlink-tests (Depends-on): Likewise.
2259         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
2260         * tests/test-canonicalize.c (symlink): Likewise.
2261         * tests/test-fstatat.c (symlink): Likewise.
2262         * tests/test-lstat.c (symlink): Likewise.
2263         * tests/test-remove.c (symlink): Likewise.
2264         * tests/test-rmdir.c (symlink): Likewise.
2265         * tests/test-unlink.c (symlink): Likewise.
2266         * tests/test-unlinkat.c (symlink): Likewise.
2267
2268         symlink: new module, for Solaris 9 bug
2269         * modules/symlink: New file.
2270         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2271         * lib/symlink.c: Likewise.
2272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
2273         * modules/unistd (Makefile.am): Substitute them.
2274         * lib/unistd.in.h (symlink): Declare replacement.
2275         * MODULES.html.sh (File system functions): Mention it.
2276         * doc/posix-functions/symlink.texi (symlink): Likewise.
2277         * modules/symlink-tests: New test.
2278         * tests/test-symlink.c: Likewise.
2279
2280 2009-09-23  Bruno Haible  <bruno@clisp.org>
2281
2282         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
2283         when needed.
2284         Test case: gnulib-tool --import --with-tests atexit inttypes.
2285         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
2286
2287 2009-09-23  Bruno Haible  <bruno@clisp.org>
2288
2289         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
2290         subcommand, not in a subshell.
2291
2292 2009-09-22  Eric Blake  <ebb9@byu.net>
2293
2294         unistd: sort replacement declarations
2295         * lib/unistd.in.h: Sort declarations.
2296
2297         open, openat: minor optimization
2298         * lib/open.c (open): If open succeeded, len is non-zero.
2299         * lib/openat.c (rpl_openat): Likewise.
2300
2301         link-follow: ensure correct result
2302         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
2303         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
2304         distinguish between possible failures.
2305
2306 2009-09-21  Eric Blake  <ebb9@byu.net>
2307
2308         fts: avoid compiler warning
2309         * lib/fts.c (dirent_inode_sort_may_be_useful)
2310         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
2311
2312 2009-09-19  Bruno Haible  <bruno@clisp.org>
2313
2314         * lib/progreloc.c (canonicalize_file_name): New declaration.
2315
2316 2009-09-19  Eric Blake  <ebb9@byu.net>
2317
2318         link: fix quoting
2319         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
2320
2321         openat: fix openat bugs on Solaris 9
2322         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
2323         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
2324         * modules/openat (Depends-on): Add open.
2325         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
2326         * modules/fcntl-h (Makefile.am): Substitute it.
2327         * lib/fcntl.in.h (openat): Declare replacement.
2328         * doc/posix-functions/openat.texi (openat): Document this.
2329
2330         openat: move fstatat and unlinkat into correct files
2331         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
2332         compiled.
2333         * lib/openat.c (fstatat, unlinkat): Move...
2334         * lib/fstatat.c (fstatat): ...into correct files.
2335         * lib/unlinkat.c (unlinkat): Likewise.
2336
2337         openat: fix unlinkat bugs on Solaris 9
2338         * lib/unlinkat.c (unlinkat): New file.
2339         * modules/openat (Depends-on): Add unlink.
2340         (Files): Distribute it.
2341         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
2342         trailing slash behavior is broken.
2343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2344         * modules/unistd (Makefile.am): Substitute it.
2345         * lib/unistd.in.h (unlinkat): Declare replacement.
2346         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
2347
2348         openat: fix fstatat bugs on Solaris 9
2349         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
2350         stat.
2351         * doc/posix-functions/fstatat.texi (fstatat): Document this.
2352
2353         test-unlinkat: enhance test, to expose Solaris 9 bug
2354         * tests/test-unlink.c (main): Factor guts...
2355         * tests/test-unlink.h (test_rmdir_func): ...into new file.
2356         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
2357         * tests/test-rmdir.c (main): Adjust caller.
2358         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
2359         (unlinker): New helper function.
2360         (rmdirat): Enhance check.
2361         * modules/rmdir-tests (Depends-on): Add stdbool.
2362         * modules/unlink-tests (Depends-on): Likewise.
2363         (Files): Add test-unlink.h.
2364         * modules/openat-tests (Files): Likewise.
2365         (Depends-on): Add unlinkdir.
2366
2367         test-fstatat: new test, to expose Solaris 9 bugs
2368         * tests/test-stat.c (main): Factor guts...
2369         * tests/test-stat.h (test_stat_func): ...into new file.
2370         * tests/test-lstat.c (main): Factor guts...
2371         * tests/test-lstat.h (test_lstat_func): ...into new file.
2372         * tests/test-fstatat.c: New file.
2373         * modules/stat-tests (Files): Add test-stat.h.
2374         * modules/lstat-tests (Files): Add test-lstat.h.
2375         (Depends-on): Add stdbool.
2376         * modules/openat-tests (Depends-on): Add pathmax.
2377         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
2378         (Makefile.am): Run new test.
2379
2380         remove: new module, for mingw and Solaris 9 bugs
2381         * modules/remove: New file.
2382         * lib/remove.c: Likewise.
2383         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
2384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
2385         * modules/stdio (Makefile.am): Use them.
2386         * lib/stdio.in.h (remove): Declare replacement.
2387         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2388         * doc/posix-functions/remove.texi (remove): Likewise.
2389         * modules/remove-tests: New test.
2390         * tests/test-remove.c: Likewise.
2391
2392         unlink: new module, for Solaris 9 bug
2393         * modules/unlink: New file.
2394         * lib/unlink.c: Likewise.
2395         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2397         * modules/unistd (Makefile.am): Use them.
2398         * lib/unistd.in.h (stat): Declare replacement.
2399         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2400         * doc/posix-functions/unlink.texi (unlink): Likewise.
2401         * modules/unlink-tests: New test.
2402         * tests/test-unlink.c: Likewise.
2403
2404         lstat: fix Solaris 9 bug
2405         * lib/lstat.c (lstat): Also check for trailing slash on
2406         non-symlink, non-directories.  Use stat module to simplify logic.
2407         * doc/posix-functions/lstat.texi (lstat): Document it.
2408         * modules/lstat-tests (Depends-on): Add errno, same-inode.
2409         (configure.ac): Check for symlink.
2410         * tests/test-lstat.c (main): Add more tests.
2411
2412         stat: add as dependency to other modules
2413         * modules/chown (Depends-on): Add stat.
2414         * modules/euidaccess (Depends-on): Likewise.
2415         * modules/fchdir (Depends-on): Likewise.
2416         * modules/isdir (Depends-on): Likewise.
2417         * modules/link (Depends-on): Likewise.
2418         * modules/lstat (Depends-on): Likewise.
2419         * modules/mkdir-p (Depends-on): Likewise.
2420         * modules/modechange (Depends-on): Likewise.
2421         * modules/open (Depends-on): Likewise.
2422         * modules/readlink (Depends-on): Likewise.
2423         * modules/same (Depends-on): Likewise.
2424
2425         stat: fix Solaris 9 bug
2426         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
2427         slash.
2428         * lib/stat.c (rpl_stat): Work around it.
2429         * doc/posix-functions/stat.texi (stat): Update documentation.
2430
2431         stat: new module, for mingw bug
2432         * modules/stat: New file.
2433         * lib/stat.c: Likewise.
2434         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2435         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2436         * modules/sys_stat (Makefile.am): Use them.
2437         * lib/sys_stat.in.h (stat): Declare replacement.
2438         * lib/openat.c (fstatat): Deal with lstat and stat being function
2439         macros.
2440         * modules/openat (Depends-on): Add inline.
2441         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2442         * doc/posix-functions/stat.texi (stat): Likewise.
2443         * modules/stat-tests: New test.
2444         * tests/test-stat.c: Likewise.
2445
2446 2009-09-19  Jim Meyering  <meyering@redhat.com>
2447
2448         syntax-check: detect unnecessary inclusion of canonicalize.h
2449         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
2450
2451 2009-09-19  Eric Blake  <ebb9@byu.net>
2452
2453         canonicalize-lgpl: adjust clients to use correct header
2454         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2455         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
2456         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
2457         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
2458         * lib/progreloc.c (includes): Likewise.
2459
2460 2009-09-19  Jim Meyering  <meyering@redhat.com>
2461
2462         test-posixtm.c: correct a comment
2463         * tests/test-posixtm.c: Correct first-line comment.
2464         Spotted by Eric Blake.
2465
2466 2009-09-16  Jim Meyering  <meyering@redhat.com>
2467
2468         posixtm-tests: make T const-correct; add a test case
2469         * tests/test-posixtm.c (T): Declare const.
2470         Add a test for -(2^31+1).
2471         Remove useless can-succeed-only-in-2002 test.
2472
2473         posixtm-tests: adjust the sole failing test
2474         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
2475         expected output matches what mktime now produces.  Cross-checked via
2476         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
2477
2478         posixtm: move #ifdef'd tests into a new module
2479         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
2480         * tests/test-posixtm.c: ... this new file.
2481         * modules/posixtm-tests: New module.
2482
2483 2009-09-19  Eric Blake  <ebb9@byu.net>
2484
2485         openat: simplify use of at-func.c
2486         * lib/at-func.c (includes): Include prerequisites here, to
2487         simplify requirements on client files.
2488         * lib/openat-priv.h: Add double-inclusion guard.
2489         * lib/faccessat.c (includes): Simplify.
2490         * lib/fchmodat.c (includes): Likewise.
2491         * lib/fchownat.c (includes): Likewise.
2492         * lib/mkdirat.c (includes): Likewise.
2493         * lib/mkfifoat.c (includes): Likewise.
2494         * lib/symlinkat.c (includes): Likewise.
2495
2496         openat: allow return of fd 0
2497         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
2498         * modules/save-cwd (Depends-on): Replace fcntl-safer with
2499         unistd-safer.
2500         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
2501         <fcntl.h>; this module does not leak fds.
2502         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
2503         must be allowed to return 0, leaving openat_safer to add the
2504         safety.
2505         (openat_permissive): Avoid writing to just-opened fd 2 if
2506         restoring the current directory fails.
2507         * lib/openat-die.c (openat_restore_fail): Add comment.
2508         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
2509         (save_cwd): Guarantee safe fd, but without use of open_safer.
2510         * tests/test-openat.c: New test.
2511         * modules/openat-tests (Files, Makefile.am): Distribute and build
2512         new file.
2513
2514         relocatable-prog-wrapper: fix build
2515         * modules/relocatable-prog-wrapper (Files): Update name of
2516         canonicalize m4 file, broken on 2009-09-17.
2517         Reported by emad hajjar <aleppos@hotmail.com>.
2518
2519 2009-09-19  Bruno Haible  <bruno@clisp.org>
2520
2521         * lib/safe-alloc.h: Use the standard header with GPL copyright.
2522         * lib/safe-alloc.c: Likewise.
2523         Reported by Ian Beckwith <ianb@erislabs.net>.
2524
2525 2009-09-18  Bruno Haible  <bruno@clisp.org>
2526
2527         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
2528         Reported by <erobles@sensacd.com.mx>.
2529
2530 2009-09-17  Eric Blake  <ebb9@byu.net>
2531
2532         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
2533         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
2534         slashes when checking if last component is missing.
2535         * tests/test-canonicalize.c (main): Test this.
2536
2537         canonicalize, canonicalize-lgpl: honor // if distinct from /
2538         * modules/canonicalize (Files): Add double-slash-root.m4.
2539         * modules/canonicalize-lgpl (Files): Likewise.
2540         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2541         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
2542         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
2543         fallback definition.
2544         (canonicalize_filename_mode): Use it to protect //.
2545         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
2546         (__realpath): Likewise.
2547         * tests/test-canonicalize.c (main): Test this.
2548         * tests/test-canonicalize-lgpl.c (main): Likewise.
2549         * modules/canonicalize-tests (Depends-on): Add same-inode.
2550         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2551
2552         canonicalize-lgpl: fix glibc bug with trailing slash
2553         * m4/canonicalize-lgpl.m4: Move contents...
2554         * m4/canonicalize.m4: ...here.
2555         (gl_CANONICALIZE_LGPL): Factor realpath check...
2556         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
2557         glibc 2.3.5 bug, fixed 2005-04-27.
2558         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
2559         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
2560         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
2561         * modules/canonicalize-lgpl (Files): Manage file rename.
2562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2563         * modules/stdlib (Makefile.am): Substitute witness.
2564         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
2565         is needed.
2566         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
2567         replacement is required.
2568         * lib/canonicalize.c (canonicalize_file_name): Likewise.
2569         * doc/glibc-functions/canonicalize_file_name.texi
2570         (canonicalize_file_name): Document this.
2571         * doc/posix-functions/realpath.texi (realpath): Likewise.
2572
2573         canonicalize-lgpl: reject non-directory with trailing slash
2574         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
2575         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
2576         catches failures in glibc 2.3.5.
2577         * tests/test-canonicalize.c (main): Likewise.
2578
2579         canonicalize-lgpl: use native realpath if it works
2580         * lib/canonicalize-lgpl.c (realpath): Guard with
2581         FUNC_REALPATH_WORKS.
2582         * lib/stdlib.in.h (realpath): Make declaration optional based on
2583         HAVE_REALPATH.
2584         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
2585         native realpath works.
2586         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2587         * modules/stdlib (Makefile.am): Substitute witness.
2588
2589         canonicalize, canonicalize-lgpl: use <stdlib.h>
2590         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
2591         (Include): Mention <stdlib.h>.
2592         (configure.ac): Mention functions we provide.
2593         * modules/canonicalize (configure.ac): Likewise.
2594         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
2595         realpath if canonicalize_file_name is missing.
2596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
2597         * modules/stdlib (Makefile.am): Substitute witnesses.
2598         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
2599         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
2600         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
2601         * NEWS: Document this.
2602         * doc/glibc-functions/canonicalize_file_name.texi
2603         (canonicalize_file_name): Likewise.
2604         * doc/posix-functions/realpath.texi (realpath): Likewise.
2605         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
2606
2607         test-canonicalize: consolidate into single C program
2608         * tests/test-canonicalize.sh: Delete; move setup into...
2609         * tests/test-canonicalize.c (main): ...the program, making it
2610         easier to run in debugger.  Add some tests.
2611         * modules/canonicalize-tests (Files): Remove unused file.
2612         (Depends-on): Add progname.
2613         (configure.ac, Makefile.am): Simplify.
2614
2615         test-canonicalize-lgpl: consolidate into single C program
2616         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
2617         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
2618         easier to run in debugger.  Add some tests.
2619         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
2620         (configure.ac, Makefile.am): Simplify.
2621
2622         canonicalize: avoid resolvepath
2623         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
2624         unnecessary checks.
2625         * lib/canonicalize.c (includes): Simplify.
2626         (canonicalize_file_name): Drop resolvepath implementation.
2627         * modules/canonicalize (Depends-on): Drop filenamecat.
2628
2629         canonicalize: don't lose errno
2630         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
2631         over calls to free.
2632
2633         canonicalize: simplify errno handling
2634         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
2635         assignment.
2636
2637         canonicalize, canonicalize-lgpl: update module dependencies
2638         * modules/canonicalize (Depends-on): Add extensions, lstat,
2639         pathmax, stdlib.
2640         (Files): Drop pathmax.h.
2641         (configure.ac): Adjust macro name.
2642         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
2643         lstat, stdlib, sys_stat.
2644         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
2645         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
2646         extensions.
2647         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
2648         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
2649         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
2650         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
2651         declaration, if available.
2652         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
2653         we can rely on the readlink module.
2654         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
2655         (includes): Use <unistd.h> unconditionally.
2656
2657 2009-09-17  Eric Blake  <ebb9@byu.net>
2658
2659         maint: make Include sections of modules consistent
2660         * modules/alloca: Use only header name; no need to list #include.
2661         * modules/alloca-opt: Likewise.
2662         * modules/arpa_inet: Likewise.
2663         * modules/canon-host: Likewise.
2664         * modules/configmake: Likewise.
2665         * modules/dirent: Likewise.
2666         * modules/eealloc: Likewise.
2667         * modules/environ: Likewise.
2668         * modules/fchdir: Likewise.
2669         * modules/fcntl: Likewise.
2670         * modules/fcntl-h: Likewise.
2671         * modules/gethrxtime: Likewise.
2672         * modules/gettime: Likewise.
2673         * modules/ignore-value: Likewise.
2674         * modules/inet_ntop: Likewise.
2675         * modules/inet_pton: Likewise.
2676         * modules/inttypes: Likewise.
2677         * modules/isnand-nolibm: Likewise.
2678         * modules/isnanf-nolibm: Likewise.
2679         * modules/mbchar: Likewise.
2680         * modules/mbfile: Likewise.
2681         * modules/mbiter: Likewise.
2682         * modules/mbuiter: Likewise.
2683         * modules/netdb: Likewise.
2684         * modules/netinet_in: Likewise.
2685         * modules/nproc: Likewise.
2686         * modules/pagealign_alloc: Likewise.
2687         * modules/poll: Likewise.
2688         * modules/printf-frexp: Likewise.
2689         * modules/pthread: Likewise.
2690         * modules/putenv: Likewise.
2691         * modules/random_r: Likewise.
2692         * modules/relocatable-prog: Likewise.
2693         * modules/search: Likewise.
2694         * modules/select: Likewise.
2695         * modules/selinux-h: Likewise.
2696         * modules/settime: Likewise.
2697         * modules/signal: Likewise.
2698         * modules/size_max: Likewise.
2699         * modules/socklen: Likewise.
2700         * modules/ssize_t: Likewise.
2701         * modules/stdarg: Likewise.
2702         * modules/stdbool: Likewise.
2703         * modules/stddef: Likewise.
2704         * modules/stdint: Likewise.
2705         * modules/stdio: Likewise.
2706         * modules/stdlib: Likewise.
2707         * modules/string: Likewise.
2708         * modules/strings: Likewise.
2709         * modules/sys_file: Likewise.
2710         * modules/sys_ioctl: Likewise.
2711         * modules/sys_select: Likewise.
2712         * modules/sys_socket: Likewise.
2713         * modules/sys_stat: Likewise.
2714         * modules/sys_time: Likewise.
2715         * modules/sys_times: Likewise.
2716         * modules/sys_utsname: Likewise.
2717         * modules/sys_wait: Likewise.
2718         * modules/sysexits: Likewise.
2719         * modules/time: Likewise.
2720         * modules/times: Likewise.
2721         * modules/tmpfile: Likewise.
2722         * modules/trim: Likewise.
2723         * modules/unistd: Likewise.
2724         * modules/wchar: Likewise.
2725         * modules/wctype: Likewise.
2726
2727 2009-09-17  Bruno Haible  <bruno@clisp.org>
2728
2729         Make getdate.y compile on QNX and NetBSD 5 / i386.
2730         * m4/getdate.m4 (gl_GETDATE): Conditionally define
2731         TIME_T_FITS_IN_LONG_INT.
2732         * lib/getdate.y (long_time_t): New type.
2733         (relative_time): Change type of 'seconds' field to long_time_t.
2734         (get_date): Update types of local variables. Check against overflow
2735         during conversion from long_time_t to time_t.
2736         Reported by Matt Kraai <kraai@ftbfs.org>
2737         and Hasso Tepper <hasso@netbsd.org>.
2738
2739 2009-09-17  Bruno Haible  <bruno@clisp.org>
2740
2741         * modules/COPYING: Update copyright years.
2742         * modules/README: Likeiwse.
2743         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
2744         Reported by Ian Beckwith <ianb@erislabs.net>.
2745
2746 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2747
2748         * users.txt: Update references for gnuit package.
2749
2750 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2751
2752         * m4/getdelim.m4: Fix typo in copyright line.
2753
2754 2009-09-17  Bruno Haible  <bruno@clisp.org>
2755
2756         * lib/atoll.c: Use the standard header with GPL copyright.
2757         * lib/argz.in.h: Likewise.
2758         * lib/glob.c: Likewise.
2759         * lib/glob-libc.h: Likewise.
2760         * lib/random_r.c: Likewise.
2761         * lib/siglist.h: Likewise.
2762         * lib/strsignal.c: Likewise.
2763         Reported by Ian Beckwith <ianb@erislabs.net>.
2764
2765 2009-09-17  Eric Blake  <ebb9@byu.net>
2766
2767         rmdir: ensure correct dependency order
2768         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
2769
2770 2009-09-17  Bruno Haible  <bruno@clisp.org>
2771
2772         Disable assertion that fails on NetBSD 5 / i386.
2773         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
2774         Reported by Sam Steingold <sds@gnu.org>
2775         and Hasso Tepper <hasso@netbsd.org>.
2776
2777 2009-09-16  Eric Blake  <ebb9@byu.net>
2778
2779         unlinkdir: port to mingw
2780         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
2781         on which no one can unlink a directory.
2782
2783         stdlib: sort witness names
2784         * modules/stdlib (Makefile.am): Sort replacements.
2785         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
2786         * lib/stdlib.in.h: Likewise.
2787
2788         parse-duration-tests: avoid link failure
2789         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
2790         LIBINTL.
2791         Reported by Tom G. Christensen.
2792
2793         openat-tests: ensure unlinkat behaves like rmdir
2794         * tests/test-rmdir.c (main): Factor guts...
2795         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
2796         * modules/rmdir-tests (Files): Ship new file.
2797         * modules/openat-tests: New test.
2798         * tests/test-unlinkat.c: Likewise.
2799
2800         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
2801         * modules/rmdir-errno (Status, Notice): Now obsolete.
2802
2803         rmdir: work around cygwin 1.5.x and mingw bugs
2804         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
2805         * lib/rmdir.c (rmdir): Work around it.
2806         * modules/rmdir (Status, Notice): No longer obsolete.
2807         (Files): Add dos.m4.
2808         (Depends-on): Add unistd.
2809         (configure.ac): Set witnesses.
2810         (License): Relax to LGPLv2+.
2811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
2812         * modules/unistd (Makefile.am): Substitute witnesses.
2813         * lib/unistd.in.h (rmdir): Declare replacement.
2814         * doc/posix-functions/rmdir.texi (rmdir): Document this.
2815         * modules/rmdir-tests: New tests.
2816         * tests/test-rmdir.c: Likewise.
2817
2818 2009-09-15  Eric Blake  <ebb9@byu.net>
2819
2820         fchdir: improve use of replacement functions
2821         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
2822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
2823         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
2824         REPLACE_CLOSEDIR.
2825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
2826         * modules/sys_stat (Makefile.am): Substitute correct witness.
2827         * modules/dirent (Makefile.am): Likewise.
2828         * modules/unistd (Makefile.am): Likewise.
2829         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
2830         * lib/unistd.in.h (dup): Likewise.
2831         * lib/sys_stat.in.h (fstat): Likewise.
2832
2833         maint: ignore gnulib-tool temp files
2834         * .gitignore: Ignore files created during gnulib-tool --test.
2835
2836 2009-09-13  Jim Meyering  <meyering@redhat.com>
2837
2838         posixtm: don't reject a time that specify "60" as the number of seconds
2839         * lib/posixtm.c (posixtime): The code to reject invalid dates
2840         would also reject a time specified with the .60 suffix.
2841         But POSIX allows that, in order to accommodate leap seconds.
2842         So don't reject it.
2843         (main): Adjust tests accordingly.
2844         * modules/posixtm (Depends-on): Add stpcpy.
2845
2846 2009-09-11  Jim Meyering  <meyering@redhat.com>
2847
2848         announce-gen: include [$release_type] in emitted Subject:
2849         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
2850         e.g., [stable] in the emitted Subject: line.
2851
2852 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2853
2854         Remove obsolete macros from several modules.
2855         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
2856         obsolete Autoconf macros with their modern counterparts.
2857         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
2858         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
2859         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2860         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2861         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
2862         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2863         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
2864         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
2865         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
2866         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
2867         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2868         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2869         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2870         * m4/sockets.m4 (gl_SOCKETS): Likewise.
2871         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
2872         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
2873         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
2874         * m4/time_r.m4 (gl_TIME_R): Likewise.
2875         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
2876         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
2877         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
2878
2879         Fix copyright header in build-aux scripts.
2880         * build-aux/git-version-gen: Fix copyright header to match GPLv3
2881         recommendation.
2882         * build-aux/ncftpput-ftp: Likewise.
2883         * build-aux/update-copyright: Likewise.
2884
2885 2009-09-09  Eric Blake  <ebb9@byu.net>
2886
2887         test-link: allow Linux choice of errno
2888         * tests/test-link.c (main): Relax test for alternate error.
2889
2890         strndup: fix improper m4 caching
2891         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
2892         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
2893         (gl_PREREQ_STRNDUP): Delete.
2894         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
2895         * modules/string (Makefile.am): Substitute it.
2896         * lib/string.in.h (strndup): Modernize prototype.
2897
2898         getcwd: port to mingw
2899         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
2900         different from the POSIX assumptions made throughout the getcwd
2901         module; fortunately, the mingw getcwd does not need replacement.
2902         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
2903         * modules/getcwd-tests: New test.
2904         * tests/test-getcwd.c: Likewise.
2905
2906         link: fix platform bugs
2907         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
2908         * lib/link.c (link): Work around them.  Fix related mingw bug.
2909         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
2910         * modules/unistd (Makefile.am): Substitute it.
2911         * lib/unistd.in.h (link): Declare replacement.
2912         * doc/posix-functions/link.texi (link): Document this.
2913         * modules/link (Depends-on): Add strdup-posix, sys_stat.
2914
2915         test-link: consolidate into single C program, test more cases
2916         * tests/test-link.sh: Delete.
2917         * tests/test-link.c: Test more error conditions.  Exposes bugs on
2918         at least Cygwin and Solaris.
2919         * modules/link-tests (Files): Remove unused file.
2920         (Depends-on): Add errno, sys_stat.
2921         (Makefile.am): Simplify.
2922
2923 2009-09-08  Bruno Haible  <bruno@clisp.org>
2924
2925         Work around towlower, towupper bug on mingw.
2926         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
2927         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
2928         * doc/posix-functions/towlower.texi: Mention the mingw bug.
2929         * doc/posix-functions/towupper.texi: Likewise.
2930         Reported by Eric Blake.
2931
2932 2009-09-08  Jim Meyering  <meyering@redhat.com>
2933
2934         build: don't try to run autoheader if we don't use it
2935         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
2936         is not used in configure.ac.
2937
2938 2009-09-08  Eric Blake  <ebb9@byu.net>
2939
2940         euidaccess: fix compilation error
2941         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
2942
2943         rawmemchr: relax license
2944         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
2945         okay.
2946         Reported by Jim Meyering.
2947
2948         mkfifoat: new module
2949         * modules/mkfifoat: New file.
2950         * lib/mkfifoat.c: Likewise.
2951         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
2952         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2953         * modules/sys_stat (Makefile.am): Use them.
2954         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
2955         * MODULES.html.sh (File system functions): Mention module.
2956         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
2957         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
2958         * modules/mkfifoat-tests: New test.
2959         * tests/test-mkfifoat.c: Likewise.
2960
2961         strchrnul: relax license
2962         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
2963         okay.
2964         Reported by Jim Meyering.
2965
2966 2009-09-08  Eric Blake  <ebb9@byu.net>
2967
2968         fstatat: fix compilation on Solaris
2969         * lib/fstatat.c (includes): Add fcntl.h.
2970         Reported by Pádraig Brady.
2971
2972 2009-09-07  Eric Blake  <ebb9@byu.net>
2973
2974         rename: modernize replacement
2975         * modules/rename (Depends-on): Add stdio.
2976         (configure.ac): Declare witness.
2977         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
2978         stdio take care of replacement.
2979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
2980         * modules/stdio (Makefile.am): Substitute them.
2981         * lib/stdio.in.h (rename): Declare replacement.
2982         * lib/rename.c (includes): Allow cross-compilation to non-windows
2983         machines.
2984         * doc/posix-functions/rename.texi (rename): Improve
2985         documentation.
2986
2987         stdio: sort witness names
2988         * modules/stdio (Makefile.am): Sort replacements.
2989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
2990         * lib/stdio.in.h: Likewise.
2991
2992         getcwd: minor cleanups
2993         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
2994         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
2995
2996         openat: provide more convenience names
2997         * modules/faccessat (configure.ac): Add C witness.
2998         * lib/unistd.in.h (readlinkat): Fix typo.
2999         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
3000         convenience wrappers.
3001         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
3002         wrappers in syntax checks.
3003
3004 2009-09-06  Eric Blake  <ebb9@byu.net>
3005
3006         doc: fix comments in recent patches
3007         * lib/faccessat.c: Mention correct function.
3008         * lib/fchmodat.c: Likewise.
3009         * lib/fchownat.c: Likewise.
3010         * lib/symlinkat.c: Likewise.
3011         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
3012         constants.
3013
3014         faccessat, symlinkat: continue cleanup of previous patch
3015         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
3016         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
3017         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
3018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
3019         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
3020         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
3021         set.
3022
3023 2009-09-06  Bruno Haible  <bruno@clisp.org>
3024
3025         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
3026         (fstatat): Declare if GNULIB_FSTATAT is set.
3027         (mkdirat): Declare if GNULIB_MKDIRAT is set.
3028         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
3029         (unlinkat): Declare if GNULIB_UNLINKAT is set.
3030         * modules/fcntl-h (Files): Remove m4/openat.m4.
3031         * modules/sys_stat (Files): Remove m4/openat.m4.
3032         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
3033         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
3034         * modules/unistd (Files): Remove m4/openat.m4.
3035         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
3036         GNULIB_OPENAT.
3037         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
3038         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
3039         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
3040         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
3041         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
3042         gl_OPENAT_DEFAULTS.
3043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
3044         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
3045         Don't require gl_OPENAT_DEFAULTS.
3046         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
3047         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
3048         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
3049         (gl_OPENAT_DEFAULTS): Remove macro.
3050
3051 2009-09-06  Bruno Haible  <bruno@clisp.org>
3052
3053         * modules/openat (configure.ac): Remove unneeded witness.
3054
3055 2009-09-06  Bruno Haible  <bruno@clisp.org>
3056
3057         Set errno to ENOSYS when a function is entirely unsupported.
3058         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
3059         EOPNOTSUPP.
3060         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3061         * modules/chown (Depends-on): Remove errno.
3062
3063 2009-09-06  Bruno Haible  <bruno@clisp.org>
3064
3065         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
3066
3067 2009-09-06  Bruno Haible  <bruno@clisp.org>
3068
3069         * lib/sys_stat.in.h: Fix preprocessor command indentation.
3070
3071 2009-09-06  Ben Pfaff  <blp@gnu.org>
3072             Bruno Haible  <bruno@clisp.org>
3073
3074         Work around a glibc bug in strtok_r.
3075         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
3076         Undefine if UNDEFINE_STRTOK_R is set.
3077         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
3078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3079         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
3080         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
3081         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
3082         UNDEFINE_STRTOK_R.
3083         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
3084
3085 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
3086
3087         exclude: minor fix
3088         * lib/exclude.c: Include wctype.h
3089
3090 2009-09-06  Akim Demaille  <demaille@gostai.com>
3091
3092         bootstrap: improve error message
3093         * build-aux/bootstrap (find_tool): Upon failure, report the list
3094         of candidates.
3095         Honor the initial value of the envvar.
3096
3097 2009-09-05  Eric Blake  <ebb9@byu.net>
3098
3099         symlinkat: new module
3100         * modules/symlinkat: New file.
3101         * lib/symlinkat.c: Likewise.
3102         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
3103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
3104         * modules/unistd (Makefile.am): Use them.
3105         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
3106         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
3107         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
3108         * MODULES.html.sh (File system functions): Mention module.
3109         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
3110         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
3111         * modules/symlinkat-tests: New test.
3112         * tests/test-symlinkat.c: Likewise.
3113
3114         test-openat-safer: add more checks
3115         * tests/test-openat-safer.c (main): Check more code paths.
3116
3117 2009-09-05  Jim Meyering  <meyering@redhat.com>
3118
3119         syntax-check: detect unnecessary inclusion of openat.h
3120         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
3121
3122 2009-09-05  Bruno Haible  <bruno@clisp.org>
3123
3124         Support towlower, towupper.
3125         * doc/posix-functions/towlower.texi: Mention module wctype.
3126         * doc/posix-functions/towupper.texi: Likewise.
3127         * lib/wctype.in.h (towlower, towupper): New functions.
3128         * tests/test-wctype.c: Include stdio.h, stdlib.h.
3129         (ASSERT): New macro.
3130         (e): New variable.
3131         (main): Test also towlower, towupper. Test WEOF argument.
3132         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3133
3134 2009-09-05  Bruno Haible  <bruno@clisp.org>
3135
3136         Fix conversion behaviour when the input is invalid.
3137         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
3138         mark occurring in first pass of indirect conversion.
3139         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
3140         input.
3141         Found by clang's static analyzer.
3142
3143 2009-09-05  Bruno Haible  <bruno@clisp.org>
3144
3145         * tests/test-striconveh.c (main): Test indirect conversion on platforms
3146         where direct conversion is possible.
3147
3148 2009-09-04  Eric Blake  <ebb9@byu.net>
3149
3150         openat: fail with ENOENT on empty name
3151         * lib/openat-proc.c (openat_proc_name): Special-case the empty
3152         buffer.
3153
3154         link-follow: fix logic bug in prior patch
3155         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
3156         reversed sense of yes and no in prior patch.  Avoid confusing
3157         compilation failure with desired semantics.
3158
3159         link-follow: accomodate mingw and cross-compilation
3160         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
3161         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
3162         cross-compilation results to -1, to make linkat easier to
3163         implement when cross-compiling.  Trivially support mingw.
3164         * modules/link-follow (configure.ac): Call new name.
3165         * NEWS: Mention this.
3166
3167 2009-09-03  Eric Blake  <ebb9@byu.net>
3168
3169         faccessat: compile replacement
3170         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
3171         needed.
3172
3173         fts: fix compilation error
3174         * lib/fts.c (includes): Re-add "openat.h", for
3175         openat_needs_fchdir.
3176
3177         faccessat: new module
3178         * modules/faccessat: New file.
3179         * lib/faccessat.c: Likewise.
3180         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
3181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3182         * modules/unistd (Makefile.am): Use it.
3183         * lib/unistd.in.h (faccessat): Declare it.
3184         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
3185         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
3186         * MODULES.html.sh (File system functions): Mention it.
3187         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
3188         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
3189
3190         euidaccess: prefer POSIX over non-standard implementation
3191         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
3192         * lib/euidaccess.c (euidaccess): Use it if available.
3193
3194         openat: make template easier to use
3195         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
3196         AT_FUNC_F2 to be undefined.
3197         (VALIDATE_FLAG): New macro; use it to reject bad flags.
3198         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
3199         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
3200         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
3201         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
3202         Likewise.
3203         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
3204         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
3205         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
3206         Likewise.
3207
3208         openat: declare in POSIX headers
3209         * NEWS: Mention this.
3210         * modules/openat (configure.ac): Declare witnesses.
3211         (Depends-on): Add fcntl-h, sys_stat, unistd.
3212         (Include): Mention correct headers.
3213         * modules/fcntl-h (Depends-on): Add link-warning.
3214         (Files): Add openat.m4.
3215         (Makefile.am): Substitute witnesses.
3216         * modules/sys_stat (Files, Makefile.am): Likewise.
3217         * modules/unistd (Files, Makefile.am): Likewise.
3218         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
3219         (gl_OPENAT_DEFAULTS): New macro.
3220         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
3221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
3222         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
3223         (SYS_STAT_H): Remove unused variable.
3224         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
3225         * lib/fcntl--.h (includes): Remove unneeded header.
3226         * lib/openat-safer.c (includes): Likewise.
3227         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
3228         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
3229         appropriate headers.
3230         (__OPENAT_PREFIX): Delete.
3231         * lib/fcntl.in.h (openat): Provide declaration.
3232         (AT_FDCWD): Fix Solaris bug.
3233         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
3234         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
3235         * lib/fchmodat.c (includes):  Adjust to find declaration.
3236         * lib/fchownat.c (includes): Likewise.
3237         * lib/mkdirat.c (includes): Likewise.
3238         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
3239         still visible.
3240
3241 2009-09-02  Eric Blake  <ebb9@byu.net>
3242
3243         errno: use consistently
3244         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
3245         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
3246         * lib/canonicalize.c (ELOOP): Likewise.
3247         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
3248         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
3249         * lib/lchown.c (EOPNOTSUPP): Likewise.
3250         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
3251         * lib/savewd.c (ESTALE): Likewise.
3252         * lib/settime.c (ENOSYS): Likewise.
3253         * lib/utimens.c (ENOSYS): Likewise.
3254         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
3255         * lib/chdir-safer.c (ELOOP): Likewise.
3256         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
3257         * modules/c-stack (Depends-on): Add errno.
3258         * modules/canonicalize (Depends-on): Likewise.
3259         * modules/chdir-safer (Depends-on): Likewise.
3260         * modules/fdopendir (Depends-on): Likewise.
3261         * modules/inet_ntop (Depends-on): Likewise.
3262         * modules/inet_pton (Depends-on): Likewise.
3263         * modules/lchown (Depends-on): Likewise.
3264         * modules/openat (Depends-on): Likewise.
3265         * modules/savewd (Depends-on): Likewise.
3266         * modules/settime (Depends-on): Likewise.
3267         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
3268
3269         fts: avoid leaking fds
3270         * modules/fts (Depends-on): Add cloexec.
3271         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
3272         flag.
3273
3274         fts: make directory fds more robust
3275         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
3276         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
3277
3278         backupfile, chdir-long, fts, savedir: make safer
3279         * lib/backupfile.c (includes): Use "dirent--.h", since
3280         numbered_backup can write to stderr during readdir.
3281         * lib/savedir.c (includes): Likewise.
3282         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
3283         emulation can write to stderr on failure.
3284         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
3285         * lib/getcwd.c: Document why opendir_safer is unused.
3286         * lib/glob.c: Likewise.
3287         * lib/scandir.c: Likewise.
3288         * lib/openat-proc.c: Likewise, for open_safer.
3289         * modules/backupfile (Depends-on): Add dirent-safer.
3290         * modules/savedir (Depends-on): Likewise.
3291         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
3292         * modules/chdir-long (Depends-on): Add openat-safer.
3293
3294         openat-safer: new module
3295         * modules/openat-safer: New file.
3296         * lib/openat-safer.c: Likewise.
3297         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
3298         * lib/fcntl-safer.h (openat_safer): Declare.
3299         * lib/fcntl--.h (openat): Override.
3300         * MODULES.html.sh (File descriptor based I/O): Mention it.
3301         * lib/openat.h: Add double-inclusion guards.
3302         * lib/openat.c (includes): Only include "fcntl-safer.h", not
3303         "fcntl--.h", so we can implement openat.
3304         * modules/openat-safer-tests: New test.
3305         * tests/test-openat-safer.c: New file.
3306
3307         dirent-safer: new module
3308         * modules/dirent-safer: New file.
3309         * lib/dirent--.h: Likewise.
3310         * lib/dirent-safer.h: Likewise.
3311         * lib/opendir-safer.c: Likewise.
3312         * m4/dirent-safer.m4: Likewise.
3313         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
3314         * modules/dirent-safer-tests: New test.
3315         * tests/test-dirent-safer.c: New file.
3316         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
3317
3318         fdopendir: optimize on mingw
3319         * lib/unistd.in.h (_gl_directory_name): New prototype.
3320         * lib/fchdir.c (_gl_directory_name): Implement it.
3321         (fchdir): Use it to simplify implementation.
3322         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
3323         fchdir, when available, to avoid calling [f]chdir().
3324
3325         fdopendir: split into its own module
3326         * lib/openat.c (fdopendir): Move...
3327         * lib/fdopendir.c: ...into new file.
3328         * modules/fdopendir: New module.
3329         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
3330         * modules/openat (Depends-on): Add fdopendir.
3331         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
3332         fdopendir here.
3333         * modules/savedir (Depends-on): Only need fdopendir, not full
3334         openat.
3335         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
3336         * lib/openat.h (fdopendir): Drop prototype.
3337         * lib/dirent.in.h (fdopendir): Provide prototype.
3338         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
3339         * modules/dirent (Makefile.am): Substitute them.
3340         * MODULES.html.sh (File system functions): Mention it.
3341         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
3342         * modules/fdopendir-tests: New file.
3343         * tests/test-fdopendir.c: Likewise.
3344
3345         fchdir: use more consistent macro convention
3346         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
3347         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
3348         REPLACE_FCHDIR, rather than relying on config.h macros.
3349         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
3350         inside a single make-time REPLACE_FCHDIR block, rather than using
3351         the config.h FCHDIR_REPLACEMENT.
3352         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
3353         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
3354         Manage fstat replacement.
3355         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
3356         REPLACE_FCHDIR.
3357         * modules/sys_stat (Files): Add m4/unistd_h.m4.
3358         (Makefile.am): Substitute REPLACE_FCHDIR.
3359         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
3360         FCHDIR_REPLACEMENT.
3361         * lib/dup-safer.c (dup_safer): Likewise.
3362         * lib/dup2.c (rpl_dup2): Likewise.
3363         * lib/dup3.c (rpl_dup3): Likewise.
3364         * lib/open.c (rpl_open): Likewise.
3365
3366         fchdir: simplify error handling, and support dup3
3367         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
3368         stdbool, malloc-posix, realloc-posix.
3369         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
3370         (ensure_dirs_slot): Return false on allocation failure.
3371         (rpl_dup2): Delete.
3372         (_gl_register_dup): New function.
3373         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
3374         (_gl_register_fd): Close fd on allocation failure.
3375         * lib/fcntl.in.h (_gl_register_fd): Update signature.
3376         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
3377         prototype.
3378         (rpl_dup2_fchdir): Delete prototype.
3379         * lib/open.c (open): Update caller.
3380         * lib/dup2.c (dup2): Track fchdir metadata.
3381         * lib/dup3.c (dup3): Likewise.
3382         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
3383         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
3384
3385 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3386
3387         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
3388         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
3389         don't pass arguments to AC_OUTPUT.
3390
3391 2009-09-02  Bruno Haible  <bruno@clisp.org>
3392
3393         * modules/mkdtemp (License): Relicense under LGPLv2+.
3394         Reported by Paolo Bonzini.
3395
3396 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3397
3398         Replace uses of obsolete autoconf macros in Jim's modules.
3399         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
3400         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
3401         can evoke a warning from autoconf when run with -Wobsolete
3402         enabled.  They were declared obsolete for good reasons (see
3403         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
3404         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
3405         should not continue using the deprecated macros.
3406         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
3407         obsolete Autoconf macros with modern counterparts.
3408         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3409         * m4/dos.m4 (gl_AC_DOS): Likewise.
3410         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3411         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
3412         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3413         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
3414         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
3415         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
3416         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
3417         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
3418         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
3419         Likewise.
3420         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3421         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
3422         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
3423         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
3424         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
3425         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
3426
3427 2009-09-01  Eric Blake  <ebb9@byu.net>
3428
3429         fchdir: fix off-by-one bug in previous patch
3430         * lib/fchdir.c (rpl_fstat): Use correct bounds.
3431         (_gl_unregister_fd): Delete useless if.
3432
3433 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
3434
3435         maint.mk: sort the list of syntax-check rules
3436         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
3437         easier to get a sense of progress when the rules are run sequentially
3438         and take a long time.
3439
3440 2009-09-01  Simon Josefsson  <simon@josefsson.org>
3441
3442         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
3443         * modules/netinet_in: Likewise.
3444         * modules/sys_file: Likewise.
3445         * modules/sys_ioctl: Likewise.
3446         * modules/sys_select: Likewise.
3447         * modules/sys_socket: Likewise.
3448         * modules/sys_stat: Likewise.
3449         * modules/sys_time: Likewise.
3450         * modules/sys_times: Likewise.
3451         * modules/sys_utsname: Likewise.
3452         * modules/sys_wait: Likewise.
3453
3454 2009-09-01  Jim Meyering  <meyering@redhat.com>
3455
3456         fts: help ensure that return values are not ignored
3457         * lib/fts_.h (__GNUC_PREREQ): Define.
3458         (__attribute_warn_unused_result__): Define.
3459         (fts_children, fts_close, fts_open, fts_read): Declare with
3460         __attribute_warn_unused_result__.
3461
3462         fts: fts_close now fails also when closing a dir file descriptor fails
3463         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
3464         and propagate to caller, along with errno.
3465
3466         announce-gen: correct formatting in --help output
3467         * build-aux/announce-gen (usage): Move the one-line description in
3468         --help output "up", to where it belongs, just after Usage:.
3469
3470 2009-08-31  Eric Blake  <ebb9@byu.net>
3471
3472         fchdir: port to mingw
3473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
3474         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
3475         opened, then use a substitute.
3476         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
3477         replacement.
3478         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
3479         (_gl_register_fd): No need to check stat if open already filters
3480         all directories.
3481         (fchdir): Fix error condition to match POSIX.
3482         * modules/fchdir (Depends-on): Add sys_stat.
3483         * doc/posix-functions/open.texi (open): Document the limitation.
3484         * modules/fchdir-tests: New file.
3485         * tests/test-fchdir.c: Likewise.
3486
3487         canonicalize: allow cross-testing from cygwin to mingw
3488         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
3489         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
3490         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
3491         Likewise.
3492         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
3493         target does not support symlinks.
3494         * tests/test-canonicalize-lgpl.sh: Likewise.
3495
3496         chown: avoid compilation warning on mingw
3497         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
3498         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
3499         mingw.
3500         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3501         * modules/chown (Depends-on): Add errno.
3502
3503 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3504
3505         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
3506         command.
3507
3508 2009-08-31  Jim Meyering  <meyering@redhat.com>
3509
3510         canonicalize: remove useless initialization
3511         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
3512         initialization of local, "end".
3513
3514 2009-08-30  Bruno Haible  <bruno@clisp.org>
3515
3516         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
3517         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
3518         ENOSYS.
3519
3520 2009-08-30  Bruno Haible  <bruno@clisp.org>
3521
3522         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
3523         /usr/xpg4/bin/tr when it exists.
3524         * tests/test-pipe-filter-gi1.sh: Likewise.
3525
3526 2009-08-30  Bruno Haible  <bruno@clisp.org>
3527
3528         Work around deficient /usr/bin/id program on Solaris.
3529         * tests/test-file-has-acl.sh (ID): New variable.
3530         * tests/test-set-mode-acl.sh (ID): Likewise.
3531         * tests/test-copy-acl.sh (ID): Likewise.
3532         * tests/test-copy-file.sh (ID): Likewise.
3533
3534 2009-08-30  Bruno Haible  <bruno@clisp.org>
3535
3536         New module 'xstriconveh'.
3537         * lib/xstriconveh.h: New file.
3538         * lib/xstriconveh.c: New file.
3539         * modules/xstriconveh: New file.
3540
3541 2009-08-30  Bruno Haible  <bruno@clisp.org>
3542
3543         Make it easier to use mem_cd_iconveh.
3544         * lib/striconveh.h (iconveh_t): New type.
3545         (iconveh_open, iconveh_close): New declarations.
3546         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3547         with a single 'const iconveh_t *' argument.
3548         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
3549         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3550         with a single 'const iconveh_t *' argument.
3551         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
3552         * tests/test-striconveh.c (main): Update.
3553         * NEWS: Mention the change.
3554
3555 2009-08-30  Bruno Haible  <bruno@clisp.org>
3556
3557         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
3558         problem.
3559
3560 2009-08-30  Bruno Haible  <bruno@clisp.org>
3561
3562         Work around iconv_open problem on Solaris.
3563         * lib/iconv_open-solaris.gperf: New file.
3564         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
3565         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
3566         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
3567         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
3568         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
3569         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
3570
3571 2009-08-29  Jim Meyering  <meyering@redhat.com>
3572
3573         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
3574         * top/maint.mk (cvs-check): Remove target; it was just an alias
3575         to the better-named vc-diff-check.
3576         (maintainer-distcheck): Remove rule.  It was used only from
3577         the (alpha/beta/major) target, and all of its commands but one
3578         were coreutils-specific.
3579         (vc-dist): Remove rule.
3580         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
3581         Run vc-diff-check, not vc-dist.
3582         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
3583
3584 2009-08-27  Bruno Haible  <bruno@clisp.org>
3585
3586         * tests/test-bitrotate.c (main): Remove test that uses a shift count
3587         of 0.
3588
3589 2009-08-27  Bruno Haible  <bruno@clisp.org>
3590
3591         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
3592         compilers.
3593         * doc/func.texi: Document the SunPRO C bug.
3594
3595 2009-08-27  Bruno Haible  <bruno@clisp.org>
3596
3597         Fix link error on Solaris.
3598         * tests/test-parse-duration.c (xstrdup): Remove function.
3599
3600 2009-08-26  Pádraig Brady  <P@draigbrady.com>
3601
3602         ignore-value: handle pointer types, too
3603         * lib/ignore-value.h (__attribute__): Remove definition.
3604         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
3605         of a more concise and more-often effective "(void) i" statement.
3606         (ignore_ptr): New function to suppress warnings from functions that
3607         return pointers, and to make it explicit that one function doesn't
3608         handle all cases.
3609
3610 2009-08-25  Bruno Haible  <bruno@clisp.org>
3611
3612         dup2: work around a Linux bug.
3613         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
3614         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
3615         * doc/posix-functions/dup2.texi: Mention the Linux bug.
3616         Reported by Simon Josefsson.
3617
3618 2009-08-25  Jim Meyering  <meyering@redhat.com>
3619
3620         libguestfs uses gnulib
3621         * users.txt: Add libguestfs.
3622
3623 2009-08-24  Eric Blake  <ebb9@byu.net>
3624
3625         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
3626         * lib/pipe2.c (includes): Add binary-io.h.
3627         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
3628
3629 2009-08-24  Bruno Haible  <bruno@clisp.org>
3630
3631         Tolerate declared but missing accept4 syscall.
3632         * lib/accept4.c (accept4): Invoke original accept4 function first, if
3633         available.
3634         * lib/sys_socket.in.h (accept4): If the function is already present,
3635         override it.
3636         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
3637         * modules/accept4 (Makefile.am): Compile accept4.c always.
3638         Reported by Paolo Bonzini and Eric Blake.
3639
3640 2009-08-23  Bruno Haible  <bruno@clisp.org>
3641
3642         New module 'accept4'.
3643         * lib/sys_socket.in.h (accept4): New declaration.
3644         * lib/accept4.c: New file.
3645         * m4/accept4.m4: New file.
3646         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
3647         GNULIB_ACCEPT4, HAVE_ACCEPT4.
3648         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
3649         HAVE_ACCEPT4.
3650         * modules/accept4: New file.
3651         * doc/glibc-functions/accept4.texi: Mention the new module.
3652
3653 2009-08-24  Jim Meyering  <meyering@redhat.com>
3654
3655         progname: also set global program_invocation_name, when possible
3656         Before this change, a libtool-enabled program that calls glibc's
3657         error function would report the program name as
3658         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
3659         * modules/progname (configure.ac): Check for a declaration of
3660         program_invocation_name.
3661         * lib/progname.c:  Include <errno.h>.
3662         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
3663         Set program_invocation_name.
3664
3665 2009-08-23  Bruno Haible  <bruno@clisp.org>
3666
3667         * lib/dup3.c: Include <string.h>.
3668
3669 2009-08-23  Bruno Haible  <bruno@clisp.org>
3670
3671         * lib/dup3.c (dup3): Test only once whether the system actually exists.
3672         * lib/pipe2.c (pipe2): Likewise.
3673         Suggested by Eric Blake.
3674
3675 2009-08-23  Bruno Haible  <bruno@clisp.org>
3676
3677         Tolerate declared but missing dup3 syscall.
3678         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
3679         * lib/unistd.in.h (dup3): If the function is already present,
3680         override it.
3681         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
3682         * modules/dup3 (Makefile.am): Compile dup3.c always.
3683         Reported by Paolo Bonzini.
3684
3685 2009-08-23  Bruno Haible  <bruno@clisp.org>
3686
3687         Tolerate declared but missing pipe2 syscall.
3688         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
3689         available.
3690         * lib/unistd.in.h (pipe2): If the function is already present,
3691         override it.
3692         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
3693         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
3694         Reported by Paolo Bonzini.
3695
3696 2009-08-23  Bruno Haible  <bruno@clisp.org>
3697
3698         * lib/pipe2.c (pipe2): Move #ifs inside function.
3699
3700 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3701
3702         quotearg: document limitations of quote_these_too
3703         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
3704         those limitations are created.
3705         * lib/quotearg.h (set_char_quoting): Document that digits and
3706         letters that are special after backslash are not permitted.
3707         (quotearg_char): Cross-reference set_char_quoting documentation.
3708
3709 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
3710
3711         quotearg: implement custom_quoting_style
3712         * lib/quotearg.c: (struct quoting_options): Add left_quote and
3713         right_quote fields.
3714         (set_custom_quoting): New public function.
3715         (quotearg_buffer_restyled): Add left_quote and right_quote
3716         arguments, handle them very much like locale quoting, and update
3717         all uses.
3718         (quotearg_n_custom): New public function.
3719         (quotearg_n_custom_mem): New public function.
3720         (quotearg_custom): New public function.
3721         (quotearg_custom_mem): New public function.
3722         * lib/quotearg.h: Prototype and document new public functions.
3723         (enum quoting_style): For escape_quoting_style and
3724         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
3725         ignored even though they're otherwise like c_quoting_style.
3726         Add custom_quoting_style member and document with comparison to
3727         clocale_quoting_style.
3728         * tests/test-quotearg.c (custom_quotes): New array.
3729         (custom_results): New array.
3730         (main): Extend to test custom quoting.
3731
3732 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3733
3734         quotearg: fix right quote escaping when it's in quote_these_too
3735         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
3736         quote, be sure to prepend only one backslash.
3737         * tests/test-quotearg.c (use_quote_double_quotes): New function.
3738         (main): Test it.
3739
3740 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3741
3742         quotearg-tests: test escaping of embedded locale quotes
3743         * tests/test-quotearg.c (struct result_strings): Add member for
3744         new input.
3745         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
3746         (inputs): Add new input.
3747         (results_g): Add expected results.
3748         (flag_results): Likewise.
3749         (locale_results): Likewise.
3750         (compare_strings): Check those.
3751
3752 2009-08-23  Bruno Haible  <bruno@clisp.org>
3753
3754         Tests for module 'dup3'.
3755         * modules/dup3-tests: New file.
3756         * tests/test-dup3.c: New file.
3757
3758         New module 'dup3'.
3759         * lib/unistd.in.h (dup3): New declaration.
3760         * lib/dup3.c: New file.
3761         * m4/dup3.m4: New file.
3762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
3763         HAVE_DUP3.
3764         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
3765         * modules/dup3: New file.
3766         * doc/glibc-functions/dup3.texi: Mention the new module.
3767
3768 2009-08-23  Bruno Haible  <bruno@clisp.org>
3769
3770         Tweak the dup2 test.
3771         * tests/test-dup2.c (main): Create the test file empty. Verify that an
3772         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
3773         the test file is still empty. Fix argument order of lseek.
3774
3775 2009-08-23  Bruno Haible  <bruno@clisp.org>
3776
3777         Avoid test link errors when the modules getopt-gnu, gettext are used.
3778         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
3779         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3780
3781 2009-08-23  Bruno Haible  <bruno@clisp.org>
3782
3783         Fix getdtablesize() on mingw.
3784         * lib/getdtablesize.c (getdtablesize): Implement differently.
3785         * lib/unistd.in.h (getdtablesize): Improve comment.
3786
3787 2009-08-23  Bruno Haible  <bruno@clisp.org>
3788
3789         New module 'mkostemp'.
3790         Based on Ulrich Drepper's 2007-08-10 change in glibc.
3791         * lib/stdlib.in.h (mksotemp): New declaration.
3792         * lib/mkostemp.c: New file, from glibc with modifications.
3793         * lib/tempname.h (GT_FILE): Remove outdated comment.
3794         (gen_tempname): Add flags argument.
3795         * lib/tempname.c (__GT_BIGFILE): Remove macro.
3796         (__GT_FILE): Map to 1.
3797         (small_open, large_open): Remove macros.
3798         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
3799         * lib/mkstemp.c (mkstemp): Update.
3800         * lib/mkdtemp.c (mkdtemp): Likewise.
3801         * m4/mkostemp.m4: New file.
3802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
3803         HAVE_MKOSTEMP.
3804         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
3805         HAVE_MKOSTEMP.
3806         * modules/mkostemp: New file, based on modules/mkstemp.
3807         * doc/glibc-functions/mkostemp.texi: Mention the new module.
3808         * NEWS: Mention the change.
3809
3810 2009-08-23  Bruno Haible  <bruno@clisp.org>
3811
3812         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
3813         Reported by Eric Blake.
3814
3815 2009-08-23  Bruno Haible  <bruno@clisp.org>
3816
3817         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
3818         Reported by Eric Blake.
3819
3820 2009-08-23  Bruno Haible  <bruno@clisp.org>
3821
3822         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
3823         * modules/pipe2 (Depends-on): Likewise.
3824
3825 2009-08-23  Eric Blake  <ebb9@byu.net>
3826
3827         fcntl-h: add O_TTY_INIT support
3828         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
3829         * tests/test-fcntl-h.c (o): Test it.
3830         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3831
3832         fcntl-h: rename from fcntl, in preparation for fcntl(2)
3833         * modules/fcntl: Move <fcntl.h> header replacement...
3834         * modules/fcntl-h: ...to new name, so as not to collide with
3835         like-named function.
3836         * tests/test-fcntl.c: Rename...
3837         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
3838         * modules/fcntl-tests: Rename...
3839         * modules/fcntl-h-tests: ...to this.  Update test file name.
3840         * modules/chdir-long (Depends-on): Update clients.
3841         * modules/chdir-safer (Depends-on): Likewise.
3842         * modules/fcntl-safer (Depends-on): Likewise.
3843         * modules/fts (Depends-on): Likewise.
3844         * modules/mkancesdirs (Depends-on): Likewise.
3845         * modules/mkdir-p (Depends-on): Likewise.
3846         * modules/open (Depends-on): Likewise.
3847         * modules/savewd (Depends-on): Likewise.
3848         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
3849         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3850
3851 2009-08-22  Bruno Haible  <bruno@clisp.org>
3852
3853         * modules/binary-io (License): Relicense under LGPL.
3854         * modules/pipe2 (License): Likewise.
3855
3856 2009-08-22  Bruno Haible  <bruno@clisp.org>
3857
3858         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
3859         return value.
3860         * lib/pipe-filter-gi.c (filter_init): Likewise.
3861         Reported by Eric Blake.
3862
3863 2009-08-22  Bruno Haible  <bruno@clisp.org>
3864
3865         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
3866         * modules/pipe (Depends-on): Add pipe2.
3867
3868 2009-08-22  Bruno Haible  <bruno@clisp.org>
3869
3870         Tests for module 'pipe2'.
3871         * modules/pipe2-tests: New file.
3872         * tests/test-pipe2.c: New file.
3873
3874         New module 'pipe2'.
3875         * lib/unistd.in.h (pipe2): New declaration.
3876         * lib/pipe2.c: New file.
3877         * m4/pipe2.m4: New file.
3878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
3879         HAVE_PIPE2.
3880         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
3881         * modules/pipe2: New file.
3882         * doc/glibc-functions/pipe2.texi: Mention the new module.
3883
3884 2009-08-22  Bruno Haible  <bruno@clisp.org>
3885
3886         Reference some new glibc functions.
3887         * doc/glibc-functions/accept4.texi: New file.
3888         * doc/glibc-functions/dup3.texi: New file.
3889         * doc/glibc-functions/mkostemp.texi: New file.
3890         * doc/glibc-functions/pipe2.texi: New file.
3891         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
3892         (Glibc sys/socket.h): Refer to accept4.
3893         (Glibc unistd.h): Refer to dup3, pipe2.
3894         Reported by Eric Blake.
3895
3896 2009-08-22  Jim Meyering  <meyering@redhat.com>
3897             Bruno Haible  <bruno@clisp.org>
3898
3899         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
3900         This makes it so packages using automake-1.11's silent-rules option
3901         can print e.g., a single "GEN    configmake.h" line, rather than
3902         the 30+ statements that perform the job.  If you want to see the
3903         actual commands, you can still run "make V=1".
3904         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
3905         so that make output is abbreviated when those variables are defined
3906         appropriately.
3907         * modules/argz: Likewise.
3908         * modules/arpa_inet: Likewise.
3909         * modules/byteswap: Likewise.
3910         * modules/configmake: Likewise.
3911         * modules/dirent: Likewise.
3912         * modules/errno: Likewise.
3913         * modules/fcntl: Likewise.
3914         * modules/float: Likewise.
3915         * modules/fnmatch: Likewise.
3916         * modules/getopt-posix: Likewise.
3917         * modules/glob: Likewise.
3918         * modules/iconv_open: Likewise.
3919         * modules/inttypes: Likewise.
3920         * modules/localcharset: Likewise.
3921         * modules/locale: Likewise.
3922         * modules/math: Likewise.
3923         * modules/netdb: Likewise.
3924         * modules/netinet_in: Likewise.
3925         * modules/poll: Likewise.
3926         * modules/posix_spawnp-tests: Likewise.
3927         * modules/sched: Likewise.
3928         * modules/search: Likewise.
3929         * modules/selinux-h: Likewise.
3930         * modules/signal: Likewise.
3931         * modules/spawn: Likewise.
3932         * modules/stdarg: Likewise.
3933         * modules/stdbool: Likewise.
3934         * modules/stddef: Likewise.
3935         * modules/stdint: Likewise.
3936         * modules/stdio: Likewise.
3937         * modules/stdlib: Likewise.
3938         * modules/string: Likewise.
3939         * modules/strings: Likewise.
3940         * modules/sys_file: Likewise.
3941         * modules/sys_ioctl: Likewise.
3942         * modules/sys_select: Likewise.
3943         * modules/sys_socket: Likewise.
3944         * modules/sys_stat: Likewise.
3945         * modules/sys_time: Likewise.
3946         * modules/sys_times: Likewise.
3947         * modules/sys_utsname: Likewise.
3948         * modules/sys_wait: Likewise.
3949         * modules/sysexits: Likewise.
3950         * modules/time: Likewise.
3951         * modules/unistd: Likewise.
3952         * modules/wchar: Likewise.
3953         * modules/wctype: Likewise.
3954
3955 2009-08-22  Jim Meyering  <meyering@redhat.com>
3956
3957         announce-gen: detect write failure
3958         * build-aux/announce-gen: Add Coda at end.
3959         Remove equivalent-but-more-verbose block at top.
3960
3961 2009-08-19  Akim Demaille  <demaille@gostai.com>
3962
3963         bootstrap: --help to stdout.
3964         * bootstrap (usage): Don't send --help to stderr.
3965         Use a here doc instead of a long string.
3966
3967 2009-08-21  Eric Blake  <ebb9@byu.net>
3968
3969         test-popen-safer: split from test-popen
3970         * tests/test-popen.c (main): Move...
3971         * tests/test-popen.h: ...into new file.
3972         * tests/test-popen-safer2.c: New file.
3973         * modules/popen-tests (Files): Add test-popen.h.
3974         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
3975         Suggested by Bruno Haible.
3976
3977         test-fcntl-safer: split from test-open
3978         * tests/test-open.c (main): Move...
3979         * tests/test-open.h: ...into new file.
3980         * tests/test-fcntl-safer.c: New file.
3981         * modules/open-tests (Files): Add test-open.h.
3982         * modules/fcntl-safer-tests: New file.
3983         Suggested by Bruno Haible.
3984
3985         test-fopen-safer: split from test-fopen
3986         * tests/test-fopen.c (main): Move...
3987         * tests/test-fopen.h: ...into new file.
3988         * tests/test-fopen-safer.c: New file.
3989         * modules/fopen-tests (Files): Add test-fopen.h.
3990         * modules/fopen-safer-tests: New file.
3991         Suggested by Bruno Haible.
3992
3993 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
3994
3995         popen-safer: test O_CLOEXEC at run-time.
3996         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
3997
3998 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
3999
4000         fcntl: move more flags to the header
4001         * lib/cloexec.c: Do not define FD_CLOEXEC here.
4002         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
4003         * lib/fcntl.in.h: Do both things here.
4004
4005 2009-08-21  Jim Meyering  <meyering@redhat.com>
4006
4007         consistently remove $@-t before redirecting to it
4008         * modules/argz: Remove $@-t and $@ before redirecting to the former.
4009         * modules/alloca-opt: Likewise.
4010         * modules/byteswap: Likewise.
4011         * modules/fnmatch: Likewise.
4012         * modules/getopt-posix: Likewise.
4013         * modules/glob: Likewise.
4014         * modules/poll: Likewise.
4015         * modules/posix_spawnp-tests: Likewise.
4016         * modules/sys_socket: Likewise.
4017         * modules/sysexits: Likewise.
4018
4019 2009-08-21  Eric Blake  <ebb9@byu.net>
4020
4021         popen: simplify access to original popen
4022         * lib/popen.c (rpl_popen): No need to worry about popen being a
4023         macro.
4024         Reported by Bruno Haible.
4025
4026 2009-08-20  Eric Blake  <ebb9@byu.net>
4027
4028         build: avoid some compiler warnings
4029         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
4030         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
4031         type.
4032         (new_exclude_segment, excluded_file_pattern_p)
4033         (excluded_file_name_p): Reduce scope.
4034         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
4035         old-style declaration.
4036
4037 2009-08-20  Simon Josefsson  <simon@josefsson.org>
4038
4039         * tests/test-exclude1.sh: Handle Windows EOL.
4040         * tests/test-exclude2.sh: Likewise.
4041         * tests/test-exclude3.sh: Likewise.
4042         * tests/test-exclude4.sh: Likewise.
4043         * tests/test-exclude5.sh: Likewise.
4044         * tests/test-exclude6.sh: Likewise.
4045         * tests/test-exclude7.sh: Likewise.
4046
4047 2009-08-19  Akim Demaille  <demaille@gostai.com>
4048
4049         bootstrap: find sha1sum when named gsha1sum.
4050         * bootstrap (find_tool): New.
4051         ($SHA1SUM): New.
4052         Use it.
4053
4054 2009-08-20  Jim Meyering  <meyering@redhat.com>
4055
4056         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
4057         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
4058         expression that converts "." in a file name to "\." in the resulting
4059         regexp.  Start with a dummy statement, so that prior shell variable
4060         definitions are expanded portably.  Reported by Simon Josefsson.
4061
4062 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
4063
4064         Fix polling for writeability of a screen buffer.
4065         * lib/poll.c: Distinguish input and screen buffers for the
4066         Win32 implementation.
4067         * lib/select.c: Likewise.
4068
4069 2009-08-19  Eric Blake  <ebb9@byu.net>
4070
4071         popen-safer: prevent popen from clobbering std descriptors
4072         * modules/popen-safer: New file.
4073         * lib/popen-safer.c: Likewise.
4074         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
4075         * lib/stdio--.h (popen): Provide override.
4076         * lib/stdio-safer.h (popen_safer): Provide declaration.
4077         * tests/test-popen.c (includes): Partially test this.
4078         * modules/popen-safer-tests: New file, for more tests.
4079         * tests/test-popen-safer.c: Likewise.
4080         * MODULES.html.sh (file stream based Input/Output): Mention it.
4081
4082         tests: test some of the *-safer modules
4083         * modules/fopen-safer (Depends-on): Add fopen.
4084         * modules/fcntl-safer (Depends-on): Add fcntl.
4085         * modules/stdlib-safer (Depends-on): Add stdlib.
4086         (configure.ac): Set indicator.
4087         * modules/unistd-safer (configure.ac): Likewise.
4088         * modules/tmpfile-safer (configure.ac): Likewise.
4089         (Depends-on): Add tmpfile.
4090         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
4091         active.
4092         * tests/test-fopen.c (includes): Test safer versions when they are
4093         in use.
4094         * tests/test-open.c (includes): Likewise.
4095
4096         popen: fix cygwin 1.5 bug when stdin closed
4097         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
4098         * modules/popen: New file.
4099         * modules/popen-tests: Likewise.
4100         * tests/test-popen.c: Likewise.
4101         * m4/popen.m4: Likewise.
4102         * lib/popen.c: Likewise.
4103         * lib/stdio.in.h (popen): New declaration.
4104         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
4105         * modules/stdio (Makefile.am): Likewise.
4106         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
4107
4108 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
4109
4110         maint.mk: give full control over update-copyright exclusions
4111         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
4112         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
4113         (update-copyright): Don't force inclusion of top-level
4114         ChangeLog.  Don't force exclusion of all COPYING files, but make
4115         them the default exclusion instead.
4116
4117 2009-08-16  Bruno Haible  <bruno@clisp.org>
4118
4119         Fix test failures on Solaris 10.
4120         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
4121         tests when Solaris iconv() is used.
4122         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
4123         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
4124         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
4125         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
4126         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
4127
4128 2009-08-16  Bruno Haible  <bruno@clisp.org>
4129
4130         Fix test failures on Solaris 10.
4131         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
4132         'tr' program and pass it as first argument.
4133         * tests/test-pipe-filter-gi1.sh: Likewise.
4134         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
4135         program as first argument.
4136         * tests/test-pipe-filter-gi1.c (main): Likewise.
4137
4138 2009-08-16  Eric Blake  <ebb9@byu.net>
4139
4140         fpurge: fix previous commits
4141         * modules/fpurge (Makefile.am): Make replacement conditional,
4142         partially reverting 2007-04-29 change; missed in previous
4143         attempt.
4144         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
4145         is missing.
4146
4147 2009-08-16  Bruno Haible  <bruno@clisp.org>
4148
4149         Clarify fpurge's effect on the file position.
4150         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
4151         * tests/test-fpurge.c (main): Make a second pass for checking the file
4152         position.
4153
4154 2009-08-16  Bruno Haible  <bruno@clisp.org>
4155
4156         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
4157         declaration of fpurge is missing.
4158         * tests/test-fpurge.c (main): Check that the file has not more contents
4159         than expected. Close the file before removing it.
4160
4161 2009-08-15  Eric Blake  <ebb9@byu.net>
4162
4163         fpurge: don't wrap working cygwin implementation
4164         * lib/fpurge.c (fpurge): Fix comment typo.
4165         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
4166         1.7 to avoid replacement.
4167         * tests/test-fpurge.c (main): Enhance test.
4168
4169 2009-08-15  Eric Blake  <ebb9@byu.net>
4170         and Jim Meyering  <meyering@redhat.com>
4171
4172         test-update-copyright: skip if perl is insufficient
4173         * tests/test-update-copyright.sh: Failure to run maintainer tool
4174         should not cause testsuite failure on cygwin 1.5.
4175
4176 2009-08-14  Eric Blake  <ebb9@byu.net>
4177
4178         doc: mention more functions added in cygwin 1.7.0
4179         * doc/posix-headers/limits.texi (limits.h): Update for recent
4180         cygwin additions.
4181         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
4182         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4183         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
4184         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
4185         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
4186
4187 2009-08-14  Eric Blake  <ebb9@byu.net>
4188
4189         maint.mk: simplify update-copyright rule
4190         * top/maint.mk (update-copyright-local): Delete, and document how
4191         to do it in cfg.mk instead.
4192         (update-copyright-exclude-regexp): Delete, and document how to do
4193         it in .x-update-copyright instead.
4194         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
4195         exclude ChangeLog.
4196
4197 2009-08-14  Bruno Haible  <bruno@clisp.org>
4198
4199         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
4200
4201 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4202
4203         maint.mk: support update-copyright-env
4204         * top/maint.mk (update-copyright-env): Define place-holder.
4205         (update-copyright): Expand $(update-copyright-env) before
4206         invoking update-copyright.
4207
4208 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4209
4210         update-copyright: implement forced reformatting
4211         * build-aux/update-copyright: Implement and document
4212         UPDATE_COPYRIGHT_FORCE.
4213         * tests/test-update-copyright.sh: Test it.
4214
4215 2009-08-14  Eric Blake  <ebb9@byu.net>
4216         and Bruno Haible  <bruno@clisp.org>
4217
4218         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
4219         * tests/test-locale.c: Revert previous patch related to NULL.
4220         * tests/test-stdio.c: Likewise.
4221         * tests/test-stdlib.c: Likewise.
4222         * tests/test-string.c: Likewise.
4223         * tests/test-unistd.c: Likewise.
4224         * modules/time-tests (Depends-on): Add verify.
4225         * modules/wchar-tests (Depends-on): Likewise.
4226         * tests/test-time.c: Test for NULL compliance.
4227         * tests/test-wchar.c: Likewise.
4228         * modules/locale (Depends-on): Add stddef.
4229         * modules/stdio (Depends-on): Likewise.
4230         * modules/stdlib (Depends-on): Likewise.
4231         * modules/string (Depends-on): Likewise.
4232         * modules/time (Depends-on): Likewise.
4233         * modules/unistd (Depends-on): Likewise.
4234         * modules/wchar (Depends-on): Likewise.
4235         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
4236         * lib/stdlib.in.h (includes): Likewise.
4237         * lib/string.in.h (includes): Likewise.
4238         * lib/time.in.h (includes): Likewise.
4239         * lib/unistd.in.h (includes): Likewise.
4240         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
4241         replaced.
4242         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4243         * m4/stddef_h.m4: New file.
4244         * modules/stddef: Likewise.
4245         * lib/stddef.in.h: Likewise.
4246         * modules/stddef-tests: Likewise.
4247         * tests/test-stddef.c: Likewise.
4248         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
4249         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
4250         * doc/posix-headers/locale.texi (locale.h): Likewise.
4251         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
4252         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
4253         * doc/posix-headers/string.texi (string.h): Likewise.
4254         * doc/posix-headers/time.texi (time.h): Likewise.
4255         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
4256         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
4257
4258 2009-08-14  Eric Blake  <ebb9@byu.net>
4259
4260         doc: improve git diff of texinfo files
4261         * .gitattributes: Add rule for *.texi files, with hint on how to
4262         use it.
4263         Copied from m4, and based on a report by Bruno Haible.
4264
4265 2009-08-14  Bruno Haible  <bruno@clisp.org>
4266
4267         Disable multithread support by default on Cygwin 1.5.x for real.
4268         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
4269
4270 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4271
4272         update-copyright: much ado about intervals
4273         * build-aux/update-copyright: Implement and document
4274         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
4275         of copyright year intervals.
4276         Also, document UPDATE_COPYRIGHT_YEAR.
4277         * tests/test-update-copyright.sh: Test it.
4278
4279         update-copyright: convert 2-digit to 4-digit years
4280         * build-aux/update-copyright: Implement and document.
4281         * tests/test-update-copyright.sh: Update.
4282
4283 2009-08-14  Jim Meyering  <meyering@redhat.com>
4284
4285         test-exclude: avoid coreutils "make check" failure
4286         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
4287         just as in test-argmatch.c.
4288
4289 2009-08-13  Eric Blake  <ebb9@byu.net>
4290
4291         test-dup2: fix bad assumption
4292         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
4293         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
4294
4295         test-version-etc: fix CRLF portability issue
4296         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
4297         recognize \r.
4298         * tests/test-argp-version-etc-1.sh: Likewise.
4299
4300         getopt: update client modules
4301         * modules/argp (Depends-on): Use getopt-gnu.
4302         * modules/git-merge-changelog (Depends-on): Likewise.
4303         * modules/long-options (Depends-on): Likewise.
4304         * modules/xstrtol (Depends-on): Likewise.
4305
4306 2009-08-13  Simon Josefsson  <simon@josefsson.org>
4307
4308         * tests/test-version-etc.sh: Don't fail on different
4309         project/version.  Don't fail on CRLF differences.  Rewrite to use
4310         multiple -e instead of multiple sed forks, suggested by Eric Blake
4311         <ebb9@byu.net>.
4312         * tests/test-argp-version-etc-1.sh: Likewise.
4313
4314 2009-08-13  Simon Josefsson  <simon@josefsson.org>
4315
4316         * tests/test-version-etc.sh: Don't fail on different
4317         project/version.
4318
4319 2009-08-12  Bruno Haible  <bruno@clisp.org>
4320
4321         Tests for modules 'getopt-posix', 'getopt-gnu'.
4322         * modules/getopt-posix-tests: New file.
4323         * tests/test-getopt.c: New file.
4324         * tests/test-getopt.h: New file.
4325         * tests/test-getopt_long.h: New file.
4326
4327         New modules 'getopt-posix', 'getopt-gnu'.
4328         * modules/getopt-gnu: New file, renamed from modules/getopt.
4329         * modules/getopt-posix: New file.
4330         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
4331         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
4332         (gl_GETOPT): Remove macro.
4333         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
4334         Disable the test against BSD systems that declare optreset. Test
4335         against mingw bug. Test against lack of support of optional arguments
4336         on many platforms.
4337         * doc/glibc-headers/getopt.texi: Update module name and list of
4338         relevant platforms.
4339         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
4340         'getopt-gnu' and more portability problems.
4341         * NEWS: Mention the changes.
4342
4343 2009-08-12  Bruno Haible  <bruno@clisp.org>
4344
4345         Ensure that optarg etc. get declared by <unistd.h>.
4346         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
4347         AC_USE_SYSTEM_EXTENSIONS.
4348         * modules/getopt (Depends-on): Add 'extensions'.
4349
4350 2009-08-12  Bruno Haible  <bruno@clisp.org>
4351
4352         Avoid test link errors.
4353         * modules/pipe-filter-ii-tests (Makefile.am): Define
4354         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
4355         * modules/pipe-filter-gi-tests (Makefile.am): Define
4356         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
4357         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4358
4359 2009-08-12  Bruno Haible  <bruno@clisp.org>
4360
4361         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
4362         gl_GETOPT_SUBSTITUTE before.
4363         (gl_GETOPT): Use it.
4364         * m4/argp.m4 (gl_ARGP): Update.
4365         Reported by Sergey Poznyakoff.
4366
4367         * m4/getopt.m4: Reorder macros.
4368         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
4369         (gl_GETOPT_SUBSTITUTE): Remove macro.
4370
4371 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4372
4373         Minor improvement in gitlog-to-changelog
4374
4375         * build-aux/gitlog-to-changelog: New option `--format' makes
4376         output format string configurable.
4377
4378 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4379
4380         Optimize exclude: use hash tables for non-wildcard patterns.
4381
4382         * lib/exclude.c: Include hash.h and mbuiter.h
4383         (struct exclude_pattern, exclude_segment): New data types.
4384         (struct exclude): Rewrite.
4385         (fnmatch_pattern_has_wildcards): New function.
4386         (new_exclude_segment, free_exclude_segment): New functions.
4387         (excluded_file_pattern_p, excluded_file_name_p): New functions.
4388         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
4389         * lib/exclude.h (is_fnmatch_pattern): New prototype.
4390         * modules/exclude: Depend on hash and mbuiter.
4391
4392         * modules/exclude-tests: New file.
4393         * tests/test-exclude.c: New file.
4394         * tests/test-exclude1.sh: New file.
4395         * tests/test-exclude2.sh: New file.
4396         * tests/test-exclude3.sh: New file.
4397         * tests/test-exclude4.sh: New file.
4398         * tests/test-exclude5.sh: New file.
4399         * tests/test-exclude6.sh: New file.
4400         * tests/test-exclude7.sh: New file.
4401
4402 2009-08-12  Bruno Haible  <bruno@clisp.org>
4403
4404         Ensure that getopt() gets declared by <unistd.h>.
4405         * lib/unistd.in.h: Conditionally include getopt.h.
4406         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
4407         Set GNULIB_UNISTD_H_GETOPT.
4408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4409         GNULIB_UNISTD_H_GETOPT.
4410         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
4411
4412 2009-08-12  Bruno Haible  <bruno@clisp.org>
4413
4414         Clarify logic.
4415         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
4416         gl_replace_getopt instead of GETOPT_H.
4417
4418 2009-08-12  Bruno Haible  <bruno@clisp.org>
4419
4420         * m4/getopt.m4: Add comments.
4421
4422 2009-08-12  Bruno Haible  <bruno@clisp.org>
4423
4424         Disable multithread support by default on Cygwin 1.5.x.
4425         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
4426         set gl_use_threads=no if not specified otherwise.
4427
4428 2009-08-11  Bruno Haible  <bruno@clisp.org>
4429
4430         Avoid compilation error on NetBSD 5.0.
4431         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
4432         * tests/test-stdio.c: Likewise.
4433         * tests/test-stdlib.c: Likewise.
4434         * tests/test-string.c: Likewise.
4435         * tests/test-unistd.c: Likewise.
4436         Reported by Greg Troxel <gdt@ir.bbn.com>
4437         at <https://savannah.gnu.org/support/?106973>.
4438
4439 2009-08-11  Bruno Haible  <bruno@clisp.org>
4440
4441         * modules/dup2-tests (Depends-on): Remove close.
4442
4443         Undo 2009-07-19 commit.
4444         * modules/acl-tests (Depends-on): Remove close.
4445         * modules/binary-io-tests (Depends-on): Likewise.
4446         * modules/closein-tests (Depends-on): Likewise.
4447         * modules/flock-tests (Depends-on): Likewise.
4448         * modules/fsync-tests (Depends-on): Likewise.
4449         * modules/lseek-tests (Depends-on): Likewise.
4450         * modules/pipe-tests (Depends-on): Likewise.
4451         * modules/posix_spawn-tests (Depends-on): Likewise.
4452         * modules/posix_spawnp-tests (Depends-on): Likewise.
4453         * modules/stat-time-tests (Depends-on): Likewise.
4454         * modules/yesno-tests (Depends-on): Likewise.
4455
4456 2009-08-10  Bruno Haible  <bruno@clisp.org>
4457
4458         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
4459
4460 2009-08-10  Bruno Haible  <bruno@clisp.org>
4461
4462         Fix a gcc warning.
4463         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
4464
4465 2009-08-10  Bruno Haible  <bruno@clisp.org>
4466
4467         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
4468         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
4469         not only the first time.
4470         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
4471         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
4472         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
4473         is 1, not only the the first time.
4474
4475 2009-08-10  Bruno Haible  <bruno@clisp.org>
4476
4477         Make it possible to use module 'gethostname' without module 'close'.
4478         * lib/unistd.in.h (close): Evoke a link error only if
4479         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4481         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4482         * modules/unistd (Makefile.am): Substitute
4483         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4484         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
4485         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4486         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4487         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4488         * modules/sys_ioctl (Makefile.am): Substitute
4489         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4490         * modules/socket (configure.ac): On native Windows, set
4491         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
4492         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4493         Reported by Sam Steingold <sds@gnu.org>.
4494
4495 2009-08-10  Bruno Haible  <bruno@clisp.org>
4496
4497         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
4498         * modules/ioctl (configure.ac): Likewise.
4499
4500 2009-08-10  Bruno Haible  <bruno@clisp.org>
4501
4502         Avoid collision between gnulib wrapper and libintl wrapper.
4503         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
4504         already defined in intl/printf.c.
4505         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
4506         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
4507
4508 2009-08-09  Bruno Haible  <bruno@clisp.org>
4509
4510         Make <sys/select.h> really self-contained, also on Solaris 10.
4511         * lib/sys_select.in.h: Include <string.h>.
4512         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
4513         Solaris 10 problem.
4514         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
4515         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
4516         Reported by Jim Meyering.
4517
4518 2009-08-09  Bruno Haible  <bruno@clisp.org>
4519
4520         Avoid warnings from 'aclocal' that are due to a use of macro name
4521         AM_XGETTEXT_OPTION that is not defined in automake.
4522         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
4523         automake.
4524         * modules/error (configure.ac): Likewise.
4525         * modules/propername (configure.ac): Likewise.
4526         * modules/vasprintf (configure.ac): Likewise.
4527         * modules/verror (configure.ac): Likewise.
4528         * modules/xprintf (configure.ac): Likewise.
4529         * modules/xvasprintf (configure.ac): Likewise.
4530
4531 2009-08-08  Bruno Haible  <bruno@clisp.org>
4532
4533         Avoid compilation error in C++ mode.
4534         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
4535         Reported by Sam Steingold <sds@gnu.org>.
4536
4537 2009-08-08  Bruno Haible  <bruno@clisp.org>
4538
4539         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
4540         for the various Unix platforms.
4541         * doc/posix-headers/limits.texi: Update platforms list regarding
4542         HOST_NAME_MAX.
4543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4544
4545 2009-08-07  Jim Meyering  <meyering@redhat.com>
4546
4547         selinux-at: fix typo in a comment
4548         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
4549         Spotted by Paolo Bonzini.
4550
4551         selinux-at: remove redundant m4 code, add documentation
4552         * modules/selinux-at (configure.ac): Remove redundant code.
4553         LIB_SELINUX is already set via the dependent module, selinux-h.
4554         (Include): Add quotes around selinux-at.h.
4555         * lib/selinux-at.h: Add documentation.
4556         Reported by Bruno Haible in
4557         http://marc.info/?l=gnulib-bug&m=124958988300749
4558
4559 2009-08-07  Bruno Haible  <bruno@clisp.org>
4560
4561         Avoid link error on MacOS X 10.3 and 10.4.
4562         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
4563         on non-ELF systems.
4564         * lib/argp-pv.c (argp_program_version): Likewise.
4565         Reported by Simon Josefsson.
4566
4567 2009-08-07  Simon Josefsson  <simon@josefsson.org>
4568
4569         * tests/test-version-etc.sh: Use $EXEEXT.
4570
4571 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
4572
4573         update-copyright: update documentation to point to maint.mk
4574         * build-aux/update-copyright: Here.
4575
4576 2009-08-06  Jim Meyering  <meyering@redhat.com>
4577
4578         maint.mk: support update-copyright-local
4579         * top/maint.mk (update-copyright-local): Define place-holder.
4580         (update-copyright): Depend on $(update-copyright-local).
4581
4582 2009-08-06  Jim Meyering  <meyering@redhat.com>
4583
4584         selinux-at: new module
4585         Initially written for coreutils, this module will soon be
4586         used by findutils, too.
4587         * MODULES.html.sh [Misc]: Add selinux-at.
4588         * lib/selinux-at.h: New file, from coreutils.
4589         * lib/selinux-at.c: Likewise.
4590         * modules/selinux-at: Likewise.
4591         (License): Change from LGPL to GPL, since it depends
4592         on the GPL'd openat module.
4593
4594         doc: update README
4595         * README: Remove references to cogito.
4596         Remove cvs-repo-updating instructions from 2007.
4597         Don't imply that CVS is better if you have limited disk space.
4598
4599 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4600
4601         update-copyright: support C-style comments
4602         * build-aux/update-copyright: Implement and document.
4603         * tests/test-update-copyright.sh: Test.
4604
4605 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4606
4607         update-copyright: support omitted "(C)"
4608         * build-aux/update-copyright: Implement and document.  Also,
4609         allow variable whitespace before "(C)".
4610         * tests/test-update-copyright.sh: Test.
4611
4612 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4613
4614         update-copyright: don't trip on non-FSF copyright statements
4615         * build-aux/update-copyright: Fix so that the first correctly
4616         formatted FSF copyright statement is recognized no matter what
4617         appears before it.  Update documentation.
4618         * tests/test-update-copyright.sh: Test that.
4619
4620 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4621
4622         update-copyright: clean up code a little
4623         * build-aux/update-copyright: Append "_re" to the name of any
4624         variable holding a regular expression.
4625         Replace "old" and "new" with "stmt" in variable names.
4626         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
4627         handled correctly.
4628         Format code more consistently.
4629
4630 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4631
4632         update-copyright-tests: improve portability
4633         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
4634         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
4635
4636 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4637
4638         update-copyright: support @copyright{} and &copy;
4639         * build-aux/update-copyright: Implement and document.
4640         * tests/test-update-copyright.sh: Test.
4641
4642 2009-08-04  Jim Meyering  <meyering@redhat.com>
4643
4644         update-copyright-tests: correctly test EOL=\r\n handling
4645         * tests/test-update-copyright.sh: Put \r at the end of some lines
4646         for the dos-eol tests.  Based on a patch by Joel E. Denny.
4647
4648         maint.mk: make update-copyright exclusion list more configurable
4649         * top/maint.mk (update-copyright): Default to excluding COPYING,
4650         but allow an override, in case someone does want to update that file.
4651
4652         maint.mk: don't update copyright date in COPYING
4653         * top/maint.mk (update-copyright): Exclude COPYING.
4654
4655         maint.mk: add a copyright-updating rule
4656         * top/maint.mk (update-copyright): New rule.
4657         Derived from coreutils/Makefile.am.
4658
4659         update-copyright: rename some variables
4660         * build-aux/update-copyright: Rename a few variables for clarity.
4661         Tweak syntax.  List Joel E. Denny as coauthor.
4662
4663 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4664
4665         update-copyright: fix bug for 2-digit last year and add tests
4666         * build-aux/update-copyright: Fix bug.
4667         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
4668         specified.
4669         * modules/update-copyright-tests: New
4670         * tests/test-update-copyright.sh: New.
4671
4672 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4673
4674         update-copyright: handle leading tabs in line prefix
4675         * build-aux/update-copyright: Count leading tabs as 8 spaces
4676         when computing margin.  This helps with the formatting of
4677         ChangeLogs, for example.
4678         Fix documentation a little.
4679
4680 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4681
4682         update-copyright: support EOL=\r\n
4683         * build-aux/update-copyright: Implement that.
4684
4685 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4686
4687         update-copyright: automatically format copyright statements
4688         * build-aux/update-copyright: Implement that.
4689         Also, be a little more predictable and safer by always failing
4690         when the full copyright format is not perfectly recognized as an
4691         unbroken whole.  Discussed at
4692         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
4693         Rewrite documentation.
4694
4695 2009-08-03  Bruno Haible  <bruno@clisp.org>
4696
4697         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
4698
4699 2009-08-02  Bruno Haible  <bruno@clisp.org>
4700
4701         Tests for module 'uname'.
4702         * modules/uname-tests: New file.
4703         * tests/test-uname.c: New file.
4704
4705         New module 'uname'.
4706         * lib/uname.c: New file.
4707         * m4/uname.m4: New file.
4708         * modules/uname: New file.
4709         * doc/posix-functions/uname.texi: Mention the new module.
4710
4711 2009-08-02  Bruno Haible  <bruno@clisp.org>
4712
4713         Tests for module 'sys_utsname'.
4714         * modules/sys_utsname-tests: New file.
4715         * tests/test-sys_utsname.c: New file.
4716
4717         New module 'sys_utsname'.
4718         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
4719         * m4/sys_utsname_h.m4: New file.
4720         * modules/sys_utsname: New file.
4721         * doc/posix-headers/sys_utsname.texi: Mention the new module.
4722
4723 2009-08-02  Bruno Haible  <bruno@clisp.org>
4724
4725         Implicitly initialize the sockets library.
4726         * lib/gethostname.c: Include sockets.h.
4727         (rpl_gethostname): Invoke gl_sockets_startup.
4728         * lib/socket.c: Include sockets.h.
4729         (rpl_socket): Invoke gl_sockets_startup.
4730         * modules/gethostname (Depends-on): Add sockets.
4731         * modules/socket (Depends-on): Likewise.
4732         * tests/test-poll.c: Don't include sockets.h.
4733         (main): Don't invoke gl_sockets_startup.
4734         * tests/test-select.c: Don't include sockets.h.
4735         (main): Don't invoke gl_sockets_startup.
4736
4737 2009-08-02  Bruno Haible  <bruno@clisp.org>
4738
4739         Allow multiple calls to gl_sockets_startup.
4740         * lib/sockets.c (initialized_sockets_version): New variable.
4741         (gl_sockets_startup): Do nothing if already called for this or a higher
4742         version.
4743         (gl_sockets_cleanup): Reset initialized_sockets_version.
4744
4745 2009-08-03  Simon Josefsson  <simon@josefsson.org>
4746
4747         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
4748         different project/version.
4749
4750 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
4751             Bruno Haible  <bruno@clisp.org>
4752
4753         Tests for module 'pipe-filter-gi'.
4754         * modules/pipe-filter-gi-tests: New file.
4755         * tests/test-pipe-filter-gi1.sh: New file.
4756         * tests/test-pipe-filter-gi1.c: New file.
4757         * tests/test-pipe-filter-gi2.sh: New file.
4758         * tests/test-pipe-filter-gi2-main.c: New file.
4759         * tests/test-pipe-filter-gi2-child.c: New file.
4760
4761         New module 'pipe-filter-gi'.
4762         * lib/pipe-filter-gi.c: New file.
4763         * modules/pipe-filter-gi: New file.
4764
4765 2009-08-02  Bruno Haible  <bruno@clisp.org>
4766             Paolo Bonzini  <bonzini@gnu.org>
4767
4768         Tests for module 'pipe-filter-ii'.
4769         * modules/pipe-filter-ii-tests: New file.
4770         * tests/test-pipe-filter-ii1.sh: New file.
4771         * tests/test-pipe-filter-ii1.c: New file.
4772         * tests/test-pipe-filter-ii2.sh: New file.
4773         * tests/test-pipe-filter-ii2-main.c: New file.
4774         * tests/test-pipe-filter-ii2-child.c: New file.
4775
4776         New module 'pipe-filter-ii'.
4777         * lib/pipe-filter.h: New file.
4778         * lib/pipe-filter-ii.c: New file.
4779         * lib/pipe-filter-aux.h: New file.
4780         * modules/pipe-filter-ii: New file.
4781
4782 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4783
4784         * lib/gc-libgcrypt.c: Change copyright to FSF.
4785         * lib/gc-gnulib.c: Likewise.
4786
4787 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
4788
4789         * lib/gethostname.c: Include limits.h.
4790
4791 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4792             Bruno Haible  <bruno@clisp.org>
4793
4794         Ensure HOST_NAME_MAX as part of the gethostname module.
4795         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
4796         define also HOST_NAME_MAX.
4797         * tests/test-gethostname.c: Include <limits.h>.
4798         (main): Check also HOST_NAME_MAX.
4799         * doc/posix-headers/limits.texi: Document the mingw problem.
4800
4801 2009-08-02  Bruno Haible  <bruno@clisp.org>
4802
4803         * lib/gethostname.c (gethostname): Fix handling of large len argument.
4804         Add comments.
4805
4806 2009-03-31  Simon Josefsson  <simon@josefsson.org>
4807
4808         * lib/gethostname.c: Add Windows wrapper.
4809         * m4/gethostname.m4: Look for gethostname in -lws2_32.
4810         * modules/gethostname: Depend on sys_socket & errno, for also
4811         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
4812         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
4813
4814 2009-07-31  Jim Meyering  <meyering@redhat.com>
4815
4816         getloadavg: fix symbol name in comment
4817         * lib/getloadavg.c: Correct a typo I introduced when adding
4818         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
4819         Matt Kraai spotted the problem.
4820
4821 2009-07-29  Matt Kraai  <mkraai@beckman.com>
4822
4823         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
4824         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
4825         code also if ! defined N_NAME_POINTER.
4826         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
4827         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
4828         but the n_name member is a 12-byte array.
4829
4830 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
4831
4832         update-copyright: generalize comment handling
4833         * build-aux/update-copyright: Handle copyright statements
4834         within more comment styles.
4835         Document usage.
4836         Report any file with an external copyright holder or parse failure.
4837
4838 2009-07-29  Jim Meyering  <meyering@redhat.com>
4839
4840         mktime: correct setting of REPLACE_MKTIME
4841         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
4842
4843         update-copyright: new module
4844         * modules/update-copyright: New file.
4845         * build-aux/update-copyright: New file.
4846         * MODULES.html.sh (maint+release support): Add update-copyright.
4847
4848 2009-07-27  Bruno Haible  <bruno@clisp.org>
4849
4850         Fix compilation error when <ctime> is used and mktime is replaced.
4851         * lib/time.in.h (mktime): New declaration.
4852         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
4853         REPLACE_MKTIME instead of defining mktime in config.h.
4854         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
4855         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
4856         Reported by Ross McFarland <rwmcfa1@neces.com>.
4857
4858 2009-07-27  Bruno Haible  <bruno@clisp.org>
4859
4860         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
4861         Reported by Matt Kraai <mkraai@beckman.com>.
4862
4863 2009-07-25  Jim Meyering  <meyering@redhat.com>
4864
4865         maint.mk: avoid warnings about missing files
4866         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
4867         diagnostic when .prev-version does not exist.
4868         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
4869         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
4870         nonexistent cfg.mk.
4871         Suggestions from Simon Josefsson.
4872
4873 2009-07-25  Bruno Haible  <bruno@clisp.org>
4874
4875         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
4876         defined as macros. Needed on QNX 6.4.1.
4877         Reported by Matt Kraai <mkraai@beckman.com>.
4878
4879 2009-07-23  Jim Meyering  <meyering@redhat.com>
4880
4881         maint.mk: invoke "make dist" with a working value of XZ_OPT
4882         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
4883
4884 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
4885
4886         Make fseeko.c compile on QNX.
4887         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
4888
4889 2009-07-22  Peter Simons  <simons@cryp.to>
4890
4891         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
4892         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
4893         * lib/md4.h: Likewise.
4894         * lib/md5.h: Likewise.
4895         * lib/sha1.h: Likewise.
4896         * lib/sha256.h: Likewise.
4897         * lib/sha512.h: Likewise.
4898
4899         tests-sha1: don't assign literal string to 'char *' variable
4900         * tests/test-sha1.c (main): Declare locals with "const" to match
4901         attributes of the right hand side.
4902
4903 2009-07-21  Eric Blake  <ebb9@byu.net>
4904
4905         dup2: fix more mingw problems
4906         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
4907         fd to itself.
4908         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4909         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
4910         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
4911         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
4912         care of mingw bugs.
4913
4914 2009-07-21  Jim Meyering  <meyering@redhat.com>
4915
4916         vc-list-files: avoid failure when /bin/sh is dash
4917         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
4918         On some Debian based systems, /bin/sh is a symlink to dash, and running
4919         this command would omit the "/" following each 'tests' prefix:
4920           dash -x build-aux/vc-list-files -C . tests
4921         That is because bash and dash work differently:
4922           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
4923           bash ok
4924           dash odd
4925
4926 2009-07-21  Eric Blake  <ebb9@byu.net>
4927
4928         dup2-tests: test previous patch
4929         * modules/dup2-tests: New file.
4930         * tests/test-dup2.c: Likewise.
4931         * tests/test-open.c (main): Avoid unspecified behavior.
4932         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
4933         test.
4934
4935         dup2: work around mingw and cygwin 1.5 bug
4936         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
4937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4938         * modules/unistd (Makefile.am): Substitute it.
4939         * lib/unistd.in.h (dup2): Declare the replacement.
4940         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
4941         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
4942         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
4943         * modules/execute (Depends-on): Add dup2.
4944         * modules/fseterr (Depends-on): Likewise.
4945         * modules/pipe (Depends-on): Likewise.
4946         * modules/posix_spawn-internal (Depends-on): Likewise.
4947
4948 2009-07-21  Bruno Haible  <bruno@clisp.org>
4949
4950         * modules/.gitattributes: New file.
4951
4952 2009-07-20  Bruno Haible  <bruno@clisp.org>
4953
4954         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
4955         (main): Use it.
4956
4957 2009-07-20  Eric Blake  <ebb9@byu.net>
4958
4959         test-pipe: make a bit more robust.
4960         * tests/test-pipe.c (myerr): Allow error messages regardless of
4961         what we do to stderr.
4962         (test_pipe): Rearrange to avoid deadlock.
4963         (child_main): Try a larger read, to ensure we avoided deadlock.
4964         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
4965         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
4966         if misused.
4967
4968 2009-07-19  Jim Meyering  <meyering@redhat.com>
4969
4970         fts: avoid false-positive cycle-detection
4971         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
4972         for each new command line argument.
4973
4974 2009-07-19  Bruno Haible  <bruno@clisp.org>
4975
4976         Fix build error on mingw with the modules sys_select and unistd.
4977         * modules/acl-tests (Depends-on): Add close.
4978         * modules/binary-io-tests (Depends-on): Likewise.
4979         * modules/closein-tests (Depends-on): Likewise.
4980         * modules/flock-tests (Depends-on): Likewise.
4981         * modules/fsync-tests (Depends-on): Likewise.
4982         * modules/lseek-tests (Depends-on): Likewise.
4983         * modules/pipe-tests (Depends-on): Likewise.
4984         * modules/posix_spawn-tests (Depends-on): Likewise.
4985         * modules/posix_spawnp-tests (Depends-on): Likewise.
4986         * modules/stat-time-tests (Depends-on): Likewise.
4987         * modules/yesno-tests (Depends-on): Likewise.
4988
4989 2009-07-19  Bruno Haible  <bruno@clisp.org>
4990
4991         Unify conditionals.
4992         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
4993         macros, not at the compiler macros.
4994         * lib/pipe.c: Likewise.
4995         * lib/execute.c: Likewise.
4996         * lib/spawni.c: Likewise.
4997
4998 2009-07-19  Bruno Haible  <bruno@clisp.org>
4999
5000         Fix handling of closed stdin/stdout/stderr on mingw.
5001         * lib/w32spawn.h: Include unistd.h.
5002         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
5003         file descriptor with O_NOINHERIT flag.
5004         (fd_safer_noinherit): New function, based on fd-safer.c.
5005         (dup_safer_noinherit): New function, based on dup-safer.c.
5006         (undup_safer_noinherit): New function.
5007         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
5008         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
5009         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
5010         instead of fd_safer.
5011         * tests/test-pipe.c: Include <windows.h>.
5012         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
5013
5014         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
5015         from main.
5016         (test_pipe): Pass an extra argument for disambiguation.
5017         (main): Invoke parent_main or child_main.
5018
5019         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
5020         consistently.
5021
5022 2009-07-18  Eric Blake  <ebb9@byu.net>
5023
5024         test-pipe: fix mingw build
5025         * tests/test-pipe.c (main): Avoid fcntl on mingw.
5026
5027 2009-07-18  Bruno Haible  <bruno@clisp.org>
5028
5029         * modules/pipe-tests (Makefile.am): Fix typo.
5030
5031 2009-07-18  Eric Blake  <ebb9@byu.net>
5032
5033         error: fix mingw build
5034         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
5035         Reported by Bruno Haible.
5036
5037         error: avoid undefined use of stdout
5038         * lib/error.c (error, error_at_line): Check that fd 1 is open
5039         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
5040         is handling faults and the close_stdout module wants to report the
5041         detection of closed stdout as an error.
5042
5043 2009-07-17  Eric Blake  <ebb9@byu.net>
5044
5045         pipe: be robust in face of closed fds
5046         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
5047         should cause child to misbehave.
5048         * modules/pipe-tests: New module.
5049         * tests/test-pipe.c: New file.
5050         * tests/test-pipe.sh: New file.
5051         Reported by Akim Demaille.
5052
5053 2009-07-14  Bruno Haible  <bruno@clisp.org>
5054
5055         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
5056         Reported by anonymous kc.
5057
5058 2009-07-07  Jim Meyering  <meyering@redhat.com>
5059
5060         maint.mk: don't look for translatable strings in *.m4 or *.mk
5061         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
5062         when searching for translatable strings.
5063
5064 2009-07-05  Jim Meyering  <meyering@redhat.com>
5065
5066         remove superfluous parentheses in STREQ definition
5067         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
5068         * lib/getugroups.c (STREQ): Likewise.
5069         * lib/fnmatch.c (STREQ): Likewise.
5070         Spotted by Bruno Haible.
5071
5072 2009-07-04  Jim Meyering  <meyering@redhat.com>
5073
5074         argv-iter: new module
5075         * MODULES.html.sh: Add argv-iter.
5076         * lib/argv-iter.c, lib/argv-iter.h: New files.
5077         * modules/argv-iter: New file.
5078         * modules/argv-iter-tests: New file.
5079         * tests/test-argv-iter.c: Test it.
5080
5081 2009-07-04  Bruno Haible  <bruno@clisp.org>
5082
5083         Fix assertion.
5084         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
5085         contains more exact copies of a given entry than file2, leave the extra
5086         copies unpaired rather than aborting.
5087         Reported by Eric Blake.
5088
5089 2009-07-02  Bruno Haible  <bruno@clisp.org>
5090
5091         Speedup git-merge-changelog for git cherry-pick.
5092         * lib/git-merge-changelog.c (struct entries_mapping): New type.
5093         (entries_mapping_get): New function, extracted from compute_mapping.
5094         (entries_mapping_reverse_get): New function.
5095         (compute_mapping): Add a 'full' argument. Return the result in a
5096         'struct entries_mapping'.
5097         (main): Update. Access the mappings through entries_mapping_get.
5098         Reported by Eric Blake.
5099
5100 2009-07-02  Bruno Haible  <bruno@clisp.org>
5101
5102         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
5103         best_i.
5104
5105 2009-07-02  Bruno Haible  <bruno@clisp.org>
5106
5107         Speed up approximate search for matching ChangeLog entries.
5108         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
5109         argument. Call fstrcmp_bounded instead of fstrcmp.
5110         (compute_mapping, try_split_merged_entry, main): Update callers.
5111
5112 2009-07-02  Bruno Haible  <bruno@clisp.org>
5113
5114         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
5115
5116 2009-06-30  Bruno Haible  <bruno@clisp.org>
5117
5118         Reduce the number of uc_is_cased calls.
5119         * lib/unicase.h (casing_suffix_context_t): Add
5120         'first_char_except_ignorable' field.
5121         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
5122         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
5123         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
5124         Update initializer.
5125         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
5126         case-ignorable characters.
5127         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
5128         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
5129         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
5130         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
5131         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
5132
5133 2009-06-30  Bruno Haible  <bruno@clisp.org>
5134
5135         Tests for module 'unicase/ignorable'.
5136         * modules/unicase/ignorable-tests: New file.
5137         * tests/unicase/test-ignorable.c: New file, generated by
5138         gen-uni-tables.
5139
5140         Tests for module 'unicase/cased'.
5141         * modules/unicase/cased-tests: New file.
5142         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
5143         * tests/unicase/test-predicate-part1.h: New file, derived from
5144         tests/unictype/test-predicate-part1.h.
5145         * tests/unicase/test-predicate-part2.h: New file, same as
5146         tests/unictype/test-predicate-part2.h.
5147
5148         Fix evaluation of "Before C" condition of FINAL_SIGMA.
5149         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
5150         (output_casing_properties): New function.
5151         (main): Call it.
5152         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
5153         * lib/unicase/cased.c: Include unictype/bitmap.h.
5154         (uc_is_cased): Define through a bitmap lookup.
5155         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
5156         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
5157         (uc_is_case_ignorable): Define through a bitmap lookup.
5158         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
5159         lib/unictype/bitmap.h.
5160         (Depends-on): Add inline. Clean up.
5161         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
5162         lib/unictype/bitmap.h.
5163         (Depends-on): Add inline. Clean up.
5164         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
5165         recognition.
5166         * tests/unicase/test-u16-tolower.c (main): Likewise.
5167         * tests/unicase/test-u32-tolower.c (main): Likewise.
5168
5169 2009-06-30  Bruno Haible  <bruno@clisp.org>
5170
5171         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
5172         * lib/unicase/u16-casemap.c: Likewise.
5173         * lib/unicase/u32-casemap.c: Likewise.
5174
5175 2009-06-29  Bruno Haible  <bruno@clisp.org>
5176
5177         Define u32_casefold as a wrapper around u32_ct_casefold.
5178         * lib/unicase/u32-casefold.c: Update.
5179         * modules/unicase/u32-casefold (Depends-on): Add
5180         unicase/u32-ct-casefold, unicase/empty-prefix-context,
5181         unicase/empty-suffix-context. Clean up.
5182
5183         Define u16_casefold as a wrapper around u16_ct_casefold.
5184         * lib/unicase/u16-casefold.c: Update.
5185         * modules/unicase/u16-casefold (Depends-on): Add
5186         unicase/u16-ct-casefold, unicase/empty-prefix-context,
5187         unicase/empty-suffix-context. Clean up.
5188
5189         Define u8_casefold as a wrapper around u8_ct_casefold.
5190         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
5191         * lib/unicase/u8-casefold.c: Update.
5192         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
5193         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5194
5195         Define u32_totitle as a wrapper around u32_ct_totitle.
5196         * lib/unicase/u32-totitle.c: Update.
5197         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
5198         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5199
5200         Define u16_totitle as a wrapper around u16_ct_totitle.
5201         * lib/unicase/u16-totitle.c: Update.
5202         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
5203         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5204
5205         Define u8_totitle as a wrapper around u8_ct_totitle.
5206         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
5207         functions.
5208         (FUNC): Delegate to U_CT_TOTITLE.
5209         * lib/unicase/u8-totitle.c: Update.
5210         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
5211         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5212
5213         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
5214         invocation.
5215         * modules/unicase/u32-tolower (Depends-on): Add
5216         unicase/empty-prefix-context, unicase/empty-suffix-context.
5217
5218         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
5219         invocation.
5220         * modules/unicase/u16-tolower (Depends-on): Add
5221         unicase/empty-prefix-context, unicase/empty-suffix-context.
5222
5223         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
5224         * modules/unicase/u8-tolower (Depends-on): Add
5225         unicase/empty-prefix-context, unicase/empty-suffix-context.
5226
5227         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
5228         invocation.
5229         * modules/unicase/u32-toupper (Depends-on): Add
5230         unicase/empty-prefix-context, unicase/empty-suffix-context.
5231
5232         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
5233         invocation.
5234         * modules/unicase/u16-toupper (Depends-on): Add
5235         unicase/empty-prefix-context, unicase/empty-suffix-context.
5236
5237         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
5238         * modules/unicase/u8-toupper (Depends-on): Add
5239         unicase/empty-prefix-context, unicase/empty-suffix-context.
5240
5241         New module 'unicase/u32-ct-casefold'.
5242         * lib/unicase/u32-ct-casefold.c: New file.
5243         * modules/unicase/u32-ct-casefold: New file.
5244
5245         New module 'unicase/u16-ct-casefold'.
5246         * lib/unicase/u16-ct-casefold.c: New file.
5247         * modules/unicase/u16-ct-casefold: New file.
5248
5249         New module 'unicase/u8-ct-casefold'.
5250         * lib/unicase/u8-ct-casefold.c: New file.
5251         * lib/unicase/u-ct-casefold.h: New file, derived from
5252         lib/unicase/u-casefold.h.
5253         * modules/unicase/u8-ct-casefold: New file.
5254
5255         New module 'unicase/u32-ct-totitle'.
5256         * lib/unicase/u32-ct-totitle.c: New file.
5257         * modules/unicase/u32-ct-totitle: New file.
5258
5259         New module 'unicase/u16-ct-totitle'.
5260         * lib/unicase/u16-ct-totitle.c: New file.
5261         * modules/unicase/u16-ct-totitle: New file.
5262
5263         New module 'unicase/u8-ct-totitle'.
5264         * lib/unicase/u8-ct-totitle.c: New file.
5265         * lib/unicase/u-ct-totitle.h: New file, derived from
5266         lib/unicase/u-totitle.h.
5267         * modules/unicase/u8-ct-totitle: New file.
5268
5269         New module 'unicase/u32-ct-tolower'.
5270         * lib/unicase/u32-ct-tolower.c: New file.
5271         * modules/unicase/u32-ct-tolower: New file.
5272
5273         New module 'unicase/u16-ct-tolower'.
5274         * lib/unicase/u16-ct-tolower.c: New file.
5275         * modules/unicase/u16-ct-tolower: New file.
5276
5277         New module 'unicase/u8-ct-tolower'.
5278         * lib/unicase/u8-ct-tolower.c: New file.
5279         * modules/unicase/u8-ct-tolower: New file.
5280
5281         New module 'unicase/u32-ct-toupper'.
5282         * lib/unicase/u32-ct-toupper.c: New file.
5283         * modules/unicase/u32-ct-toupper: New file.
5284
5285         New module 'unicase/u16-ct-toupper'.
5286         * lib/unicase/u16-ct-toupper.c: New file.
5287         * modules/unicase/u16-ct-toupper: New file.
5288
5289         New module 'unicase/u8-ct-toupper'.
5290         * lib/unicase/u8-ct-toupper.c: New file.
5291         * modules/unicase/u8-ct-toupper: New file.
5292
5293         Add context arguments to u*_casemap functions.
5294         * lib/unicase/unicasemap.h: Include unicase.h.
5295         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
5296         suffix_context arguments.
5297         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
5298         functions.
5299         (FUNC): Add prefix_context and suffix_context arguments. Use
5300         uc_is_cased and uc_is_case_ignorable.
5301         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
5302         * lib/unicase/u16-casemap.c: Likewise.
5303         * lib/unicase/u32-casemap.c: Likewise.
5304         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
5305         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5306         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
5307         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5308         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
5309         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5310
5311         New module 'unicase/u32-suffix-context'.
5312         * lib/unicase/u32-suffix-context.c: New file.
5313         * modules/unicase/u32-suffix-context: New file.
5314
5315         New module 'unicase/u16-suffix-context'.
5316         * lib/unicase/u16-suffix-context.c: New file.
5317         * modules/unicase/u16-suffix-context: New file.
5318
5319         New module 'unicase/u8-suffix-context'.
5320         * lib/unicase/u8-suffix-context.c: New file.
5321         * lib/unicase/u-suffix-context.h: New file.
5322         * modules/unicase/u8-suffix-context: New file.
5323
5324         New module 'unicase/empty-suffix-context'.
5325         * lib/unicase/empty-suffix-context.c: New file.
5326         * modules/unicase/empty-suffix-context: New file.
5327
5328         New module 'unicase/u32-prefix-context'.
5329         * lib/unicase/u32-prefix-context.c: New file.
5330         * modules/unicase/u32-prefix-context: New file.
5331
5332         New module 'unicase/u16-prefix-context'.
5333         * lib/unicase/u16-prefix-context.c: New file.
5334         * modules/unicase/u16-prefix-context: New file.
5335
5336         New module 'unicase/u8-prefix-context'.
5337         * lib/unicase/u8-prefix-context.c: New file.
5338         * lib/unicase/u-prefix-context.h: New file.
5339         * lib/unicase/context.h: New file.
5340         * modules/unicase/u8-prefix-context: New file.
5341
5342         New module 'unicase/empty-prefix-context'.
5343         * lib/unicase/empty-prefix-context.c: New file.
5344         * modules/unicase/empty-prefix-context: New file.
5345
5346         New module 'unicase/ignorable'.
5347         * lib/unicase/ignorable.c: New file.
5348         * modules/unicase/ignorable: New file.
5349
5350         New module 'unicase/cased'.
5351         * lib/unicase/caseprop.h: New file.
5352         * lib/unicase/cased.c: New file.
5353         * modules/unicase/cased: New file.
5354
5355         New functions for case mapping of substrings.
5356         * lib/unicase.h (casing_prefix_context_t): New type.
5357         (unicase_empty_prefix_context): New variable.
5358         (u8_casing_prefix_context, u16_casing_prefix_context,
5359         u32_casing_prefix_context, u8_casing_prefixes_context,
5360         u16_casing_prefixes_context, u32_casing_prefixes_context): New
5361         declarations.
5362         (casing_suffix_context_t): New type.
5363         (unicase_empty_suffix_context): New variable.
5364         (u8_casing_suffix_context, u16_casing_suffix_context,
5365         u32_casing_suffix_context, u8_casing_suffixes_context,
5366         u16_casing_suffixes_context, u32_casing_suffixes_context,
5367         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
5368         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
5369         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
5370         declarations.
5371
5372 2009-06-28  Jim Meyering  <meyering@redhat.com>
5373
5374         boostrap: indent only with spaces
5375         * build-aux/bootstrap: Indent only with spaces, never TABs.
5376
5377         bootstrap: split long lines
5378         * build-aux/bootstrap: Keep line length < 80.
5379
5380         bootstrap: sync from coreutils
5381         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
5382         just as autoreconf does.  Verify a list of prerequisite
5383         package-name,version-number pairs if defined in bootstrap.conf.
5384         Refer to README-prereq, if prerequisites are not satisfied.
5385
5386 2009-06-27  Eric Blake  <ebb9@byu.net>
5387
5388         tests: add test for bogus NULL definition
5389         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
5390         * tests/test-stdlib.c: Likewise.
5391         * tests/test-string.c: Likewise.
5392         * tests/test-locale.c: Likewise.
5393         * tests/test-unistd.c: Likewise.
5394         * modules/stdio-tests (Depends-on): Add verify.
5395         * modules/stdlib-tests (Depends-on): Likewise.
5396         * modules/string-tests (Depends-on): Likewise.
5397         * modules/locale-tests (Depends-on): Likewise.
5398         * modules/unistd-tests (Depends-on): Likewise.
5399
5400 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
5401
5402         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
5403         self-explaining comment.
5404         * m4/selinux-selinux-h: Update serial.
5405         (gl_LIBSELINUX): New macro, adding a warning for missing development
5406         packages to code extracted from...
5407         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
5408         Add warning for missing development packages here, too.
5409
5410 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
5411
5412         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
5413
5414 2009-06-25  Eric Blake  <ebb9@byu.net>
5415
5416         version-etc: fix regression
5417         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
5418         gcc.
5419         (version_etc): Use it, to catch bugs with trailing NULL.
5420         * lib/version-etc.c (version_etc_arn): Delete unused argument.
5421         (version_etc_va): Fix logic bug.
5422         * modules/version-etc-tests: Add test.
5423         * tests/test-version-etc.c: New file.
5424         * tests/test-version-etc.sh: Likewise.
5425
5426 2009-06-25  Sam Steingold  <sds@gnu.org>
5427
5428         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
5429         mbtowc declaration.
5430
5431 2009-06-25  Eric Blake  <ebb9@byu.net>
5432
5433         fpurge: migrate into <stdio.h>
5434         * lib/fpurge.h: Delete...
5435         * lib/stdio.in.h (fpurge): ...and declare here, instead.
5436         * lib/fpurge.c (fpurge): Change declaring header.
5437         * modules/fpurge (Files): Drop deleted file.
5438         (Depends-on): Add stdio.
5439         (configure.ac): Set witness.
5440         * modules/stdio (Makefile.am): Support fpurge macros.
5441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5442         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
5443         * lib/fflush.c: Update client.
5444         * tests/test-fpurge.c: Likewise.
5445         * NEWS: Mention the change.
5446
5447 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5448
5449         * lib/argp-version-etc.c (program_authors): Add const
5450         qualifier.
5451         * lib/version-etc.c: Fix typos in the comments.
5452         * modules/argp-version-etc: Depends on version-etc.
5453
5454 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5455
5456         argp-version-etc: new module.
5457
5458         * lib/argp-version-etc.c: New file.
5459         * lib/argp-version-etc.h: New file.
5460         * modules/argp-version-etc: New file.
5461         * modules/argp-version-etc-tests: New file.
5462         * tests/test-argp-version-etc.c: New test.
5463         * tests/test-argp-version-etc-1.sh: New test.
5464
5465 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5466
5467         Provide additional interfaces and documentation for version-etc
5468         module.
5469
5470         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
5471         interfaces.
5472         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
5473         prototypes.
5474
5475 2009-06-24  Bruno Haible  <bruno@clisp.org>
5476
5477         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
5478         HAVE_LIB${NAME} macro.
5479         Reported by Sam Steingold <sds@gnu.org>.
5480
5481 2009-06-23  Simon Josefsson  <simon@josefsson.org>
5482
5483         * modules/hash-tests (test_hash_LDADD): Link to libintl when
5484         needed.
5485
5486 2009-06-21  Bruno Haible  <bruno@clisp.org>
5487
5488         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
5489         work.
5490         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
5491         together with LIB${NAME}, LTLIB${NAME}.
5492         Reported by Sam Steingold <sds@gnu.org>.
5493
5494 2009-06-20  Jim Meyering  <meyering@redhat.com>
5495
5496         tests: make sc_require_test_exit_idiom more generic
5497         * top/maint.mk (Exit_witness_file): New overridable variable.
5498         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
5499         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
5500
5501 2009-06-19  Jim Meyering  <meyering@redhat.com>
5502
5503         hash: reverse order of src/dst parameters in an internal interface
5504         * lib/hash.c (transfer_entries): Reverse order of parameters to
5505         put DST before SRC.  Adjust callers.
5506
5507         tests: test-hash: avoid wholesale duplication
5508         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
5509         Instead, use a loop and add a single conditional.
5510
5511         tests: test-hash: allow seed selection via a command line argument
5512         * tests/test-hash.c (get_seed): New function.
5513         (main): Use it.
5514
5515 2009-06-19  Eric Blake  <ebb9@byu.net>
5516
5517         hash: avoid memory leak on allocation failure
5518         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
5519         failure.  Factor repeated algorithm...
5520         (transfer_entries): ...into new helper routine.
5521         (hash_delete): React to hash_rehash return value.
5522
5523         hash: reduce memory pressure in hash_rehash no-op case
5524         * lib/hash.c (next_prime): Avoid overflow.
5525         (hash_initialize): Factor bucket size computation...
5526         (compute_bucket_size): ...into new helper function.
5527         (hash_rehash): Use new function and open coding to reduce memory
5528         pressure, and avoid a memory leak in USE_OBSTACK code.
5529         Reported by Jim Meyering.
5530
5531 2009-06-18  Eric Blake  <ebb9@byu.net>
5532
5533         hash: make rotation more obvious
5534         * modules/hash (Depends-on): Add bitrotate and stdint.
5535         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
5536         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
5537         (SIZE_MAX): Rely on headers for definition.
5538         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
5539         (raw_hasher): Use rotr_sz.
5540         Suggested by Jim Meyering.
5541
5542         hash: fix memory leak in last patch
5543         * lib/hash.c (hash_rehash): Avoid memory leak.
5544
5545         hash: avoid no-op rehashing
5546         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
5547
5548         hash: provide default callback functions
5549         * lib/hash.c (raw_hasher, raw_comparator): New functions.
5550         (hash_initialize): Use them as defaults.
5551         * tests/test-hash.c (main): Test this.
5552
5553         hash: minor optimization
5554         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
5555         when possible.
5556         (hash_initialize): Document this promise.
5557         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
5558         * tests/test-hash.c (hash_compare_strings): Test this.
5559
5560 2009-06-18  Bruno Haible  <bruno@clisp.org>
5561
5562         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
5563         going to be replaced anyway.
5564
5565 2009-06-18  Bruno Haible  <bruno@clisp.org>
5566
5567         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
5568         in one place.
5569         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
5570         be replaced anyway.
5571
5572 2009-06-18  Eric Blake  <ebb9@byu.net>
5573
5574         hash: check for resize before insertion
5575         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
5576         threshold before insertion, so that a pathological hash_rehash
5577         that fills every bucket can still trigger another rehash.
5578
5579 2009-06-18  Jim Meyering  <meyering@redhat.com>
5580
5581         hash-tests: add a loop around the small tests
5582         * tests/test-hash.c (main): Repeat small tests with selected
5583         small initial table sizes.
5584
5585 2009-06-17  Eric Blake  <ebb9@byu.net>
5586
5587         hash: minor cleanups
5588         * lib/hash.h (hash_entry): Make opaque, by moving...
5589         * lib/hash.c (hash_entry): ...here.
5590         (hash_insert): Clarify restrictions on what can be inserted.
5591         (hash_get_next): Clarify when it is safe to remove an element
5592         during traversal.
5593         (check_tuning): Skip verification when tuning is known safe.
5594         (hash_initialize): Clarify restrictions on tuning.
5595
5596 2009-06-17  Jim Meyering  <jim@meyering.net>
5597         and Eric Blake  <ebb9@byu.net>
5598
5599         hash-tests: new module
5600         * modules/hash-tests: New file.
5601         * tests/test-hash.c: New file.
5602
5603 2009-06-17  Eric Blake  <ebb9@byu.net>
5604
5605         strstr-simple: document new module
5606         * MODULES.html.sh: Document new module.
5607
5608         strstr, strcasestr: replace on platforms with broken memchr
5609         * modules/strstr: Split into...
5610         * modules/strstr-simple: ...new module that does not care about
5611         performance, but does care about glibc bug.
5612         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
5613         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
5614         if platform memchr is broken, per Debian bug 521737.
5615         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
5616         memchr.
5617         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
5618         * doc/posix-functions/strstr.texi (strstr): Document the fix.
5619         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5620         * modules/mountlist (Depends-on): Add strstr-simple.
5621         * modules/gen-uni-tables (Depends-on): Likewise.
5622         * modules/argz (Depends-on): Add strstr.
5623
5624 2009-06-17  Bruno Haible  <bruno@clisp.org>
5625
5626         * modules/posix_spawn-internal (Depends-on): Add errno.
5627
5628 2009-06-17  Bruno Haible  <bruno@clisp.org>
5629
5630         Define missing ESTALE on Interix 3.5.
5631         * lib/errno.in.h (ESTALE): Assign a value if missing.
5632         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
5633         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
5634         missing.
5635         * doc/posix-headers/errno.texi: Mention the Interix bug.
5636         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
5637
5638 2009-06-15  Eric Blake  <ebb9@byu.net>
5639
5640         memchr, memchr2: add valgrind exception
5641         * lib/memchr.valgrind: New file.
5642         * lib/memchr2.valgrind: New file.
5643         * modules/memchr (Files): Distribute valgrind file.
5644         * modules/memchr2 (Files): Likewise.
5645
5646         docs: memchr is no longer obsolete
5647         * MODULES.html.sh: Move memchr from obsolete to string.h section.
5648         * lib/string.in.h (memchr): Simplify logic.
5649
5650 2009-06-14  Jim Meyering  <meyering@redhat.com>
5651
5652         link-follow: fix the "checking..." message to not mention trailing slash
5653         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
5654         never considered trailing slashes.
5655
5656 2009-06-14  Bruno Haible  <bruno@clisp.org>
5657
5658         * m4/memchr.m4: Mention also the bug on IA-64.
5659         * doc/posix-functions/memchr.texi: Likewise.
5660
5661 2009-06-12  Eric Blake  <ebb9@byu.net>
5662
5663         memchr: detect broken x86_64 and alpha implementations
5664         * modules/memchr-tests (Depends-on): Move mmap detection...
5665         * modules/memchr (Depends-on): ...here.
5666         (configure.ac): Set indicator.
5667         * lib/string.in.h (memchr): Declare replacement.
5668         * modules/string (Makefile.am): Trigger replacement.
5669         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
5670         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
5671         bugs.
5672         * doc/posix-functions/memchr.texi (memchr): Document the bug.
5673         * modules/getpagesize (License): Relax license.
5674
5675 2009-06-11  Bruno Haible  <bruno@clisp.org>
5676
5677         * lib/idpriv.h: Add more references.
5678
5679 2009-06-08  Bruno Haible  <bruno@clisp.org>
5680
5681         Tests for module 'idpriv-droptemp'.
5682         * modules/idpriv-droptemp-tests: New file.
5683         * tests/test-idpriv-droptemp.sh: New file.
5684         * tests/test-idpriv-droptemp.su.sh: New file.
5685         * tests/test-idpriv-droptemp.c: New file.
5686
5687         New module 'idpriv-droptemp'.
5688         * lib/idpriv-droptemp.c: New file.
5689         * modules/idpriv-droptemp: New file.
5690
5691 2009-06-08  Bruno Haible  <bruno@clisp.org>
5692
5693         Tests for module 'idpriv-drop'.
5694         * modules/idpriv-drop-tests: New file.
5695         * tests/test-idpriv-drop.sh: New file.
5696         * tests/test-idpriv-drop.su.sh: New file.
5697         * tests/test-idpriv-drop.c: New file.
5698
5699         New module 'idpriv-drop'.
5700         * lib/idpriv.h: New file.
5701         * lib-idpriv-drop.c: New file.
5702         * m4/idpriv.m4: New file.
5703         * modules/idpriv-drop: New file.
5704
5705 2009-06-08  Bruno Haible  <bruno@clisp.org>
5706
5707         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
5708         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
5709         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
5710         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
5711         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
5712         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
5713         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
5714
5715 2009-06-08  Eric Blake  <ebb9@byu.net>
5716
5717         test-strstr: use memory fence, when possible
5718         * tests/test-strstr.c (main): Use memory fence, in order to be
5719         more likely to trigger Debian bug 521737.
5720         * modules/strstr-tests (Files): Pull in additional files.
5721
5722         memchr: no longer obsolete, for wider field testing
5723         * modules/memchr (Status, Notice): Delete, this module is no
5724         longer obsolete.
5725         * modules/vasnprintf (Depends-on): Add memchr.
5726
5727 2009-06-07  Jim Meyering  <meyering@redhat.com>
5728
5729         hash: declare some functions with the warn_unused_result attribute
5730         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
5731
5732 2009-06-07  Bruno Haible  <bruno@clisp.org>
5733
5734         * tests/test-alignof.c: Don't test int64_t if it does not exist.
5735         Reported by Eric Blake.
5736
5737 2009-06-06  Eric Blake  <ebb9@byu.net>
5738
5739         test-alignof: fix typo with long double
5740         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
5741         compiler error.
5742
5743 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
5744
5745         Escape non-texinfo { and }s.
5746         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
5747         markup error.
5748
5749 2009-06-04  Jim Meyering  <meyering@redhat.com>
5750
5751         gitlog-to-changelog: don't infloop on an empty commit log
5752         * build-aux/gitlog-to-changelog: Warn about an empty log message.
5753         Reported by Boris Petersen <transacid@centerim.org>.
5754
5755 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
5756
5757         version-etc: extend for packagers
5758         Add three new configure options, intended for packagers:
5759           --with-packager="packager name"
5760           --with-packager-version="packager-specific version"
5761           --with-packager-bug-reports="packager bug reporting"
5762         An example with coreutils:
5763           $ ./configure \
5764             --with-packager=Gentoo \
5765             --with-packager-bug-report=http://bugs.gentoo.org/ \
5766             --with-packager-version="patchset 1.6"
5767           $ ./src/ls --version | head -n3
5768           ls (GNU coreutils) 7.1-dirty
5769           Packaged by Gentoo (patchset 1.6)
5770           Copyright (C) 2009 Free Software Foundation, Inc.
5771         Note that the bug reporting info via --help doesn't show up because
5772         coreutils uses its own custom emit_bug_reporting_address() implementation
5773         in src/system.h.  If it didn't, it'd look like:
5774           $ ./src/ls --help | tail -n4
5775           Report bugs to <bug-coreutils@gnu.org>.
5776           Report Gentoo bugs to <http://bugs.gentoo.org/>.
5777           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
5778           General help using GNU software: <http://www.gnu.org/gethelp/>.
5779         * lib/version-etc.c: Print new information, if provided.
5780         * m4/version-etc.m4: New file.
5781         * modules/version-etc (Files): Add m4/version-etc.m4.
5782         (configure.ac): Add gl_VERSION_ETC.
5783
5784 2009-05-31  Bruno Haible  <bruno@clisp.org>
5785
5786         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
5787         and 'int64_t'.
5788         * modules/alignof-tests (Dependencies): Add stdint.
5789         Reported by Eric Blake.
5790
5791 2009-05-31  Bruno Haible  <bruno@clisp.org>
5792
5793         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
5794         restriction due to compiler bugs.
5795         Reported by Eric Blake.
5796
5797 2009-05-31  Simon Josefsson  <simon@josefsson.org>
5798             Bruno Haible  <bruno@clisp.org>
5799
5800         Fix test-alignof failure.
5801         * lib/alignof.h (alignof_slot): New macro.
5802         (alignof_type): New macro, with the same semantics as the previous
5803         'alignof'.
5804         (alignof): Alias to alignof_slot.
5805         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
5806         check that the results are usable as constant expressions.
5807
5808 2009-05-31  Bruno Haible  <bruno@clisp.org>
5809
5810         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
5811         * tests/test-memchr.c (main): Check that memchr does not read past the
5812         first occurrence of the byte.
5813         * tests/test-strstr.c (main): Update comment.
5814         Suggested by Eric Blake.
5815
5816 2009-05-30  Bruno Haible  <bruno@clisp.org>
5817
5818         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
5819         detail how to use dumpbin.
5820         Reported by David Byron <dbyron@dbyron.com>.
5821
5822 2009-06-02  Simon Josefsson  <simon@josefsson.org>
5823
5824         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
5825
5826 2009-06-02  Simon Josefsson  <simon@josefsson.org>
5827
5828         * m4/manywarnings.m4: Add GCC 4.4 warnings.
5829
5830 2009-05-28  Bruno Haible  <bruno@clisp.org>
5831
5832         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
5833         build-aux/ files.
5834
5835 2009-05-28  Simon Josefsson  <simon@josefsson.org>
5836
5837         * gnulib-tool (func_import): Transform license on build-aux/ files too.
5838
5839 2009-05-27  Simon Josefsson  <simon@josefsson.org>
5840
5841         * gnulib-tool (sed_transform_main_lib_file)
5842         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
5843         regexps.
5844
5845 2009-05-26  Simon Josefsson  <simon@josefsson.org>
5846
5847         * tests/test-strstr.c: Add another self-test.
5848         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
5849         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
5850
5851 2009-05-23  Bruno Haible  <bruno@clisp.org>
5852
5853         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
5854         change.
5855
5856 2009-05-21  Bruno Haible  <bruno@clisp.org>
5857
5858         Simplify use of mode_t varargs.
5859         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
5860         uses 'mode_t' or 'int'.
5861         * lib/openat.c (openat): Likewise.
5862         * lib/open-safer.c (open_safer): Likewise.
5863         * m4/mode_t.m4: New file.
5864         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
5865         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
5866         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
5867         * modules/open (Files): Add m4/mode_t.m4.
5868         * modules/openat (Files): Likewise.
5869         * modules/fcntl-safer (Files): Likewise.
5870         Suggested by Eric Blake.
5871
5872 2009-05-21  Pádraig Brady  <P@draigbrady.com>
5873
5874         * doc/glibc-functions/fallocate.texi: New file.
5875         * doc/gnulib.texi: Include it.
5876
5877 2009-05-21  Eric Blake  <ebb9@byu.net>
5878             Bruno Haible  <bruno@clisp.org>
5879
5880         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
5881         invocations.
5882         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
5883
5884 2009-05-21  Eric Blake  <ebb9@byu.net>
5885             Bruno Haible  <bruno@clisp.org>
5886
5887         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
5888         include_next. Fix of 2008-11-20 commit.
5889         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
5890         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
5891         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
5892         NEXT_MATH_H.
5893         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
5894         instead of NEXT_MATH_H.
5895
5896 2009-05-21  Bruno Haible  <bruno@clisp.org>
5897
5898         Avoid redefinition warnings for SIZE_MAX.
5899         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
5900         Reported by Simon Josefsson.
5901
5902 2009-05-21  Bruno Haible  <bruno@clisp.org>
5903
5904         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
5905         AC_CACHE_VAL.
5906
5907 2009-05-20  Bruno Haible  <bruno@clisp.org>
5908
5909         Make zeroptr.h work on mingw.
5910         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
5911         mprotect.
5912         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
5913         * modules/memchr2-tests (configure.ac): Likewise.
5914         * modules/memcmp-tests (configure.ac): Likewise.
5915         * modules/memmem-tests (configure.ac): Likewise.
5916         * modules/memrchr-tests (configure.ac): Likewise.
5917         Reported by Simon Josefsson.
5918
5919 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5920
5921         * tests/test-glob.c: Include string.h for strcmp prototype.
5922
5923 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5924
5925         * modules/getdelim (Depends-on): Add explicit stdint, although it
5926         was implicitly already pulled in via realloc-posix.
5927         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
5928
5929 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5930
5931         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
5932         G. Christensen" <tgc@jupiterrise.com>.
5933         * m4/sys_socket_h.m4: Check for sa_family_t.
5934         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
5935         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
5936         * tests/test-sys_socket.c: Check that sa_family_t works.
5937
5938 2009-05-18  Eric Blake  <ebb9@byu.net>
5939
5940         maint.mk: allow gnulib_dir in VPATH build
5941         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
5942
5943 2009-05-15  Jim Meyering  <meyering@redhat.com>
5944
5945         maint.mk: Give gnulib_dir a default definition.
5946         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
5947         Thus, most packages no longer need to specify this variable in cfg.mk
5948
5949 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
5950
5951         rename.m4: fix typos that would make non-mingw cross-configure fail
5952         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
5953
5954 2009-05-13  Eric Blake  <ebb9@byu.net>
5955
5956         mmap-anon: avoid out-of-order autoconf expansion
5957         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
5958         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
5959         * modules/memchr-tests (Depends-on): Add extensions.
5960         * modules/memchr2-tests (Depends-on): Add extensions.
5961         * modules/memcmp-tests (Depends-on): Add extensions.
5962         * modules/memmem-tests (Depends-on): Add extensions.
5963         * modules/memrchr-tests (Depends-on): Add extensions.
5964
5965 2009-05-13  Bruno Haible  <bruno@clisp.org>
5966
5967         Make some tests ISO C 99 compliant.
5968         * tests/zerosize-ptr.h: New file.
5969         * tests/test-memchr.c: Include zerosize-ptr.h.
5970         (main): Use a zero-size object pointer instead of NULL.
5971         * tests/test-memchr2.c: Include zerosize-ptr.h.
5972         (main): Use a zero-size object pointer instead of NULL.
5973         * tests/test-memcmp.c: Include zerosize-ptr.h.
5974         (main): Use a zero-size object pointer instead of NULL.
5975         * tests/test-memmem.c: Include zerosize-ptr.h.
5976         (main): Use a zero-size object pointer instead of NULL.
5977         * tests/test-memrchr.c: Include zerosize-ptr.h.
5978         (main): Use a zero-size object pointer instead of NULL.
5979         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
5980         m4/mmap-anon.m4.
5981         (Depends-on): Add getpagesize.
5982         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5983         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
5984         m4/mmap-anon.m4.
5985         (Depends-on): Add getpagesize.
5986         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5987         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
5988         m4/mmap-anon.m4.
5989         (Depends-on): Add getpagesize.
5990         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5991         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
5992         m4/mmap-anon.m4.
5993         (Depends-on): Add getpagesize.
5994         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5995         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
5996         m4/mmap-anon.m4.
5997         (Depends-on): Add getpagesize.
5998         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5999
6000 2009-05-12  Bruno Haible  <bruno@clisp.org>
6001
6002         Tests for module 'alignof'.
6003         * modules/alignof-tests: New file.
6004         * tests/test-alignof.c: New file.
6005
6006 2009-05-12  Bruno Haible  <bruno@clisp.org>
6007
6008         Fix alignof macro.
6009         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
6010         vendor compilers that are always correct.
6011
6012 2009-05-12  Bruno Haible  <bruno@clisp.org>
6013
6014         Make the MAP_ANONYMOUS detection work on HP-UX 11.
6015         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
6016         not whether its fully works.
6017
6018 2009-05-12  Bruno Haible  <bruno@clisp.org>
6019
6020         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
6021
6022 2009-05-12  Jim Meyering  <meyering@redhat.com>
6023
6024         * top/maint.mk: Adjust backslash alignment.
6025
6026 2009-05-11  Simon Josefsson  <simon@josefsson.org>
6027
6028         * top/maint.mk: Make $(srcdir)/build-aux configurable.
6029
6030 2009-05-11  Eric Blake  <ebb9@byu.net>
6031
6032         argp: avoid undefined behavior
6033         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
6034         macros.
6035
6036 2009-05-08  Simon Josefsson  <simon@josefsson.org>
6037
6038         * tests/test-vc-list-files-git.sh: Do git config of user.email and
6039         user.name to prevent git commit from complaining.
6040
6041 2009-05-10  Bruno Haible  <bruno@clisp.org>
6042
6043         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
6044         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
6045         it rewrites every file name only once.
6046         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
6047
6048 2009-05-08  Bruno Haible  <bruno@clisp.org>
6049
6050         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
6051         instead of 'max'.
6052
6053 2009-05-08  Simon Josefsson  <simon@josefsson.org>
6054
6055         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
6056         sockaddr_storage test.
6057
6058 2009-05-07  Simon Josefsson  <simon@josefsson.org>
6059
6060         * modules/sys_socket (Makefile.am): Substitute
6061         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
6062         * m4/sys_socket_h.m4: Check for sockaddr_storage.
6063         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
6064         * tests/test-sys_socket.c: Check sockaddr_storage.
6065
6066 2009-05-08  Bruno Haible  <bruno@clisp.org>
6067
6068         New module 'alignof'.
6069         * lib/alignof.h: New file.
6070         * modules/alignof: New file.
6071
6072 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6073             Bruno Haible  <bruno@clisp.org>
6074
6075         Fix test-file-has-acl on FreeBSD.
6076         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
6077         mask is implicitly added.
6078         * tests/test-file-has-acl.c: Include <signal.h>.
6079         (main): Terminate the test after 5 seconds.
6080         * modules/acl-tests (configure.ac): Check for alarm function.
6081
6082 2009-05-04  Bruno Haible  <bruno@clisp.org>
6083
6084         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
6085         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
6086         * modules/errno (configure.ac): Drop AC_REQUIRE.
6087         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
6088         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
6089
6090 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6091
6092         * modules/glob-tests: New module.
6093         * tests/test-glob.c: Add.
6094
6095 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6096
6097         * modules/fnmatch-tests: New module.
6098         * tests/test-fnmatch.c: Add.
6099
6100 2009-05-04  Eric Blake  <ebb9@byu.net>
6101
6102         maint: make the new no-submodule-changes rule VPATH-safe
6103         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
6104
6105 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6106             Bruno Haible  <bruno@clisp.org>
6107
6108         acl: Fix infinite loop on FreeBSD.
6109         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
6110         of return value from acl_get_entry.
6111         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
6112         Likewise.
6113
6114 2009-05-03  Bruno Haible  <bruno@clisp.org>
6115
6116         * lib/acl-internal.h (acl_entries): Clarify return value.
6117         * lib/acl_entries.c (acl_entries): Likewise.
6118
6119 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6120
6121         Bug fix in acl module.
6122         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
6123
6124 2009-05-03  Bruno Haible  <bruno@clisp.org>
6125
6126         Create gperf-generated file in the source dir, not in the build dir.
6127         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
6128         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
6129         * modules/unicase/locale-language (unicase/locale-languages.h):
6130         Likewise.
6131         * modules/unicase/special-casing (unicase/special-casing-table.h):
6132         Likewise.
6133         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
6134         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
6135         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
6136         Reported by Ralf Wildenhues.
6137
6138 2009-05-03  Bruno Haible  <bruno@clisp.org>
6139
6140         * modules/fnmatch (Description, configure.ac): Taken from
6141         fnmatch-posix.
6142         * modules/fnmatch-posix: Turn into a symbolic reference to the
6143         'fnmatch' module, and deprecate.
6144         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
6145
6146 2009-05-03  Bruno Haible  <bruno@clisp.org>
6147
6148         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
6149         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
6150         Reported by Ralf Wildenhues.
6151
6152 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6153
6154         * m4/fnmatch.m4: Fix fnmatch re-define.
6155
6156 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6157
6158         priv-set: new module and tests; adapt write-any-file
6159         * lib/priv-set.c: New file.
6160         * lib/priv-set.h: New file.
6161         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
6162         * lib/write-any-file.c: Simplify by using priv-set module.
6163         * m4/priv-set.m4: New file.
6164         * modules/priv-set: New file.
6165         * modules/unlinkdir: Add dependency on priv-set module.
6166         * modules/write-any-file: Likewise.
6167
6168         Tests for module 'priv-set'.
6169         * modules/priv-set-tests: New file.
6170         * tests/test-priv-set.c: New file.
6171
6172 2009-05-03  Jim Meyering  <meyering@redhat.com>
6173             Bruno Haible  <bruno@clisp.org>
6174
6175         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
6176         use the converted UTF-8 variant of the name instead.
6177
6178 2009-05-03  Jim Meyering  <meyering@redhat.com>
6179
6180         tests: tighten some getdate tests
6181         * tests/test-getdate.c (main): Tighten tests: require equality,
6182         not just greater than.  Set TZ envvar to UTC0.
6183
6184 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
6185
6186         getdate: correctly interpret "next monday" when run on a Monday
6187         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
6188         that e.g., "next tues" (when run on a tuesday) results in a date
6189         that is one week in the future, and not today's date.
6190         I.e., add a week when the wday is the same as the current one.
6191         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
6192         and earlier by Martin Bernreuther and Jan Minář.
6193         * tests/test-getdate.c (main): Check that "next DAY" is always in
6194         the future and that "last DAY" is always in the past.
6195
6196 2009-05-02  Jim Meyering  <meyering@redhat.com>
6197
6198         build: ensure that a release build fails when a submodule is unclean
6199         * top/maint.mk (no-submodule-changes): New rule.
6200         (alpha beta major): Depend on it.
6201
6202 2009-05-02  Bruno Haible  <bruno@clisp.org>
6203
6204         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
6205         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
6206         shell variable gl_fnmatch_required to detect which variant is
6207         requested.
6208         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
6209         gl_FUNC_FNMATCH_POSIX.
6210         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
6211         exclude fnmatch-posix.
6212
6213 2009-05-02  Bruno Haible  <bruno@clisp.org>
6214
6215         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
6216         * modules/mbsrtowcs (License): Change to LGPLv2+.
6217         * modules/strnlen1 (License): Likewise.
6218         Reported by Simon Josefsson.
6219
6220 2009-05-02  Bruno Haible  <bruno@clisp.org>
6221
6222         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
6223         "cross".
6224         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
6225         gnulib-tool was called with option --source-base=lib.
6226
6227 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6228
6229         Use automake *-local hooks without commands, for extensibility.
6230         * modules/localcharset (Makefile.am): Rename install-exec-local
6231         rule to install-exec-localcharset, and make it a prerequisite of
6232         install-exec-local.  Likewise, rename the uninstall-local rule to
6233         uninstall-localcharset, and make it a prerequisite of the former.
6234
6235 2009-05-01  Bruno Haible  <bruno@clisp.org>
6236
6237         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
6238         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
6239         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
6240         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
6241         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
6242         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
6243         m4/locale-zh.m4, m4/codeset.m4.
6244
6245         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
6246         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
6247         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
6248         m4/locale-zh.m4.
6249
6250         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
6251         REPLACE_WCRTOMB if mbstate_t must be replaced.
6252         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
6253         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
6254
6255 2009-05-01  Bruno Haible  <bruno@clisp.org>
6256
6257         Avoid compiler warnings when redefining macros defined by <libintl.h>.
6258         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
6259         dngettext, dcngettext, textdomain, bindtextdomain,
6260         bind_textdomain_codeset): Undefine before redefining.
6261
6262 2009-04-30  Bruno Haible  <bruno@clisp.org>
6263
6264         Fix bug introduced on 2009-04-25.
6265         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
6266         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
6267         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
6268         is defined.
6269         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
6270         is defined.
6271         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
6272         is defined.
6273         Reported by Elbert_Pol <elbert.pol@gmail.com>.
6274
6275 2009-04-28  Bruno Haible  <bruno@clisp.org>
6276
6277         Comment tweaks.
6278         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
6279         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
6280         * lib/unicase.h (u*_casexfrm): Likewise.
6281         Reported by Paolo Bonzini.
6282
6283 2009-04-28  Bruno Haible  <bruno@clisp.org>
6284
6285         Fix a compilation error.
6286         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
6287         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
6288         Reported by Jim Meyering.
6289
6290 2009-04-27  Bruno Haible  <bruno@clisp.org>
6291
6292         New module 'libunistring'.
6293         * modules/libunistring: New file.
6294         * m4/libunistring.m4: New file.
6295         * MODULES.html.sh (Unicode string functions): Add it.
6296
6297 2009-04-27  Eric Blake  <ebb9@byu.net>
6298
6299         maint.mk: allow package-specific header to provide <config.h>
6300         * top/maint.mk (sc_require_config_h): New variable.
6301         (sc_require_config_h, sc_require_config_h_first): Use it.
6302
6303 2009-04-27  Simon Josefsson  <simon@josefsson.org>
6304
6305         * top/maint.mk (sc_avoid_if_before_free): Except
6306         useless-if-before-free script.
6307
6308 2009-04-27  Eric Blake  <ebb9@byu.net>
6309
6310         maintainer-makefile: depend on all required helper scripts
6311         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
6312         useless-if-before-free.
6313         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
6314         version, rather than assuming gnulib checkout is available.
6315         Reported by Simen Josefsson.
6316
6317 2009-04-26  Bruno Haible  <bruno@clisp.org>
6318
6319         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
6320         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
6321         "../" or "..".
6322
6323 2009-04-26  Bruno Haible  <bruno@clisp.org>
6324
6325         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
6326         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
6327         AC_LIB_HAVE_LINKFLAGS.
6328
6329 2009-04-26  Bruno Haible  <bruno@clisp.org>
6330
6331         Simplify calling convention of u*_conv_from_encoding.
6332         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
6333         u32_conv_from_encoding): Expect a resultbuf argument and return the
6334         result directly as a pointer.
6335         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
6336         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
6337         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
6338         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
6339         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
6340         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
6341         Update.
6342         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
6343         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
6344         * lib/vasnprintf.c (VASNPRINTF): Update.
6345         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
6346         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
6347         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
6348         * NEWS: Mention the change.
6349
6350 2009-04-26  Bruno Haible  <bruno@clisp.org>
6351
6352         Simplify calling convention of u*_conv_to_encoding.
6353         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
6354         u32_conv_to_encoding): Expect a resultbuf argument and return the
6355         result directly as a pointer.
6356         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
6357         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
6358         freeing scaled_offsets if mem_iconveha failed.
6359         * lib/unicase/u-casexfrm.h (FUNC): Update.
6360         * lib/uninorm/u-normxfrm.h (FUNC): Update.
6361         * lib/vasnprintf.c (VASNPRINTF): Update.
6362         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
6363         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
6364         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
6365         * NEWS: Mention the change.
6366
6367 2009-04-26  Bruno Haible  <bruno@clisp.org>
6368
6369         Avoid test failures on AIX and OSF/1.
6370         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
6371         malloc(0).
6372         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
6373         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
6374         Likewise.
6375         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
6376         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
6377         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
6378         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
6379         * doc/posix-functions/malloc.texi: Document the portability problem
6380         related to malloc(0).
6381
6382 2009-04-26  Bruno Haible  <bruno@clisp.org>
6383
6384         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
6385         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
6386         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
6387
6388 2009-04-25  Bruno Haible  <bruno@clisp.org>
6389
6390         Avoid link error when creating a namespace clean library.
6391         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
6392         as macro with arguments if already defined as an alias.
6393         * lib/signbitf.c (gl_signbitf): Don't undefine.
6394         * lib/signbitd.c (gl_signbitd): Don't undefine.
6395         * lib/signbitl.c (gl_signbitl): Don't undefine.
6396
6397 2009-04-25  Jim Meyering  <meyering@redhat.com>
6398
6399         vc-list-files: fix another quoting bug
6400         * build-aux/vc-list-files: Avoid sed backslash expansion
6401         of pathological directory names.
6402
6403 2009-04-25  Eric Blake  <ebb9@byu.net>
6404
6405         vc-list-files: fix shell quoting error
6406         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
6407         timestamp.
6408
6409 2009-04-25  Jim Meyering  <meyering@redhat.com>
6410
6411         vc-list-files: restore lost functionality with subdir argument
6412         * build-aux/vc-list-files: When given a non-"." sub-directory
6413         argument, substitute the $dir/ prefix back onto each resulting name.
6414         Otherwise, coreutils' root_tests check would fail.
6415
6416 2009-04-24  Eric Blake  <ebb9@byu.net>
6417
6418         vc-list-files: ignore git symlinks
6419         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
6420         than ls-files, to ignore git symlinks.
6421
6422         maint.mk: import improvements from m4
6423         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
6424         (move_if_change): Delete unused macro.
6425         (news-date-check, vc-diff-check): Support VPATH builds.
6426         (announcement): Likewise.  Split --bootstrap-tools list...
6427         (boostrap-tools): ...into separate list, which can be overridden
6428         in cfg.mk.
6429         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
6430         requiring dependency on useless-if-before-free module.
6431         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
6432         Support VPATH builds.
6433
6434 2009-04-24  Jim Meyering  <meyering@redhat.com>
6435
6436         maint.mk: remove coreutils-specific rules and variables
6437         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
6438         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
6439         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
6440
6441         maint.mk: remove obsolete rule
6442         * top/maint.mk (rel-check): Remove rule.
6443         (WGET, WGETFLAGS): Remove now-unused variables.
6444
6445 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6446
6447         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
6448         consistency.
6449
6450         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
6451         '$(PATH_SEPARATOR)' instead of ':'.
6452
6453 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6454
6455         * lib/getopt1.c (main): Use 'const' for static array.
6456
6457 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6458
6459         * top/maint.mk: Sync with coreutils.
6460         * NEWS: Explain incompatibilities.
6461
6462 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6463             Bruno Haible  <bruno@clisp.org>
6464
6465         Fix cross-compilation results.
6466         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
6467         statement, as third argument of AC_TRY_RUN.
6468         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6469         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6470         Likewise.
6471         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6472         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6473         Likewise.
6474         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6475         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
6476         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
6477
6478 2009-04-20  Bruno Haible  <bruno@clisp.org>
6479
6480         Avoid test failure on mingw.
6481         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
6482
6483 2009-04-20  Bruno Haible  <bruno@clisp.org>
6484
6485         Avoid compilation error on mingw.
6486         * modules/localename-tests (Depends-on): Add locale.
6487
6488 2009-04-19  Bruno Haible  <bruno@clisp.org>
6489
6490         Support for building a shared library on Windows platforms.
6491         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
6492         (main): Test the presence of UNINORM_NFC here.
6493         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
6494         (main): Test the presence of UNINORM_NFD here.
6495         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
6496         (main): Test the presence of UNINORM_NFKC here.
6497         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
6498         (main): Test the presence of UNINORM_NFKD here.
6499
6500 2009-04-19  Bruno Haible  <bruno@clisp.org>
6501
6502         Avoid a compiler warning.
6503         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
6504         Change type of variable 'sequence'.
6505
6506 2009-04-19  Bruno Haible  <bruno@clisp.org>
6507
6508         * modules/configmake (Makefile.am): When the contents of configmake.h
6509         does not change, arrange to preserve its modification time.
6510
6511 2009-04-17  Simon Josefsson  <simon@josefsson.org>
6512
6513         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
6514         gettext domain.
6515
6516 2009-04-16  Jim Meyering  <meyering@redhat.com>
6517
6518         useless-if-before-free: improve conversion code
6519         * build-aux/useless-if-before-free: Adjust code-in-comment to match
6520         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
6521
6522 2009-04-14  Bruno Haible  <bruno@clisp.org>
6523
6524         * modules/fcntl (Depends-on): Add extensions.
6525         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
6526
6527 2009-04-12  Ben Pfaff  <blp@gnu.org>
6528
6529         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
6530         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
6531
6532 2009-03-20  Ben Pfaff  <blp@gnu.org>
6533
6534         Make rename replace existing destinations on Windows.
6535         * m4/rename.m4: Add test for Mingw.
6536         * lib/rename.c: Add rename replacement that uses MoveFileEx with
6537         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
6538         * doc/posix-functions/rename.texi: Document.
6539
6540 2009-04-10  Bruno Haible  <bruno@clisp.org>
6541
6542         New include file "iconveh.h".
6543         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
6544         * lib/striconveh.h: Include it.
6545         (enum iconv_ilseq_handler): Remove definition.
6546         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
6547         striconveh.h.
6548         * lib/striconveha.c: Include striconveh.h.
6549         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
6550         * modules/striconveh (Files): Add lib/iconveh.h.
6551         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
6552         lib/striconveh.h.
6553
6554 2009-04-10  Bruno Haible  <bruno@clisp.org>
6555
6556         * lib/uniconv.h: Update comment.
6557
6558 2009-04-10  Bruno Haible  <bruno@clisp.org>
6559
6560         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
6561         always.
6562         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
6563         * lib/unistr/u16-mbtouc-aux.c: Likewise.
6564         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
6565         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
6566         "unistring-notinline.h", so that the function gets defined always.
6567         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
6568         * lib/unistr/u8-uctomb.c: Likewise.
6569         * lib/unistr/u16-mbtouc.c: Likewise.
6570         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
6571         * lib/unistr/u16-uctomb.c: Likewise.
6572         * lib/unistr/u32-mbtouc.c: Likewise.
6573         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
6574         * lib/unistr/u32-uctomb.c: Likewise.
6575
6576 2009-04-10  Bruno Haible  <bruno@clisp.org>
6577
6578         Mark 'utime' obsolete.
6579         * modules/utime (Status, Notice): New sections.
6580         Suggested by Jim Meyering.
6581
6582         Fix cross-compile guess for utime test.
6583         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
6584         autoconf.
6585         * doc/posix-functions/utime.texi: Give more precisions.
6586         Reported by Jan <ipif@ymail.com>.
6587
6588 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
6589
6590         filevercmp: correct today's change
6591         * lib/filevercmp.c: Also handle coreutils' test inputs.
6592         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
6593
6594         Fix regression in 'filevercmp' module. Thanks Sven Joachim
6595         for reporting it.
6596         * lib/filevercmp.c: Special handle for "", "." and "..".
6597         * tests/test-filevercmp.c: Enlarge the set suite.
6598
6599 2009-04-07  Jim Meyering  <meyering@redhat.com>
6600
6601         useless-if-before-free: show how to remove braced useless free, too
6602         * build-aux/useless-if-before-free: still only in a comment, though.
6603
6604 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
6605
6606         maint.mk: import changes to syntax-check macros from coreutils
6607         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
6608         Use them in the relevant macros.
6609
6610 2009-04-06  Bruno Haible  <bruno@clisp.org>
6611
6612         Fix unportable use of bit-fields.
6613         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
6614         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
6615         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
6616
6617 2009-04-06  Bruno Haible  <bruno@clisp.org>
6618
6619         Avoid test failures on AIX and OSF/1.
6620         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
6621         that malloc(0) = NULL.
6622         * tests/unicase/test-u8-tolower.c (check): Likewise.
6623         * tests/unicase/test-u8-totitle.c (check): Likewise.
6624         * tests/unicase/test-u8-toupper.c (check): Likewise.
6625         * tests/unicase/test-u16-casefold.c (check): Likewise.
6626         * tests/unicase/test-u16-tolower.c (check): Likewise.
6627         * tests/unicase/test-u16-totitle.c (check): Likewise.
6628         * tests/unicase/test-u16-toupper.c (check): Likewise.
6629         * tests/unicase/test-u32-casefold.c (check): Likewise.
6630         * tests/unicase/test-u32-tolower.c (check): Likewise.
6631         * tests/unicase/test-u32-totitle.c (check): Likewise.
6632         * tests/unicase/test-u32-toupper.c (check): Likewise.
6633         * tests/uninorm/test-u8-nfc.c (check): Likewise.
6634         * tests/uninorm/test-u8-nfd.c (check): Likewise.
6635         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
6636         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
6637         * tests/uninorm/test-u16-nfc.c (check): Likewise.
6638         * tests/uninorm/test-u16-nfd.c (check): Likewise.
6639         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
6640         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
6641         * tests/uninorm/test-u32-nfc.c (check): Likewise.
6642         * tests/uninorm/test-u32-nfd.c (check): Likewise.
6643         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
6644         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
6645
6646 2009-04-05  Bruno Haible  <bruno@clisp.org>
6647
6648         Work around an autoconf limitation.
6649         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
6650         comment line if it would be longer than 3 KB.
6651
6652 2009-04-05  Bruno Haible  <bruno@clisp.org>
6653
6654         Avoid test failure with libiconv-1.13.
6655         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
6656         of the expected test results.
6657
6658 2009-04-05  Bruno Haible  <bruno@clisp.org>
6659
6660         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
6661         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
6662         that it should be installed.
6663
6664 2009-04-05  Bruno Haible  <bruno@clisp.org>
6665
6666         * gnulib-tool: New option --copy-file.
6667         (func_usage): Document it.
6668         (func_dest_tmpfilename): Moved out of func_import.
6669         (func_add_file, func_update_file): New functions, extracted from
6670         func_import.
6671         (func_import): Update.
6672
6673 2009-04-05  Karl Berry  <karl@gnu.org>
6674
6675         * README: prominently mention gnulib-tool.
6676         Rearrange sections so getting the code is near the top.
6677
6678 2009-04-05  Bruno Haible  <bruno@clisp.org>
6679
6680         * lib/unicase.h: Mention u*_cmp2.
6681         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6682         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
6683         * lib/unicase/ulc-casecmp.c: Likewise.
6684         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
6685         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
6686         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
6687         unistr/u8-cmp.
6688         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
6689         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
6690         unistr/u16-cmp.
6691         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
6692         unistr/u32-cmp.
6693
6694         * lib/uninorm.h: Mention u*_cmp2.
6695         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6696         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
6697         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
6698         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
6699         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
6700         unistr/u8-cmp.
6701         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
6702         unistr/u16-cmp.
6703         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
6704         unistr/u32-cmp.
6705
6706         New module 'unistr/u32-cmp2'.
6707         * lib/unistr/u32-cmp2.c: New file.
6708         * modules/unistr/u32-cmp2: New file.
6709
6710         New module 'unistr/u16-cmp2'.
6711         * lib/unistr/u16-cmp2.c: New file.
6712         * modules/unistr/u16-cmp2: New file.
6713
6714         New module 'unistr/u8-cmp2'.
6715         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
6716         * lib/unistr/u8-cmp2.c: New file.
6717         * lib/unistr/u-cmp2.h: New file.
6718         * modules/unistr/u8-cmp2: New file.
6719
6720 2009-04-05  Bruno Haible  <bruno@clisp.org>
6721
6722         * lib/unictype.h (uc_property_is_valid): New macro.
6723         * tests/unictype/test-pr_byname.c (main): Use it.
6724
6725         * lib/unistr.h: Doc fixes.
6726         * lib/uniconv.h: Doc fixes.
6727         * lib/unictype.h: Doc fixes.
6728
6729 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
6730
6731         Port coreutils 7.2 to Solaris 8.
6732
6733         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
6734         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
6735         for Solaris 8.  This is a bit of a hack, as it means it's the
6736         caller's responsibility to add -lnsl if needed, but most likely it
6737         won't be needed since only getaddrinfo uses this and getaddrinfo
6738         isn't needed on Solaris 8.
6739
6740         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
6741         problem to Solaris 8 encountered with coreutils 7.2, which
6742         resulted in a message "fnmatch.c:292: warning: passing argument 4
6743         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
6744         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
6745
6746 2009-04-03  Simon Josefsson  <simon@josefsson.org>
6747
6748         * m4/ld-version-script.m4: Add FIXME comment.
6749
6750 2009-04-02  Simon Josefsson  <simon@josefsson.org>
6751
6752         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
6753         SOVERSION variable.
6754
6755 2009-04-02  Bruno Haible  <bruno@clisp.org>
6756
6757         * Makefile (info, html, dvi, pdf): Combine the rules.
6758         Suggested by Jim Meyering.
6759
6760 2009-04-01  Bruno Haible  <bruno@clisp.org>
6761
6762         * Makefile (info, html, dvi, pdf): New targets.
6763         Reported by Reuben Thomas <rrt@sc3d.org>.
6764
6765 2009-04-01  Bruno Haible  <bruno@clisp.org>
6766
6767         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
6768         can be put into PATH.
6769         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
6770
6771 2009-04-01  Bruno Haible  <bruno@clisp.org>
6772
6773         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
6774
6775 2009-04-01  Bruno Haible  <bruno@clisp.org>
6776
6777         Rename module 'visibility'.
6778         * modules/lib-symbol-visibility: Renamed from modules/visibility.
6779         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
6780         * doc/gnulib.texi: Update.
6781         * MODULES.html.sh (Misc): Update.
6782         * NEWS: Mention the change.
6783
6784 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6785
6786         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
6787         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
6788         Eric Blake <ebb9@byu.net> for review.
6789         * MODULES.html.sh: Add lib-msvc-compat.
6790         * doc/gnulib.texi: Link to new section.
6791         * m4/ld-output-def.m4: New file.
6792         * doc/ld-output-def.texi: New file.
6793
6794 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6795
6796         Rename ld-version-script to lib-symbol-versions.  Suggested by
6797         Bruno Haible <bruno@clisp.org>.
6798         * modules/ld-version-script: Renamed to lib-symbol-versions.
6799         * doc/ld-version-script.texi: Fix module name.
6800         * MODULES.html.sh: Add lib-symbol-versions.
6801
6802 2009-03-31  Simon Josefsson  <simon@josefsson.org>
6803
6804         * modules/u64-tests: New file.
6805         * tests/test-u64.c: New file.
6806
6807 2009-03-04  Simon Josefsson  <simon@josefsson.org>
6808
6809         * MODULES.html.sh: Mention u64.
6810         * modules/u64: New module.
6811         * modules/crypto/sha512: Depend on u64 module instead of providing
6812         u64.h.
6813
6814 2009-03-27  Eric Blake  <ebb9@byu.net>
6815
6816         test-strerror: make debugging EAI_SYSTEM easier
6817         * modules/getaddrinfo-tests (Depends-on): Add strerror.
6818         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
6819         failure was EAI_SYSTEM.
6820
6821 2009-03-25  Bruno Haible  <bruno@clisp.org>
6822
6823         Fix a problem with --enable-relocatable on Solaris 7.
6824         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
6825         since 2008-02-24.
6826
6827 2009-03-25  Eric Blake  <ebb9@byu.net>
6828
6829         test-sockets: avoid gcc warning
6830         * tests/test-sockets.c (main): Silence compiler warning.
6831
6832 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6833
6834         New modules nproc, pthread, contributed by Glen Lenker.
6835
6836         * MODULES.html.sh: Add pthread, nproc.
6837         * lib/nproc.c: New file.
6838         * lib/nproc.h: New file.
6839         * lib/pthread.in.h: New file.
6840         * m4/pthread.m4: New file.
6841         * modules/nproc: New file.
6842         * modules/pthread: New file.
6843
6844 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6845
6846         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
6847         New variable.
6848
6849 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
6850
6851         filevercmp: handle simple~ and numbered.~3~ backup suffixes
6852         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
6853         * tests/test-filevercmp.c: Add tests for backup suffixes.
6854
6855 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6856
6857         * modules/stdlib (Depends-on): Add stdint, needed when defining
6858         struct random_data on, for example, HP-UX 10.20.  Reported by
6859         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6860
6861 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6862
6863         * lib/readline.c (readline): Call fflush on stdout after printing
6864         prompt.
6865
6866 2009-03-20  Bruno Haible  <bruno@clisp.org>
6867
6868         Remove dependency from 'close' module to -lws2_32 on native Windows.
6869         * lib/close-hook.h: New file.
6870         * lib/close-hook.c: New file.
6871         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
6872         w32sock.h.
6873         (_gl_close_fd_maybe_socket): Remove function.
6874         (rpl_close): Invoke execute_all_close_hooks instead of
6875         _gl_close_fd_maybe_socket.
6876         * lib/sockets.c: Include close-hook.h, w32sock.h.
6877         (close_fd_maybe_socket): New function, essentially from lib/close.c.
6878         (close_sockets_hook): New variable.
6879         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
6880         (gl_sockets_cleanup): Unregister it.
6881         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
6882         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
6883         * modules/close-hook: New file.
6884         * modules/close (Files): Remove lib/w32sock.h.
6885         (Depends-on): Add close-hook.
6886         (Link): Remove section.
6887         * modules/sockets (Files): Add lib/w32sock.h.
6888         (Depends-on): Add close-hook.
6889         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
6890         invocation.
6891         * NEWS: Mention that LIB_CLOSE is gone.
6892
6893 2009-03-23  Eric Blake  <ebb9@byu.net>
6894
6895         signal-tests: test previous patch
6896         * tests/test-signal.c: New file.
6897         * modules/signal-tests: Likewise.
6898
6899         signal.h: always support 'volatile sig_atomic_t'
6900         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
6901         (gl_SIGNAL_H_DEFAULTS): Add a default.
6902         * modules/signal (Makefile.am): Substitute if needed.
6903         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
6904         users can blindly add volatile.
6905         * doc/posix-headers/signal.texi (signal.h): Document it.
6906         Reported by Matthew Woehlke.
6907
6908 2009-03-23  Jim Meyering  <meyering@redhat.com>
6909
6910         pathmax: PATH_MAX: use pathconf only when available
6911         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
6912         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
6913         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
6914         This avoids a link failure in a PSP cross-compilation environment
6915         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
6916
6917         * lib/vasnprintf.c (divide): Fix typo in comment.
6918
6919 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6920
6921         * gnulib-tool (func_filter_filelist): Fix comment.
6922
6923 2009-03-20  Bruno Haible  <bruno@clisp.org>
6924
6925         Make sockets.h self-contained.
6926         * lib/sockets.c: Include sockets.h first.
6927         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
6928
6929 2009-03-19  Eric Blake  <ebb9@byu.net>
6930
6931         doc: mention more functions added in cygwin 1.7.0
6932         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
6933         addition.
6934         * doc/posix-functions/log2f.texi: Likewise.
6935
6936 2009-03-19  Jim Meyering  <meyering@redhat.com>
6937
6938         fsusage: avoid syntax error due to statement-before-declaration
6939         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
6940         after all declarations.  Reported by Matthew Woehlke in
6941         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
6942
6943 2009-03-18  Eric Blake  <ebb9@byu.net>
6944
6945         build-aux/compile: sync from automake
6946         * build-aux/compile: New file, from automake.
6947         * config/srclist.txt: Mention build-aux/compile.
6948
6949 2009-03-17  Bruno Haible  <bruno@clisp.org>
6950
6951         * lib/git-merge-changelog.c: Fix typo in comment.
6952         Reported by Reuben Thomas <rrt@sc3d.org>.
6953
6954 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
6955
6956         * m4/regex.m4: update and improve help for
6957         --without-included-regex.
6958
6959 2009-03-17  Simon Josefsson  <simon@josefsson.org>
6960
6961         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
6962         failure on missing include files.
6963
6964 2009-03-17  Eric Blake  <ebb9@byu.net>
6965
6966         doc: mention more functions added in cygwin 1.7.0
6967         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
6968         addition.
6969         * doc/posix-functions/fwscanf.texi: Likewise.
6970         * doc/posix-functions/swprintf.texi: Likewise.
6971         * doc/posix-functions/swscanf.texi: Likewise.
6972         * doc/posix-functions/vfwprintf.texi: Likewise.
6973         * doc/posix-functions/vfwscanf.texi: Likewise.
6974         * doc/posix-functions/vswprintf.texi: Likewise.
6975         * doc/posix-functions/vswscanf.texi: Likewise.
6976         * doc/posix-functions/vwprintf.texi: Likewise.
6977         * doc/posix-functions/vwscanf.texi: Likewise.
6978         * doc/posix-functions/wcscasecmp.texi: Likewise.
6979         * doc/posix-functions/wcsdup.texi: Likewise.
6980         * doc/posix-functions/wcsftime.texi: Likewise.
6981         * doc/posix-functions/wcsncasecmp.texi: Likewise.
6982         * doc/posix-functions/wprintf.texi: Likewise.
6983         * doc/posix-functions/wscanf.texi: Likewise.
6984         * doc/glibc-functions/gethostbyname2.texi: Likewise.
6985
6986 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6987
6988         maint.mk: really add $(AM_MAKEFLAGS)
6989         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
6990         was inadvertently omitted in the last commit.
6991         Spotted by Bruno Haible.
6992
6993         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
6994         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
6995         $(AM_MAKEFLAGS)' rather than plain `make'.
6996
6997         gnulib-tool: execute $MAKE not make
6998         * gnulib-tool: Default $MAKE to 'make'.
6999         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
7000         than make.  Initialize $MAKE in the do-autobuild script.
7001
7002         gnulib-tool: use $MAKE not make in generated files
7003         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
7004         make, in generated files.  Initialize $MAKE in the do-autobuild
7005         script.
7006
7007         * top/GNUmakefile (_have-git-version-gen): Fix typo.
7008
7009         GNUmakefile: disable parallelism only for multiple, recursive targets
7010         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
7011         additions in the Makefile.
7012         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
7013         by Automake.
7014         (.NOTPARALLEL): Only disable parallel builds if multiple targets
7015         are listed on the command line and at least one of them is
7016         listed in $(ALL_RECURSIVE_TARGETS).
7017
7018 2009-03-14  Bruno Haible  <bruno@clisp.org>
7019
7020         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
7021         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
7022         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
7023         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
7024         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
7025         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
7026         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
7027         unistr/u8-uctomb.
7028         * modules/unistr/u8-strchr (Depends-on): Likewise.
7029         * modules/unistr/u8-strrchr (Depends-on): Likewise.
7030         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
7031         unistr/u16-uctomb.
7032         * modules/unistr/u16-strchr (Depends-on): Likewise.
7033         * modules/unistr/u16-strrchr (Depends-on): Likewise.
7034
7035 2009-03-12  Bruno Haible  <bruno@clisp.org>
7036
7037         Work around select() bug on Interix 3.5.
7038         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
7039         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
7040         * m4/select.m4: New file.
7041         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
7042         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
7043         * modules/select (Files): Add m4/select.m4.
7044         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
7045         * modules/nanosleep (Depends-on): Add select.
7046         * modules/poll (Depends-on): Likewise.
7047         * doc/posix-functions/select.texi: Mention the Interix bug.
7048         Reported by Markus Duft <mduft@gentoo.org>.
7049
7050         * lib/select.c: Renamed from lib/winsock-select.c.
7051         * modules/select (Files): Add lib/select.c, remove
7052         lib/winsock-select.c.
7053         (configure.ac): Update.
7054
7055 2009-03-12  Jim Meyering  <meyering@redhat.com>
7056
7057         avoid gcc warnings about unused macro definitions
7058         * lib/readtokens.c (STREQ): Remove unused definition.
7059         * lib/xmalloc.c (SIZE_MAX): Likewise.
7060         * lib/openat-die.c (N_): Likewise.
7061         * lib/mountlist.c (SIZE_MAX): Remove definition.
7062         Instead, include <stdint.h>.
7063         * lib/readutmp.c: Likewise.
7064         * modules/readutmp (Depends-on): Add stdint.
7065         * modules/mountlist (Depends-on): Add stdint.
7066         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
7067
7068 2009-03-10  Bruno Haible  <bruno@clisp.org>
7069
7070         Tests for module 'mbmemcasecoll'.
7071         * modules/mbmemcasecoll-tests: New file.
7072         * tests/test-mbmemcasecoll1.sh: New file.
7073         * tests/test-mbmemcasecoll2.sh: New file.
7074         * tests/test-mbmemcasecoll3.sh: New file.
7075         * tests/test-mbmemcasecoll.c: New file.
7076
7077         New module 'mbmemcasecoll'.
7078         * lib/mbmemcasecoll.h: New file.
7079         * lib/mbmemcasecoll.c: New file.
7080         * modules/mbmemcasecoll: New file.
7081
7082         * tests/test-mbmemcasecmp.h: New file, extracted from
7083         tests/test-mbmemcasecmp.c.
7084         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
7085         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
7086         (main): Update.
7087         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
7088
7089 2009-03-09  Bruno Haible  <bruno@clisp.org>
7090
7091         Tests for module 'mbmemcasecmp'.
7092         * modules/mbmemcasecmp-tests: New file.
7093         * tests/test-mbmemcasecmp1.sh: New file.
7094         * tests/test-mbmemcasecmp2.sh: New file.
7095         * tests/test-mbmemcasecmp3.sh: New file.
7096         * tests/test-mbmemcasecmp.c: New file.
7097
7098         New module 'mbmemcasecmp'.
7099         * lib/mbmemcasecmp.h: New file.
7100         * lib/mbmemcasecmp.c: New file.
7101         * modules/mbmemcasecmp: New file.
7102
7103 2009-03-09  Bruno Haible  <bruno@clisp.org>
7104
7105         Tests for module 'unicase/ulc-casecoll'.
7106         * modules/unicase/ulc-casecoll-tests: New file.
7107         * tests/unicase/test-ulc-casecoll1.sh: New file.
7108         * tests/unicase/test-ulc-casecoll2.sh: New file.
7109         * tests/unicase/test-ulc-casecoll.c: New file.
7110
7111         New module 'unicase/ulc-casecoll'.
7112         * lib/unicase.h (ulc_casecoll): New declaration.
7113         * lib/unicase/ulc-casecoll.c: New file.
7114         * modules/unicase/ulc-casecoll: New file.
7115
7116         New module 'unicase/ulc-casexfrm'.
7117         * lib/unicase.h (ulc_casexfrm): New declaration.
7118         * lib/unicase/ulc-casexfrm.c: New file.
7119         * modules/unicase/ulc-casexfrm: New file.
7120
7121 2009-03-09  Bruno Haible  <bruno@clisp.org>
7122
7123         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
7124         invocations.
7125
7126         * m4/mbscasecmp.m4: Remove file.
7127         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
7128         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
7129
7130         * m4/mbscasestr.m4: Remove file.
7131         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
7132         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
7133
7134         * m4/mbschr.m4: Remove file.
7135         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
7136         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
7137
7138         * m4/mbscspn.m4: Remove file.
7139         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
7140         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
7141
7142         * m4/mbslen.m4: Remove file.
7143         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
7144         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
7145
7146         * m4/mbsncasecmp.m4: Remove file.
7147         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
7148         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
7149
7150         * m4/mbsnlen.m4: Remove file.
7151         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
7152         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
7153
7154         * m4/mbspbrk.m4: Remove file.
7155         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
7156         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
7157
7158         * m4/mbspcasecmp.m4: Remove file.
7159         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
7160         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
7161
7162         * m4/mbsrchr.m4: Remove file.
7163         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
7164         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
7165
7166         * m4/mbssep.m4: Remove file.
7167         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
7168         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
7169
7170         * m4/mbsspn.m4: Remove file.
7171         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
7172         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
7173
7174         * m4/mbsstr.m4: Remove file.
7175         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
7176         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
7177
7178         * m4/mbstok_r.m4: Remove file.
7179         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
7180         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
7181
7182         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
7183
7184         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
7185         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
7186
7187         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
7188
7189 2009-03-08  Bruno Haible  <bruno@clisp.org>
7190
7191         Tests for module 'unicase/ulc-casecmp'.
7192         * modules/unicase/ulc-casecmp-tests: New file.
7193         * tests/unicase/test-ulc-casecmp1.sh: New file.
7194         * tests/unicase/test-ulc-casecmp2.sh: New file.
7195         * tests/unicase/test-ulc-casecmp.c: New file.
7196
7197         New module 'unicase/ulc-casecmp'.
7198         * lib/unicase.h (ulc_casecmp): New declaration.
7199         * lib/unicase/ulc-casecmp.c: New file.
7200         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
7201         'const SRC_UNIT *'.
7202         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
7203         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
7204         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
7205         * modules/unicase/ulc-casecmp: New file.
7206
7207         Tests for module 'unicase/u32-is-cased'.
7208         * modules/unicase/u32-is-cased-tests: New file.
7209         * tests/unicase/test-u32-is-cased.c: New file.
7210
7211         Tests for module 'unicase/u16-is-cased'.
7212         * modules/unicase/u16-is-cased-tests: New file.
7213         * tests/unicase/test-u16-is-cased.c: New file.
7214
7215         Tests for module 'unicase/u8-is-cased'.
7216         * modules/unicase/u8-is-cased-tests: New file.
7217         * tests/unicase/test-u8-is-cased.c: New file.
7218         * tests/unicase/test-is-cased.h: New file.
7219
7220         New module 'unicase/u32-is-cased'.
7221         * lib/unicase/u32-is-cased.c: New file.
7222         * modules/unicase/u32-is-cased: New file.
7223
7224         New module 'unicase/u16-is-cased'.
7225         * lib/unicase/u16-is-cased.c: New file.
7226         * modules/unicase/u16-is-cased: New file.
7227
7228         New module 'unicase/u8-is-cased'.
7229         * lib/unicase/u8-is-cased.c: New file.
7230         * lib/unicase/u-is-cased.h: New file.
7231         * modules/unicase/u8-is-cased: New file.
7232
7233         Tests for module 'unicase/u32-is-casefolded'.
7234         * modules/unicase/u32-is-casefolded-tests: New file.
7235         * tests/unicase/test-u32-is-casefolded.c: New file.
7236
7237         Tests for module 'unicase/u16-is-casefolded'.
7238         * modules/unicase/u16-is-casefolded-tests: New file.
7239         * tests/unicase/test-u16-is-casefolded.c: New file.
7240
7241         Tests for module 'unicase/u8-is-casefolded'.
7242         * modules/unicase/u8-is-casefolded-tests: New file.
7243         * tests/unicase/test-u8-is-casefolded.c: New file.
7244         * tests/unicase/test-is-casefolded.h: New file.
7245
7246         New module 'unicase/u32-is-casefolded'.
7247         * lib/unicase/u32-is-casefolded.c: New file.
7248         * modules/unicase/u32-is-casefolded: New file.
7249
7250         New module 'unicase/u16-is-casefolded'.
7251         * lib/unicase/u16-is-casefolded.c: New file.
7252         * modules/unicase/u16-is-casefolded: New file.
7253
7254         New module 'unicase/u8-is-casefolded'.
7255         * lib/unicase/u8-is-casefolded.c: New file.
7256         * modules/unicase/u8-is-casefolded: New file.
7257
7258         Tests for module 'unicase/u32-is-titlecase'.
7259         * modules/unicase/u32-is-titlecase-tests: New file.
7260         * tests/unicase/test-u32-is-titlecase.c: New file.
7261
7262         Tests for module 'unicase/u16-is-titlecase'.
7263         * modules/unicase/u16-is-titlecase-tests: New file.
7264         * tests/unicase/test-u16-is-titlecase.c: New file.
7265
7266         Tests for module 'unicase/u8-is-titlecase'.
7267         * modules/unicase/u8-is-titlecase-tests: New file.
7268         * tests/unicase/test-u8-is-titlecase.c: New file.
7269         * tests/unicase/test-is-titlecase.h: New file.
7270
7271         New module 'unicase/u32-is-titlecase'.
7272         * lib/unicase/u32-is-titlecase.c: New file.
7273         * modules/unicase/u32-is-titlecase: New file.
7274
7275         New module 'unicase/u16-is-titlecase'.
7276         * lib/unicase/u16-is-titlecase.c: New file.
7277         * modules/unicase/u16-is-titlecase: New file.
7278
7279         New module 'unicase/u8-is-titlecase'.
7280         * lib/unicase/u8-is-titlecase.c: New file.
7281         * modules/unicase/u8-is-titlecase: New file.
7282
7283         Tests for module 'unicase/u32-is-lowercase'.
7284         * modules/unicase/u32-is-lowercase-tests: New file.
7285         * tests/unicase/test-u32-is-lowercase.c: New file.
7286
7287         Tests for module 'unicase/u16-is-lowercase'.
7288         * modules/unicase/u16-is-lowercase-tests: New file.
7289         * tests/unicase/test-u16-is-lowercase.c: New file.
7290
7291         Tests for module 'unicase/u8-is-lowercase'.
7292         * modules/unicase/u8-is-lowercase-tests: New file.
7293         * tests/unicase/test-u8-is-lowercase.c: New file.
7294         * tests/unicase/test-is-lowercase.h: New file.
7295
7296         New module 'unicase/u32-is-lowercase'.
7297         * lib/unicase/u32-is-lowercase.c: New file.
7298         * modules/unicase/u32-is-lowercase: New file.
7299
7300         New module 'unicase/u16-is-lowercase'.
7301         * lib/unicase/u16-is-lowercase.c: New file.
7302         * modules/unicase/u16-is-lowercase: New file.
7303
7304         New module 'unicase/u8-is-lowercase'.
7305         * lib/unicase/u8-is-lowercase.c: New file.
7306         * modules/unicase/u8-is-lowercase: New file.
7307
7308         Tests for module 'unicase/u32-is-uppercase'.
7309         * modules/unicase/u32-is-uppercase-tests: New file.
7310         * tests/unicase/test-u32-is-uppercase.c: New file.
7311
7312         Tests for module 'unicase/u16-is-uppercase'.
7313         * modules/unicase/u16-is-uppercase-tests: New file.
7314         * tests/unicase/test-u16-is-uppercase.c: New file.
7315
7316         Tests for module 'unicase/u8-is-uppercase'.
7317         * modules/unicase/u8-is-uppercase-tests: New file.
7318         * tests/unicase/test-u8-is-uppercase.c: New file.
7319         * tests/unicase/test-is-uppercase.h: New file.
7320
7321         New module 'unicase/u32-is-uppercase'.
7322         * lib/unicase/u32-is-uppercase.c: New file.
7323         * modules/unicase/u32-is-uppercase: New file.
7324
7325         New module 'unicase/u16-is-uppercase'.
7326         * lib/unicase/u16-is-uppercase.c: New file.
7327         * modules/unicase/u16-is-uppercase: New file.
7328
7329         New module 'unicase/u8-is-uppercase'.
7330         * lib/unicase/u8-is-uppercase.c: New file.
7331         * modules/unicase/u8-is-uppercase: New file.
7332
7333         New module 'unicase/u32-is-invariant'.
7334         * lib/unicase/u32-is-invariant.c: New file.
7335         * modules/unicase/u32-is-invariant: New file.
7336
7337         New module 'unicase/u16-is-invariant'.
7338         * lib/unicase/u16-is-invariant.c: New file.
7339         * modules/unicase/u16-is-invariant: New file.
7340
7341         New module 'unicase/u8-is-invariant'.
7342         * lib/unicase/u8-is-invariant.c: New file.
7343         * lib/unicase/invariant.h: New file.
7344         * lib/unicase/u-is-invariant.h: New file.
7345         * modules/unicase/u8-is-invariant: New file.
7346
7347         Tests for module 'unicase/u32-casecoll'.
7348         * modules/unicase/u32-casecoll-tests: New file.
7349         * tests/unicase/test-u32-casecoll.c: New file.
7350
7351         Tests for module 'unicase/u16-casecoll'.
7352         * modules/unicase/u16-casecoll-tests: New file.
7353         * tests/unicase/test-u16-casecoll.c: New file.
7354
7355         Tests for module 'unicase/u8-casecoll'.
7356         * modules/unicase/u8-casecoll-tests: New file.
7357         * tests/unicase/test-u8-casecoll.c: New file.
7358
7359         New module 'unicase/u32-casecoll'.
7360         * lib/unicase/u32-casecoll.c: New file.
7361         * modules/unicase/u32-casecoll: New file.
7362
7363         New module 'unicase/u16-casecoll'.
7364         * lib/unicase/u16-casecoll.c: New file.
7365         * modules/unicase/u16-casecoll: New file.
7366
7367         New module 'unicase/u8-casecoll'.
7368         * lib/unicase/u8-casecoll.c: New file.
7369         * lib/unicase/u-casecoll.h: New file.
7370         * modules/unicase/u8-casecoll: New file.
7371
7372         New module 'unicase/u32-casexfrm'.
7373         * lib/unicase/u32-casexfrm.c: New file.
7374         * modules/unicase/u32-casexfrm: New file.
7375
7376         New module 'unicase/u16-casexfrm'.
7377         * lib/unicase/u16-casexfrm.c: New file.
7378         * modules/unicase/u16-casexfrm: New file.
7379
7380         New module 'unicase/u8-casexfrm'.
7381         * lib/unicase/u8-casexfrm.c: New file.
7382         * lib/unicase/u-casexfrm.h: New file.
7383         * modules/unicase/u8-casexfrm: New file.
7384
7385         Tests for module 'unicase/u32-casecmp'.
7386         * modules/unicase/u32-casecmp-tests: New file.
7387         * tests/unicase/test-u32-casecmp.c: New file.
7388
7389         Tests for module 'unicase/u16-casecmp'.
7390         * modules/unicase/u16-casecmp-tests: New file.
7391         * tests/unicase/test-u16-casecmp.c: New file.
7392
7393         Tests for module 'unicase/u8-casecmp'.
7394         * modules/unicase/u8-casecmp-tests: New file.
7395         * tests/unicase/test-u8-casecmp.c: New file.
7396         * tests/unicase/test-casecmp.h: New file.
7397
7398         New module 'unicase/u32-casecmp'.
7399         * lib/unicase/u32-casecmp.c: New file.
7400         * modules/unicase/u32-casecmp: New file.
7401
7402         New module 'unicase/u16-casecmp'.
7403         * lib/unicase/u16-casecmp.c: New file.
7404         * modules/unicase/u16-casecmp: New file.
7405
7406         New module 'unicase/u8-casecmp'.
7407         * lib/unicase/u8-casecmp.c: New file.
7408         * lib/unicase/u-casecmp.h: New file.
7409         * modules/unicase/u8-casecmp: New file.
7410
7411         Tests for module 'unicase/u32-casefold'.
7412         * modules/unicase/u32-casefold-tests: New file.
7413         * tests/unicase/test-u32-casefold.c: New file.
7414
7415         Tests for module 'unicase/u16-casefold'.
7416         * modules/unicase/u16-casefold-tests: New file.
7417         * tests/unicase/test-u16-casefold.c: New file.
7418
7419         Tests for module 'unicase/u8-casefold'.
7420         * modules/unicase/u8-casefold-tests: New file.
7421         * tests/unicase/test-u8-casefold.c: New file.
7422
7423         New module 'unicase/u32-casefold'.
7424         * lib/unicase/u32-casefold.c: New file.
7425         * modules/unicase/u32-casefold: New file.
7426
7427         New module 'unicase/u16-casefold'.
7428         * lib/unicase/u16-casefold.c: New file.
7429         * modules/unicase/u16-casefold: New file.
7430
7431         New module 'unicase/u8-casefold'.
7432         * lib/unicase/u8-casefold.c: New file.
7433         * lib/unicase/u-casefold.h: New file.
7434         * modules/unicase/u8-casefold: New file.
7435
7436         New module 'unicase/tocasefold'.
7437         * lib/unicase/casefold.h: New file.
7438         * lib/unicase/tocasefold.c: New file.
7439         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
7440         * modules/unicase/tocasefold: New file.
7441
7442         Tests for module 'unicase/u32-totitle'.
7443         * modules/unicase/u32-totitle-tests: New file.
7444         * tests/unicase/test-u32-totitle.c: New file.
7445
7446         Tests for module 'unicase/u16-totitle'.
7447         * modules/unicase/u16-totitle-tests: New file.
7448         * tests/unicase/test-u16-totitle.c: New file.
7449
7450         Tests for module 'unicase/u8-totitle'.
7451         * modules/unicase/u8-totitle-tests: New file.
7452         * tests/unicase/test-u8-totitle.c: New file.
7453
7454         New module 'unicase/u32-totitle'.
7455         * lib/unicase/u32-totitle.c: New file.
7456         * modules/unicase/u32-totitle: New file.
7457
7458         New module 'unicase/u16-totitle'.
7459         * lib/unicase/u16-totitle.c: New file.
7460         * modules/unicase/u16-totitle: New file.
7461
7462         New module 'unicase/u8-totitle'.
7463         * lib/unicase/u8-totitle.c: New file.
7464         * lib/unicase/u-totitle.h: New file.
7465         * modules/unicase/u8-totitle: New file.
7466
7467         Tests for module 'unicase/u32-tolower'.
7468         * modules/unicase/u32-tolower-tests: New file.
7469         * tests/unicase/test-u32-tolower.c: New file.
7470
7471         Tests for module 'unicase/u16-tolower'.
7472         * modules/unicase/u16-tolower-tests: New file.
7473         * tests/unicase/test-u16-tolower.c: New file.
7474
7475         Tests for module 'unicase/u8-tolower'.
7476         * modules/unicase/u8-tolower-tests: New file.
7477         * tests/unicase/test-u8-tolower.c: New file.
7478
7479         New module 'unicase/u32-tolower'.
7480         * lib/unicase/u32-tolower.c: New file.
7481         * modules/unicase/u32-tolower: New file.
7482
7483         New module 'unicase/u16-tolower'.
7484         * lib/unicase/u16-tolower.c: New file.
7485         * modules/unicase/u16-tolower: New file.
7486
7487         New module 'unicase/u8-tolower'.
7488         * lib/unicase/u8-tolower.c: New file.
7489         * modules/unicase/u8-tolower: New file.
7490
7491         Tests for module 'unicase/u32-toupper'.
7492         * modules/unicase/u32-toupper-tests: New file.
7493         * tests/unicase/test-u32-toupper.c: New file.
7494
7495         Tests for module 'unicase/u16-toupper'.
7496         * modules/unicase/u16-toupper-tests: New file.
7497         * tests/unicase/test-u16-toupper.c: New file.
7498
7499         Tests for module 'unicase/u8-toupper'.
7500         * modules/unicase/u8-toupper-tests: New file.
7501         * tests/unicase/test-u8-toupper.c: New file.
7502
7503         New module 'unicase/u32-toupper'.
7504         * lib/unicase/u32-toupper.c: New file.
7505         * modules/unicase/u32-toupper: New file.
7506
7507         New module 'unicase/u16-toupper'.
7508         * lib/unicase/u16-toupper.c: New file.
7509         * modules/unicase/u16-toupper: New file.
7510
7511         New module 'unicase/u8-toupper'.
7512         * lib/unicase/u8-toupper.c: New file.
7513         * modules/unicase/u8-toupper: New file.
7514
7515         New module 'unicase/u32-casemap'.
7516         * lib/unicase/u32-casemap.c: New file.
7517         * modules/unicase/u32-casemap: New file.
7518
7519         New module 'unicase/u16-casemap'.
7520         * lib/unicase/u16-casemap.c: New file.
7521         * modules/unicase/u16-casemap: New file.
7522
7523         New module 'unicase/u8-casemap'.
7524         * lib/unicase/unicasemap.h: New file.
7525         * lib/unicase/u8-casemap.c: New file.
7526         * lib/unicase/u-casemap.h: New file.
7527         * modules/unicase/u8-casemap: New file.
7528
7529         New module 'unicase/special-casing'.
7530         * lib/unicase/special-casing.h: New file.
7531         * lib/unicase/special-casing.c: New file.
7532         * lib/unicase/special-casing-table.gperf: New file, generated by
7533         gen-uni-tables.c.
7534         * modules/unicase/special-casing: New file.
7535
7536         Tests for module 'unicase/locale-language'.
7537         * modules/unicase/locale-language-tests: New file.
7538         * tests/unicase/test-locale-language.sh: New file.
7539         * tests/unicase/test-locale-language.c: New file.
7540
7541         New module 'unicase/locale-language'.
7542         * lib/unicase/locale-language.c: New file.
7543         * lib/unicase/locale-languages.gperf: New file.
7544         * modules/unicase/locale-language: New file.
7545
7546         Generate more tables for case conversion and case folding.
7547         * lib/gen-uni-tables.c (SCC_*): New enum items.
7548         (struct special_casing_rule): New type.
7549         (casing_rules, num_casing_rules, allocated_casing_rules): New
7550         variables.
7551         (add_casing_rule, fill_casing_rules): New functions.
7552         (struct casefold_rule): New type.
7553         (casefolding_rules, num_casefolding_rules,
7554         allocated_casefolding_rules): New variables.
7555         (fill_casefolding_rules): New function.
7556         (unicode_casefold): New variable.
7557         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
7558         sort_casing_rules, output_casing_rules): New functions.
7559         (main): Accept to more arguments: SpecialCasing.txt and
7560         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
7561         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
7562         Output mapping for casefolding.
7563
7564         * lib/unicase.h: Include stdbool.h, uninorm.h.
7565         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
7566         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
7567         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
7568         arguments.
7569         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
7570         resultp arguments.
7571         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
7572         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
7573         resultp arguments.
7574         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
7575         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
7576         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
7577         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
7578         declarations.
7579         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
7580
7581 2009-03-08  Bruno Haible  <bruno@clisp.org>
7582
7583         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7584         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
7585         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
7586         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7587
7588 2009-03-07  Bruno Haible  <bruno@clisp.org>
7589
7590         Adjust u*_normcmp, u*_normcoll API.
7591         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7592         u16_normcoll, u32_normcoll): Change failure conventions.
7593         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
7594         errno and return -1.
7595         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7596
7597 2009-03-07  Bruno Haible  <bruno@clisp.org>
7598
7599         Tests for module 'uninorm/u32-normcoll'.
7600         * modules/uninorm/u32-normcoll-tests: New file.
7601         * tests/uninorm/test-u32-normcoll.c: New file.
7602
7603         Tests for module 'uninorm/u16-normcoll'.
7604         * modules/uninorm/u16-normcoll-tests: New file.
7605         * tests/uninorm/test-u16-normcoll.c: New file.
7606
7607         Tests for module 'uninorm/u8-normcoll'.
7608         * modules/uninorm/u8-normcoll-tests: New file.
7609         * tests/uninorm/test-u8-normcoll.c: New file.
7610
7611 2009-03-07  Bruno Haible  <bruno@clisp.org>
7612
7613         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
7614         tests/uninorm/test-u32-normcmp.c.
7615         * tests/uninorm/test-u32-normcmp.c: Include it.
7616         (test_nonascii): New function, extracted from main. Add some more
7617         tests.
7618         (main): Invoke test_ascii and test_nonascii.
7619         * modules/uninorm/u32-normcmp-tests (Files): Add
7620         tests/uninorm/test-u32-normcmp.h.
7621         (Depends-on): Remove uninorm/u32-normcmp.
7622
7623         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
7624         tests/uninorm/test-u16-normcmp.c.
7625         * tests/uninorm/test-u16-normcmp.c: Include it.
7626         (test_nonascii): New function, extracted from main. Add some more
7627         tests.
7628         (main): Invoke test_ascii and test_nonascii.
7629         * modules/uninorm/u16-normcmp-tests (Files): Add
7630         tests/uninorm/test-u16-normcmp.h.
7631         (Depends-on): Remove uninorm/u16-normcmp.
7632
7633         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
7634         tests/uninorm/test-u8-normcmp.c.
7635         * tests/uninorm/test-u8-normcmp.c: Include it.
7636         (test_nonascii): New function, extracted from main. Add some more
7637         tests.
7638         (main): Invoke test_ascii and test_nonascii.
7639         * modules/uninorm/u8-normcmp-tests (Files): Add
7640         tests/uninorm/test-u8-normcmp.h.
7641         (Depends-on): Remove uninorm/u8-normcmp.
7642
7643 2009-03-07  Bruno Haible  <bruno@clisp.org>
7644
7645         New module 'uninorm/u32-normcoll'.
7646         * lib/uninorm/u32-normcoll.c: New file.
7647         * modules/uninorm/u32-normcoll: New file.
7648
7649         New module 'uninorm/u16-normcoll'.
7650         * lib/uninorm/u16-normcoll.c: New file.
7651         * modules/uninorm/u16-normcoll: New file.
7652
7653         New module 'uninorm/u8-normcoll'.
7654         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
7655         declarations.
7656         * lib/uninorm/u8-normcoll.c: New file.
7657         * lib/uninorm/u-normcoll.h: New file.
7658         * modules/uninorm/u8-normcoll: New file.
7659
7660         New module 'uninorm/u32-normxfrm'.
7661         * lib/uninorm/u32-normxfrm.c: New file.
7662         * modules/uninorm/u32-normxfrm: New file.
7663
7664         New module 'uninorm/u16-normxfrm'.
7665         * lib/uninorm/u16-normxfrm.c: New file.
7666         * modules/uninorm/u16-normxfrm: New file.
7667
7668         New module 'uninorm/u8-normxfrm'.
7669         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
7670         declarations.
7671         * lib/uninorm/u8-normxfrm.c: New file.
7672         * lib/uninorm/u-normxfrm.h: New file.
7673         * modules/uninorm/u8-normxfrm: New file.
7674
7675 2009-03-07  Bruno Haible  <bruno@clisp.org>
7676
7677         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
7678         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
7679         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
7680
7681 2009-03-07  Bruno Haible  <bruno@clisp.org>
7682
7683         New module 'memxfrm'.
7684         * lib/memxfrm.h: New file.
7685         * lib/memxfrm.c: New file.
7686         * modules/memxfrm: New file.
7687
7688 2009-03-07  Bruno Haible  <bruno@clisp.org>
7689
7690         New module 'memcmp2'.
7691         * lib/memcmp2.h: New file.
7692         * lib/memcmp2.c: New file.
7693         * modules/memcmp2: New file.
7694
7695 2009-03-07  Bruno Haible  <bruno@clisp.org>
7696
7697         Tests for module 'uninorm/decomposing-form'.
7698         * modules/uninorm/decomposing-form-tests: New file.
7699         * tests/uninorm/test-decomposing-form.c: New file.
7700
7701         New module 'uninorm/decomposing-form'.
7702         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
7703         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
7704         Add 'decomposing_variant' field.
7705         * lib/uninorm/decomposing-form.c: New file.
7706         * lib/uninorm/nfc.c (uninorm_nfc): Update.
7707         * lib/uninorm/nfd.c (uninorm_nfd): Update.
7708         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
7709         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
7710         * modules/uninorm/decomposing-form: New file.
7711         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
7712         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
7713
7714 2009-03-07  Bruno Haible  <bruno@clisp.org>
7715
7716         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
7717         strings.
7718
7719 2009-03-06  Bruno Haible  <bruno@clisp.org>
7720
7721         Tests for module 'uninorm/u32-normcmp'.
7722         * tests/uninorm/test-u32-normcmp.c: New file.
7723         * modules/uninorm/u32-normcmp-tests: New file.
7724
7725         Tests for module 'uninorm/u16-normcmp'.
7726         * tests/uninorm/test-u16-normcmp.c: New file.
7727         * modules/uninorm/u16-normcmp-tests: New file.
7728
7729         Tests for module 'uninorm/u8-normcmp'.
7730         * tests/uninorm/test-u8-normcmp.c: New file.
7731         * modules/uninorm/u8-normcmp-tests: New file.
7732
7733         New module 'uninorm/u32-normcmp'.
7734         * lib/uninorm/u32-normcmp.c: New file.
7735         * modules/uninorm/u32-normcmp: New file.
7736
7737         New module 'uninorm/u16-normcmp'.
7738         * lib/uninorm/u16-normcmp.c: New file.
7739         * modules/uninorm/u16-normcmp: New file.
7740
7741         New module 'uninorm/u8-normcmp'.
7742         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
7743         declarations.
7744         * lib/uninorm/u8-normcmp.c: New file.
7745         * lib/uninorm/u-normcmp.h: New file.
7746         * modules/uninorm/u8-normcmp: New file.
7747
7748 2009-03-06  Bruno Haible  <bruno@clisp.org>
7749
7750         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
7751         Reported by Eric Blake.
7752
7753 2009-03-06  Eric Blake  <ebb9@byu.net>
7754             Bruno Haible  <bruno@clisp.org>
7755
7756         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
7757         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
7758         condition.
7759         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7760         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
7761         condition.
7762         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7763
7764 2009-03-06  Eric Blake  <ebb9@byu.net>
7765
7766         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
7767         to avoid compiler warnings.
7768         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
7769
7770 2009-03-05  Bruno Haible  <bruno@clisp.org>
7771
7772         * tests/test-ftell.c (main): Disable test beyond end of file on
7773         FreeMiNT.
7774         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7775
7776 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
7777
7778         * lib/filevercmp.c: Move hidden files up in ordering.
7779         * tests/test-filevercmp.c: Add tests for hidden files.
7780
7781 2009-03-04  Bruno Haible  <bruno@clisp.org>
7782
7783         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
7784         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
7785         AM_CFLAGS.
7786         Reported by Simon Josefsson.
7787
7788 2009-03-03  Bruno Haible  <bruno@clisp.org>
7789
7790         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
7791         Reported by Simon Josefsson.
7792
7793         * doc/ld-version-script.texi: Update node reference.
7794
7795 2009-03-03  Bruno Haible  <bruno@clisp.org>
7796
7797         * modules/visibility (License): Change to 'unlimited'.
7798         Suggested by Simon Josefsson.
7799
7800 2009-03-03  Jim Meyering  <meyering@redhat.com>
7801
7802         unlinkdir: cannot_unlink_dir may modify process state
7803         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
7804         it's neither thread-safe nor appropriate for use in a library.
7805
7806 2009-03-03  Eric Blake  <ebb9@byu.net>
7807
7808         test-closein: silence test under Darwin
7809         * tests/test-closein.sh: Ignore stderr from cat, since we don't
7810         care if it dies from EPIPE or EBADF.
7811
7812 2009-03-03  Bruno Haible  <bruno@clisp.org>
7813
7814         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
7815         earlier.
7816         * doc/visibility.texi: Fix @node and @section.
7817
7818 2009-03-03  Simon Josefsson  <simon@josefsson.org>
7819
7820         * doc/gnulib.texi: Link to sections for ld version script and
7821         visibility.
7822         * doc/visibility.texi: Add @node and @section.
7823         * modules/ld-version-script: New module.
7824         * m4/ld-version-script.m4: New file.
7825         * doc/ld-version-script.texi: New file.
7826
7827 2009-03-02  David Lutterkort  <lutter@redhat.com>
7828
7829         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
7830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7831
7832 2009-03-02  Bruno Haible  <bruno@clisp.org>
7833
7834         * doc/visibility.texi: Mention libtool's -export-symbols option.
7835
7836 2009-03-02  Jim Meyering  <meyering@redhat.com>
7837
7838         announce-gen: new option: --no-print-checksums
7839         * build-aux/announce-gen (usage): Describe it.
7840         (print_checksums): Print a newline here, not in the [*] footnote.
7841         (main): Honor it.
7842
7843 2009-03-01  Bruno Haible  <bruno@clisp.org>
7844
7845         Use socklen_t in the native Windows replacements prototypes.
7846         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
7847         instead of 'int'.
7848         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7849         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7850         * modules/getsockopt (Depends-on): Add socklen.
7851         * modules/setsockopt (Depends-on): Add socklen.
7852
7853 2009-03-01  Bruno Haible  <bruno@clisp.org>
7854
7855         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
7856         least 4.2.
7857
7858 2009-03-01  Eric Blake  <ebb9@byu.net>
7859             Bruno Haible  <bruno@clisp.org>
7860
7861         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
7862         error messages.
7863         * lib/wait-process.c (wait_subprocess): Omit error message about
7864         deadly signal sent to the child of termsigp != NULL.
7865
7866 2009-03-01  Eric Blake  <ebb9@byu.net>
7867
7868         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
7869
7870 2009-03-01  Bruno Haible  <bruno@clisp.org>
7871
7872         Avoid a gcc warning.
7873         * tests/test-sched.c (b): Make global.
7874         Reported by Eric Blake.
7875
7876 2009-01-19  Martin Lambers  <marlam@marlam.de>
7877
7878         Provide POSIX semantics for socket timeout options on W32.
7879         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
7880         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
7881         * modules/setsockopt: Depend on sys_time module for struct timeval.
7882         * modules/getsockopt: Depend on sys_time module for struct timeval.
7883
7884 2009-03-01  Simon Josefsson  <simon@josefsson.org>
7885
7886         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
7887         __USE_GNU, for consistency with netdb.in.h.
7888         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7889
7890 2009-03-01  Bruno Haible  <bruno@clisp.org>
7891
7892         More support for FreeMiNT.
7893         * lib/fseeko.c (rpl_fseeko): Complete last commit.
7894         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7895
7896 2009-03-01  Bruno Haible  <bruno@clisp.org>
7897
7898         More support for FreeMiNT.
7899         * lib/fpurge.c (fpurge): Correct last commit.
7900         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7901
7902 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7903
7904         Fix unportable awk script in vc-list-files.
7905         * build-aux/vc-list-files: In the replacement awk script, use
7906         substr with a second argument of 1, not zero.
7907         Report by Simon Josefsson.
7908
7909 2009-02-28  Bruno Haible  <bruno@clisp.org>
7910
7911         More support for FreeMiNT.
7912         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
7913         to FreeMiNT today.
7914         * lib/fwriting.c (fwriting): Likewise.
7915         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
7916
7917 2009-02-28  Bruno Haible  <bruno@clisp.org>
7918
7919         * tests/test-freadseek.c (main): Disable test beyond end of file on
7920         FreeMiNT.
7921         * tests/test-ftello.c (main): Likewise.
7922         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7923
7924 2009-02-28  Bruno Haible  <bruno@clisp.org>
7925
7926         Add tentative support for FreeMiNT.
7927         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
7928         * lib/fpurge.c (fpurge): Likewise.
7929         * lib/freadable.c (freadable): Likewise.
7930         * lib/freading.c (freading): Likewise.
7931         * lib/freadptr.c (freadptr): Likewise.
7932         * lib/freadseek.c (freadptrinc): Likewise.
7933         * lib/fseeko.c (rpl_fseeko): Likewise.
7934         * lib/fseterr.c (fseterr): Likewise.
7935         * lib/fwritable.c (fwritable): Likewise.
7936         * lib/fwriting.c (fwriting): Likewise.
7937         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
7938         Hourihane.
7939         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7940
7941 2009-02-28  Bruno Haible  <bruno@clisp.org>
7942
7943         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
7944         SIGCHLD.
7945         Reported by Jim Meyering.
7946
7947 2009-02-28  Bruno Haible  <bruno@clisp.org>
7948
7949         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
7950         Mention the results of these tests on various platforms.
7951         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
7952         order.
7953         * doc/posix-functions/printf.texi: Likewise.
7954         * doc/posix-functions/snprintf.texi: Likewise.
7955         * doc/posix-functions/sprintf.texi: Likewise.
7956         * doc/posix-functions/vfprintf.texi: Likewise.
7957         * doc/posix-functions/vprintf.texi: Likewise.
7958         * doc/posix-functions/vsnprintf.texi: Likewise.
7959         * doc/posix-functions/vsprintf.texi: Likewise.
7960         * doc/glibc-functions/obstack_printf.texi: Likewise.
7961         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7962
7963 2009-02-28  Bruno Haible  <bruno@clisp.org>
7964
7965         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
7966         Reported by Loïc Minier <lool@dooz.org>.
7967
7968 2009-02-27  Bruno Haible  <bruno@clisp.org>
7969
7970         * gnulib-tool (func_import): Make the sed expression used to create the
7971         sed script for updating the .gitignore file POSIX compliant.
7972         Reported by Eric Blake.
7973
7974 2009-02-27  Bruno Haible  <bruno@clisp.org>
7975
7976         * gnulib-tool (sed): Don't alias as "sed --posix".
7977         Reported by Eric Blake.
7978
7979 2009-02-27  Bruno Haible  <bruno@clisp.org>
7980
7981         Avoid test link errors.
7982         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
7983         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
7984         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
7985         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
7986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7987
7988 2009-02-27  Bruno Haible  <bruno@clisp.org>
7989
7990         Avoid spurious "(cached)" in configure output.
7991         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
7992         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
7993         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
7994         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
7995         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
7996         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
7997         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
7998         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
7999         Reported by Eric Blake.
8000
8001 2009-02-27  Eric Blake  <ebb9@byu.net>
8002
8003         printf: fix regression in previous patch
8004         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
8005
8006 2009-02-27  Bruno Haible  <bruno@clisp.org>
8007
8008         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
8009         value.
8010         * lib/stdint.in.h: Likewise.
8011         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
8012
8013 2009-02-27  Eric Blake  <ebb9@byu.net>
8014
8015         doc: mention more functions added in cygwin 1.7.0
8016         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
8017         addition.
8018         * doc/posix-functions/open_wmemstream.texi: Likewise.
8019         * doc/posix-functions/wcsnlen.texi: Likewise.
8020         * doc/posix-functions/wcsnrtombs.texi: Likewise.
8021         * doc/posix-functions/wcstod.texi: Likewise.
8022         * doc/posix-functions/wcstof.texi: Likewise.
8023         * doc/posix-functions/wcstoimax.texi: Likewise.
8024         * doc/posix-functions/wcstok.texi: Likewise.
8025         * doc/posix-functions/wcstoumax.texi: Likewise.
8026
8027         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
8028         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
8029         * doc/posix-functions/fprintf.texi: Update.
8030         * doc/posix-functions/printf.texi: Update.
8031         * doc/posix-functions/snprintf.texi: Update.
8032         * doc/posix-functions/sprintf.texi: Update.
8033         * doc/posix-functions/vfprintf.texi: Update.
8034         * doc/posix-functions/vprintf.texi: Update.
8035         * doc/posix-functions/vsnprintf.texi: Update.
8036         * doc/posix-functions/vsprintf.texi: Update.
8037         * doc/glibc-functions/obstack_printf.texi: Update.
8038         * doc/glibc-functions/obstack_vprintf.texi: Update.
8039
8040 2009-02-26  Eric Blake  <ebb9@byu.net>
8041
8042         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
8043         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
8044         compilation bug by using runtime conversion.
8045         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8046         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
8047         * modules/ceill-tests (Files): Use nan.h.
8048         * modules/floorl-tests (Files): Likewise.
8049         * modules/frexpl-tests (Files): Likewise.
8050         * modules/isnanl-tests (Files): Likewise.
8051         * modules/ldexpl-tests (Files): Likewise.
8052         * modules/roundl-tests (Files): Likewise.
8053         * modules/truncl-tests (Files): Likewise.
8054         * tests/test-ceill.c (main): Use a working NaN.
8055         * tests/test-floorl.c (main): Likewise.
8056         * tests/test-frexpl.c (main): Likewise.
8057         * tests/test-isnan.c (test_long_double): Likewise.
8058         * tests/test-isnanl.h (main): Likewise.
8059         * tests/test-ldexpl.h (main): Likewise.
8060         * tests/test-roundl.h (main): Likewise.
8061         * tests/test-truncl.h (main): Likewise.
8062         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
8063
8064 2009-02-26  Eric Blake  <ebb9@byu.net>
8065             Bruno Haible  <bruno@clisp.org>
8066
8067         Work around a *printf bug with %ls on Solaris.
8068         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
8069         precision is specified, sprintf stops converting the wide string
8070         argument when the number of bytes that have been produced by this
8071         conversion equals or exceeds the precision.
8072         * doc/posix-functions/fprintf.texi: Update.
8073         * doc/posix-functions/printf.texi: Update.
8074         * doc/posix-functions/snprintf.texi: Update.
8075         * doc/posix-functions/sprintf.texi: Update.
8076         * doc/posix-functions/vfprintf.texi: Update.
8077         * doc/posix-functions/vprintf.texi: Update.
8078         * doc/posix-functions/vsnprintf.texi: Update.
8079         * doc/posix-functions/vsprintf.texi: Update.
8080         * doc/glibc-functions/obstack_printf.texi: Update.
8081         * doc/glibc-functions/obstack_vprintf.texi: Update.
8082
8083 2009-02-26  Eric Blake  <ebb9@byu.net>
8084
8085         stdlib: favor compiler check of random.h
8086         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
8087         to avoid an ObjC random.h installed by Swarm.
8088
8089 2009-02-26  Bruno Haible  <bruno@clisp.org>
8090
8091         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
8092         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
8093         Reported by Gary V. Vaughan <gary@gnu.org>.
8094
8095 2009-02-26  Bruno Haible  <bruno@clisp.org>
8096
8097         Fix *printf behaviour regarding the %ls directive.
8098         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
8099         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
8100         NEED_PRINTF_DIRECTIVE_LS.
8101         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
8102         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
8103         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
8104         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
8105         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
8106         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
8107         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
8108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
8109         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
8110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
8111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8112         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
8113         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
8114         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
8115         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
8116         * doc/posix-functions/fprintf.texi: Update.
8117         * doc/posix-functions/printf.texi: Update.
8118         * doc/posix-functions/snprintf.texi: Update.
8119         * doc/posix-functions/sprintf.texi: Update.
8120         * doc/posix-functions/vfprintf.texi: Update.
8121         * doc/posix-functions/vprintf.texi: Update.
8122         * doc/posix-functions/vsnprintf.texi: Update.
8123         * doc/posix-functions/vsprintf.texi: Update.
8124         * doc/glibc-functions/obstack_printf.texi: Update.
8125         * doc/glibc-functions/obstack_vprintf.texi: Update.
8126         Reported by Eric Blake.
8127
8128 2009-02-25  Bruno Haible  <bruno@clisp.org>
8129
8130         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
8131         with known value.
8132         Reported by Gary V. Vaughan <gary@gnu.org>.
8133
8134 2009-02-25  Bruno Haible  <bruno@clisp.org>
8135
8136         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
8137         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
8138         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
8139         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
8140         Reported by Gary V. Vaughan <gary@gnu.org>.
8141
8142 2009-02-25  Bruno Haible  <bruno@clisp.org>
8143
8144         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
8145         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
8146         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
8147         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
8148         Reported by Gary V. Vaughan <gary@gnu.org>.
8149
8150 2009-02-25  Eric Blake  <ebb9@byu.net>
8151
8152         tests: skip fseek/ftell tests if ungetc is broken
8153         * m4/ungetc.m4: New file.
8154         * modules/fseek-tests: Split test, so ungetc dependency is
8155         separate from rest of test.
8156         * modules/fseeko-tests: Likewise.
8157         * modules/ftell-tests: Likewise.
8158         * modules/ftello-tests: Likewise.
8159         * tests/test-fseek.c (main): Isolate ungetc dependency.
8160         * tests/test-fseeko.c (main): Likewise.
8161         * tests/test-ftell.c (main): Likewise.
8162         * tests/test-ftello.c (main): Likewise.
8163         * tests/test-fseek2.sh: New file.
8164         * tests/test-fseeko2.sh: Likewise.
8165         * tests/test-ftell2.sh: Likewise.
8166         * tests/test-ftello2.sh: Likewise.
8167
8168 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
8169
8170         test-getaddrinfo: fix usage of skip return code 77
8171         * tests/test-gettaddrinfo.c: Return skip code 77 only
8172         for first occurance of skip (4x77 is not 77)
8173
8174 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
8175
8176         strtod: avoid C99 decl-after-statement
8177         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
8178
8179 2009-02-24  Eric Blake  <ebb9@byu.net>
8180
8181         strtod: detect HP-UX 11.31 bug
8182         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
8183         Reported by Gary V. Vaughan.
8184
8185 2009-02-23  Bruno Haible  <bruno@clisp.org>
8186
8187         Fix invalid read past end of memory block.
8188         * lib/vasnprintf.c (DCHAR_SET): Define.
8189         (local_wcslen): Define only when needed.
8190         (local_strnlen, local_wcsnlen): New functions.
8191         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
8192         directives that involve a conversion ourselves.
8193         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
8194         wcsnlen, mbrtowc, wcrtomb.
8195         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
8196         * tests/test-vasprintf-posix.c (test_function): Likewise.
8197         * tests/test-snprintf-posix.h (test_function): Likewise.
8198         * tests/test-sprintf-posix.h (test_function): Likewise.
8199         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8200
8201 2009-02-22  Bruno Haible  <bruno@clisp.org>
8202
8203         Implement new clarified decomposition of Hangul syllables.
8204         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
8205         of type LTV, return only a pairwise decomposition.
8206         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
8207         Likewise.
8208         * tests/uninorm/test-decomposition.c (main): Updated expected result.
8209         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
8210         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
8211
8212 2009-02-22  Bruno Haible  <bruno@clisp.org>
8213
8214         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
8215         zero-length results and shrink excess allocated memory.
8216         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
8217         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
8218         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
8219         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
8220         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
8221         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
8222         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
8223         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
8224         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
8225         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
8226         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
8227         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
8228
8229 2009-02-21  Bruno Haible  <bruno@clisp.org>
8230
8231         * doc/gnulib.texi: Include safe-alloc.texi earlier.
8232         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
8233         spaces after a period. Put a space between a macro name and its
8234         argument list. Trivial rewordings.
8235         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
8236         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
8237         (main): Return 0 explicitly.
8238
8239 2009-02-21  Bruno Haible  <bruno@clisp.org>
8240
8241         Tests for module 'uninorm/filter'.
8242         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
8243         * modules/uninorm/filter-tests: New file.
8244
8245         New module 'uninorm/filter'.
8246         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
8247         uninorm_filter_flush, uninorm_filter_free): New declarations.
8248         * lib/uninorm/uninorm-filter.c: New file.
8249         * modules/uninorm/filter: New file.
8250
8251 2009-02-21  Bruno Haible  <bruno@clisp.org>
8252
8253         Tests for module 'uninorm/nfkc'.
8254         * tests/uninorm/test-nfkc.c: New file.
8255         * tests/uninorm/test-u8-nfkc.c: New file.
8256         * tests/uninorm/test-u16-nfkc.c: New file.
8257         * tests/uninorm/test-u32-nfkc.c: New file.
8258         * tests/uninorm/test-u32-nfkc-big.sh: New file.
8259         * tests/uninorm/test-u32-nfkc-big.c: New file.
8260         * modules/uninorm/nfkc-tests: New file.
8261
8262         New module 'uninorm/nfkc'.
8263         * lib/uninorm/nfkc.c: New file.
8264         * modules/uninorm/nfkc: New file.
8265
8266         Tests for module 'uninorm/nfkd'.
8267         * tests/uninorm/test-nfkd.c: New file.
8268         * tests/uninorm/test-u8-nfkd.c: New file.
8269         * tests/uninorm/test-u16-nfkd.c: New file.
8270         * tests/uninorm/test-u32-nfkd.c: New file.
8271         * tests/uninorm/test-u32-nfkd-big.sh: New file.
8272         * tests/uninorm/test-u32-nfkd-big.c: New file.
8273         * modules/uninorm/nfkd-tests: New file.
8274
8275         New module 'uninorm/nfkd'.
8276         * lib/uninorm/nfkd.c: New file.
8277         * modules/uninorm/nfkd: New file.
8278
8279         Tests for module 'uninorm/nfc'.
8280         * tests/uninorm/test-nfc.c: New file.
8281         * tests/uninorm/test-u8-nfc.c: New file.
8282         * tests/uninorm/test-u16-nfc.c: New file.
8283         * tests/uninorm/test-u32-nfc.c: New file.
8284         * tests/uninorm/test-u32-nfc-big.sh: New file.
8285         * tests/uninorm/test-u32-nfc-big.c: New file.
8286         * modules/uninorm/nfc-tests: New file.
8287
8288         New module 'uninorm/nfc'.
8289         * lib/uninorm/nfc.c: New file.
8290         * modules/uninorm/nfc: New file.
8291
8292         Tests for module 'uninorm/nfd'.
8293         * tests/uninorm/test-nfd.c: New file.
8294         * tests/uninorm/test-u8-nfd.c: New file.
8295         * tests/uninorm/test-u16-nfd.c: New file.
8296         * tests/uninorm/test-u32-nfd.c: New file.
8297         * tests/uninorm/test-u32-nfd-big.sh: New file.
8298         * tests/uninorm/test-u32-nfd-big.c: New file.
8299         * tests/uninorm/test-u32-normalize-big.h: New file.
8300         * tests/uninorm/test-u32-normalize-big.c: New file.
8301         * tests/uninorm/NormalizationTest.txt: New file, created from
8302         Unicode 5.1.0 NormalizationTest.txt.
8303         * modules/uninorm/nfd-tests: New file.
8304
8305         New module 'uninorm/nfd'.
8306         * lib/uninorm/nfd.c: New file.
8307         * modules/uninorm/nfd: New file.
8308
8309         New module 'uninorm/u32-normalize'.
8310         * lib/uninorm/u32-normalize.c: New file.
8311         * modules/uninorm/u32-normalize: New file.
8312
8313         New module 'uninorm/u16-normalize'.
8314         * lib/uninorm/u16-normalize.c: New file.
8315         * modules/uninorm/u16-normalize: New file.
8316
8317         New module 'uninorm/u8-normalize'.
8318         * lib/uninorm/u8-normalize.c: New file.
8319         * lib/uninorm/normalize-internal.h: New file.
8320         * lib/uninorm/u-normalize-internal.h: New file.
8321         * modules/uninorm/u8-normalize: New file.
8322
8323         New module 'uninorm/decompose-internal'.
8324         * lib/uninorm/decompose-internal.c: New file.
8325         * modules/uninorm/decompose-internal: New file.
8326
8327         Tests for module 'uninorm/composition'.
8328         * tests/uninorm/test-composition.c: New file.
8329         * modules/uninorm/composition-tests: New file.
8330
8331         New module 'uninorm/composition'.
8332         * lib/uninorm/composition.c: New file.
8333         * lib/uninorm/composition-table.gperf: New file, generated by
8334         gen-uni-tables.
8335         * modules/uninorm/composition: New file.
8336
8337         Tests for module 'uninorm/compat-decomposition'.
8338         * tests/uninorm/test-compat-decomposition.c: New file.
8339         * modules/uninorm/compat-decomposition-tests: New file.
8340
8341         New module 'uninorm/compat-decomposition'.
8342         * lib/uninorm/decompose-internal.h: New file.
8343         * lib/uninorm/compat-decomposition.c: New file.
8344         * modules/uninorm/compat-decomposition: New file.
8345
8346         Tests for module 'uninorm/canonical-decomposition'.
8347         * tests/uninorm/test-canonical-decomposition.c: New file.
8348         * modules/uninorm/canonical-decomposition-tests: New file.
8349
8350         New module 'uninorm/canonical-decomposition'.
8351         * lib/uninorm/canonical-decomposition.c: New file.
8352         * modules/uninorm/canonical-decomposition: New file.
8353
8354         Tests for module 'uninorm/decomposition'.
8355         * tests/uninorm/test-decomposition.c: New file.
8356         * modules/uninorm/decomposition-tests: New file.
8357
8358         New module 'uninorm/decomposition'.
8359         * lib/uninorm/decomposition.c: New file.
8360         * modules/uninorm/decomposition: New file.
8361
8362         New module 'uninorm/decomposition-table'.
8363         * lib/uninorm/decomposition-table.h: New file.
8364         * lib/uninorm/decomposition-table.c: New file.
8365         * lib/uninorm/decomposition-table1.h: New file, generated by
8366         gen-uni-tables.
8367         * lib/uninorm/decomposition-table2.h: New file, generated by
8368         gen-uni-tables.
8369         * modules/uninorm/decomposition-table: New file.
8370
8371         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
8372         (UC_DECOMP_*): New enumeration items.
8373         (get_decomposition): New function.
8374         (struct decomp_table): New type.
8375         (output_decomposition, output_decomposition_tables): New functions.
8376         (unicode_composition_exclusions): New variable.
8377         (fill_composition_exclusions, debug_output_composition_tables): New
8378         functions.
8379         (main): Accept one more argument. Invoke fill_composition_exclusions.
8380         Output decomposition and composition tables.
8381
8382         New module 'uninorm/base'.
8383         * lib/uninorm.h: New file.
8384         * lib/unictype.h: Update comment.
8385         * modules/uninorm/base: New file.
8386
8387 2009-02-21  David Lutterkort  <lutter@redhat.com>
8388
8389         Tests for module 'safe-alloc'.
8390         * tests/test-safe-alloc.c: New file.
8391         * modules/safe-alloc-tests: New file.
8392
8393         New module 'safe-alloc'.
8394         * lib/safe-alloc.h: New file.
8395         * lib/safe-alloc.c: New file.
8396         * m4/safe-alloc.m4: New file.
8397         * modules/safe-alloc: New file.
8398         * doc/safe-alloc.texi: New file.
8399         * doc/gnulib.texi: Include it.
8400         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8401         safe-alloc.
8402
8403 2009-02-18  Bruno Haible  <bruno@clisp.org>
8404
8405         Fix link error on non-glibc systems.
8406         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
8407         variable.
8408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8409
8410 2009-02-18  Jim Meyering  <meyering@redhat.com>
8411
8412         fts: avoid used-uninitialized error due to recent change
8413         * lib/fts.c (fts_read): Guard uses of the new member,
8414         parent->fts_n_dirs_remaining, since it's not relevant for
8415         the parent of a directory specified on the command-line.
8416
8417 2009-02-17  James Youngman  <jay@gnu.org>
8418             Bruno Haible  <bruno@clisp.org>
8419
8420         * m4/include_next.m4: Reformulate comment.
8421
8422 2009-02-16  Jim Meyering  <meyering@redhat.com>
8423
8424         fts: add #if guards so that the fts_lgpl module still builds
8425         * lib/fts.c: Guard just-added hash-table-using parts with
8426         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
8427         Reported by Simon Josefsson.
8428
8429 2009-02-15  Bruno Haible  <bruno@clisp.org>
8430
8431         * modules/array-mergesort-tests: New file.
8432         * tests/test-array-mergesort.c: New file.
8433
8434         New module 'array-mergesort'.
8435         * modules/array-mergesort: New file.
8436         * lib/array-mergesort.h: New file.
8437
8438 2009-02-15  Bruno Haible  <bruno@clisp.org>
8439
8440         Fix 2009-02-07 commit.
8441         * lib/gen-uni-tables.c (output_predicate, output_category,
8442         output_combclass, output_bidi_category, output_decimal_digit,
8443         output_digit, output_numeric, output_mirror, output_scripts,
8444         output_ident_category, output_simple_mapping): Fix format directives.
8445         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
8446
8447 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
8448
8449         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
8450         fixes are available from IBM.
8451
8452 2009-02-13  Jim Meyering  <meyering@redhat.com>
8453
8454         fts: arrange not to stat non-directories in more cases
8455         This makes GNU find (when it doesn't need to stat each file)
8456         *much* more efficient at traversing reiserfs file systems.
8457         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
8458         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
8459         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
8460         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
8461         (leaf_optimization_applies): New function.
8462         (LCO_hash, LCO_compare): New helper functions.
8463         (link_count_optimize_ok): New function.
8464         (fts_stat): Initialize new member (if dir).
8465         (fts_read): Decrement parent's fts_n_dirs_remaining count if
8466         we've just stat'ed a directory.  Skip the stat call when possible.
8467         ---
8468         Note this AFS-related exchange:
8469         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
8470         and note find's pioctl call in find/fstype.c.
8471         But that is necessary only if you want to enable the
8472         optimization for AFS, and for now, I don't.
8473
8474         fts: move a function definition "up" (no semantic change)
8475         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
8476         "up" to precede upcoming use of a related function.
8477
8478 2009-02-11  Jim Meyering  <meyering@redhat.com>
8479
8480         fts: correct internal computation of nlinks (optimization-related)
8481         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
8482         whether the current entry is a directory, so don't test it.
8483
8484 2009-02-10  Bruno Haible  <bruno@clisp.org>
8485
8486         Tests for module 'uniwbrk/ulc-wordbreaks'.
8487         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
8488         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
8489         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
8490
8491         Tests for module 'uniwbrk/u32-wordbreaks'.
8492         * modules/uniwbrk/u32-wordbreaks-tests: New file.
8493         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
8494
8495         Tests for module 'uniwbrk/u16-wordbreaks'.
8496         * modules/uniwbrk/u16-wordbreaks-tests: New file.
8497         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
8498
8499         Tests for module 'uniwbrk/u8-wordbreaks'.
8500         * modules/uniwbrk/u8-wordbreaks-tests: New file.
8501         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
8502
8503 2009-02-10  Bruno Haible  <bruno@clisp.org>
8504
8505         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
8506         property.
8507         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
8508         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
8509         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
8510
8511 2009-02-10  Simon Josefsson  <simon@josefsson.org>
8512
8513         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
8514         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
8515
8516 2009-02-10  Bruno Haible  <bruno@clisp.org>
8517
8518         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
8519         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
8520         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
8521         * lib/unilbrk/u8-possible-linebreaks.c: Update.
8522         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
8523         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
8524
8525 2009-02-09  Simon Josefsson  <simon@josefsson.org>
8526
8527         * lib/sockets.h (gl_fd_to_handle): New function.
8528
8529         * tests/test-sockets.c: Call gl_fd_to_handle.
8530
8531 2009-02-09  Bruno Haible  <bruno@clisp.org>
8532
8533         * doc/havelib.texi: Document the conventions on bi-arch systems.
8534
8535 2009-02-08  Bruno Haible  <bruno@clisp.org>
8536
8537         Document the AC_LIB_LINKFLAGS macro.
8538         * doc/havelib.texi: New file, mostly written on 2005-05-24.
8539         * doc/gnulib.texi: Include it.
8540
8541 2009-02-08  Bruno Haible  <bruno@clisp.org>
8542
8543         Fix wrong order of sections, compared to TOC.
8544         * doc/gnulib.texi: Include relocatable-maint.texi after the
8545         "Regular expressions" node, not before.
8546
8547 2009-02-08  Bruno Haible  <bruno@clisp.org>
8548
8549         Tests for module 'unicase/totitle'.
8550         * modules/unicase/totitle-tests: New file.
8551
8552         Tests for module 'unicase/tolower'.
8553         * modules/unicase/tolower-tests: New file.
8554
8555         Tests for module 'unicase/toupper'.
8556         * modules/unicase/toupper-tests: New file.
8557         * tests/unicase/test-mapping-part1.h: New file.
8558         * tests/unicase/test-mapping-part2.h: New file.
8559
8560         New module 'unicase/totitle'.
8561         * modules/unicase/totitle: New file.
8562         * lib/unicase/totitle.c: New file.
8563
8564         New module 'unicase/tolower'.
8565         * modules/unicase/tolower: New file.
8566         * lib/unicase/tolower.c: New file.
8567
8568         New module 'unicase/toupper'.
8569         * modules/unicase/toupper: New file.
8570         * lib/unicase/toupper.c: New file.
8571         * lib/unicase/simple-mapping.h: New file.
8572
8573         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
8574         (mapping_table): New structure.
8575         (output_simple_mapping): New function.
8576         (main): Invoke output_simple_mapping_test and output_simple_mapping.
8577         * modules/gen-uni-tables (Description): Update.
8578         * lib/unicase/toupper.h: New file, automatically generated by
8579         gen-uni-tables.
8580         * lib/unicase/tolower.h: New file, automatically generated by
8581         gen-uni-tables.
8582         * lib/unicase/totitle.h: New file, automatically generated by
8583         gen-uni-tables.
8584         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
8585         gen-uni-tables.
8586         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
8587         gen-uni-tables.
8588         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
8589         gen-uni-tables.
8590
8591         New module 'unicase/base'.
8592         * modules/unicase/base: New file.
8593         * lib/unicase.h: New file.
8594
8595 2009-02-08  Bruno Haible  <bruno@clisp.org>
8596
8597         New module 'uniwbrk/ulc-wordbreaks'.
8598         * modules/uniwbrk/ulc-wordbreaks: New file.
8599         * lib/uniwbrk/ulc-wordbreaks.c: New file.
8600
8601         New module 'uniwbrk/u32-wordbreaks'.
8602         * modules/uniwbrk/u32-wordbreaks: New file.
8603         * lib/uniwbrk/u32-wordbreaks.c: New file.
8604
8605         New module 'uniwbrk/u16-wordbreaks'.
8606         * modules/uniwbrk/u16-wordbreaks: New file.
8607         * lib/uniwbrk/u16-wordbreaks.c: New file.
8608
8609         New module 'uniwbrk/u8-wordbreaks'.
8610         * modules/uniwbrk/u8-wordbreaks: New file.
8611         * lib/uniwbrk/u8-wordbreaks.c: New file.
8612         * lib/uniwbrk/u-wordbreaks.h: New file.
8613
8614         New module 'uniwbrk/table'.
8615         * modules/uniwbrk/table: New file.
8616         * lib/uniwbrk/wbrktable.h: New file.
8617         * lib/uniwbrk/wbrktable.c: New file.
8618
8619         New module 'uniwbrk/wordbreak-property'.
8620         * modules/uniwbrk/wordbreak-property: New file.
8621         * lib/uniwbrk/wordbreak-property.c: New file.
8622
8623         * lib/gen-uni-tables.c (WBP_*): New enum items.
8624         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
8625         (unicode_org_wbp): New variable.
8626         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
8627         New functions.
8628         (wbp_table): New structure.
8629         (output_wbp, output_wbrk_tables): New functions.
8630         (main): Accept additional argument. Invoke fill_org_wbp,
8631         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
8632         output_wbrk_tables.
8633         * modules/gen-uni-tables (Description): Update.
8634         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
8635         gen-uni-tables.
8636
8637         New module 'uniwbrk/base'.
8638         * modules/uniwbrk/base: New file.
8639         * lib/uniwbrk.h: New file.
8640
8641 2009-02-08  Bruno Haible  <bruno@clisp.org>
8642
8643         Update to Unicode 5.1.0.
8644         * lib/gen-uni-tables.c (is_property_alphabetic): Include
8645         U+2185..U+2188.
8646         (is_property_default_ignorable_code_point): Don't include characters
8647         of category Cc or Cs and not-a-characters.
8648         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
8649         U+0D79, U+109E, U+109F, U+A60C.
8650         * lib/unictype/bidi_of.h: Regenerated.
8651         * lib/unictype/blocks.h: Regenerated.
8652         * lib/unictype/categ_C.h: Regenerated.
8653         * lib/unictype/categ_Cf.h: Regenerated.
8654         * lib/unictype/categ_Cn.h: Regenerated.
8655         * lib/unictype/categ_L.h: Regenerated.
8656         * lib/unictype/categ_Ll.h: Regenerated.
8657         * lib/unictype/categ_Lm.h: Regenerated.
8658         * lib/unictype/categ_Lo.h: Regenerated.
8659         * lib/unictype/categ_Lu.h: Regenerated.
8660         * lib/unictype/categ_M.h: Regenerated.
8661         * lib/unictype/categ_Mc.h: Regenerated.
8662         * lib/unictype/categ_Me.h: Regenerated.
8663         * lib/unictype/categ_Mn.h: Regenerated.
8664         * lib/unictype/categ_N.h: Regenerated.
8665         * lib/unictype/categ_Nd.h: Regenerated.
8666         * lib/unictype/categ_Nl.h: Regenerated.
8667         * lib/unictype/categ_No.h: Regenerated.
8668         * lib/unictype/categ_P.h: Regenerated.
8669         * lib/unictype/categ_Pd.h: Regenerated.
8670         * lib/unictype/categ_Pe.h: Regenerated.
8671         * lib/unictype/categ_Pf.h: Regenerated.
8672         * lib/unictype/categ_Pi.h: Regenerated.
8673         * lib/unictype/categ_Po.h: Regenerated.
8674         * lib/unictype/categ_Ps.h: Regenerated.
8675         * lib/unictype/categ_S.h: Regenerated.
8676         * lib/unictype/categ_Sk.h: Regenerated.
8677         * lib/unictype/categ_Sm.h: Regenerated.
8678         * lib/unictype/categ_So.h: Regenerated.
8679         * lib/unictype/categ_of.h: Regenerated.
8680         * lib/unictype/combining.h: Regenerated.
8681         * lib/unictype/ctype_alnum.h: Regenerated.
8682         * lib/unictype/ctype_alpha.h: Regenerated.
8683         * lib/unictype/ctype_graph.h: Regenerated.
8684         * lib/unictype/ctype_lower.h: Regenerated.
8685         * lib/unictype/ctype_print.h: Regenerated.
8686         * lib/unictype/ctype_punct.h: Regenerated.
8687         * lib/unictype/ctype_upper.h: Regenerated.
8688         * lib/unictype/decdigit.h: Regenerated.
8689         * lib/unictype/digit.h: Regenerated.
8690         * lib/unictype/mirror.h: Regenerated.
8691         * lib/unictype/numeric.h: Regenerated.
8692         * lib/unictype/pr_alphabetic.h: Regenerated.
8693         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
8694         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
8695         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
8696         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
8697         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
8698         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
8699         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
8700         * lib/unictype/pr_combining.h: Regenerated.
8701         * lib/unictype/pr_dash.h: Regenerated.
8702         * lib/unictype/pr_decimal_digit.h: Regenerated.
8703         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
8704         * lib/unictype/pr_deprecated.h: Regenerated.
8705         * lib/unictype/pr_diacritic.h: Regenerated.
8706         * lib/unictype/pr_extender.h: Regenerated.
8707         * lib/unictype/pr_format_control.h: Regenerated.
8708         * lib/unictype/pr_grapheme_base.h: Regenerated.
8709         * lib/unictype/pr_grapheme_extend.h: Regenerated.
8710         * lib/unictype/pr_grapheme_link.h: Regenerated.
8711         * lib/unictype/pr_id_continue.h: Regenerated.
8712         * lib/unictype/pr_id_start.h: Regenerated.
8713         * lib/unictype/pr_ideographic.h: Regenerated.
8714         * lib/unictype/pr_ignorable_control.h: Regenerated.
8715         * lib/unictype/pr_lowercase.h: Regenerated.
8716         * lib/unictype/pr_math.h: Regenerated.
8717         * lib/unictype/pr_numeric.h: Regenerated.
8718         * lib/unictype/pr_other_alphabetic.h: Regenerated.
8719         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
8720         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
8721         * lib/unictype/pr_other_id_continue.h: Regenerated.
8722         * lib/unictype/pr_other_lowercase.h: Regenerated.
8723         * lib/unictype/pr_other_math.h: Regenerated.
8724         * lib/unictype/pr_punctuation.h: Regenerated.
8725         * lib/unictype/pr_sentence_terminal.h: Regenerated.
8726         * lib/unictype/pr_soft_dotted.h: Regenerated.
8727         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
8728         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
8729         * lib/unictype/pr_unified_ideograph.h: Regenerated.
8730         * lib/unictype/pr_uppercase.h: Regenerated.
8731         * lib/unictype/pr_xid_continue.h: Regenerated.
8732         * lib/unictype/pr_xid_start.h: Regenerated.
8733         * lib/unictype/pr_zero_width.h: Regenerated.
8734         * lib/unictype/scripts.h: Regenerated.
8735         * lib/unictype/scripts_byname.gperf: Regenerated.
8736         * lib/unictype/sy_java_ident.h: Regenerated.
8737         * lib/unilbrk/lbrkprop1.h: Regenerated.
8738         * lib/unilbrk/lbrkprop2.h: Regenerated.
8739         * tests/unictype/test-categ_C.c: Regenerated.
8740         * tests/unictype/test-categ_Cf.c: Regenerated.
8741         * tests/unictype/test-categ_Cn.c: Regenerated.
8742         * tests/unictype/test-categ_L.c: Regenerated.
8743         * tests/unictype/test-categ_Ll.c: Regenerated.
8744         * tests/unictype/test-categ_Lm.c: Regenerated.
8745         * tests/unictype/test-categ_Lo.c: Regenerated.
8746         * tests/unictype/test-categ_Lu.c: Regenerated.
8747         * tests/unictype/test-categ_M.c: Regenerated.
8748         * tests/unictype/test-categ_Mc.c: Regenerated.
8749         * tests/unictype/test-categ_Me.c: Regenerated.
8750         * tests/unictype/test-categ_Mn.c: Regenerated.
8751         * tests/unictype/test-categ_N.c: Regenerated.
8752         * tests/unictype/test-categ_Nd.c: Regenerated.
8753         * tests/unictype/test-categ_Nl.c: Regenerated.
8754         * tests/unictype/test-categ_No.c: Regenerated.
8755         * tests/unictype/test-categ_P.c: Regenerated.
8756         * tests/unictype/test-categ_Pd.c: Regenerated.
8757         * tests/unictype/test-categ_Pe.c: Regenerated.
8758         * tests/unictype/test-categ_Pf.c: Regenerated.
8759         * tests/unictype/test-categ_Pi.c: Regenerated.
8760         * tests/unictype/test-categ_Po.c: Regenerated.
8761         * tests/unictype/test-categ_Ps.c: Regenerated.
8762         * tests/unictype/test-categ_S.c: Regenerated.
8763         * tests/unictype/test-categ_Sk.c: Regenerated.
8764         * tests/unictype/test-categ_Sm.c: Regenerated.
8765         * tests/unictype/test-categ_So.c: Regenerated.
8766         * tests/unictype/test-ctype_alnum.c: Regenerated.
8767         * tests/unictype/test-ctype_alpha.c: Regenerated.
8768         * tests/unictype/test-ctype_graph.c: Regenerated.
8769         * tests/unictype/test-ctype_lower.c: Regenerated.
8770         * tests/unictype/test-ctype_print.c: Regenerated.
8771         * tests/unictype/test-ctype_punct.c: Regenerated.
8772         * tests/unictype/test-ctype_upper.c: Regenerated.
8773         * tests/unictype/test-decdigit.h: Regenerated.
8774         * tests/unictype/test-digit.h: Regenerated.
8775         * tests/unictype/test-numeric.h: Regenerated.
8776         * tests/unictype/test-pr_alphabetic.c: Regenerated.
8777         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
8778         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
8779         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
8780         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
8781         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
8782         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
8783         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
8784         * tests/unictype/test-pr_combining.c: Regenerated.
8785         * tests/unictype/test-pr_dash.c: Regenerated.
8786         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
8787         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
8788         * tests/unictype/test-pr_deprecated.c: Regenerated.
8789         * tests/unictype/test-pr_diacritic.c: Regenerated.
8790         * tests/unictype/test-pr_extender.c: Regenerated.
8791         * tests/unictype/test-pr_format_control.c: Regenerated.
8792         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
8793         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
8794         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
8795         * tests/unictype/test-pr_id_continue.c: Regenerated.
8796         * tests/unictype/test-pr_id_start.c: Regenerated.
8797         * tests/unictype/test-pr_ideographic.c: Regenerated.
8798         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
8799         * tests/unictype/test-pr_lowercase.c: Regenerated.
8800         * tests/unictype/test-pr_math.c: Regenerated.
8801         * tests/unictype/test-pr_numeric.c: Regenerated.
8802         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
8803         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
8804         Regenerated.
8805         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
8806         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
8807         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
8808         * tests/unictype/test-pr_other_math.c: Regenerated.
8809         * tests/unictype/test-pr_punctuation.c: Regenerated.
8810         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
8811         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
8812         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
8813         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
8814         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
8815         * tests/unictype/test-pr_uppercase.c: Regenerated.
8816         * tests/unictype/test-pr_xid_continue.c: Regenerated.
8817         * tests/unictype/test-pr_xid_start.c: Regenerated.
8818         * tests/unictype/test-pr_zero_width.c: Regenerated.
8819
8820         Update to Unicode 5.1.0.
8821         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
8822         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
8823         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
8824         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
8825         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
8826         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
8827         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
8828         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
8829         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
8830         (nonspacing_table_ind): Update.
8831         * tests/uniwidth/test-uc_width2.sh: Update expected result.
8832
8833         Update to Unicode 5.1.0.
8834         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
8835         code transform.
8836         * lib/uniname/uniname.c (unicode_character_name,
8837         unicode_name_character): Add the range 0x1Fxxx to the code transform.
8838         * lib/uniname/uninames.h: Regenerated.
8839         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
8840
8841 2009-02-07  Bruno Haible  <bruno@clisp.org>
8842
8843         Merge gen-ctype and gen-lbrk into a single program.
8844         * lib/gen-uni-tables.c: New file, incorporating
8845         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
8846         Add directory prefixes to the names of the generated files.
8847         * lib/unictype/gen-ctype.c: Remove file.
8848         * lib/unilbrk/gen-lbrk.c: Remove file.
8849         * modules/gen-uni-tables: New file.
8850         * modules/unictype/gen-ctype: Remove file.
8851         * modules/unilbrk/gen-lbrk: Remove file.
8852
8853 2009-02-07  Bruno Haible  <bruno@clisp.org>
8854
8855         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
8856
8857         New module 'unistr/u32-strcoll'.
8858         * modules/unistr/u32-strcoll: New file.
8859         * lib/unistr/u32-strcoll.c: New file.
8860
8861         New module 'unistr/u16-strcoll'.
8862         * modules/unistr/u16-strcoll: New file.
8863         * lib/unistr/u16-strcoll.c: New file.
8864
8865         New module 'unistr/u8-strcoll'.
8866         * modules/unistr/u8-strcoll: New file.
8867         * lib/unistr/u8-strcoll.c: New file.
8868         * lib/unistr/u-strcoll.h: New file.
8869
8870 2009-02-07  Bruno Haible  <bruno@clisp.org>
8871
8872         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
8873         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
8874         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
8875         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
8876         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
8877         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
8878
8879 2009-02-07  Bruno Haible  <bruno@clisp.org>
8880
8881         Make 64-bit clean.
8882         * lib/unictype/gen-ctype.c (output_predicate, output_category,
8883         output_combclass, output_bidi_category, output_decimal_digit,
8884         output_digit, output_numeric, output_mirror, output_scripts,
8885         output_ident_category): Use proper width specifier in format strings.
8886
8887 2009-02-07  Bruno Haible  <bruno@clisp.org>
8888
8889         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
8890         failure behaviour.
8891
8892 2009-02-07  Jim Meyering  <meyering@redhat.com>
8893
8894         regex: avoid compilation failure with upcoming gcc-4.4
8895         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
8896         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
8897         "... error: integer overflow in preprocessor expression".
8898
8899 2009-02-05  Ben Pfaff  <blp@gnu.org>
8900
8901         Fix link errors on Windows when close module is used.
8902         * modules/close: Add $(LIB_CLOSE) to Link section.
8903         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
8904         $(LIB_CLOSE) on Windows.
8905
8906 2009-02-05  Jim Meyering  <meyering@redhat.com>
8907
8908         still avoid unused-parameter warnings, but do it cleanly
8909         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
8910         (get_fs_usage): Cast to void instead.
8911         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
8912         (dev_from_mount_options, read_file_system_list): Cast to void.
8913         Prompted by Bruno Haible.
8914
8915 2009-02-04  Jim Meyering  <meyering@redhat.com>
8916
8917         fsusage.c: correct copyright year
8918         * lib/fsusage.c: Reflect year in which the change is pushed into
8919
8920         avoid misc. warnings
8921         * lib/fsusage.c (UNUSED_PARAM): Define.
8922         (get_fs_usage): Mark parameter "disk" as unused.
8923         * lib/getugroups.c (getgrent): Use "void" in prototype.
8924         * lib/mountlist.c: Mark unused parameters.
8925         (read_file_system_list): Declare a local with "const".
8926         * lib/nanosleep.c (getnow): Declare static.
8927         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
8928
8929         dirfd: set errno upon failure
8930         * lib/dirfd.c: Include <errno.h>.
8931         Set errno to ENOTSUP when returning -1.
8932         * modules/dirfd (Depends-on): Add errno.
8933         Suggested by John Kodis <kodis@comcast.net>.
8934
8935 2009-02-01  Bruno Haible  <bruno@clisp.org>
8936
8937         Don't assume sizeof (long) >= sizeof (void *).
8938         * lib/memcmp.c: Include stdint.h.
8939         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
8940         srcp2 to 'const byte *'.
8941         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
8942         types to uintptr_t.
8943         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
8944         * modules/memcmp (Depends-on): Add stdint.
8945         Reported by Ozkan Sezer <sezeroz@gmail.com>.
8946
8947 2009-01-30  Eric Blake  <ebb9@byu.net>
8948
8949         fix more require-before-expand issues
8950         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
8951         expand, AC_PROG_AWK.
8952         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
8953
8954 2009-01-28  Eric Blake  <ebb9@byu.net>
8955
8956         version-etc: use consistent URL formatting
8957         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
8958         Improve formatting.  Use fputs for string without %.
8959
8960 2009-01-28  Jim Meyering  <meyering@redhat.com>
8961
8962         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
8963         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
8964         "underquoted definition of NAME" from autoconf-2.59.
8965
8966 2009-01-28  Bruno Haible  <bruno@clisp.org>
8967
8968         * doc/gnulib.texi: Add "Obsolete modules" to index.
8969
8970 2009-01-28  Jim Meyering  <meyering@redhat.com>
8971
8972         useless-if-before-free: recognize more variants
8973         * build-aux/useless-if-before-free: Also recognize e.g.,
8974         if (NULL != p) free (p);
8975
8976 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
8977
8978         test-getaddrinfo: skip (don't fail) this test when there's no network
8979         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
8980         on the presumption that it means you lack network access.
8981
8982 2009-01-26  Jim Meyering  <meyering@redhat.com>
8983
8984         fflush: avoid warnings on modern systems
8985         * lib/fflush.c (rpl_fflush): Move declarations of locals,
8986         pos and result, into scopes where they're used.
8987
8988 2009-01-26  Eric Blake  <ebb9@byu.net>
8989
8990         Silence warning reintroduced by recent extensions patch.
8991         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
8992         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
8993         autoconf.
8994
8995         Backport improved autoconf semantics of AC_DEFUN_ONCE.
8996         * m4/00gnulib.m4: New file.
8997         * gnulib-tool (func_get_filelist): Always use it.
8998         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
8999         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
9000
9001 2009-01-25  Bruno Haible  <bruno@clisp.org>
9002
9003         Make test-quotearg work on MacOS X and AIX.
9004         * tests/test-quotearg.sh: New file.
9005         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
9006         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
9007         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
9008         include <libintl.h>.
9009         (fake_locale): Remove variable.
9010         (gettext, dgettext, dcgettext): Remove functions.
9011         (main): Instead of setting a fake locale, set a real locale. Call
9012         textdomain and bindtextdomain.
9013         * modules/quotearg-tests (Files): Add the new files.
9014         (Depends-on): Add gettext, setenv, unsetenv.
9015         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
9016         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
9017         Augment TESTS_ENVIRONMENT.
9018
9019 2009-01-25  Bruno Haible  <bruno@clisp.org>
9020
9021         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
9022         fr_FR.ISO8859-1 locale on MacOS X.
9023         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
9024         ja_JP.eucJP locale on MacOS X.
9025         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
9026         zh_CN.GB18030 locale on MacOS X.
9027
9028 2009-01-25  Bruno Haible  <bruno@clisp.org>
9029
9030         Avoid link errors on MacOS X 10.3.
9031         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
9032         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
9033
9034 2009-01-25  Bruno Haible  <bruno@clisp.org>
9035
9036         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
9037         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
9038         * modules/pipe (Files): Remove m4/posix_spawn.m4.
9039         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
9040         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
9041         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
9042         posix_spawnattr_init, posix_spawnattr_setsigmask,
9043         posix_spawnattr_setflags, posix_spawnattr_destroy.
9044
9045         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
9046         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
9047         * modules/execute (Files): Remove m4/posix_spawn.m4.
9048         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
9049         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
9050         posix_spawnattr_init, posix_spawnattr_setsigmask,
9051         posix_spawnattr_setflags, posix_spawnattr_destroy.
9052
9053 2009-01-25  Bruno Haible  <bruno@clisp.org>
9054
9055         * lib/glthread/threadlib.c: Include <stdlib.h>.
9056
9057 2009-01-25  Bruno Haible  <bruno@clisp.org>
9058
9059         * lib/glthread/threadlib.c (dummy): New declaration.
9060
9061 2009-01-25  Bruno Haible  <bruno@clisp.org>
9062
9063         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
9064         multibyte characters also for the GB18030 encoding. Don't crash when
9065         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
9066
9067 2009-01-25  Bruno Haible  <bruno@clisp.org>
9068
9069         Avoid redefining 'struct random_data' on OSF/1 5.1.
9070         * lib/stdlib.in.h: Include <random.h> if it exists.
9071         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
9072         HAVE_RANDOM_H. Include <random.h> when testing whether
9073         'struct random_data' exists.
9074         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
9075
9076 2009-01-25  Bruno Haible  <bruno@clisp.org>
9077
9078         Don't install charset.alias on MacOS X >= 10.3.
9079         * lib/localcharset.c (DARWIN7): New macro.
9080         (get_charset_aliases): Hardcode the result for Darwin7.
9081         * modules/localcharset (install-exec-local): Don't install
9082         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
9083
9084 2009-01-25  Bruno Haible  <bruno@clisp.org>
9085
9086         Don't install charset.alias on mingw and Cygwin.
9087         * modules/localcharset (install-exec-local): Don't install
9088         charset.alias on mingw and Cygwin, if the file does not yet exist.
9089         The result for these platforms is hardcoded in localcharset.c.
9090
9091 2009-01-25  Bruno Haible  <bruno@clisp.org>
9092
9093         Make it possible again to use AC_GNU_SOURCE together with gnulib.
9094         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
9095         before requiring AC_USE_SYSTEM_EXTENSIONS.
9096
9097 2009-01-25  Jim Meyering  <meyering@redhat.com>
9098
9099         c-strtod: avoid warnings
9100         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
9101         "assignment discards qualifiers from pointer target type" warnings.
9102
9103 2009-01-24  Bruno Haible  <bruno@clisp.org>
9104
9105         Add support for non-UTF-8 locales on MacOS X.
9106         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
9107         canonical encodings. For Darwin 7 and newer, don't map traditional
9108         encodings to UTF-8.
9109         Reported by Vincent Lefevre <vincent@vinc17.org>
9110         at <http://savannah.gnu.org/bugs/?25235>.
9111
9112 2009-01-24  Bruno Haible  <bruno@clisp.org>
9113
9114         * doc/gnulib.texi (Obsolete modules): New section.
9115         Reported by Mike Frysinger <vapier@gentoo.org>.
9116
9117 2009-01-24  Bruno Haible  <bruno@clisp.org>
9118
9119         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
9120         (%.dvi): New rule.
9121
9122 2009-01-24  Bruno Haible  <bruno@clisp.org>
9123
9124         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
9125         Reported by Eric Blake.
9126
9127 2009-01-24  Bruno Haible  <bruno@clisp.org>
9128
9129         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
9130         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
9131         Reported by Gary V. Vaughan <gary@gnu.org>.
9132
9133 2009-01-24  Bruno Haible  <bruno@clisp.org>
9134
9135         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
9136
9137 2009-01-23  Bruno Haible  <bruno@clisp.org>
9138
9139         Make c-strtod, c-strtold usable in libraries.
9140         * lib/c-strtod.c: Include string.h instead of xalloc.h.
9141         (C_STRTOD): Call strdup instead of xstrdup.
9142         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
9143         * modules/c-strtold (Depends-on): Likewise.
9144         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
9145         * NEWS: Mention the change.
9146         Reported by Michael Gold <mgold@ncf.ca>.
9147
9148 2009-01-23  Jim Meyering  <meyering@redhat.com>
9149
9150         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
9151         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
9152         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
9153
9154 2009-01-23  Simon Josefsson  <simon@josefsson.org>
9155
9156         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
9157         GNU CoreUtils.
9158         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
9159         * modules/version-etc (Description): Update.
9160
9161 2009-01-22  Bruno Haible  <bruno@clisp.org>
9162
9163         Cache the C locale object.
9164         * lib/c-strtod.c (c_locale_cache): New variable.
9165         (c_locale): New function.
9166         (C_STRTOD): Use it, and don't call freelocale.
9167         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
9168         Suggested by Paolo Bonzini.
9169
9170 2009-01-21  Bruno Haible  <bruno@clisp.org>
9171
9172         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
9173         conditions other than overflow.
9174
9175 2009-01-21  Bruno Haible  <bruno@clisp.org>
9176
9177         * lib/c-strtod.c: Include errno.h.
9178         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
9179         value from STRTOD_L and STRTOD.
9180
9181 2009-01-21  Bruno Haible  <bruno@clisp.org>
9182         and Jim Meyering  <meyering@redhat.com>
9183
9184         nanosleep: skip configure test (fail it) for apple universal builds
9185         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
9186         universal builds, assume that nanosleep does not work.
9187         * modules/nanosleep (Depends-on): Add multiarch.
9188
9189         mktime: skip configure test (fail it) for apple universal builds
9190         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
9191         universal builds, assume that mktime does not work.
9192         * modules/mktime (Depends-on): Add multiarch.
9193
9194 2009-01-21  Eric Blake  <ebb9@byu.net>
9195
9196         multiarch: avoid expand-before-require warning
9197         * modules/multiarch (configure.ac): Require, rather than expand,
9198         gl_MULTIARCH.
9199         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
9200         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
9201         enforce that all clients require it.  Partial reversion of
9202         2008-12-29 patch.
9203
9204         error: avoid expand-before-require warning
9205         * modules/errno (configure.ac): Require, rather than expand,
9206         gl_HEADER_ERRNO_H.
9207         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
9208         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
9209         enforce that all clients require it.
9210
9211         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
9212         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
9213         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
9214         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
9215
9216 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
9217
9218         Revert:
9219         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
9220
9221         regex: do not depend on obsolete modules.
9222         * modules/regex: Remove memcmp and memmove.
9223
9224 2009-01-20  Bruno Haible  <bruno@clisp.org>
9225
9226         Make the 'link' module link on Windows NT 4.
9227         * lib/link.c (_WIN32_WINNT): Don't define.
9228         (CreateHardLinkFuncType): New type.
9229         (CreateHardLinkFunc, initialized): New variables.
9230         (initialize): New function.
9231         (link): Invoke CreateHardLink indirectly through the function pointer.
9232
9233 2009-01-20  Bruno Haible  <bruno@clisp.org>
9234
9235         Fix compilation failure on mingw.
9236         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
9237
9238 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
9239
9240         * doc/c-strtod.texi: Mention a couple of restrictions.
9241
9242 2009-01-20  Jim Meyering  <meyering@redhat.com>
9243
9244         gettimeofday: move more declarations out of functions
9245         * lib/gettimeofday.c: Move extern declarations of tzset and
9246         gmtime out of containing functions.  Prompted by Bruno Haible.
9247
9248 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
9249
9250         regex: do not depend on obsolete modules.
9251         * modules/regex: Remove memcmp and memmove.
9252
9253 2009-01-19  Bruno Haible  <bruno@clisp.org>
9254
9255         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
9256         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
9257         gl_BIGENDIAN, not AC_C_BIGENDIAN.
9258         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
9259         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
9260
9261 2009-01-19  Bruno Haible  <bruno@clisp.org>
9262
9263         * tests/test-link.c: Include <errno.h>.
9264         (main): Exit with code 77 when a hard link cannot be created due to
9265         the file system.
9266         * tests/test-link.sh: Skip test when a hard link cannot be created due
9267         to the file system.
9268         Suggested by Eric Blake.
9269
9270 2009-01-19  Martin Lambers  <marlam@marlam.de>
9271
9272         * modules/link-tests: New file.
9273         * tests/test-link.sh: New file.
9274         * tests/test-link.c: New file.
9275
9276 2009-01-19  Eric Blake  <ebb9@byu.net>
9277
9278         doc: mention another function added in cygwin 1.7.0
9279         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
9280         Another new function in cygwin 1.7.
9281
9282 2009-01-19  Bruno Haible  <bruno@clisp.org>
9283
9284         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
9285         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
9286         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
9287         gl_BIGENDIAN, not AC_C_BIGENDIAN.
9288         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
9289         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
9290         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9291         * m4/md4.m4 (gl_MD4): Likewise.
9292         * m4/md5.m4 (gl_MD5): Likewise.
9293         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
9294         * m4/sha1.m4 (gl_SHA1): Likewise.
9295         * m4/sha256.m4 (gl_SHA256): Likewise.
9296         * m4/sha512.m4 (gl_SHA512): Likewise.
9297
9298 2009-01-19  Bruno Haible  <bruno@clisp.org>
9299
9300         * modules/uniname/uniname-tests (Depends-on): Add progname.
9301         * tests/uniname/test-uninames.c: Include progname.h.
9302         (main): Call set_program_name.
9303
9304         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
9305         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
9306         (main): Call set_program_name.
9307
9308         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
9309         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
9310         (main): Call set_program_name.
9311
9312         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
9313         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
9314         (main): Call set_program_name.
9315
9316         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
9317         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
9318         (main): Call set_program_name.
9319
9320         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
9321         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
9322         (main): Call set_program_name.
9323
9324         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
9325         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
9326         (main): Call set_program_name.
9327
9328         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
9329         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
9330         (main): Call set_program_name.
9331
9332         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
9333         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
9334         (main): Call set_program_name.
9335
9336 2009-01-19  Eric Blake  <ebb9@byu.net>
9337
9338         test-unistd: test previous patch
9339         * tests/test-unistd.c: Test *_FILENO macros.
9340
9341         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
9342         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9343         Guarantee a definition.
9344         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
9345         * modules/unistd-safer (Depends-on): Add dependency on unistd.
9346         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
9347         * lib/dup-safer.c (STDERR_FILENO): Likewise.
9348         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9349         Likewise.
9350         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
9351         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
9352         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9353         Likewise.
9354         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
9355         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
9356         (STDERR_FILENO): Likewise.
9357         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
9358         (STDERR_FILENO): Likewise.
9359         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
9360         (STDERR_FILENO): Likewise.
9361         Reported by Elbert Pol.
9362
9363 2009-01-19  Eric Blake  <ebb9@byu.net>
9364
9365         doc: mention more functions added in cygwin 1.7.0
9366         * doc/posix-functions/abort.texi (abort): Update wording related
9367         to cygwin.
9368         * doc/posix-functions/daylight.texi (daylight): Likewise.
9369         * doc/posix-functions/optarg.texi (optarg): Likewise.
9370         * doc/posix-functions/optarg.texi (opterr): Likewise.
9371         * doc/posix-functions/optarg.texi (optind): Likewise.
9372         * doc/posix-functions/optarg.texi (optopt): Likewise.
9373         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
9374         worked in 1.5.x, and was withdrawn in 1.7.
9375         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9376         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
9377         cygwin versions.
9378         * doc/posix-functions/perror.texi (perror): Likewise.
9379         * doc/posix-functions/printf.texi (printf): Likewise.
9380         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
9381         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
9382         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9383         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9384         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9385         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
9386         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
9387         Likewise.
9388         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
9389         Likewise.
9390         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
9391         this function.
9392         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
9393         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
9394         Likewise.
9395         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
9396         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
9397         * doc/posix-functions/confstr.texi (confstr): Likewise.
9398         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
9399         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
9400         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
9401         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
9402         * doc/posix-functions/fputws.texi (fputws): Likewise.
9403         * doc/posix-functions/fwide.texi (fwide): Likewise.
9404         * doc/posix-functions/getwc.texi (getwc): Likewise.
9405         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
9406         * doc/posix-functions/putwc.texi (putwc): Likewise.
9407         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9408         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
9409         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
9410         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9411         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
9412         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
9413         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
9414         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
9415         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
9416         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
9417         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
9418
9419 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9420
9421         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
9422         * lib/ioctl.c: Include <sys/ioctl.h>.
9423
9424 2009-01-19  Simon Josefsson  <simon@josefsson.org>
9425
9426         * modules/getdate-tests (Depends-on): Add progname.
9427         * tests/test-getdate.c: Use progname module, to avoid link errors
9428         on non-glibc systems.
9429
9430 2009-01-18  Simon Josefsson  <simon@josefsson.org>
9431
9432         * modules/filenamecat-tests (Depends-on): Add progname.
9433         * modules/fstrcmp-tests (Depends-on): Likewise.
9434
9435         * tests/test-filenamecat.c: Use progname module, to avoid link
9436         errors on non-glibc systems.
9437         * tests/test-fstrcmp.c: Likewise.
9438
9439 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9440
9441         gettimeofday: avoid warning: nested extern declaration of 'localtime'
9442         * lib/gettimeofday.c: Move extern declaration out of function.
9443
9444 2009-01-18  Bruno Haible  <bruno@clisp.org>
9445
9446         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
9447         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
9448         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
9449
9450 2009-01-18  Bruno Haible  <bruno@clisp.org>
9451
9452         * lib/strftime.c (MEMPCPY): Remove unused macro.
9453         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
9454
9455 2009-01-18  Martin Lambers  <marlam@marlam.de>
9456
9457         New module 'link'.
9458         * lib/unistd.in.h (link): New declaration.
9459         * lib/link.c: New file.
9460         * m4/link.m4: New file.
9461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
9462         HAVE_LINK.
9463         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
9464         * modules/link: New file.
9465         * doc/posix-functions/link.texi: Mention the new module.
9466
9467 2009-01-18  Bruno Haible  <bruno@clisp.org>
9468
9469         * tests/test-avltree_list.c (main): Call set_program_name.
9470         * tests/test-avltree_oset.c (main): Likewise.
9471         * tests/test-obstack-printf.c: Include progname.h.
9472         (main): Call set_program_name.
9473         * tests/test-quotearg.c: Include progname.h.
9474         (main): Call set_program_name.
9475         * tests/test-xmemdup0.c: Include progname.h.
9476         (main): Call set_program_name.
9477
9478 2009-01-18  Bruno Haible  <bruno@clisp.org>
9479
9480         New module 'alphasort'.
9481         * lib/dirent.in.h (alphasort): New declaration.
9482         * lib/alphasort.c: New file, from glibc with modifications.
9483         * m4/alphasort.m4: New file.
9484         * modules/alphasort: New file.
9485         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
9486         HAVE_ALPHASORT.
9487         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
9488         HAVE_ALPHASORT.
9489         * doc/posix-functions/alphasort.texi: Mention the new module and the
9490         portability problems.
9491
9492 2009-01-18  Bruno Haible  <bruno@clisp.org>
9493
9494         New module 'scandir'.
9495         * lib/dirent.in.h (scandir): New declaration.
9496         * lib/scandir.c: New file, from glibc with modifications.
9497         * m4/scandir.m4: New file.
9498         * modules/scandir: New file.
9499         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
9500         HAVE_SCANDIR.
9501         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
9502         HAVE_SCANDIR.
9503         * doc/posix-functions/scandir.texi: Mention the new module and the
9504         portability problems.
9505
9506 2009-01-17  Bruno Haible  <bruno@clisp.org>
9507
9508         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
9509         Update documentation.
9510         (func_remove_suffix): Escape all dots in the suffix. Update
9511         documentation.
9512         (func_filter_filelist): Update documentation.
9513         Reported by Ralf Wildenhues.
9514
9515 2009-01-17  Bruno Haible  <bruno@clisp.org>
9516
9517         * modules/dprintf-posix-tests: New file.
9518         * tests/test-dprintf-posix.sh: New file.
9519         * tests/test-dprintf-posix.c: New file.
9520
9521         New modules 'dprintf', 'dprintf-posix'.
9522         * lib/stdio.in.h (dprintf): New declaration.
9523         * lib/dprintf.c: New file.
9524         * m4/dprintf.m4: New file.
9525         * m4/dprintf-posix.m4: New file.
9526         * modules/dprintf: New file.
9527         * modules/dprintf-posix: New file.
9528         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
9529         HAVE_DPRINTF, REPLACE_DPRINTF.
9530         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
9531         HAVE_DPRINTF, REPLACE_DPRINTF.
9532         * doc/posix-functions/dprintf.texi: Mention the new modules.
9533
9534 2009-01-17  Bruno Haible  <bruno@clisp.org>
9535
9536         * modules/vdprintf-posix-tests: New file.
9537         * tests/test-vdprintf-posix.sh: New file.
9538         * tests/test-vdprintf-posix.c: New file.
9539
9540         New modules 'vdprintf', 'vdprintf-posix'.
9541         * lib/stdio.in.h (vdprintf): New declaration.
9542         * lib/vdprintf.c: New file.
9543         * m4/vdprintf.m4: New file.
9544         * m4/vdprintf-posix.m4: New file.
9545         * modules/vdprintf: New file.
9546         * modules/vdprintf-posix: New file.
9547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
9548         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9549         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
9550         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9551         * doc/posix-functions/vdprintf.texi: Mention the new modules.
9552
9553 2009-01-17  Bruno Haible  <bruno@clisp.org>
9554
9555         Fix replacement of fopen on mingw.
9556         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
9557         mingw.
9558
9559 2009-01-17  Bruno Haible  <bruno@clisp.org>
9560
9561         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
9562         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
9563
9564 2009-01-17  Bruno Haible  <bruno@clisp.org>
9565
9566         Avoid test-fflush2.sh failure on mingw.
9567         * tests/test-fflush2.c: Include binary-io.h.
9568         (main): Put standard input into binary mode.
9569         * modules/fflush-tests (Depends-on): Add binary-io.
9570
9571 2009-01-17  Bruno Haible  <bruno@clisp.org>
9572
9573         * lib/wchar.in.h: In another particular situation, include only the
9574         system's <wchar.h> file.
9575         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
9576         Reported by Albert Chin-A-Young <china@thewrittenword.com>
9577         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
9578
9579 2009-01-17  Bruno Haible  <bruno@clisp.org>
9580
9581         Support for stripping executables in --enable-relocatable.
9582         * build-aux/install-reloc: Expect one more argument, or an environment
9583         variable RELOC_STRIP_PROG. If set, strip the destination program and
9584         its wrapper.
9585         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
9586         RELOC_STRIP_PROG.
9587         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
9588         to set RELOCATABLE_STRIP.
9589         * NEWS: Mention the new Makefile requirement.
9590
9591 2009-01-17  Bruno Haible  <bruno@clisp.org>
9592
9593         * build-aux/install-reloc: Remove debugging information left over by
9594         C compiler on MacOS X.
9595
9596 2009-01-17  Bruno Haible  <bruno@clisp.org>
9597
9598         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
9599         * lib/progreloc.c (find_executable): Fix type of pointer passed to
9600         _NSGetExecutablePath.
9601
9602 2009-01-16  Jim Meyering  <meyering@redhat.com>
9603
9604         strerror: avoid warnings about discarding "const"
9605         * lib/strerror.c (rpl_strerror): Instead of returning a const
9606         string from each and every "case", use a variable, and add a single
9607         cast after the switch.
9608
9609 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
9610
9611         * lib/arpa_inet.in.h: Add extern "C" block for C++.
9612
9613 2009-01-16  Bruno Haible  <bruno@clisp.org>
9614
9615         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
9616         array initializer syntax that also works in C++ mode.
9617         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9618
9619 2009-01-16  Jim Meyering  <meyering@redhat.com>
9620
9621         poll: suppress a warning
9622         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
9623         to ignore "...unsigned expression < 0 is always false" warnings.
9624
9625 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
9626
9627         poll: remove declarations of unused variables
9628         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
9629         sockbuf and optlen.
9630
9631 2009-01-15  Bruno Haible  <bruno@clisp.org>
9632
9633         Make fflush-after-ungetc POSIX compliant on BSD systems.
9634         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
9635         (clear_ungetc_buffer): Implement also for other systems.
9636         (rpl_fflush): On glibc systems, invoke
9637         clear_ungetc_buffer_preserving_position. Otherwise, invoke
9638         clear_ungetc_buffer after fetching the stream's position, not before.
9639
9640 2009-01-15  Bruno Haible  <bruno@clisp.org>
9641
9642         Make fflush-after-ungetc POSIX compliant on glibc systems.
9643         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
9644         after ungetc.
9645         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
9646         (rpl_fflush): On glibc systems, simply call the system's fflush
9647         function after clearing the ungetc buffer.
9648         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
9649         Instead, lseek only to the end of file, then use the system's fseeko
9650         for the rest. On glibc systems, reset the EOF indicator bit.
9651
9652 2009-01-15  Jim Meyering  <meyering@redhat.com>
9653
9654         openmp.m4: revert quote-adding change, for portability to older autoconf
9655         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
9656         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
9657         Simon Josefsson noticed the problem when using autoconf-2.61.
9658
9659 2009-01-15  Bruno Haible  <bruno@clisp.org>
9660
9661         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
9662         * tests/test-fflush2.c (ASSERT): Always fail.
9663         (main): Add two tests for fflush() after ungetc(), taking into account
9664         the Austin Group's clarification.
9665         Suggested by Eric Blake.
9666
9667 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
9668
9669         mktime.m4: remove K&R-style function prototypes
9670         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
9671         for the Sun C++ compiler.
9672
9673 2009-01-14  Bruno Haible  <bruno@clisp.org>
9674
9675         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
9676         while including <wchar.h>.
9677         * lib/wchar.in.h: In two particular situations on HP-UX, include only
9678         the system's <wchar.h> file.
9679         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9680
9681 2009-01-14  Bruno Haible  <bruno@clisp.org>
9682
9683         * m4/csharp.m4: Don't mention gettext on the serial number line.
9684         * m4/csharpexec.m4: Likewise.
9685         * m4/eaccess.m4: Likewise.
9686         * m4/javaexec.m4: Likewise.
9687         * m4/sig_atomic_t.m4: Likewise.
9688         * m4/tmpdir.m4: Likewise.
9689         * m4/intldir.m4: Bump gettext version.
9690         * m4/lib-ld.m4: Likewise.
9691
9692 2009-01-14  Bruno Haible  <bruno@clisp.org>
9693
9694         * lib/progname.c (set_program_name): Add more comments.
9695         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
9696
9697 2009-01-14  Simon Josefsson  <simon@josefsson.org>
9698
9699         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
9700         were sys/stat.h does not define it.
9701
9702 2009-01-14  Jim Meyering  <meyering@redhat.com>
9703
9704         many *.m4 files: improve m4 quoting
9705         99% of this change was performed by running the following commands:
9706         git ls-files | grep '\.m4$' | xargs perl -pi \
9707           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
9708           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9709           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9710           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
9711         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
9712         The remainder were to add Copyright dates, increment serial numbers,
9713         undo some changes in comments, exclude m4/intl.m4, and add quotes
9714         around the "1" in ",1" where the unusual spacing prohibited the
9715         above regexps from doing the job.  For more details, see
9716         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
9717         * m4/acl.m4: Modified.
9718         * m4/afs.m4: Likewise.
9719         * m4/alloca.m4: Likewise.
9720         * m4/argp.m4: Likewise.
9721         * m4/argz.m4: Likewise.
9722         * m4/atexit.m4: Likewise.
9723         * m4/bison-i18n.m4: Likewise.
9724         * m4/bison.m4: Likewise.
9725         * m4/byteswap.m4: Likewise.
9726         * m4/c-stack.m4: Likewise.
9727         * m4/c-strtod.m4: Likewise.
9728         * m4/calloc.m4: Likewise.
9729         * m4/canonicalize-lgpl.m4: Likewise.
9730         * m4/chown.m4: Likewise.
9731         * m4/clock_time.m4: Likewise.
9732         * m4/codeset.m4: Likewise.
9733         * m4/copy-file.m4: Likewise.
9734         * m4/csharp.m4: Likewise.
9735         * m4/csharpcomp.m4: Likewise.
9736         * m4/csharpexec.m4: Likewise.
9737         * m4/d-ino.m4: Likewise.
9738         * m4/d-type.m4: Likewise.
9739         * m4/dirfd.m4: Likewise.
9740         * m4/double-slash-root.m4: Likewise.
9741         * m4/eaccess.m4: Likewise.
9742         * m4/eealloc.m4: Likewise.
9743         * m4/environ.m4: Likewise.
9744         * m4/errno_h.m4: Likewise.
9745         * m4/euidaccess.m4: Likewise.
9746         * m4/execute.m4: Likewise.
9747         * m4/fatal-signal.m4: Likewise.
9748         * m4/fchdir.m4: Likewise.
9749         * m4/fcntl_h.m4: Likewise.
9750         * m4/fileblocks.m4: Likewise.
9751         * m4/filenamecat.m4: Likewise.
9752         * m4/findprog.m4: Likewise.
9753         * m4/flexmember.m4: Likewise.
9754         * m4/fnmatch.m4: Likewise.
9755         * m4/fopen.m4: Likewise.
9756         * m4/fpending.m4: Likewise.
9757         * m4/fprintf-posix.m4: Likewise.
9758         * m4/free.m4: Likewise.
9759         * m4/frexp.m4: Likewise.
9760         * m4/frexpl.m4: Likewise.
9761         * m4/fsusage.m4: Likewise.
9762         * m4/ftruncate.m4: Likewise.
9763         * m4/gc-camellia.m4: Likewise.
9764         * m4/gc-random.m4: Likewise.
9765         * m4/gc.m4: Likewise.
9766         * m4/getaddrinfo.m4: Likewise.
9767         * m4/getcwd-abort-bug.m4: Likewise.
9768         * m4/getcwd-path-max.m4: Likewise.
9769         * m4/getdate.m4: Likewise.
9770         * m4/getdomainname.m4: Likewise.
9771         * m4/getgroups.m4: Likewise.
9772         * m4/gethostname.m4: Likewise.
9773         * m4/gethrxtime.m4: Likewise.
9774         * m4/getline.m4: Likewise.
9775         * m4/getloadavg.m4: Likewise.
9776         * m4/getndelim2.m4: Likewise.
9777         * m4/getpass.m4: Likewise.
9778         * m4/gettext.m4: Likewise.
9779         * m4/gettime.m4: Likewise.
9780         * m4/gettimeofday.m4: Likewise.
9781         * m4/gnulib-common.m4: Likewise.
9782         * m4/group-member.m4: Likewise.
9783         * m4/host-os.m4: Likewise.
9784         * m4/iconv.m4: Likewise.
9785         * m4/iconv_open.m4: Likewise.
9786         * m4/inet_ntop.m4: Likewise.
9787         * m4/inet_pton.m4: Likewise.
9788         * m4/inline.m4: Likewise.
9789         * m4/intldir.m4: Likewise.
9790         * m4/intlmacosx.m4: Likewise.
9791         * m4/intmax.m4: Likewise.
9792         * m4/intmax_t.m4: Likewise.
9793         * m4/inttypes.m4: Likewise.
9794         * m4/inttypes_h.m4: Likewise.
9795         * m4/inttypes-pri.m4: Likewise.
9796         * m4/isapipe.m4: Likewise.
9797         * m4/isnand.m4: Likewise.
9798         * m4/isnanf.m4: Likewise.
9799         * m4/isnanl.m4: Likewise.
9800         * m4/javacomp.m4: Likewise.
9801         * m4/javaexec.m4: Likewise.
9802         * m4/jm-winsz1.m4: Likewise.
9803         * m4/jm-winsz2.m4: Likewise.
9804         * m4/lchown.m4: Likewise.
9805         * m4/lcmessage.m4: Likewise.
9806         * m4/ldexpl.m4: Likewise.
9807         * m4/lib-ld.m4: Likewise.
9808         * m4/lib-link.m4: Likewise.
9809         * m4/libsigsegv.m4: Likewise.
9810         * m4/link-follow.m4: Likewise.
9811         * m4/localcharset.m4: Likewise.
9812         * m4/locale-fr.m4: Likewise.
9813         * m4/locale-ja.m4: Likewise.
9814         * m4/locale-tr.m4: Likewise.
9815         * m4/locale-zh.m4: Likewise.
9816         * m4/lock.m4: Likewise.
9817         * m4/longlong.m4: Likewise.
9818         * m4/ls-mntd-fs.m4: Likewise.
9819         * m4/lstat.m4: Likewise.
9820         * m4/malloc.m4: Likewise.
9821         * m4/mathl.m4: Likewise.
9822         * m4/mbrtowc.m4: Likewise.
9823         * m4/mbstate_t.m4: Likewise.
9824         * m4/mbswidth.m4: Likewise.
9825         * m4/memchr.m4: Likewise.
9826         * m4/memcmp.m4: Likewise.
9827         * m4/memcpy.m4: Likewise.
9828         * m4/memmem.m4: Likewise.
9829         * m4/memmove.m4: Likewise.
9830         * m4/mempcpy.m4: Likewise.
9831         * m4/memrchr.m4: Likewise.
9832         * m4/memset.m4: Likewise.
9833         * m4/minmax.m4: Likewise.
9834         * m4/mkdir-slash.m4: Likewise.
9835         * m4/mkdtemp.m4: Likewise.
9836         * m4/mktime.m4: Likewise.
9837         * m4/mmap-anon.m4: Likewise.
9838         * m4/mountlist.m4: Likewise.
9839         * m4/nanosleep.m4: Likewise.
9840         * m4/nls.m4: Likewise.
9841         * m4/nocrash.m4: Likewise.
9842         * m4/open.m4: Likewise.
9843         * m4/openat.m4: Likewise.
9844         * m4/openmp.m4: Likewise.
9845         * m4/pathmax.m4: Likewise.
9846         * m4/perl.m4: Likewise.
9847         * m4/physmem.m4: Likewise.
9848         * m4/pipe.m4: Likewise.
9849         * m4/po.m4: Likewise.
9850         * m4/poll.m4: Likewise.
9851         * m4/posixtm.m4: Likewise.
9852         * m4/posixver.m4: Likewise.
9853         * m4/printf-frexp.m4: Likewise.
9854         * m4/printf-frexpl.m4: Likewise.
9855         * m4/printf-posix.m4: Likewise.
9856         * m4/printf-posix-rpl.m4: Likewise.
9857         * m4/printf.m4: Likewise.
9858         * m4/progtest.m4: Likewise.
9859         * m4/putenv.m4: Likewise.
9860         * m4/readline.m4: Likewise.
9861         * m4/readlink.m4: Likewise.
9862         * m4/readutmp.m4: Likewise.
9863         * m4/realloc.m4: Likewise.
9864         * m4/regex.m4: Likewise.
9865         * m4/relocatable.m4: Likewise.
9866         * m4/relocatable-lib.m4: Likewise.
9867         * m4/rename-dest-slash.m4: Likewise.
9868         * m4/rename.m4: Likewise.
9869         * m4/rmdir-errno.m4: Likewise.
9870         * m4/rmdir.m4: Likewise.
9871         * m4/roundf.m4: Likewise.
9872         * m4/roundl.m4: Likewise.
9873         * m4/rpmatch.m4: Likewise.
9874         * m4/save-cwd.m4: Likewise.
9875         * m4/selinux-selinux-h.m4: Likewise.
9876         * m4/setenv.m4: Likewise.
9877         * m4/settime.m4: Likewise.
9878         * m4/sig2str.m4: Likewise.
9879         * m4/sig_atomic_t.m4: Likewise.
9880         * m4/signalblocking.m4: Likewise.
9881         * m4/signbit.m4: Likewise.
9882         * m4/sigpipe.m4: Likewise.
9883         * m4/sockets.m4: Likewise.
9884         * m4/sockpfaf.m4: Likewise.
9885         * m4/st_dm_mode.m4: Likewise.
9886         * m4/stat-time.m4: Likewise.
9887         * m4/stdbool.m4: Likewise.
9888         * m4/stdint.m4: Likewise.
9889         * m4/stdint_h.m4: Likewise.
9890         * m4/stpcpy.m4: Likewise.
9891         * m4/stpncpy.m4: Likewise.
9892         * m4/strcase.m4: Likewise.
9893         * m4/strchrnul.m4: Likewise.
9894         * m4/strcspn.m4: Likewise.
9895         * m4/strdup.m4: Likewise.
9896         * m4/strftime.m4: Likewise.
9897         * m4/strndup.m4: Likewise.
9898         * m4/strnlen.m4: Likewise.
9899         * m4/strpbrk.m4: Likewise.
9900         * m4/strptime.m4: Likewise.
9901         * m4/strsep.m4: Likewise.
9902         * m4/strtod.m4: Likewise.
9903         * m4/strtoimax.m4: Likewise.
9904         * m4/strtok_r.m4: Likewise.
9905         * m4/strtol.m4: Likewise.
9906         * m4/strtoll.m4: Likewise.
9907         * m4/strtoul.m4: Likewise.
9908         * m4/strtoull.m4: Likewise.
9909         * m4/strtoumax.m4: Likewise.
9910         * m4/strverscmp.m4: Likewise.
9911         * m4/threadlib.m4: Likewise.
9912         * m4/timegm.m4: Likewise.
9913         * m4/tm_gmtoff.m4: Likewise.
9914         * m4/tmpdir.m4: Likewise.
9915         * m4/tmpfile.m4: Likewise.
9916         * m4/tzset.m4: Likewise.
9917         * m4/uintmax_t.m4: Likewise.
9918         * m4/unlinkdir.m4: Likewise.
9919         * m4/unlocked-io.m4: Likewise.
9920         * m4/uptime.m4: Likewise.
9921         * m4/userspec.m4: Likewise.
9922         * m4/utimbuf.m4: Likewise.
9923         * m4/utime.m4: Likewise.
9924         * m4/utimes-null.m4: Likewise.
9925         * m4/utimes.m4: Likewise.
9926         * m4/vararrays.m4: Likewise.
9927         * m4/vasnprintf.m4: Likewise.
9928         * m4/vfprintf-posix.m4: Likewise.
9929         * m4/vprintf-posix.m4: Likewise.
9930         * m4/wait-process.m4: Likewise.
9931         * m4/wchar_t.m4: Likewise.
9932         * m4/wint_t.m4: Likewise.
9933         * m4/write-any-file.m4: Likewise.
9934         * m4/yield.m4: Likewise.
9935
9936 2009-01-13  Bruno Haible  <bruno@clisp.org>
9937
9938         Avoid test-copy-file.sh failures when ACL support insufficient.
9939         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
9940         TESTS_ENVIRONMENT.
9941         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
9942         Reported by Jim Meyering.
9943
9944 2009-01-13  Bruno Haible  <bruno@clisp.org>
9945
9946         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
9947         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
9948         * modules/unistdio/u8-printf-parse (Files): Likewise.
9949         * modules/unistdio/u32-printf-parse (Files): Likewise.
9950         * modules/unistdio/ulc-printf-parse (Files): Likewise.
9951
9952 2009-01-13  Simon Josefsson  <simon@josefsson.org>
9953
9954         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
9955         and m4/inttypes_h.m4 too.
9956
9957 2009-01-12  Eric Blake  <ebb9@byu.net>
9958
9959         tests: IRIX 6.2 cc can't compile -0.0 into .data
9960         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
9961         rather than at compile-time.
9962         * tests/test-floorl.c (minus_zero): Likewise.
9963         * tests/test-frexpl.c (minus_zero): Likewise.
9964         * tests/test-isnan.c (minus_zerol): Likewise.
9965         * tests/test-isnanl.h (minus_zero): Likewise.
9966         * tests/test-ldexpl.c (minus_zero): Likewise.
9967         * tests/test-roundl.c (minus_zero): Likewise.
9968         * tests/test-signbit.c (minus_zerol): Likewise.
9969         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
9970         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
9971         * tests/test-truncl.c (minus_zero): Likewise.
9972         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
9973         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
9974         Reported by Tom G. Christensen and Nelson H. F. Beebe.
9975
9976 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9977
9978         regex: fix glibc bug 9697
9979         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
9980         handling.
9981
9982 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9983
9984         regex: fix glibc bug 697
9985         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
9986         being NULL also if there are no backreferences.
9987
9988 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9989
9990         regex: merge glibc changes
9991         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
9992         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
9993         re_string_skip_chars, re_string_reconstruct): Likewise.
9994         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
9995
9996 2009-01-07  Jim Meyering  <meyering@redhat.com>
9997
9998         poll: filter through cppi
9999         * lib/poll.c: Indent cpp directives to reflect nesting.
10000
10001 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
10002
10003         poll: don't return uninitialized
10004         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
10005
10006 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
10007
10008         avoid compile failure on AIX 6.1
10009         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
10010         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
10011
10012 2009-01-04  Jim Meyering  <meyering@redhat.com>
10013
10014         remove duplicate inclusion of <stdio.h>
10015         * tests/test-fprintf-posix.c: Likewise.
10016         * tests/test-printf-posix.c: Likewise.
10017         * tests/test-snprintf-posix.c: Likewise.
10018         * tests/test-sprintf-posix.c: Likewise.
10019         * tests/test-vasprintf-posix.c: Likewise.
10020         * tests/test-vfprintf-posix.c: Likewise.
10021         * tests/test-vprintf-posix.c: Likewise.
10022         * tests/test-vsnprintf-posix.c: Likewise.
10023         * tests/test-vsprintf-posix.c: Likewise.
10024
10025 2009-01-03  Jim Meyering  <meyering@redhat.com>
10026
10027         gnulib-tool: fix sed-based filtering
10028         * gnulib-tool (func_filter_filelist): Remove extra backslash
10029         in sed_fff_filter definition.
10030
10031 2009-01-02  Jim Meyering  <meyering@redhat.com>
10032
10033         strftime: avoid compilation failure on Solaris 2.6
10034         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
10035         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
10036         Don't #define mbrlen or mbsinit, since now they're guaranteed to
10037         be available.  Reported by Tom G. Christensen.  Details in
10038         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
10039
10040 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10041             Bruno Haible  <bruno@clisp.org>
10042
10043         Speed up gnulib-tool by doing more string processing through shell
10044         built-ins.
10045         * gnulib-tool (fast_func_append): New variable.
10046         (func_remove_prefix, func_remove_suffix): New functions.
10047         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
10048         (func_filter_filelist): New function.
10049         (func_get_dependencies): Use func_remove_suffix instead of sed.
10050         (func_get_automake_snippet): Use func_filter_filelist instead of a
10051         subshell and sed invocation.
10052
10053 2009-01-01  Bruno Haible  <bruno@clisp.org>
10054
10055         Fix a security bug.
10056         * gnulib-tool (func_import, import, update): Don't allow the characters
10057         '"', '$', '`', '\' in macro arguments that become part of commands that
10058         are evaluated.
10059
10060 2009-01-01  Bruno Haible  <bruno@clisp.org>
10061
10062         * gnulib-tool (func_reset_sigpipe): Add more comments.
10063
10064 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10065
10066         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
10067         func_emit_tests_Makefile_am, func_import): Abort loops early if we
10068         already know the answer.
10069
10070 2009-01-01  Jim Meyering  <meyering@redhat.com>
10071
10072         * lib/version-etc.c (version_etc_va): Update copyright year.
10073
10074 2008-12-30  Bruno Haible  <bruno@clisp.org>
10075
10076         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
10077         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
10078         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
10079
10080 2008-12-29  Eric Blake  <ebb9@byu.net>
10081
10082         multiarch: avoid autoconf AC_REQUIRE bug
10083         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
10084         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
10085         2.63 and older.
10086         Reported by Bruno Haible, and analyzed in
10087         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
10088
10089 2008-12-29  Bruno Haible  <bruno@clisp.org>
10090
10091         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
10092         files in subdirectories correctly.
10093         Reported by Ralf Wildenhues.
10094
10095 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10096
10097         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
10098         rather than 'join FILE -', for Solaris join.
10099
10100 2008-12-29  Bruno Haible  <bruno@clisp.org>
10101
10102         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
10103         quoting.
10104         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10105         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
10106         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
10107         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
10108         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10109         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10110         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10111         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10112         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10113         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10114         * m4/nls.m4 (AM_NLS): Likewise.
10115         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
10116         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10117         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10118         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10119         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10120         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10121         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
10122         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10123         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10124         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10125         * m4/xsize.m4 (gl_XSIZE): Likewise.
10126         Suggested by Jim Meyering.
10127
10128 2008-11-17  Bruce Korb  <bkorb@gnu.org>
10129
10130         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
10131         * lib/parse-duration.c: use a switch instead of cascading if's.
10132
10133 2008-12-29  Eric Blake  <ebb9@byu.net>
10134
10135         wchar.h: supply WEOF on Irix 5.3
10136         * lib/wchar.in.h (wint_t): Also supply WEOF.
10137         * lib/wctype.in.h (wint_t): Likewise.
10138         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
10139         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
10140         Reported by Tom G. Christensen.
10141
10142 2008-12-26  Bruno Haible  <bruno@clisp.org>
10143
10144         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
10145         i486, i586, i686.
10146
10147 2008-12-26  Bruno Haible  <bruno@clisp.org>
10148
10149         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
10150
10151 2008-12-26  Bruno Haible  <bruno@clisp.org>
10152
10153         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
10154         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
10155         not __STDC_CONSTANT_MACROS.
10156         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
10157
10158 2008-12-25  Bruno Haible  <bruno@clisp.org>
10159
10160         Add support for universal builds to vasnprintf.
10161         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
10162         universal builds, guess no.
10163         * modules/vasnprintf-posix (Depends-on): Add multiarch.
10164         * modules/vasprintf-posix (Depends-on): Likewise.
10165         * modules/fprintf-posix (Depends-on): Likewise.
10166         * modules/vfprintf-posix (Depends-on): Likewise.
10167         * modules/snprintf-posix (Depends-on): Likewise.
10168         * modules/vsnprintf-posix (Depends-on): Likewise.
10169         * modules/sprintf-posix (Depends-on): Likewise.
10170         * modules/vsprintf-posix (Depends-on): Likewise.
10171         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10172         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10173         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10174         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10175         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10176         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10177         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10178
10179         Add support for universal builds to <inttypes.h>.
10180         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10181         _SCNu64_PREFIX): In Apple
10182         universal builds, define directly, using _LP64.
10183         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
10184         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
10185         * modules/inttypes (Depends-on): Add multiarch.
10186         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
10187
10188         Add support for universal builds to <stdint.h>.
10189         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
10190         universal builds, define directly, using _LP64.
10191         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
10192         Apple universal builds, don't test for the size and suffix of ptrdiff_t
10193         and size_t.
10194         * modules/stdint (Depends-on): Add multiarch.
10195         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
10196
10197         New module 'multiarch'.
10198         * modules/multiarch: New file.
10199         * m4/multiarch.m4: New file.
10200
10201 2008-12-25  Bruno Haible  <bruno@clisp.org>
10202
10203         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
10204
10205 2008-12-25  Bruno Haible  <bruno@clisp.org>
10206
10207         * modules/btowc (License): Relicense under LGPLv2+.
10208         * modules/mbsinit (License): Likewise.
10209         * modules/mbrtowc (License): Likewise.
10210         * modules/wcrtomb (License): Likewise.
10211         * modules/streq (License): Likewise.
10212         Reported by David Lutterkort <lutter@redhat.com>.
10213
10214 2008-12-23  Bruno Haible  <bruno@clisp.org>
10215
10216         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
10217
10218 2008-12-23  Bruno Haible  <bruno@clisp.org>
10219
10220         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
10221         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
10222         GETADDRINFO_LIB, not in LIBS.
10223         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
10224         * modules/canon-host (Link): Likewise.
10225         * NEWS: Mention the change.
10226         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
10227         GETADDRINFO_LIB.
10228
10229 2008-12-22  Bruno Haible  <bruno@clisp.org>
10230
10231         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
10232         * doc/posix-functions/iswalpha_l.texi: Likewise.
10233         * doc/posix-functions/iswblank_l.texi: Likewise.
10234         * doc/posix-functions/iswcntrl_l.texi: Likewise.
10235         * doc/posix-functions/iswctype_l.texi: Likewise.
10236         * doc/posix-functions/iswdigit_l.texi: Likewise.
10237         * doc/posix-functions/iswgraph_l.texi: Likewise.
10238         * doc/posix-functions/iswlower_l.texi: Likewise.
10239         * doc/posix-functions/iswprint_l.texi: Likewise.
10240         * doc/posix-functions/iswpunct_l.texi: Likewise.
10241         * doc/posix-functions/iswspace_l.texi: Likewise.
10242         * doc/posix-functions/iswupper_l.texi: Likewise.
10243         * doc/posix-functions/iswxdigit_l.texi: Likewise.
10244         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
10245         * doc/posix-functions/open_wmemstream.texi: Likewise.
10246         * doc/posix-functions/swscanf.texi: Likewise.
10247         * doc/posix-functions/towctrans_l.texi: Likewise.
10248         * doc/posix-functions/towlower.texi: Likewise.
10249         * doc/posix-functions/towlower_l.texi: Likewise.
10250         * doc/posix-functions/towupper.texi: Likewise.
10251         * doc/posix-functions/towupper_l.texi: Likewise.
10252         * doc/posix-functions/vfwprintf.texi: Likewise.
10253         * doc/posix-functions/vfwscanf.texi: Likewise.
10254         * doc/posix-functions/vswscanf.texi: Likewise.
10255         * doc/posix-functions/vwprintf.texi: Likewise.
10256         * doc/posix-functions/vwscanf.texi: Likewise.
10257         * doc/posix-functions/wcpcpy.texi: Likewise.
10258         * doc/posix-functions/wcpncpy.texi: Likewise.
10259         * doc/posix-functions/wcscasecmp.texi: Likewise.
10260         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
10261         * doc/posix-functions/wcscoll_l.texi: Likewise.
10262         * doc/posix-functions/wcsdup.texi: Likewise.
10263         * doc/posix-functions/wcsncasecmp.texi: Likewise.
10264         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
10265         * doc/posix-functions/wcsnlen.texi: Likewise.
10266         * doc/posix-functions/wcsnrtombs.texi: Likewise.
10267         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
10268         * doc/posix-functions/wctrans_l.texi: Likewise.
10269         * doc/posix-functions/wctype_l.texi: Likewise.
10270         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
10271         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
10272         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
10273         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
10274         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
10275         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
10276         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
10277         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
10278         * doc/glibc-functions/wcschrnul.texi: Likewise.
10279         * doc/glibc-functions/wcsftime_l.texi: Likewise.
10280         * doc/glibc-functions/wcstod_l.texi: Likewise.
10281         * doc/glibc-functions/wcstof_l.texi: Likewise.
10282         * doc/glibc-functions/wcstol_l.texi: Likewise.
10283         * doc/glibc-functions/wcstold_l.texi: Likewise.
10284         * doc/glibc-functions/wcstoll_l.texi: Likewise.
10285         * doc/glibc-functions/wcstoq.texi: Likewise.
10286         * doc/glibc-functions/wcstoul_l.texi: Likewise.
10287         * doc/glibc-functions/wcstoull_l.texi: Likewise.
10288         * doc/glibc-functions/wcstouq.texi: Likewise.
10289         * doc/glibc-functions/wmempcpy.texi: Likewise.
10290
10291 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
10292             Eric Blake  <ebb9@byu.net>
10293             Paolo Bonzini  <bonzini@gnu.org>
10294             Bruno Haible  <bruno@clisp.org>
10295
10296         Make c-stack work on Haiku.
10297         * lib/c-stack.c (SA_ONSTACK): Define fallback.
10298         (c_stack_action): Use SA_ONSTACK flag.
10299
10300 2008-12-22  Bruno Haible  <bruno@clisp.org>
10301
10302         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
10303
10304 2008-12-22  Bruno Haible  <bruno@clisp.org>
10305
10306         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
10307         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
10308         being overridden.
10309         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
10310         New macros.
10311         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
10312         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
10313         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
10314         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
10315
10316 2008-12-22  Bruno Haible  <bruno@clisp.org>
10317
10318         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
10319         from test code.
10320
10321 2008-12-22  Eric Blake  <ebb9@byu.net>
10322
10323         Avoid gcc warnings on cygwin.
10324         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
10325         Avoid unused variable.
10326         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
10327         Likewise.
10328
10329 2008-12-22  Bruno Haible  <bruno@clisp.org>
10330
10331         Remove HAVE_MBRTOWC conditionals.
10332         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
10333         (mbscasecmp): Assume mbrtowc function.
10334         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
10335         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
10336         * lib/mbschr.c: Include mbuiter.h unconditionally.
10337         (mbschr): Assume mbrtowc function.
10338         * lib/mbscspn.c: Include mbuiter.h unconditionally.
10339         (mbscspn): Assume mbrtowc function.
10340         * lib/mbslen.c: Include mbuiter.h unconditionally.
10341         (mbslen): Assume mbrtowc function.
10342         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
10343         (mbsncasecmp): Assume mbrtowc function.
10344         * lib/mbsnlen.c: Include mbiter.h unconditionally.
10345         (mbsnlen): Assume mbrtowc function.
10346         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
10347         (mbspbrk): Assume mbrtowc function.
10348         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
10349         (mbspcasecmp): Assume mbrtowc function.
10350         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
10351         (mbsrchr): Assume mbrtowc function.
10352         * lib/mbssep.c: Include mbuiter.h unconditionally.
10353         (mbssep): Assume mbrtowc function.
10354         * lib/mbsspn.c: Include mbuiter.h unconditionally.
10355         (mbsspn): Assume mbrtowc function.
10356         * lib/mbsstr.c: Include mbuiter.h unconditionally.
10357         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
10358         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
10359         (mbstok_r): Assume mbrtowc function.
10360         * lib/propername.c: Include mbuiter.h unconditionally.
10361         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
10362         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
10363         (trim2): Assume mbrtowc function.
10364         * lib/mbswidth.c (mbsinit): Remove fallback definition.
10365         (mbsnwidth): Assume mbrtowc function.
10366         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
10367         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
10368         fallback definitions.
10369         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
10370
10371 2008-12-22  Bruno Haible  <bruno@clisp.org>
10372
10373         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
10374
10375 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
10376
10377         * modules/regex: Request emulations for the mb*/wc* functions we need.
10378         * m4/regex.m4: Don't look for those functions here.
10379         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
10380
10381 2008-12-22  Bruno Haible  <bruno@clisp.org>
10382
10383         * modules/fnmatch (Depends-on): Remove duplicated dependency.
10384
10385 2008-12-21  Bruno Haible  <bruno@clisp.org>
10386
10387         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
10388         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
10389         (Include): Remove conditionalization.
10390         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
10391         (Include): Remove conditionalization.
10392         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
10393         (Include): Remove conditionalization.
10394         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
10395         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10396         * NEWS: Mention the change.
10397         Reported by Alan Hourihane <alanh@fairlite.co.uk>
10398         via Sergey Poznyakoff <gray@gnu.org.ua>.
10399
10400 2008-12-21  Bruno Haible  <bruno@clisp.org>
10401
10402         * MODULES.html.sh (Extended multibyte and wide character utilities
10403         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
10404         wcrtomb, wcsrtombs.
10405         (Support for systems lacking POSIX:2008): Add accept, bind, close,
10406         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
10407         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
10408         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
10409
10410 2008-12-21  Bruno Haible  <bruno@clisp.org>
10411
10412         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
10413
10414 2008-12-21  Bruno Haible  <bruno@clisp.org>
10415
10416         * modules/wcsnrtombs-tests: New file.
10417         * tests/test-wcsnrtombs1.sh: New file.
10418         * tests/test-wcsnrtombs2.sh: New file.
10419         * tests/test-wcsnrtombs3.sh: New file.
10420         * tests/test-wcsnrtombs4.sh: New file.
10421         * tests/test-wcsnrtombs.c: New file.
10422
10423         New module 'wcsnrtombs'.
10424         * lib/wchar.in.h (wcsnrtombs): New declaration.
10425         * lib/wcsnrtombs.c: New file.
10426         * lib/wcsrtombs-state.c: New file.
10427         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
10428         (internal_state): Remove variable.
10429         * m4/wcsnrtombs.m4: New file.
10430         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
10431         compilation units.
10432         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
10433         HAVE_WCSNRTOMBS.
10434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
10435         HAVE_WCSNRTOMBS.
10436         * modules/wcsnrtombs: New file.
10437         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
10438         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10439
10440 2008-12-21  Bruno Haible  <bruno@clisp.org>
10441
10442         * modules/wcsrtombs-tests: New file.
10443         * tests/test-wcsrtombs1.sh: New file.
10444         * tests/test-wcsrtombs2.sh: New file.
10445         * tests/test-wcsrtombs3.sh: New file.
10446         * tests/test-wcsrtombs4.sh: New file.
10447         * tests/test-wcsrtombs.c: New file.
10448
10449         New module 'wcsrtombs'.
10450         * lib/wchar.in.h (wcsrtombs): New declaration.
10451         * lib/wcsrtombs.c: New file.
10452         * m4/wcsrtombs.m4: New file.
10453         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
10454         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
10456         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10457         * modules/wcsrtombs: New file.
10458         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
10459         bugs.
10460
10461 2008-12-21  Bruno Haible  <bruno@clisp.org>
10462
10463         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
10464         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
10465         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
10466         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
10467         if not correct.
10468         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
10469         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
10470         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10471         m4/locale-zh.m4, m4/codeset.m4.
10472         * doc/posix-functions/wcrtomb.texi: Document the bug.
10473
10474 2008-12-21  Bruno Haible  <bruno@clisp.org>
10475
10476         Work around a btowc() bug on IRIX 6.5.
10477         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
10478         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
10479         REPLACE_WTOBC if not.
10480         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
10481         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
10482         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
10483
10484 2008-12-21  Bruno Haible  <bruno@clisp.org>
10485
10486         * modules/wcrtomb-tests: New file.
10487         * tests/test-wcrtomb.sh: New file.
10488         * tests/test-wcrtomb.c: New file.
10489
10490         New module 'wcrtomb'.
10491         * lib/wchar.in.h (wcrtomb): New declaration.
10492         * lib/wcrtomb.c: New file.
10493         * m4/wcrtomb.m4: New file.
10494         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
10495         HAVE_WCRTOMB.
10496         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
10497         HAVE_WCRTOMB.
10498         * modules/wcrtomb: New file.
10499         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10500
10501 2008-12-21  Bruno Haible  <bruno@clisp.org>
10502
10503         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
10504         * modules/mbsrtowcs (Files): Likewise.
10505         * modules/wctob (Files): Likewise.
10506         * modules/c-strcase-tests (Files): Likewise.
10507         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10508         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10509         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10510         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10511         * modules/vasnprintf-posix-tests (Files): Likewise.
10512
10513 2008-12-21  William Pursell  <bill.pursell@gmail.com>
10514
10515         gitlog-to-changelog: pass all command-line arguments to git-log
10516         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
10517         it is sometimes convenient to filter the commits in various ways.
10518         gitlog-to-changelog only allows --since to specify a start date,
10519         but git-log itself supports many other filtering mechanisms.
10520         At the moment, I want to filter by branch name.  Rather than
10521         adding a --branch option to gitlog-to-changelog, it seems more
10522         flexible to simply pass all options directly to git-log and let
10523         git do the work.  Notice that this effectively makes --since a
10524         redundant option for gitlog-to-changelog, but removing it would
10525         require current usage to change since calls would then require
10526         an additional '--'.
10527
10528 2008-12-21  Bruno Haible  <bruno@clisp.org>
10529
10530         * modules/mbsnrtowcs-tests: New file.
10531         * tests/test-mbsnrtowcs1.sh: New file.
10532         * tests/test-mbsnrtowcs2.sh: New file.
10533         * tests/test-mbsnrtowcs3.sh: New file.
10534         * tests/test-mbsnrtowcs4.sh: New file.
10535         * tests/test-mbsnrtowcs.c: New file.
10536
10537         New module 'mbsnrtowcs'.
10538         * lib/wchar.in.h (mbsnrtowcs): New declaration.
10539         * lib/mbsnrtowcs.c: New file.
10540         * lib/mbsrtowcs-state.c: New file.
10541         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
10542         (internal_state): Remove variable.
10543         * m4/mbsnrtowcs.m4: New file.
10544         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
10545         compilation units.
10546         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
10547         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10548         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
10549         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10550         * modules/mbsnrtowcs: New file.
10551         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
10552         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
10553         portability problem.
10554
10555 2008-12-21  Bruno Haible  <bruno@clisp.org>
10556
10557         Work around mbsrtowcs bug.
10558         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
10559         (gl_FUNC_MBSRTOWCS): Invoke it.
10560         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10561         m4/locale-zh.m4.
10562         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
10563
10564 2008-12-21  Bruno Haible  <bruno@clisp.org>
10565
10566         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
10567
10568 2008-12-21  Bruno Haible  <bruno@clisp.org>
10569
10570         Update doc for AIX.
10571         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
10572         16-bit wchar_t type.
10573         * doc/posix-functions/btowc.texi: Likewise.
10574         * doc/posix-functions/fgetwc.texi: Likewise.
10575         * doc/posix-functions/fgetws.texi: Likewise.
10576         * doc/posix-functions/fputwc.texi: Likewise.
10577         * doc/posix-functions/fputws.texi: Likewise.
10578         * doc/posix-functions/fwide.texi: Likewise.
10579         * doc/posix-functions/fwprintf.texi: Likewise.
10580         * doc/posix-functions/fwscanf.texi: Likewise.
10581         * doc/posix-functions/getwchar.texi: Likewise.
10582         * doc/posix-functions/getwc.texi: Likewise.
10583         * doc/posix-functions/iswalnum.texi: Likewise.
10584         * doc/posix-functions/iswalpha.texi: Likewise.
10585         * doc/posix-functions/iswblank.texi: Likewise.
10586         * doc/posix-functions/iswcntrl.texi: Likewise.
10587         * doc/posix-functions/iswctype.texi: Likewise.
10588         * doc/posix-functions/iswdigit.texi: Likewise.
10589         * doc/posix-functions/iswgraph.texi: Likewise.
10590         * doc/posix-functions/iswlower.texi: Likewise.
10591         * doc/posix-functions/iswprint.texi: Likewise.
10592         * doc/posix-functions/iswpunct.texi: Likewise.
10593         * doc/posix-functions/iswspace.texi: Likewise.
10594         * doc/posix-functions/iswupper.texi: Likewise.
10595         * doc/posix-functions/iswxdigit.texi: Likewise.
10596         * doc/posix-functions/mbrtowc.texi: Likewise.
10597         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10598         * doc/posix-functions/mbstowcs.texi: Likewise.
10599         * doc/posix-functions/mbtowc.texi: Likewise.
10600         * doc/posix-functions/putwchar.texi: Likewise.
10601         * doc/posix-functions/putwc.texi: Likewise.
10602         * doc/posix-functions/swprintf.texi: Likewise.
10603         * doc/posix-functions/tolower.texi: Likewise.
10604         * doc/posix-functions/toupper.texi: Likewise.
10605         * doc/posix-functions/towctrans.texi: Likewise.
10606         * doc/posix-functions/ungetwc.texi: Likewise.
10607         * doc/posix-functions/vswprintf.texi: Likewise.
10608         * doc/posix-functions/wcrtomb.texi: Likewise.
10609         * doc/posix-functions/wcscat.texi: Likewise.
10610         * doc/posix-functions/wcschr.texi: Likewise.
10611         * doc/posix-functions/wcscmp.texi: Likewise.
10612         * doc/posix-functions/wcscoll.texi: Likewise.
10613         * doc/posix-functions/wcscpy.texi: Likewise.
10614         * doc/posix-functions/wcscspn.texi: Likewise.
10615         * doc/posix-functions/wcsftime.texi: Likewise.
10616         * doc/posix-functions/wcslen.texi: Likewise.
10617         * doc/posix-functions/wcsncat.texi: Likewise.
10618         * doc/posix-functions/wcsncmp.texi: Likewise.
10619         * doc/posix-functions/wcsncpy.texi: Likewise.
10620         * doc/posix-functions/wcspbrk.texi: Likewise.
10621         * doc/posix-functions/wcsrchr.texi: Likewise.
10622         * doc/posix-functions/wcsrtombs.texi: Likewise.
10623         * doc/posix-functions/wcsspn.texi: Likewise.
10624         * doc/posix-functions/wcsstr.texi: Likewise.
10625         * doc/posix-functions/wcstod.texi: Likewise.
10626         * doc/posix-functions/wcstof.texi: Likewise.
10627         * doc/posix-functions/wcstoimax.texi: Likewise.
10628         * doc/posix-functions/wcstok.texi: Likewise.
10629         * doc/posix-functions/wcstold.texi: Likewise.
10630         * doc/posix-functions/wcstoll.texi: Likewise.
10631         * doc/posix-functions/wcstol.texi: Likewise.
10632         * doc/posix-functions/wcstombs.texi: Likewise.
10633         * doc/posix-functions/wcstoull.texi: Likewise.
10634         * doc/posix-functions/wcstoul.texi: Likewise.
10635         * doc/posix-functions/wcstoumax.texi: Likewise.
10636         * doc/posix-functions/wcswidth.texi: Likewise.
10637         * doc/posix-functions/wcsxfrm.texi: Likewise.
10638         * doc/posix-functions/wctob.texi: Likewise.
10639         * doc/posix-functions/wctomb.texi: Likewise.
10640         * doc/posix-functions/wctrans.texi: Likewise.
10641         * doc/posix-functions/wctype.texi: Likewise.
10642         * doc/posix-functions/wcwidth.texi: Likewise.
10643         * doc/posix-functions/wmemchr.texi: Likewise.
10644         * doc/posix-functions/wmemcmp.texi: Likewise.
10645         * doc/posix-functions/wmemcpy.texi: Likewise.
10646         * doc/posix-functions/wmemmove.texi: Likewise.
10647         * doc/posix-functions/wmemset.texi: Likewise.
10648         * doc/posix-functions/wprintf.texi: Likewise.
10649         * doc/posix-functions/wscanf.texi: Likewise.
10650
10651 2008-12-21  Bruno Haible  <bruno@clisp.org>
10652
10653         Update doc for HP-UX 11.11.
10654         * doc/posix-functions/btowc.texi: Clarify that the function is missing
10655         in HP-UX version 11.00, not in all versions of HP-UX 11.
10656         * doc/posix-functions/fwide.texi: Likewise.
10657         * doc/posix-functions/fwprintf.texi: Likewise.
10658         * doc/posix-functions/fwscanf.texi: Likewise.
10659         * doc/posix-functions/inet_ntop.texi: Likewise.
10660         * doc/posix-functions/inet_pton.texi: Likewise.
10661         * doc/posix-functions/mbrlen.texi: Likewise.
10662         * doc/posix-functions/mbrtowc.texi: Likewise.
10663         * doc/posix-functions/mbsinit.texi: Likewise.
10664         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10665         * doc/posix-functions/swprintf.texi: Likewise.
10666         * doc/posix-functions/swscanf.texi: Likewise.
10667         * doc/posix-functions/towctrans.texi: Likewise.
10668         * doc/posix-functions/vfwprintf.texi: Likewise.
10669         * doc/posix-functions/vswprintf.texi: Likewise.
10670         * doc/posix-functions/vwprintf.texi: Likewise.
10671         * doc/posix-functions/wcrtomb.texi: Likewise.
10672         * doc/posix-functions/wcsrtombs.texi: Likewise.
10673         * doc/posix-functions/wcsstr.texi: Likewise.
10674         * doc/posix-functions/wctob.texi: Likewise.
10675         * doc/posix-functions/wctrans.texi: Likewise.
10676         * doc/posix-functions/wmemchr.texi: Likewise.
10677         * doc/posix-functions/wmemcmp.texi: Likewise.
10678         * doc/posix-functions/wmemcpy.texi: Likewise.
10679         * doc/posix-functions/wmemmove.texi: Likewise.
10680         * doc/posix-functions/wmemset.texi: Likewise.
10681         * doc/posix-functions/wprintf.texi: Likewise.
10682         * doc/posix-functions/wscanf.texi: Likewise.
10683
10684 2008-12-21  Bruno Haible  <bruno@clisp.org>
10685
10686         Work around a portability problem.
10687         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
10688         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
10689
10690 2008-12-20  Bruno Haible  <bruno@clisp.org>
10691
10692         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
10693         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
10694         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
10695         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
10696         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
10697
10698         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
10699         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
10700         set.
10701         (GNULIB_defined_mbstate_t): New macro.
10702         (mbsinit): Redefine if REPLACE_MBSINIT is set.
10703         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
10704         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
10705         reuses the system's mbrtowc function but works around the bugs.
10706         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
10707         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
10708         macros.
10709         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
10710         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
10711         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
10712         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
10713         REPLACE_MBSINIT if mbsinit needs to be overridden.
10714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
10715         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10716         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
10717         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10718         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10719         m4/locale-zh.m4.
10720         (Depends): Add mbsinit.
10721         * modules/mbsinit (Depends): Add mbrtowc.
10722         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
10723
10724 2008-12-20  Bruno Haible  <bruno@clisp.org>
10725
10726         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
10727         so that there are no conversion errors on AIX.
10728         * tests/test-mbsrtowcs.c (main): LIkewise.
10729
10730 2008-12-20  Bruno Haible  <bruno@clisp.org>
10731
10732         Work around wctob bug on Solaris <= 9.
10733         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
10734         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
10735         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
10736         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
10737         * modules/wctob (Files): Add m4/locale-fr.m4.
10738         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
10739
10740 2008-12-20  Bruno Haible  <bruno@clisp.org>
10741
10742         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
10743         /dev/null.
10744         * tests/test-select-in.sh: Likewise.
10745         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10746
10747 2008-12-20  Bruno Haible  <bruno@clisp.org>
10748
10749         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
10750         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
10751         Cygwin 1.5.x.
10752
10753 2008-12-20  Bruno Haible  <bruno@clisp.org>
10754
10755         Ensure mbstate_t is defined on HP-UX 11.11.
10756         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
10757         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
10758         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
10759         AC_USE_SYSTEM_EXTENSIONS.
10760         * modules/fnmatch (Depends-on): Add extensions.
10761         * modules/mbrlen (Depends-on): Likewise.
10762         * modules/mbrtowc (Depends-on): Likewise.
10763         * modules/mbsinit (Depends-on): Likewise.
10764         * modules/mbsrtowcs (Depends-on): Likewise.
10765         * modules/mbswidth (Depends-on): Likewise.
10766         * modules/quotearg (Depends-on): Likewise.
10767         * modules/strftime (Depends-on): Likewise.
10768
10769 2008-12-20  Bruno Haible  <bruno@clisp.org>
10770
10771         Ensure wctob is declared on IRIX 6.5.
10772         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
10773         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
10774         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
10775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
10776         of HAVE_WCTOB.
10777         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
10778         HAVE_WCTOB.
10779         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
10780
10781 2008-12-19  Bruno Haible  <bruno@clisp.org>
10782
10783         * modules/mbsrtowcs-tests: New file.
10784         * tests/test-mbsrtowcs1.sh: New file.
10785         * tests/test-mbsrtowcs2.sh: New file.
10786         * tests/test-mbsrtowcs3.sh: New file.
10787         * tests/test-mbsrtowcs4.sh: New file.
10788         * tests/test-mbsrtowcs.c: New file.
10789
10790         New module 'mbsrtowcs'.
10791         * lib/wchar.in.h (mbsrtowcs): New declaration.
10792         * lib/mbsrtowcs.c: New file.
10793         * m4/mbsrtowcs.m4: New file.
10794         * modules/mbsrtowcs: New file.
10795         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
10796         HAVE_MBSRTOWCS.
10797         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
10798         HAVE_MBSRTOWCS.
10799         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
10800
10801 2008-12-19  Bruno Haible  <bruno@clisp.org>
10802
10803         New module 'mbrlen'.
10804         * lib/wchar.in.h (mbrlen): New declaration.
10805         * lib/mbrlen.c: New file.
10806         * m4/mbrlen.m4: New file.
10807         * modules/mbrlen: New file.
10808         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
10809         HAVE_MBRLEN.
10810         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
10811         HAVE_MBRLEN.
10812         * doc/posix-functions/mbrlen.texi: Document the new module.
10813
10814 2008-12-19  Bruno Haible  <bruno@clisp.org>
10815
10816         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
10817         * modules/mbrtowc (Depends-on): Add verify.
10818         Suggested by Paul Eggert.
10819
10820 2008-12-18  Bruno Haible  <bruno@clisp.org>
10821
10822         * modules/mbsinit-tests: New file.
10823         * tests/test-mbsinit.sh: New file.
10824         * tests/test-mbsinit.c: New file.
10825
10826 2008-12-18  Bruno Haible  <bruno@clisp.org>
10827
10828         * modules/mbrtowc-tests: New file.
10829         * tests/test-mbrtowc1.sh: New file.
10830         * tests/test-mbrtowc2.sh: New file.
10831         * tests/test-mbrtowc3.sh: New file.
10832         * tests/test-mbrtowc4.sh: New file.
10833         * tests/test-mbrtowc.c: New file.
10834
10835         New module 'mbrtowc'.
10836         * lib/wchar.in.h (mbstate_t): Override when the system does not have
10837         mbsinit and mbrtowc.
10838         (mbrtowc): New declaration.
10839         * lib/mbrtowc.c: New file.
10840         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
10841         * modules/mbrtowc: New file.
10842         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
10843         HAVE_MBRTOWC.
10844         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
10845         HAVE_MBRTOWC.
10846         * doc/posix-functions/mbrtowc.texi: Document the new module.
10847
10848 2008-12-18  Bruno Haible  <bruno@clisp.org>
10849
10850         New module 'wctob'.
10851         * lib/wchar.in.h (wctob): New declaration.
10852         * lib/wctob.c: New file.
10853         * m4/wctob.m4: New file.
10854         * modules/wctob: New file.
10855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
10856         HAVE_WCTOB.
10857         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
10858         * doc/posix-functions/wctob.texi: Document the new module.
10859
10860 2008-12-18  Bruno Haible  <bruno@clisp.org>
10861
10862         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
10863         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
10864
10865 2008-12-18  Simon Josefsson  <simon@josefsson.org>
10866
10867         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
10868         G. Christensen" <tgc@jupiterrise.com>.
10869
10870         * lib/flock.c: Need to include errno.h.  Reported by "Tom
10871         G. Christensen" <tgc@jupiterrise.com>.
10872
10873         * lib/flock.c: Need to include string.h.  Reported by "Tom
10874         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
10875         <ebb9@byu.net>.
10876
10877 2008-12-18  Bruno Haible  <bruno@clisp.org>
10878
10879         * m4/locale-ja.m4: New file, from GNU gettext.
10880
10881 2008-12-17  Bruno Haible  <bruno@clisp.org>
10882
10883         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
10884         Suggested by Eric Blake.
10885
10886 2008-12-17  Bruno Haible  <bruno@clisp.org>
10887
10888         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
10889
10890 2008-12-17  Bruno Haible  <bruno@clisp.org>
10891
10892         * lib/mbsinit.c: Include verify.h. Verify an assumption.
10893         * modules/mbsinit (Depends-on): Add verify.
10894         Suggested by Paul Eggert.
10895
10896 2008-12-17  Bruno Haible  <bruno@clisp.org>
10897
10898         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
10899         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
10900         gl_FUNC_MBRTOWC.
10901         * m4/mbiter.m4 (gl_MBITER): LIkewise.
10902         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
10903         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
10904         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
10905         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
10906         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
10907         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
10908         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
10909         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
10910         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
10911         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
10912         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
10913         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
10914         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
10915         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
10916         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10917         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
10918         * modules/trim (configure.ac): Likewise.
10919
10920 2008-12-17  Bruno Haible  <bruno@clisp.org>
10921
10922         * modules/btowc-tests: New file.
10923         * tests/test-btowc1.sh: New file.
10924         * tests/test-btowc2.sh: New file.
10925         * tests/test-btowc.c: New file.
10926
10927         New module 'btowc'.
10928         * lib/wchar.in.h (btowc): New declaration.
10929         * lib/btowc.c: New file.
10930         * m4/btowc.m4: New file.
10931         * modules/btowc: New file.
10932         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
10933         HAVE_BTOWC.
10934         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
10935         * doc/posix-functions/btowc.texi: Document the new module.
10936
10937 2008-12-17  Bruno Haible  <bruno@clisp.org>
10938
10939         New module 'mbsinit'.
10940         * lib/wchar.in.h (mbsinit): New declaration.
10941         * lib/mbsinit.c: New file.
10942         * m4/mbsinit.m4: New file.
10943         * modules/mbsinit: New file.
10944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
10945         HAVE_MBSINIT.
10946         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
10947         HAVE_MBSINIT.
10948         * doc/posix-functions/mbsinit.texi: Document the new module.
10949
10950 2008-12-16  Bruno Haible  <bruno@clisp.org>
10951
10952         * lib/unistd.in.h: Add comment.
10953         * tests/test-environ.c: Don't include <stdlib.h>.
10954
10955 2008-12-16  Bruno Haible  <bruno@clisp.org>
10956
10957         * lib/parse-duration.h (parse_duration): Document return value
10958         convention.
10959         * lib/parse-duration.c: Include specification header first. Add
10960         comments.
10961         (_): Remove macro.
10962         (parse_year_month_day, parse_hour_minute_second): Move side effects
10963         outside of strchr call.
10964         (parse_non_iso8601): Move side effects outside of isspace call.
10965         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
10966         call.
10967
10968 2008-12-16  Bruno Haible  <bruno@clisp.org>
10969
10970         * tests/test-parse-duration.sh: Produce no output when the test
10971         succeeds.
10972
10973 2008-12-16  Bruno Haible  <bruno@clisp.org>
10974
10975         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
10976         expressions.
10977
10978 2008-12-15  Bruno Haible  <bruno@clisp.org>
10979
10980         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
10981         * doc/glibc-functions/flistxattr.texi: Likewise.
10982         * doc/glibc-functions/fopencookie.texi: Likewise.
10983         * doc/glibc-functions/fremovexattr.texi: Likewise.
10984         * doc/glibc-functions/fsetxattr.texi: Likewise.
10985         * doc/glibc-functions/getxattr.texi: Likewise.
10986         * doc/glibc-functions/lgetxattr.texi: Likewise.
10987         * doc/glibc-functions/listxattr.texi: Likewise.
10988         * doc/glibc-functions/llistxattr.texi: Likewise.
10989         * doc/glibc-functions/lremovexattr.texi: Likewise.
10990         * doc/glibc-functions/lsetxattr.texi: Likewise.
10991         * doc/glibc-functions/removexattr.texi: Likewise.
10992         * doc/glibc-functions/setxattr.texi: Likewise.
10993         * doc/posix-functions/open_memstream.texi: Likewise.
10994
10995 2008-12-15  Eric Blake  <ebb9@byu.net>
10996
10997         Update doc for cygwin 1.7.
10998         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
10999         functions.
11000         * doc/posix-functions/fchmodat.texi: Likewise.
11001         * doc/posix-functions/fchownat.texi: Likewise.
11002         * doc/posix-functions/fdopendir.texi: Likewise.
11003         * doc/posix-functions/fmemopen.texi: Likewise.
11004         * doc/posix-functions/freeaddrinfo.texi: Likewise.
11005         * doc/posix-functions/fstatat.texi: Likewise.
11006         * doc/posix-functions/futimens.texi: Likewise.
11007         * doc/posix-functions/gai_strerror.texi: Likewise.
11008         * doc/posix-functions/getaddrinfo.texi: Likewise.
11009         * doc/posix-functions/getnameinfo.texi: Likewise.
11010         * doc/posix-functions/if_freenameindex.texi: Likewise.
11011         * doc/posix-functions/if_indextoname.texi: Likewise.
11012         * doc/posix-functions/if_nameindex.texi: Likewise.
11013         * doc/posix-functions/if_nametoindex.texi: Likewise.
11014         * doc/posix-functions/insque.texi: Likewise.
11015         * doc/posix-functions/linkat.texi: Likewise.
11016         * doc/posix-functions/llrint.texi: Likewise.
11017         * doc/posix-functions/llrintf.texi: Likewise.
11018         * doc/posix-functions/llrintl.texi: Likewise.
11019         * doc/posix-functions/lockf.texi: Likewise.
11020         * doc/posix-functions/lrintl.texi: Likewise.
11021         * doc/posix-functions/mkdirat.texi: Likewise.
11022         * doc/posix-functions/mkfifoat.texi: Likewise.
11023         * doc/posix-functions/mknodat.texi: Likewise.
11024         * doc/posix-functions/mq_close.texi: Likewise.
11025         * doc/posix-functions/mq_getattr.texi: Likewise.
11026         * doc/posix-functions/mq_notify.texi: Likewise.
11027         * doc/posix-functions/mq_open.texi: Likewise.
11028         * doc/posix-functions/mq_receive.texi: Likewise.
11029         * doc/posix-functions/mq_send.texi: Likewise.
11030         * doc/posix-functions/mq_setattr.texi: Likewise.
11031         * doc/posix-functions/mq_timedreceive.texi: Likewise.
11032         * doc/posix-functions/mq_timedsend.texi: Likewise.
11033         * doc/posix-functions/mq_unlink.texi: Likewise.
11034         * doc/posix-functions/open_memstream.texi: Likewise.
11035         * doc/posix-functions/openat.texi: Likewise.
11036         * doc/posix-functions/posix_fadvise.texi: Likewise.
11037         * doc/posix-functions/posix_fallocate.texi: Likewise.
11038         * doc/posix-functions/posix_madvise.texi: Likewise.
11039         * doc/posix-functions/posix_memalign.texi: Likewise.
11040         * doc/posix-functions/posix_openpt.texi: Likewise.
11041         * doc/posix-functions/readlinkat.texi: Likewise.
11042         * doc/posix-functions/remque.texi: Likewise.
11043         * doc/posix-functions/renameat.texi: Likewise.
11044         * doc/posix-functions/rintl.texi: Likewise.
11045         * doc/posix-functions/sem_unlink.texi: Likewise.
11046         * doc/posix-functions/shm_open.texi: Likewise.
11047         * doc/posix-functions/shm_unlink.texi: Likewise.
11048         * doc/posix-functions/signgam.texi: Likewise.
11049         * doc/posix-functions/sigset.texi: Likewise.
11050         * doc/posix-functions/stpcpy.texi: Likewise.
11051         * doc/posix-functions/stpncpy.texi: Likewise.
11052         * doc/posix-functions/strerror.texi: Likewise.
11053         * doc/posix-functions/strtod.texi: Likewise.
11054         * doc/posix-functions/symlinkat.texi: Likewise.
11055         * doc/posix-functions/unlinkat.texi: Likewise.
11056         * doc/posix-functions/utimensat.texi: Likewise.
11057         * doc/glibc-functions/bindresvport.texi: Likewise.
11058         * doc/glibc-functions/dn_expand.texi: Likewise.
11059         * doc/glibc-functions/exp10.texi: Likewise.
11060         * doc/glibc-functions/exp10f.texi: Likewise.
11061         * doc/glibc-functions/fgetxattr.texi: Likewise.
11062         * doc/glibc-functions/flistxattr.texi: Likewise.
11063         * doc/glibc-functions/fopencookie.texi: Likewise.
11064         * doc/glibc-functions/freeifaddrs.texi: Likewise.
11065         * doc/glibc-functions/fremovexattr.texi: Likewise.
11066         * doc/glibc-functions/fsetxattr.texi: Likewise.
11067         * doc/glibc-functions/getifaddrs.texi: Likewise.
11068         * doc/glibc-functions/getxattr.texi: Likewise.
11069         * doc/glibc-functions/lgetxattr.texi: Likewise.
11070         * doc/glibc-functions/listxattr.texi: Likewise.
11071         * doc/glibc-functions/llistxattr.texi: Likewise.
11072         * doc/glibc-functions/lremovexattr.texi: Likewise.
11073         * doc/glibc-functions/lsetxattr.texi: Likewise.
11074         * doc/glibc-functions/pow10.texi: Likewise.
11075         * doc/glibc-functions/pow10f.texi: Likewise.
11076         * doc/glibc-functions/rcmd_af.texi: Likewise.
11077         * doc/glibc-functions/removexattr.texi: Likewise.
11078         * doc/glibc-functions/res_init.texi: Likewise.
11079         * doc/glibc-functions/res_mkquery.texi: Likewise.
11080         * doc/glibc-functions/res_query.texi: Likewise.
11081         * doc/glibc-functions/res_querydomain.texi: Likewise.
11082         * doc/glibc-functions/res_send.texi: Likewise.
11083         * doc/glibc-functions/rresvport_af.texi: Likewise.
11084         * doc/glibc-functions/setxattr.texi: Likewise.
11085         * doc/glibc-functions/strcasestr.texi: Likewise.
11086
11087 2008-12-15  Bruno Haible  <bruno@clisp.org>
11088
11089         Fix compilation error on OSF/1 4.0.
11090         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
11091         <sys/time.h>, simply delegate to the system header.
11092         Reported by Daniel Richard G. <oss@teragram.com>.
11093
11094 2008-12-15  Bruno Haible  <bruno@clisp.org>
11095
11096         * doc/posix-functions/openat.texi: Mention the 'openat' module.
11097         * doc/posix-functions/fchmodat.texi: Likewise.
11098         * doc/posix-functions/fchownat.texi: Likewise.
11099         * doc/posix-functions/fdopendir.texi: Likewise.
11100         * doc/posix-functions/fstatat.texi: Likewise.
11101         * doc/posix-functions/mkdirat.texi: Likewise.
11102         * doc/posix-functions/unlinkat.texi: Likewise.
11103
11104 2008-12-14  Bruno Haible  <bruno@clisp.org>
11105
11106         Update doc for POSIX:2008.
11107         * doc/posix-functions/faccessat.texi: New file.
11108         * doc/posix-functions/fchmodat.texi: New file.
11109         * doc/posix-functions/fchownat.texi: New file.
11110         * doc/posix-functions/fdopendir.texi: New file.
11111         * doc/posix-functions/fstatat.texi: New file.
11112         * doc/posix-functions/futimens.texi: New file.
11113         * doc/posix-functions/linkat.texi: New file.
11114         * doc/posix-functions/mkdirat.texi: New file.
11115         * doc/posix-functions/mkfifoat.texi: New file.
11116         * doc/posix-functions/mknodat.texi: New file.
11117         * doc/posix-functions/open_wmemstream.texi: New file.
11118         * doc/posix-functions/openat.texi: New file.
11119         * doc/posix-functions/psiginfo.texi: New file.
11120         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
11121         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
11122         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
11123         * doc/posix-functions/readlinkat.texi: New file.
11124         * doc/posix-functions/renameat.texi: New file.
11125         * doc/posix-functions/strerror_l.texi: New file.
11126         * doc/posix-functions/symlinkat.texi: New file.
11127         * doc/posix-functions/unlinkat.texi: New file.
11128         * doc/posix-functions/utimensat.texi: New file.
11129         * doc/gnulib.texi (Function Substitutes): Add these subsections.
11130
11131 2008-12-14  Bruno Haible  <bruno@clisp.org>
11132
11133         Update doc for POSIX:2008.
11134         * doc/posix-functions/alphasort.texi: Renamed from
11135         doc/glibc-functions/alphasort.texi.
11136         * doc/posix-functions/dirfd.texi: Renamed from
11137         doc/glibc-functions/dirfd.texi.
11138         * doc/posix-functions/dprintf.texi: Renamed from
11139         doc/glibc-functions/dprintf.texi.
11140         * doc/posix-functions/duplocale.texi: Renamed from
11141         doc/glibc-functions/duplocale.texi.
11142         * doc/posix-functions/fexecve.texi: Renamed from
11143         doc/glibc-functions/fexecve.texi.
11144         * doc/posix-functions/fmemopen.texi: Renamed from
11145         doc/glibc-functions/fmemopen.texi.
11146         * doc/posix-functions/freelocale.texi: Renamed from
11147         doc/glibc-functions/freelocale.texi.
11148         * doc/posix-functions/getdate_err.texi: Renamed from
11149         doc/glibc-functions/getdate_err.texi.
11150         * doc/posix-functions/isalnum_l.texi: Renamed from
11151         doc/glibc-functions/isalnum_l.texi.
11152         * doc/posix-functions/isalpha_l.texi: Renamed from
11153         doc/glibc-functions/isalpha_l.texi.
11154         * doc/posix-functions/isblank_l.texi: Renamed from
11155         doc/glibc-functions/isblank_l.texi.
11156         * doc/posix-functions/iscntrl_l.texi: Renamed from
11157         doc/glibc-functions/iscntrl_l.texi.
11158         * doc/posix-functions/isdigit_l.texi: Renamed from
11159         doc/glibc-functions/isdigit_l.texi.
11160         * doc/posix-functions/isgraph_l.texi: Renamed from
11161         doc/glibc-functions/isgraph_l.texi.
11162         * doc/posix-functions/islower_l.texi: Renamed from
11163         doc/glibc-functions/islower_l.texi.
11164         * doc/posix-functions/isprint_l.texi: Renamed from
11165         doc/glibc-functions/isprint_l.texi.
11166         * doc/posix-functions/ispunct_l.texi: Renamed from
11167         doc/glibc-functions/ispunct_l.texi.
11168         * doc/posix-functions/isspace_l.texi: Renamed from
11169         doc/glibc-functions/isspace_l.texi.
11170         * doc/posix-functions/isupper_l.texi: Renamed from
11171         doc/glibc-functions/isupper_l.texi.
11172         * doc/posix-functions/iswalnum_l.texi: Renamed from
11173         doc/glibc-functions/iswalnum_l.texi.
11174         * doc/posix-functions/iswalpha_l.texi: Renamed from
11175         doc/glibc-functions/iswalpha_l.texi.
11176         * doc/posix-functions/iswblank_l.texi: Renamed from
11177         doc/glibc-functions/iswblank_l.texi.
11178         * doc/posix-functions/iswcntrl_l.texi: Renamed from
11179         doc/glibc-functions/iswcntrl_l.texi.
11180         * doc/posix-functions/iswctype_l.texi: Renamed from
11181         doc/glibc-functions/iswctype_l.texi.
11182         * doc/posix-functions/iswdigit_l.texi: Renamed from
11183         doc/glibc-functions/iswdigit_l.texi.
11184         * doc/posix-functions/iswgraph_l.texi: Renamed from
11185         doc/glibc-functions/iswgraph_l.texi.
11186         * doc/posix-functions/iswlower_l.texi: Renamed from
11187         doc/glibc-functions/iswlower_l.texi.
11188         * doc/posix-functions/iswprint_l.texi: Renamed from
11189         doc/glibc-functions/iswprint_l.texi.
11190         * doc/posix-functions/iswpunct_l.texi: Renamed from
11191         doc/glibc-functions/iswpunct_l.texi.
11192         * doc/posix-functions/iswspace_l.texi: Renamed from
11193         doc/glibc-functions/iswspace_l.texi.
11194         * doc/posix-functions/iswupper_l.texi: Renamed from
11195         doc/glibc-functions/iswupper_l.texi.
11196         * doc/posix-functions/iswxdigit_l.texi: Renamed from
11197         doc/glibc-functions/iswxdigit_l.texi.
11198         * doc/posix-functions/isxdigit_l.texi: Renamed from
11199         doc/glibc-functions/isxdigit_l.texi.
11200         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
11201         doc/glibc-functions/mbsnrtowcs.texi.
11202         * doc/posix-functions/mkdtemp.texi: Renamed from
11203         doc/glibc-functions/mkdtemp.texi.
11204         * doc/posix-functions/newlocale.texi: Renamed from
11205         doc/glibc-functions/newlocale.texi.
11206         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
11207         doc/glibc-functions/nl_langinfo_l.texi.
11208         * doc/posix-functions/open_memstream.texi: Renamed from
11209         doc/glibc-functions/open_memstream.texi.
11210         * doc/posix-functions/opterr.texi: Renamed from
11211         doc/glibc-functions/opterr.texi.
11212         * doc/posix-functions/optind.texi: Renamed from
11213         doc/glibc-functions/optind.texi.
11214         * doc/posix-functions/optopt.texi: Renamed from
11215         doc/glibc-functions/optopt.texi.
11216         * doc/posix-functions/psignal.texi: Renamed from
11217         doc/glibc-functions/psignal.texi.
11218         * doc/posix-functions/scandir.texi: Renamed from
11219         doc/glibc-functions/scandir.texi.
11220         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
11221         doc/glibc-functions/sched_get_priority_min.texi.
11222         * doc/posix-functions/signgam.texi: Renamed from
11223         doc/glibc-functions/signgam.texi.
11224         * doc/posix-functions/stpcpy.texi: Renamed from
11225         doc/glibc-functions/stpcpy.texi.
11226         * doc/posix-functions/stpncpy.texi: Renamed from
11227         doc/glibc-functions/stpncpy.texi.
11228         * doc/posix-functions/strcasecmp_l.texi: Renamed from
11229         doc/glibc-functions/strcasecmp_l.texi.
11230         * doc/posix-functions/strcoll_l.texi: Renamed from
11231         doc/glibc-functions/strcoll_l.texi.
11232         * doc/posix-functions/strfmon_l.texi: Renamed from
11233         doc/glibc-functions/strfmon_l.texi.
11234         * doc/posix-functions/strftime_l.texi: Renamed from
11235         doc/glibc-functions/strftime_l.texi.
11236         * doc/posix-functions/strncasecmp_l.texi: Renamed from
11237         doc/glibc-functions/strncasecmp_l.texi.
11238         * doc/posix-functions/strndup.texi: Renamed from
11239         doc/glibc-functions/strndup.texi.
11240         * doc/posix-functions/strnlen.texi: Renamed from
11241         doc/glibc-functions/strnlen.texi.
11242         * doc/posix-functions/strsignal.texi: Renamed from
11243         doc/glibc-functions/strsignal.texi.
11244         * doc/posix-functions/strxfrm_l.texi: Renamed from
11245         doc/glibc-functions/strxfrm_l.texi.
11246         * doc/posix-functions/timer_gettime.texi: Renamed from
11247         doc/glibc-functions/timer_gettime.texi.
11248         * doc/posix-functions/tolower_l.texi: Renamed from
11249         doc/glibc-functions/tolower_l.texi.
11250         * doc/posix-functions/toupper_l.texi: Renamed from
11251         doc/glibc-functions/toupper_l.texi.
11252         * doc/posix-functions/towctrans_l.texi: Renamed from
11253         doc/glibc-functions/towctrans_l.texi.
11254         * doc/posix-functions/towlower_l.texi: Renamed from
11255         doc/glibc-functions/towlower_l.texi.
11256         * doc/posix-functions/towupper_l.texi: Renamed from
11257         doc/glibc-functions/towupper_l.texi.
11258         * doc/posix-functions/uselocale.texi: Renamed from
11259         doc/glibc-functions/uselocale.texi.
11260         * doc/posix-functions/vdprintf.texi: Renamed from
11261         doc/glibc-functions/vdprintf.texi.
11262         * doc/posix-functions/wcpcpy.texi:
11263         Renamed from doc/glibc-functions/wcpcpy.texi.
11264         * doc/posix-functions/wcpncpy.texi: Renamed from
11265         doc/glibc-functions/wcpncpy.texi.
11266         * doc/posix-functions/wcscasecmp.texi: Renamed from
11267         doc/glibc-functions/wcscasecmp.texi.
11268         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
11269         doc/glibc-functions/wcscasecmp_l.texi.
11270         * doc/posix-functions/wcscoll_l.texi: Renamed from
11271         doc/glibc-functions/wcscoll_l.texi.
11272         * doc/posix-functions/wcsdup.texi: Renamed from
11273         doc/glibc-functions/wcsdup.texi.
11274         * doc/posix-functions/wcsncasecmp.texi: Renamed from
11275         doc/glibc-functions/wcsncasecmp.texi.
11276         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
11277         doc/glibc-functions/wcsncasecmp_l.texi.
11278         * doc/posix-functions/wcsnlen.texi: Renamed from
11279         doc/glibc-functions/wcsnlen.texi.
11280         * doc/posix-functions/wcsnrtombs.texi: Renamed from
11281         doc/glibc-functions/wcsnrtombs.texi.
11282         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
11283         doc/glibc-functions/wcsxfrm_l.texi.
11284         * doc/posix-functions/wctrans_l.texi: Renamed from
11285         doc/glibc-functions/wctrans_l.texi.
11286         * doc/posix-functions/wctype_l.texi: Renamed from
11287         doc/glibc-functions/wctype_l.texi.
11288         * doc/gnulib.texi (Function Substitutes): Add these subsections.
11289         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
11290         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
11291         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
11292         these subsections.
11293         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
11294         Remove sections.
11295
11296 2008-12-14  Bruno Haible  <bruno@clisp.org>
11297
11298         Update doc for POSIX:2008.
11299         * doc/posix-functions/*.texi: Update URL of POSIX specification.
11300
11301 2008-12-14  Bruno Haible  <bruno@clisp.org>
11302
11303         Update doc for POSIX:2008.
11304         * doc/pastposix-functions/bcmp.texi: Renamed from
11305         doc/posix-functions/bcmp.texi.
11306         * doc/pastposix-functions/bcopy.texi: Renamed from
11307         doc/posix-functions/bcopy.texi.
11308         * doc/pastposix-functions/bsd_signal.texi: Renamed from
11309         doc/posix-functions/bsd_signal.texi.
11310         * doc/pastposix-functions/bzero.texi: Renamed from
11311         doc/posix-functions/bzero.texi.
11312         * doc/pastposix-functions/ecvt.texi: Renamed from
11313         doc/posix-functions/ecvt.texi.
11314         * doc/pastposix-functions/fcvt.texi: Renamed from
11315         doc/posix-functions/fcvt.texi.
11316         * doc/pastposix-functions/ftime.texi: Renamed from
11317         doc/posix-functions/ftime.texi.
11318         * doc/pastposix-functions/gcvt.texi: Renamed from
11319         doc/posix-functions/gcvt.texi.
11320         * doc/pastposix-functions/getcontext.texi: Renamed from
11321         doc/posix-functions/getcontext.texi.
11322         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
11323         doc/posix-functions/gethostbyaddr.texi.
11324         * doc/pastposix-functions/gethostbyname.texi: Renamed from
11325         doc/posix-functions/gethostbyname.texi.
11326         * doc/pastposix-functions/getwd.texi: Renamed from
11327         doc/posix-functions/getwd.texi.
11328         * doc/pastposix-functions/h_errno.texi: Renamed from
11329         doc/posix-functions/h_errno.texi.
11330         * doc/pastposix-functions/index.texi: Renamed from
11331         doc/posix-functions/index.texi.
11332         * doc/pastposix-functions/makecontext.texi: Renamed from
11333         doc/posix-functions/makecontext.texi.
11334         * doc/pastposix-functions/mktemp.texi: Renamed from
11335         doc/posix-functions/mktemp.texi.
11336         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
11337         doc/posix-functions/pthread_attr_getstackaddr.texi.
11338         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
11339         doc/posix-functions/pthread_attr_setstackaddr.texi.
11340         * doc/pastposix-functions/rindex.texi: Renamed from
11341         doc/posix-functions/rindex.texi.
11342         * doc/pastposix-functions/scalb.texi: Renamed from
11343         doc/posix-functions/scalb.texi.
11344         * doc/pastposix-functions/setcontext.texi: Renamed from
11345         doc/posix-functions/setcontext.texi.
11346         * doc/pastposix-functions/swapcontext.texi: Renamed from
11347         doc/posix-functions/swapcontext.texi.
11348         * doc/pastposix-functions/ualarm.texi: Renamed from
11349         doc/posix-functions/ualarm.texi.
11350         * doc/pastposix-functions/usleep.texi: Renamed from
11351         doc/posix-functions/usleep.texi.
11352         * doc/pastposix-functions/vfork.texi: Renamed from
11353         doc/posix-functions/vfork.texi.
11354         * doc/pastposix-functions/wcswcs.texi: Renamed from
11355         doc/posix-functions/wcswcs.texi.
11356         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
11357         (Function Substitutes): Update.
11358
11359 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11360
11361         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
11362         m4/strerror.m4.
11363
11364 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11365             Bruno Haible  <bruno@clisp.org>
11366
11367         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
11368
11369 2008-12-13  Bruno Haible  <bruno@clisp.org>
11370
11371         * modules/strtoull (Depends-on): Remove unistd.
11372
11373 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11374
11375         * modules/strtoull (Depends-on): Add stdlib.
11376
11377 2008-12-11  Simon Josefsson  <simon@josefsson.org>
11378
11379         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
11380
11381 2008-12-10  Jim Meyering  <meyering@redhat.com>
11382
11383         gl_ASSERT: don't say assertions are disabled when they're not
11384         * m4/assert.m4 (gl_ASSERT): Do not make configure report
11385         "checking whether to enable assertions... no", when they are in
11386         fact enabled.  This is solely a bug in the output of configure.
11387         In spite of saying "no", NDEBUG was not defined in that case.
11388         Also, as noted by Eric Blake, leave assertions enabled upon
11389         --enable-assert=INVALID.
11390
11391 2008-12-10  Bruno Haible  <bruno@clisp.org>
11392
11393         Change MODULES.html to refer to POSIX:2008 where possible.
11394         * MODULES.html.sh (POSIX2008_URL): New variable.
11395         (posix_headers): Remove sys/timeb, ucontext.
11396         (posix2001_headers): New variable.
11397         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
11398         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
11399         index, makecontext, mktemp, pthread_attr_getstackaddr,
11400         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
11401         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
11402         (posix2001_functions): New variable.
11403         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
11404         otherwise.
11405
11406 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11407
11408         add missing include to parse-duration.c
11409         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
11410         * modules/parse-duration (Depends-on): Add xalloc.
11411
11412         fix sed script reading maint.mk
11413         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
11414         (syntax-check-rules): Use it.
11415
11416 2008-12-09  Bruno Haible  <bruno@clisp.org>
11417
11418         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
11419         MacOS X 10.4/PowerPC.
11420         Reported by Simon Josefsson.
11421
11422 2008-12-08  Jim Meyering  <meyering@redhat.com>
11423
11424         work around mingw's lack of some S_IF definitions
11425         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
11426         Reported by Simon Josefsson.
11427
11428 2008-12-08  Bruno Haible  <bruno@clisp.org>
11429
11430         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
11431         applied to variables. Needed on MacOS X 10.4/PowerPC.
11432         Reported by Simon Josefsson.
11433
11434 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
11435         and Eric Blake  <ebb9@byu.net>
11436
11437         assert: honor --enable-assert
11438         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
11439         order to honor --enable-assert, rather than treating it as a
11440         synonym for --disable-assert.
11441
11442 2008-12-08  Jim Meyering  <meyering@redhat.com>
11443
11444         * lib/posixtm.c: Remove now-useless declaration of mktime.
11445
11446         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
11447
11448 2008-12-07  Bruno Haible  <bruno@clisp.org>
11449
11450         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
11451         test_once): Mark functions as static.
11452         * tests/test-tls.c (test_tls): Likewise.
11453
11454 2008-12-07  Bruno Haible  <bruno@clisp.org>
11455
11456         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
11457         iconv_register_autodetect.
11458
11459 2008-12-07  Jim Meyering  <meyering@redhat.com>
11460
11461         posixtm.c: avoid a warning
11462         * lib/posixtm.c (posixtime): Don't initialize tm0.
11463         It's no longer needed to placate gcc4's -Wuninitialized,
11464         and the attempt to placate would elicit a new warning.
11465
11466         unicodeio.c: mark unused parameters
11467         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11468         (fallback_failure_callback): Likewise.
11469
11470 2008-12-07  Bruno Haible  <bruno@clisp.org>
11471
11472         * gnulib-tool (func_create_testdir): When building the tests
11473         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
11474         Reported by Simon Josefsson.
11475
11476 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11477
11478         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
11479
11480 2008-12-06  Bruno Haible  <bruno@clisp.org>
11481
11482         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
11483         Suggested by Eric Blake.
11484
11485 2008-12-06  Bruno Haible  <bruno@clisp.org>
11486
11487         Fix a c-stack test failure on MacOS X.
11488         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
11489         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
11490         handler for SIGBUS as well.
11491         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
11492         install a signal handler for SIGBUS as well.
11493         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
11494
11495 2008-12-06  Bruno Haible  <bruno@clisp.org>
11496
11497         Advocacy documentation.
11498         * doc/gnulib-intro.texi (Benefits): New section.
11499         * doc/gnulib.texi: Update.
11500
11501 2008-12-06  Bruno Haible  <bruno@clisp.org>
11502
11503         Document the 'manywarnings' module.
11504         * doc/manywarnings.texi: New file.
11505         * doc/gnulib.texi: Include it.
11506
11507 2008-12-05  Eric Blake  <ebb9@byu.net>
11508
11509         tests: silence some gcc warnings
11510         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
11511         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
11512         type mismatches.
11513
11514 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11515             Bruno Haible  <bruno@clisp.org>
11516
11517         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
11518
11519 2008-11-29  Jim Meyering  <meyering@redhat.com>
11520
11521         unicodeio.c: mark unused parameters
11522         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11523         (fallback_failure_callback): Likewise.
11524
11525         fts: fix a thinko
11526         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
11527         (set_stat_type): Return S_IF*-valued "type" directly.
11528         Prompted by James Youngman's spotting a related bug.
11529         Confirmed by further testing through find.
11530
11531         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
11532         * lib/fts.c (D_TYPE): Define.
11533         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
11534         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
11535         (s_ifmt_shift_bits): New function.
11536         (set_stat_type): New function.
11537         (fts_build): When not calling fts_stat, call set_stat_type
11538         to propagate dirent.d_type info to fts_read caller.
11539         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
11540         fts_statp->st_mode type information may be valid.
11541
11542 2008-11-28  Simon Josefsson  <simon@josefsson.org>
11543
11544         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
11545         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
11546         <sds@gnu.org>.
11547
11548 2008-11-20  Bruno Haible  <bruno@clisp.org>
11549
11550         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
11551         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
11552         INCLUDE_NEXT.
11553         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
11554         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
11555         * modules/math (Makefile.am): Substitute
11556         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
11557         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11558
11559 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
11560             Bruno Haible  <bruno@clisp.org>
11561
11562         * lib/stdint.in.h: Define all type macros so that their expansion is
11563         a single typedef'ed token. Fixes a compilation failure in Boost which
11564         does "using ::int8_t;".
11565
11566 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11567
11568         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
11569         gl_MANYWARN_ALL_GCC.
11570         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
11571         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
11572         * modules/manywarnings: New file.
11573         * MODULES.html.sh: Mention manywarnings module.
11574
11575 2008-11-18  Bruno Haible  <bruno@clisp.org>
11576
11577         * doc/gnulib-tool.texi (Unit tests): New section.
11578
11579 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11580
11581         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
11582         paths like 'lib/po/foo.po'.
11583
11584 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11585
11586         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
11587         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
11588
11589 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11590
11591         * m4/warnings.m4: Use CPPFLAGS to really check whether the
11592         parameter works.
11593
11594 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11595
11596         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
11597
11598 2008-11-17  Bruce Korb  <bkorb@gnu.org>
11599
11600         * modules/parse-duration-tests: New file.
11601         * tests/test-parse-duration.sh: New file.
11602         * tests/test-parse-duration.c: New file.
11603
11604         New module 'parse-duration'.
11605         * lib/parse-duration.h: New file.
11606         * lib/parse-duration.c: New file.
11607         * modules/parse-duration: New file.
11608
11609 2008-11-17  Bruno Haible  <bruno@clisp.org>
11610
11611         * tests/test-select-out.sh: Comment out the first pipe test.
11612         Reported by Simon Josefsson.
11613
11614 2008-11-17  Bruno Haible  <bruno@clisp.org>
11615
11616         * modules/getaddrinfo (Depends-on): Add servent, hostent.
11617         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
11618         gl_HOSTENT.
11619
11620 2008-11-17  Bruno Haible  <bruno@clisp.org>
11621
11622         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
11623         -lnetwork and -lnet. Needed for Haiku and BeOS.
11624
11625 2008-11-16  Bruno Haible  <bruno@clisp.org>
11626
11627         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
11628
11629 2008-11-16  Bruno Haible  <bruno@clisp.org>
11630
11631         Avoid test failure on Haiku.
11632         * tests/test-fsync.c: Include <errno.h>.
11633         (main): Don't require that fsync (0) fails.
11634
11635 2008-11-15  Bruno Haible  <bruno@clisp.org>
11636
11637         New module 'hostent'.
11638         * modules/hostent: New file.
11639         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
11640
11641 2008-11-15  Bruno Haible  <bruno@clisp.org>
11642
11643         New module 'servent'.
11644         * modules/servent: New file.
11645         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
11646
11647 2008-11-15  Bruno Haible  <bruno@clisp.org>
11648
11649         Avoid generating same test program with two different rules.
11650         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
11651         test-frexp to test-frexp-nolibm.
11652         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
11653         test-frexpl to test-frexpl-nolibm.
11654
11655 2008-11-15  Bruno Haible  <bruno@clisp.org>
11656
11657         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
11658         $(FREXPL_LIBM).
11659
11660 2008-11-15  Bruno Haible  <bruno@clisp.org>
11661
11662         * lib/netdb.in.h: Activate the definitions also when the system's
11663         <netdb.h> has 'struct addrinfo'.
11664         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
11665         EAI_OVERFLOW or AI_NUMERICSERV.
11666         * doc/posix-headers/netdb.texi: Document the problem.
11667
11668 2008-11-15  Bruno Haible  <bruno@clisp.org>
11669
11670         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
11671
11672         Make the 'sched' module work on platforms where <sched.h> exists but
11673         is incomplete (such as Haiku).
11674         * lib/sched.in.h; Include the system's <sched.h> if it exists.
11675         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
11676         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
11677         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
11678         HAVE_STRUCT_SCHED_PARAM.
11679         * modules/sched (Depends-on): Add include_next.
11680         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
11681         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
11682         * doc/posix-headers/sched.texi: Document the issue.
11683
11684 2008-11-13  Jim Meyering  <meyering@redhat.com>
11685
11686         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
11687         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
11688         test would fail due to the difference in the Report bugs to ...
11689         line.  The expected address is empty, "<>", while the actual
11690         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
11691
11692 2008-11-12  Bruno Haible  <bruno@clisp.org>
11693
11694         lstat: don't compile lstat.c on systems lacking lstat
11695         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
11696         which don't have lstat; this is handled by lib/sys_stat.in.h already.
11697         Reported by Daniel P. Berrange via Jim Meyering.
11698
11699 2008-11-12  Jim Meyering  <meyering@redhat.com>
11700
11701         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
11702
11703 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11704
11705         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
11706         instead.
11707
11708 2008-11-12  Bruno Haible  <bruno@clisp.org>
11709
11710         * lib/unicodeio.c: Include unistr.h.
11711         (utf8_wctomb): Remove function.
11712         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
11713
11714 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11715
11716         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
11717         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
11718         <bruno@clisp.org>.
11719         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
11720
11721 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11722
11723         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
11724         * doc/gnulib.texi: Add section for warnings.
11725
11726 2008-11-11  Bruno Haible  <bruno@clisp.org>
11727
11728         * lib/sockets.h: Add a comment.
11729
11730 2008-11-11  Karl Berry  <karl@gnu.org>
11731
11732         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
11733
11734 2008-11-11  Eric Blake  <ebb9@byu.net>
11735
11736         fdl.texi: avoid git symlinks
11737         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
11738
11739 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11740
11741         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
11742
11743 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11744
11745         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
11746         (gl_WARN_ADD): Substitute $2 if literal.
11747
11748 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11749
11750         * m4/warning.m4: Remove.
11751
11752 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11753
11754         * m4/warnings.m4: Almost complete rewrite. :-)
11755
11756 2008-11-10  Simon Josefsson  <simon@josefsson.org>
11757
11758         * modules/warnings: New module.
11759         * m4/warnings.m4: New file.
11760         * MODULES.html.sh: Mention warnings module.
11761         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
11762         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11763
11764 2008-11-10  Eric Blake  <ebb9@byu.net>
11765
11766         fdl.texi: make a symlink to the latest version
11767         * doc/standards.texi: Revert today's earlier change.
11768         * doc/fdl-1.2.texi: Rename from old fdl.texi...
11769         * doc/fdl.texi: ...and replace this with a symlink to the newer
11770         fdl-1.3.texi.
11771
11772 2008-11-10  Bruno Haible  <bruno@clisp.org>
11773
11774         * tests/test-select-fd.c (main): Accept the result file name as fourth
11775         argument.
11776         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
11777         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
11778
11779 2008-11-10  Bruno Haible  <bruno@clisp.org>
11780
11781         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
11782         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
11783         as autoconf-substituted macros.
11784         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
11785         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
11786         gl_NETDB_H_DEFAULTS. Set these variables.
11787         * modules/netdb (Makefile.am): Substitute these variables.
11788
11789 2008-11-10  Eric Blake  <ebb9@byu.net>
11790
11791         standards.texi: include correct file for FDL 1.3
11792         * doc/standards.texi (GNU Free Documentation License): Change
11793         include file to pull in FDL 1.3, not 1.2.
11794
11795         fdl.texi: revert accidental change to license
11796         * doc/fdl.texi: This is FDL 1.2, not 1.3.
11797
11798 2008-11-10  Bruno Haible  <bruno@clisp.org>
11799
11800         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
11801         cross-compiling guesses also when the native compile gives no result.
11802
11803 2008-11-10  Bruno Haible  <bruno@clisp.org>
11804
11805         * lib/spawni.c (__spawni): Force variable into the stack.
11806
11807 2008-11-10  Bruno Haible  <bruno@clisp.org>
11808
11809         Add support for Haiku.
11810         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
11811         glibc and BeOS, but also on Haiku.
11812         * lib/fpurge.c (fpurge): Likewise.
11813         * lib/freadable.c (freadable): Likewise.
11814         * lib/freadahead.c (freadahead): Likewise.
11815         * lib/freading.c (freading): Likewise.
11816         * lib/freadptr.c (freadptr): Likewise.
11817         * lib/freadseek.c (freadptrinc): Likewise.
11818         * lib/fseeko.c (rpl_fseeko): Likewise.
11819         * lib/fseterr.c (fseterr): Likewise.
11820         * lib/fwritable.c (fwritable): Likewise.
11821         * lib/fwriting.c (fwriting): Likewise.
11822         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
11823
11824 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
11825
11826         * lib/config.charset: Treat Haiku like BeOS.
11827
11828 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
11829
11830         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
11831         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
11832
11833 2008-11-08  Bruno Haible  <bruno@clisp.org>
11834
11835         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
11836         AC_CACHE_CHECK.
11837
11838 2008-11-08  Bruno Haible  <bruno@clisp.org>
11839
11840         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
11841
11842 2008-11-08  Bruno Haible  <bruno@clisp.org>
11843
11844         * tests/test-select-fd.c: New file.
11845         * tests/test-select-in.sh: New file.
11846         * tests/test-select-out.sh: New file.
11847         * tests/test-select-stdin.c: New file.
11848         * modules/select-tests (Files): Add the new files.
11849         (Depends-on): Add gettimeofday.
11850         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
11851         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
11852         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
11853
11854 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
11855             Bruno Haible  <bruno@clisp.org>
11856
11857         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
11858
11859 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
11860
11861         * build-aux/pmccabe2html: Added support for C++ source files.
11862
11863 2008-11-05  Ben Pfaff  <blp@gnu.org>
11864
11865         Fix lib/close.c build on Windows.
11866         * modules/close (Files): Add lib/w32sock.h.
11867
11868 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
11869
11870         Accept Bison's NEWS format.
11871         * build-aux/announce-gen (print_news_deltas): Tweak
11872         $re_prefix.
11873
11874 2008-11-04  Bruno Haible  <bruno@clisp.org>
11875
11876         * modules/random_r (Maintainer): Add glibc.
11877
11878 2008-11-04  Simon Josefsson  <simon@josefsson.org>
11879
11880         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
11881         by karl@freefriends.org (Karl Berry).
11882         * doc/alloca.texi: Likewise.
11883         * doc/c-ctype.texi: Likewise.
11884         * doc/c-strcase.texi: Likewise.
11885         * doc/c-strcaseeq.texi: Likewise.
11886         * doc/c-strcasestr.texi: Likewise.
11887         * doc/c-strstr.texi: Likewise.
11888         * doc/c-strtod.texi: Likewise.
11889         * doc/c-strtold.texi: Likewise.
11890         * doc/ctime.texi: Likewise.
11891         * doc/error.texi: Likewise.
11892         * doc/fdl.texi: Likewise.
11893         * doc/gcd.texi: Likewise.
11894         * doc/getdate.texi: Likewise.
11895         * doc/gnulib-intro.texi: Likewise.
11896         * doc/gnulib-tool.texi: Likewise.
11897         * doc/gnulib.texi: Likewise.
11898         * doc/inet_ntoa.texi: Likewise.
11899         * doc/maintain.texi: Likewise.
11900         * doc/make-stds.texi: Likewise.
11901         * doc/quote.texi: Likewise.
11902         * doc/regexprops-generic.texi: Likewise.
11903         * doc/standards.texi: Likewise.
11904         * doc/verify.texi: Likewise.
11905         * doc/visibility.texi: Likewise.
11906         * doc/gnulib.texi (GNU Free Documentation License): Include
11907         fdl-1.3.texi instead of fdl.texi.
11908
11909 2008-11-04  Simon Josefsson  <simon@josefsson.org>
11910
11911         * doc/fdl-1.3.texi: New file, from
11912         <http://www.gnu.org/licenses/fdl-1.3.texi>.
11913         * modules/fdl-1.3: Add.
11914         * MODULES.html.sh: Add fdl-1.3.
11915
11916 2008-11-03  Bruno Haible  <bruno@clisp.org>
11917
11918         Make determination of absolute name of header file work with AIX xlc.
11919         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
11920         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
11921         preprocessing.
11922         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11923         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
11924
11925 2008-11-03  Simon Josefsson  <simon@josefsson.org>
11926
11927         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
11928         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
11929         <ludo@gnu.org>.
11930
11931 2008-11-02  Bruno Haible  <bruno@clisp.org>
11932
11933         Mark 'strpbrk' obsolete.
11934         * modules/strpbrk (Status, Notice): New sections.
11935         * modules/strtok_r (Depends-on): Add strpbrk.
11936
11937 2008-11-02  Bruno Haible  <bruno@clisp.org>
11938
11939         Mark 'strdup' obsolete.
11940         * modules/strdup (Status, Notice): New sections.
11941         * modules/findprog (Depends-on): Add strdup.
11942         * modules/getaddrinfo (Depends-on): Likewise.
11943         * modules/localename (Depends-on): Likewise.
11944         * modules/relocatable-lib (Depends-on): Likewise.
11945         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
11946         * modules/relocatable-prog (Depends-on): Likewise.
11947         * modules/trim (Depends-on): Likewise.
11948         * modules/unictype/gen-ctype (Depends-on): Likewise.
11949         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
11950
11951 2008-11-02  Bruno Haible  <bruno@clisp.org>
11952
11953         Mark 'strcspn' obsolete.
11954         * modules/strcspn (Status, Notice): New sections.
11955
11956 2008-11-02  Bruno Haible  <bruno@clisp.org>
11957
11958         Mark 'rmdir' obsolete.
11959         * modules/rmdir (Status, Notice): New sections.
11960         * modules/clean-temp (Depends-on): Add rmdir.
11961         * modules/openat (Depends-on): Likewise.
11962
11963 2008-11-02  Bruno Haible  <bruno@clisp.org>
11964
11965         Mark 'raise' obsolete.
11966         * modules/raise (Status, Notice): New sections.
11967         (Include): Specify <signal.h>.
11968         * modules/stdio (Depends-on): Add raise.
11969         * modules/write (Depends-on): Likewise.
11970
11971 2008-11-02  Bruno Haible  <bruno@clisp.org>
11972
11973         Mark 'memset' obsolete.
11974         * modules/memset (Status, Notice): New sections.
11975
11976 2008-11-02  Bruno Haible  <bruno@clisp.org>
11977
11978         Mark 'memmove' obsolete.
11979         * modules/memmove (Status, Notice): New sections.
11980         * modules/argp (Depends-on): Add memmove.
11981         * modules/argz (Depends-on): Likewise.
11982         * modules/canonicalize (Depends-on): Likewise.
11983         * modules/canonicalize-lgpl (Depends-on): Likewise.
11984         * modules/fts (Depends-on): Likewise.
11985         * modules/getcwd (Depends-on): Likewise.
11986         * modules/human (Depends-on): Likewise.
11987         * modules/regex (Depends-on): Likewise.
11988         * modules/striconveh (Depends-on): Likewise.
11989         * modules/trim (Depends-on): Likewise.
11990         * modules/unistr/u8-move (Depends-on): Likewise.
11991         * modules/unistr/u16-move (Depends-on): Likewise.
11992         * modules/unistr/u32-move (Depends-on): Likewise.
11993
11994 2008-11-02  Bruno Haible  <bruno@clisp.org>
11995
11996         Mark 'memcpy' obsolete.
11997         * modules/memcpy (Status, Notice): New sections.
11998
11999 2008-11-02  Bruno Haible  <bruno@clisp.org>
12000
12001         Mark 'memcmp' obsolete.
12002         * modules/memcmp (Status, Notice): New sections.
12003         * modules/argmatch (Depends-on): Add memchr.
12004         * modules/backupfile (Depends-on): Likewise.
12005         * modules/c-strcasestr (Depends-on): Likewise.
12006         * modules/crypto/des (Depends-on): Likewise.
12007         * modules/csharpcomp (Depends-on): Likewise.
12008         * modules/fnmatch (Depends-on): Likewise.
12009         * modules/git-merge-changelog (Depends-on): Likewise.
12010         * modules/isnand (Depends-on): Likewise.
12011         * modules/isnand-nolibm (Depends-on): Likewise.
12012         * modules/isnanf (Depends-on): Likewise.
12013         * modules/isnanf-nolibm (Depends-on): Likewise.
12014         * modules/isnanl (Depends-on): Likewise.
12015         * modules/isnanl-nolibm (Depends-on): Likewise.
12016         * modules/mbchar (Depends-on): Likewise.
12017         * modules/memcoll (Depends-on): Likewise.
12018         * modules/quotearg (Depends-on): Likewise.
12019         * modules/regex (Depends-on): Likewise.
12020         * modules/relocatable-prog (Depends-on): Likewise.
12021         * modules/same (Depends-on): Likewise.
12022         * modules/signbit (Depends-on): Likewise.
12023         * modules/strcasestr-simple (Depends-on): Likewise.
12024         * modules/unictype/gen-ctype (Depends-on): Likewise.
12025         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
12026         * modules/uniname/uniname (Depends-on): Likewise.
12027         * modules/unistr/u8-cmp (Depends-on): Likewise.
12028
12029 2008-11-02  Bruno Haible  <bruno@clisp.org>
12030
12031         Mark 'memchr' obsolete.
12032         * modules/memchr (Status, Notice): New sections.
12033         * modules/argp (Depends-on): Add memchr.
12034         * modules/base64 (Depends-on): Likewise.
12035         * modules/c-strcasestr (Depends-on): Likewise.
12036         * modules/chdir-long (Depends-on): Likewise.
12037         * modules/fnmatch (Depends-on): Likewise.
12038         * modules/getsubopt (Depends-on): Likewise.
12039         * modules/git-merge-changelog (Depends-on): Likewise.
12040         * modules/glob (Depends-on): Likewise.
12041         * modules/strcasestr-simple (Depends-on): Likewise.
12042         * modules/strnlen (Depends-on): Likewise.
12043
12044 2008-11-02  Bruno Haible  <bruno@clisp.org>
12045
12046         Mark 'atexit' obsolete.
12047         * modules/atexit (Status, Notice): New sections.
12048         * modules/chdir-long (Depends-on): Add atexit.
12049         * modules/wait-process (Depends-on): Likewise.
12050
12051 2008-11-02  Bruno Haible  <bruno@clisp.org>
12052
12053         * gnulib-tool: New option --with-obsolete.
12054         (func_usage): Document it.
12055         (func_modules_transitive_closure): Drop obsolete dependencies if
12056         incobsolete is not true.
12057         (func_import): Read and save the incobsolete variable to the cache.
12058
12059 2008-11-02  Bruno Haible  <bruno@clisp.org>
12060
12061         * modules/TEMPLATE-EXTENDED: New field 'Status'.
12062         * gnulib-tool: New option --extract-status.
12063         (func_usage): Document it.
12064         (sed_extract_prog): Recognize it.
12065         (func_get_status): New function.
12066
12067 2008-10-30  Simon Josefsson  <simon@josefsson.org>
12068
12069         * modules/sockets (License): Change from LGPL to LGPLv2+.
12070
12071 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12072
12073         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
12074
12075 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12076
12077         * MODULES.html.sh (Support for systems lacking POSIX:2001):
12078         Mention times and sys_times.
12079         * modules/sys_times, modules/sys_times-tests: New modules.
12080         * modules/times, modules/times-tests: Likewise
12081         * m4/sys_times_h.m4: New file.
12082         * lib/sys_times.in.h: Likewise
12083         * lib/times.c: Likewise.
12084         * tests/test-sys_times.c: Likewise.
12085         * tests/test-times.c: Likewise.
12086         * doc/posix-headers/sys_times.texi: Update.
12087         * doc/posix-functions/times.texi: Update.
12088
12089 2008-10-28  Jim Meyering  <meyering@redhat.com>
12090
12091         * modules/tempname (Depends-on): Add lstat.
12092
12093         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
12094
12095 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12096
12097         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
12098         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
12099         using idiom used elsewhere in gnulib.
12100
12101 2008-10-27  Jim Meyering  <meyering@redhat.com>
12102
12103         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
12104
12105 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12106
12107         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
12108         TESTS_ENVIRONMENT, for shell scripts that needs to call built
12109         programs.
12110         * tests/test-argp-2.sh: Use $EXEEXT when needed.
12111
12112 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12113
12114         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
12115
12116 2008-10-27  Bruno Haible  <bruno@clisp.org>
12117
12118         * tests/test-lstat.c: Include <stdio.h>.
12119
12120 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12121
12122         * modules/lstat-tests: New module.
12123         * tests/test-lstat.c: New file.
12124
12125 2008-10-26  Jim Meyering  <meyering@redhat.com>
12126
12127         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
12128
12129 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12130             Bruno Haible  <bruno@clisp.org>
12131
12132         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
12133         * modules/configmake (Include): Add a note that the include must come
12134         after all system headers.
12135         * lib/javaversion.c: Include configmake.h after all other includes.
12136
12137 2008-10-26  Bruno Haible  <bruno@clisp.org>
12138
12139         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
12140         HAVE_STRUCT_RANDOM_DATA to 1.
12141         (gl_STDLIB_H): Simplify.
12142
12143 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12144
12145         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
12146         substitute HAVE_STRUCT_RANDOM_DATA.
12147         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
12148         random_data.
12149         * modules/stdlib (Makefile.am): Substitute
12150         HAVE_STRUCT_RANDOM_DATA.
12151
12152 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12153
12154         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
12155         * doc/gnulib-intro.texi (Copyright): Likewise.
12156
12157 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12158
12159         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
12160         findings.
12161
12162 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
12163             Bruno Haible  <bruno@clisp.org>
12164
12165         * lib/unistd.in.h: Include <winsock2.h>.
12166         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
12167         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
12168         Provide dummy declarations.
12169         (gethostname): Override.
12170         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
12171         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
12172         gl_PREREQ_SYS_H_WINSOCK2.
12173         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
12174         * doc/posix-functions/gethostname.texi: More details.
12175
12176 2008-10-25  Bruno Haible  <bruno@clisp.org>
12177
12178         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
12179         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
12180         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
12181
12182         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
12183         here ...
12184         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
12185         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
12186         gl_UNISTD_H_DEFAULTS.
12187
12188 2008-10-25  Eric Blake  <ebb9@byu.net>
12189
12190         signbit: avoid spurious compiler failure
12191         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
12192         declarations inside function.
12193
12194 2008-10-24  Simon Josefsson  <simon@josefsson.org>
12195             Bruno Haible  <bruno@clisp.org>
12196
12197         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
12198         * modules/random_r (Depends-on): Add stdint.
12199
12200 2008-10-24  Bruno Haible  <bruno@clisp.org>
12201
12202         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
12203         Eggert.
12204         * modules/strerror (License): Likewise.
12205
12206 2008-10-24  Jim Meyering  <meyering@redhat.com>
12207
12208         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
12209         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
12210
12211 2008-10-24  Eric Blake  <ebb9@byu.net>
12212
12213         getgroups: fix compilation when getgroups is available
12214         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
12215         but with <config.h> override of getgroups disabled.
12216
12217 2008-10-24  Simon Josefsson  <simon@josefsson.org>
12218
12219         * doc/gnulib.texi (Header files): Add note about C++ problems.
12220         Explained by Bruno Haible <bruno@clisp.org>.
12221
12222 2008-10-23  Bruno Haible  <bruno@clisp.org>
12223
12224         Define a dummy SA_NODEFER macro on Interix.
12225         * lib/signal.in.h (SA_NODEFER): Define fallback.
12226         Reported by Aleksey Cheusov <cheusov@tut.by> via
12227         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
12228
12229 2008-10-23  Bruno Haible  <bruno@clisp.org>
12230
12231         * modules/freadahead (License): Change to LGPLv2+.
12232         Suggested by Simon Josefsson.
12233
12234 2008-10-23  Jim Meyering  <meyering@redhat.com>
12235
12236         random_r: new module
12237         * modules/random_r: New file.
12238         * m4/random_r.m4: New file.
12239         * lib/random_r.c: New file, from glibc.
12240         * modules/random_r-tests: New file.
12241         * tests/test-random_r.c: New file.
12242         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
12243          Declare.
12244         (RAND_MAX): Define.
12245         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
12246         * modules/stdlib: Substitute them, too.
12247         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
12248         * doc/glibc-functions/initstate_r.texi: Mention the new module.
12249         * doc/glibc-functions/random_r.texi: Likewise.
12250         * doc/glibc-functions/setstate_r.texi: Likewise.
12251         * doc/glibc-functions/srandom_r.texi: Likewise.
12252         * config/srclist.txt: Mention it.
12253
12254 2008-10-23  David Lutterkort  <lutter@redhat.com>
12255
12256         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
12257         link requirement
12258
12259 2008-10-23  Jim Meyering  <meyering@redhat.com>
12260
12261         selinux-h: mark parameters of stub functions as intentionally unused
12262         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
12263         * lib/se-context.in.h: Likewise.
12264
12265 2008-10-22  Simon Josefsson  <simon@josefsson.org>
12266
12267         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
12268
12269 2008-10-22  Simon Josefsson  <simon@josefsson.org>
12270
12271         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
12272
12273 2008-10-22  Eric Blake  <ebb9@byu.net>
12274
12275         glthread/thread: avoid compiler warning
12276         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
12277         Add unreachable abort to silence compiler.
12278
12279 2008-10-22  Eric Blake  <ebb9@byu.net>
12280
12281         netdb: also supply struct addrinfo for cygwin 1.5.x
12282         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
12283         older cygwin.
12284         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
12285         cygwin.
12286         * doc/posix-headers/netdb.texi (netdb.h): Document this.
12287
12288 2008-10-22  Bruno Haible  <bruno@clisp.org>
12289
12290         * users.txt: Update entry about pspp.
12291
12292 2008-10-21  Bruno Haible  <bruno@clisp.org>
12293
12294         Simplification.
12295         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
12296         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
12297
12298         Simplification.
12299         * lib/ioctl.c (ioctl): Don't undefine.
12300         * lib/socket.c (socket): Don't undefine.
12301
12302         Remove unused module indicator macros.
12303         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
12304         GNULIB_$1 as a C macro.
12305
12306         * doc/posix-functions/close.texi: Undo last change.
12307         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
12308         Windows platforms.
12309
12310 2008-10-21  Bruno Haible  <bruno@clisp.org>
12311
12312         Add gethostname() declaration to <unistd.h>.
12313         * lib/unistd.in.h (gethostname): New declaration.
12314         * lib/gethostname.c: Include <unistd.h>.
12315         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
12316         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
12317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
12318         and HAVE_GETHOSTNAME.
12319         * modules/gethostname (Depends-on): Add unistd.
12320         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12321         (Include): Specify <unistd.h>.
12322         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
12323         HAVE_GETHOSTNAME.
12324         * tests/test-gethostname.c: Include <unistd.h> first.
12325
12326 2008-10-21  Bruno Haible  <bruno@clisp.org>
12327
12328         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
12329         * modules/select-tests (Depends-on): Likewise.
12330         Reported by Simon Josefsson.
12331
12332 2008-10-21  Simon Josefsson  <simon@josefsson.org>
12333
12334         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
12335         * lib/accept.c: New file, based on winsock.c.
12336         * lib/bind.c: New file, based on winsock.c.
12337         * lib/connect.c: New file, based on winsock.c.
12338         * lib/getpeername.c: New file, based on winsock.c.
12339         * lib/getsockname.c: New file, based on winsock.c.
12340         * lib/getsockopt.c: New file, based on winsock.c.
12341         * lib/ioctl.c: New file, based on winsock.c.
12342         * lib/listen.c: New file, based on winsock.c.
12343         * lib/recv.c: New file, based on winsock.c.
12344         * lib/recvfrom.c: New file, based on winsock.c.
12345         * lib/send.c: New file, based on winsock.c.
12346         * lib/sendto.c: New file, based on winsock.c.
12347         * lib/setsockopt.c: New file, based on winsock.c.
12348         * lib/shutdown.c: New file, based on winsock.c.
12349         * lib/socket.c: New file, based on winsock.c.
12350         * lib/w32sock.h: New file, based on winsock.c.
12351         * lib/winsock.c: Remove file.
12352         * modules/accept: Likewise.
12353         * modules/bind: Likewise.
12354         * modules/connect: Likewise.
12355         * modules/getpeername: Likewise.
12356         * modules/getsockname: Likewise.
12357         * modules/getsockopt: Likewise.
12358         * modules/ioctl: Likewise.
12359         * modules/listen: Likewise.
12360         * modules/recv: Likewise.
12361         * modules/recvfrom: Likewise.
12362         * modules/send: Likewise.
12363         * modules/sendto: Likewise.
12364         * modules/setsockopt: Likewise.
12365         * modules/shutdown: Likewise.
12366         * modules/socket: Use socket.c instead of winsock.c.
12367         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
12368         * doc/posix-functions/accept.texi: Doc fix.
12369         * doc/posix-functions/bind.texi: Doc fix.
12370         * doc/posix-functions/close.texi: Doc fix.
12371         * doc/posix-functions/connect.texi: Doc fix.
12372         * doc/posix-functions/getpeername.texi: Doc fix.
12373         * doc/posix-functions/getsockname.texi: Doc fix.
12374         * doc/posix-functions/getsockopt.texi: Doc fix.
12375         * doc/posix-functions/ioctl.texi: Doc fix.
12376         * doc/posix-functions/listen.texi: Doc fix.
12377         * doc/posix-functions/recv.texi: Doc fix.
12378         * doc/posix-functions/recvfrom.texi: Doc fix.
12379         * doc/posix-functions/send.texi: Doc fix.
12380         * doc/posix-functions/sendto.texi: Doc fix.
12381         * doc/posix-functions/setsockopt.texi: Doc fix.
12382         * doc/posix-functions/shutdown.texi: Doc fix.
12383         * doc/posix-functions/socket.texi: Doc fix.
12384
12385 2008-10-20  Bruno Haible  <bruno@clisp.org>
12386
12387         Take into account the role of SIGABRT_COMPAT on Windows 2008.
12388         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
12389         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
12390         as an alias for SIGABRT.
12391         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
12392         (sigaction): Map it to SIGABRT.
12393         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
12394
12395 2008-10-20  Bruno Haible  <bruno@clisp.org>
12396
12397         * lib/fts.c: Don't include lstat.h.
12398         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
12399
12400         Move the lstat() declaration to <sys/stat.h>.
12401         * lib/lstat.h: Remove file.
12402         * lib/sys_stat.in.h: Add special invocation convention.
12403         (lstat): New declaration.
12404         * lib/lstat.c (orig_lstat): New function.
12405         (rpl_lstat): Use orig_lstat instead of lstat.
12406         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
12407         AC_C_INLINE. Set REPLACE_LSTAT.
12408         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
12409         and REPLACE_LSTAT.
12410         * modules/lstat (Files): Remove lib/lstat.h.
12411         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12412         (Include): Specify <sys/stat.h> instead of lstat.h.
12413         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
12414         REPLACE_LSTAT.
12415         * NEWS: Mention the change.
12416
12417 2008-10-20  Bruno Haible  <bruno@clisp.org>
12418
12419         * modules/posix_spawn-tests: New file.
12420         * tests/test-posix_spawn3.c: New file.
12421
12422 2008-10-20  Bruno Haible  <bruno@clisp.org>
12423
12424         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
12425         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12426         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
12427         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12428         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
12429
12430 2008-10-20  Bruno Haible  <bruno@clisp.org>
12431
12432         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
12433         of posix_spawn on AIX 5.3.
12434
12435 2008-10-20  Bruno Haible  <bruno@clisp.org>
12436
12437         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
12438
12439 2008-10-20  Bruno Haible  <bruno@clisp.org>
12440
12441         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
12442         of AC_LANG_PROGRAM.
12443
12444 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12445
12446         * lib/netdb.in.h: Don't define GNU specific constants until they
12447         are supported or needed.  Reported by Bruno Haible
12448         <bruno@clisp.org>.
12449
12450 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12451
12452         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
12453
12454 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12455
12456         * lib/getaddrinfo.h: Remove file.
12457         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
12458         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
12459         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
12460         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
12461         * modules/netdb: Substitute GNULIB_GETADDRINFO.
12462         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
12463         * tests/test-getaddrinfo.c: Likewise.
12464         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
12465         * NEWS: Mention change.
12466
12467 2008-10-19  Bruno Haible  <bruno@clisp.org>
12468
12469         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
12470
12471 2008-10-19  Bruno Haible  <bruno@clisp.org>
12472
12473         * lib/wait-process.c: Include simply <sys/wait.h>.
12474         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
12475         WIFSTOPPED): Remove fallback definitions.
12476         * modules/wait-process (Depends-on): Add sys_wait.
12477
12478         New module 'sys_wait'.
12479         * modules/sys_wait: New file.
12480         * lib/sys_wait.in.h: New file, partially copied from
12481         lib/wait-process.c.
12482         * m4/sys_wait_h.m4: New file.
12483         * doc/posix-headers/sys_wait.texi: Mention the new module.
12484
12485 2008-10-19  Bruno Haible  <bruno@clisp.org>
12486
12487         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
12488
12489 2008-10-19  Bruno Haible  <bruno@clisp.org>
12490
12491         Assume that waitpid() fills an 'int' status, not a 'union wait'.
12492         * lib/wait-process.c (WAIT_T): Remove type.
12493         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
12494         (wait_subprocess): Update.
12495
12496 2008-10-19  Bruno Haible  <bruno@clisp.org>
12497
12498         New module 'atoll'.
12499         * modules/atoll: New file.
12500         * lib/stdlib.in.h (atoll): New declaration.
12501         * lib/atoll.c: New file, from glibc with modifications.
12502         * m4/atoll.m4: New file.
12503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
12504         HAVE_ATOLL.
12505         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
12506         * doc/posix-functions/atoll.texi: Mention the new module.
12507
12508 2008-10-19  Bruno Haible  <bruno@clisp.org>
12509
12510         Add strtoull() declaration to <stdlib.h>.
12511         * lib/stdlib.in.h (strtoull): New declaration.
12512         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12513         Set HAVE_STRTOULL.
12514         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
12515         HAVE_STRTOULL.
12516         * modules/strtoull (Depends-on): Add stdlib.
12517         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12518         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
12519         HAVE_STRTOULL.
12520
12521 2008-10-19  Bruno Haible  <bruno@clisp.org>
12522
12523         Add strtoll() declaration to <stdlib.h>.
12524         * lib/stdlib.in.h (strtoll): New declaration.
12525         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12526         Set HAVE_STRTOLL.
12527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
12528         HAVE_STRTOLL.
12529         * modules/strtoll (Depends-on): Add stdlib.
12530         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12531         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
12532
12533 2008-10-19  Bruno Haible  <bruno@clisp.org>
12534
12535         * modules/bcopy (Depends-on): Add strings.
12536         (Include): Specify <strings.h>.
12537
12538 2008-10-19  Bruno Haible  <bruno@clisp.org>
12539
12540         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
12541
12542 2008-10-19  Bruno Haible  <bruno@clisp.org>
12543
12544         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
12545         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
12546         mingw.
12547
12548 2008-10-19  Bruno Haible  <bruno@clisp.org>
12549
12550         * lib/atanl.c: Don't include isnanl.h.
12551         * lib/cosl.c: Likewise.
12552         * lib/ldexpl.c: Likewise.
12553         * lib/logl.c: Likewise.
12554         * lib/sinl.c: Likewise.
12555         * lib/sqrtl.c: Likewise.
12556         * lib/tanl.c: Likewise.
12557
12558         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
12559         * lib/isnanf.h: Remove file.
12560         * lib/isnand.h: Remove file.
12561         * lib/isnanl.h: Remove file.
12562         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
12563         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
12564         macros.
12565         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
12566         HAVE_ISNANF, don't define it as a C macro.
12567         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
12568         HAVE_ISNAND, don't define it as a C macro.
12569         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
12570         HAVE_ISNANL, don't define it as a C macro.
12571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
12572         HAVE_ISNAN[FDL].
12573         * modules/isnanf (Files): Remove lib/isnanf.h.
12574         (Depends-on): Add math.
12575         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12576         (Include): Specify <math.h> instead of isnanf.h.
12577         * modules/isnand (Files): Remove lib/isnand.h.
12578         (Depends-on): Add math.
12579         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12580         (Include): Specify <math.h> instead of isnand.h.
12581         * modules/isnanl (Files): Remove lib/isnanl.h.
12582         (Depends-on): Add math.
12583         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12584         (Include): Specify <math.h> instead of isnanl.h.
12585         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
12586         HAVE_ISNAN[FDL].
12587         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
12588         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
12589         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
12590         * NEWS: Mention the change.
12591
12592 2008-10-18  Bruno Haible  <bruno@clisp.org>
12593
12594         Add getusershell(), setusershell(), endusershell() declarations to
12595         <unistd.h>.
12596         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
12597         declarations.
12598         * lib/getusershell.c: Include unistd.h.
12599         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
12600         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12601         HAVE_GETUSERSHELL.
12602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
12603         and HAVE_GETUSERSHELL.
12604         * modules/getusershell (Depends-on): Add unistd, extensions.
12605         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12606         (Include): Specify <unistd.h>.
12607         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
12608         HAVE_GETUSERSHELL.
12609
12610 2008-10-18  Bruno Haible  <bruno@clisp.org>
12611
12612         Add a getloadavg() declaration to <stdlib.h>.
12613         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
12614         getloadavg declaration.
12615         (getloadavg): New declaration.
12616         * lib/getloadavg.c: Include <stdlib.h> first.
12617         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
12618         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
12619         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
12620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
12621         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12622         * modules/getloadavg (Depends-on): Add stdlib, extensions.
12623         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12624         (Include): Specify <stdlib.h>.
12625         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
12626         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12627
12628 2008-10-18  Bruno Haible  <bruno@clisp.org>
12629
12630         * lib/dirchownmod.c: Don't include lchmod.h.
12631
12632         Move the lchmod() declaration to <sys/stat.h>.
12633         * lib/lchmod.h: Remove file.
12634         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
12635         (lchmod): New declaration, moved here from lib/lchown.h.
12636         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
12637         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
12638         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
12639         and HAVE_LCHMOD.
12640         * modules/lchmod (Files): Remove lib/lchmod.h.
12641         (Depends-on): Add sys_stat, extensions.
12642         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12643         (Include): Specify <sys/stat.h> instead of lchmod.h.
12644         * modules/sys_stat (Depends-on): Add link-warning.
12645         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
12646         definition of GL_LINK_WARNING.
12647         * NEWS: Mention the change.
12648
12649 2008-10-18  Bruno Haible  <bruno@clisp.org>
12650
12651         * lib/fchdir.c: Don't include dirfd.h.
12652         * lib/fts.c: Likewise.
12653         * lib/getcwd.c: Likewise.
12654         * lib/glob.c: Likewise.
12655
12656         Move the dirfd() declaration to <dirent.h>.
12657         * lib/dirfd.h: Remove file.
12658         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
12659         (dirfd): New declaration.
12660         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
12661         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
12662         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
12663         HAVE_DECL_DIRFD.
12664         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
12665         HAVE_DECL_DIRFD.
12666         * modules/dirfd (Files): Remove lib/dirfd.h.
12667         (Depends-on): Add dirent, extensions.
12668         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
12669         (Include): Specify <dirent.h> instead of dirfd.h.
12670         * modules/dirent (Depends-on): Add link-warning.
12671         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
12672         definition of GL_LINK_WARNING.
12673         * NEWS: Mention the change.
12674
12675 2008-10-18  Bruno Haible  <bruno@clisp.org>
12676
12677         Move the euidaccess() declaration to <unistd.h>.
12678         * lib/euidaccess.h: Remove file.
12679         * lib/unistd.in.h (euidaccess): New declaration.
12680         * lib/euidaccess.c: Don't include euidaccess.h.
12681         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
12682         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
12683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
12684         and HAVE_EUIDACCESS.
12685         * modules/euidaccess (Files): Remove lib/euidaccess.h.
12686         (Depends-on): Add unistd.
12687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12688         (Include): Specify <unistd.h> instead of euidaccess.h.
12689         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
12690         HAVE_EUIDACCESS.
12691         * NEWS: Mention the change.
12692
12693 2008-10-18  Bruno Haible  <bruno@clisp.org>
12694
12695         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
12696
12697         Move the getdomainname() declaration to <unistd.h>.
12698         * lib/getdomainname.h: Remove file.
12699         * lib/unistd.in.h (getdomainname): New declaration.
12700         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
12701         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
12702         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12703         HAVE_GETDOMAINNAME.
12704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12705         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
12706         * modules/getdomainname (Files): Remove lib/getdomainname.h.
12707         (Depends-on): Add unistd, extensions.
12708         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12709         (Includes): Specify <unistd.h> instead of getdomainname.h.
12710         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
12711         HAVE_GETDOMAINNAME.
12712         * NEWS: Mention the change.
12713
12714 2008-10-18  Bruno Haible  <bruno@clisp.org>
12715
12716         * modules/dirent: New file.
12717         * m4/dirent_h.m4: New file.
12718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
12719         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
12720         * modules/fchdir (Files): Remove lib/dirent.in.h.
12721         (Depends-on): Add dirent.
12722         (Makefile.am): Move rules to modules/dirent.
12723         * doc/posix-headers/dirent.texi: Mention the new module.
12724
12725 2008-10-18  Bruno Haible  <bruno@clisp.org>
12726
12727         Avoid -Wunused-parameter warnings in public gnulib header files.
12728         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
12729         macro.
12730         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
12731
12732 2008-10-18  Bruno Haible  <bruno@clisp.org>
12733
12734         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
12735         * doc/glibc-functions/error.texi: Mention the module 'error'.
12736         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
12737         * doc/glibc-functions/getdomainname.texi: Mention the module
12738         'getdomainname'.
12739         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
12740         * doc/glibc-functions/getpagesize.texi: Mention the module
12741         'getpagesize'.
12742         * doc/glibc-functions/getusershell.texi: Mention the module
12743         'getusershell'.
12744         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
12745         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
12746         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
12747         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
12748         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
12749         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
12750         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
12751         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
12752         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
12753         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
12754         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
12755         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
12756         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
12757         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
12758
12759 2008-10-17  Bruno Haible  <bruno@clisp.org>
12760
12761         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
12762         HP-UX and IRIX, use -0.0L.
12763         * tests/test-ceill.c (minus_zero): Likewise.
12764         * tests/test-floorl.c (minus_zero): Likewise.
12765         * tests/test-frexpl.c (minus_zero): Likewise.
12766         * tests/test-isnan.c (minus_zerol): Likewise.
12767         * tests/test-isnanl.h (minus_zero): Likewise.
12768         * tests/test-ldexpl.c (minus_zero): Likewise.
12769         * tests/test-roundl.c (minus_zero): Likewise.
12770         * tests/test-signbit.c (minus_zerol): Likewise.
12771         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
12772         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
12773         * tests/test-truncl.c (minus_zero): Likewise.
12774         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
12775         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
12776         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
12777         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
12778
12779 2008-10-17  Bruno Haible  <bruno@clisp.org>
12780
12781         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
12782         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
12783         that it gets activated only for gcc >= 3.0.
12784         * lib/dirent.in.h: Likewise.
12785         * lib/errno.in.h: Likewise.
12786         * lib/fcntl.in.h: Likewise.
12787         * lib/float.in.h: Likewise.
12788         * lib/iconv.in.h: Likewise.
12789         * lib/inttypes.in.h: Likewise.
12790         * lib/locale.in.h: Likewise.
12791         * lib/math.in.h: Likewise.
12792         * lib/netdb.in.h: Likewise.
12793         * lib/netinet_in.in.h: Likewise.
12794         * lib/search.in.h: Likewise.
12795         * lib/signal.in.h: Likewise.
12796         * lib/spawn.in.h: Likewise.
12797         * lib/stdarg.in.h: Likewise.
12798         * lib/stdint.in.h: Likewise.
12799         * lib/stdio.in.h: Likewise.
12800         * lib/stdlib.in.h: Likewise.
12801         * lib/string.in.h: Likewise.
12802         * lib/strings.in.h: Likewise.
12803         * lib/sys_file.in.h: Likewise.
12804         * lib/sys_ioctl.in.h: Likewise.
12805         * lib/sys_select.in.h: Likewise.
12806         * lib/sys_socket.in.h: Likewise.
12807         * lib/sys_stat.in.h: Likewise.
12808         * lib/sys_time.in.h: Likewise.
12809         * lib/sysexits.in.h: Likewise.
12810         * lib/time.in.h: Likewise.
12811         * lib/unistd.in.h: Likewise.
12812         * lib/wchar.in.h: Likewise.
12813         * lib/wctype.in.h: Likewise.
12814         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12815
12816 2008-10-17  Jim Meyering  <meyering@redhat.com>
12817
12818         ignore-value: don't depend on inline module
12819         * modules/ignore-value (Depends-on): Remove 'inline'.
12820         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
12821         Suggestion from Bruno Haible.
12822
12823 2008-10-17  Bruno Haible  <bruno@clisp.org>
12824
12825         New implementation of condition variables for Win32.
12826         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
12827         (gl_linked_waitqueue_t): New type.
12828         (gl_cond_t): Use it.
12829         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
12830         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
12831         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
12832         (glthread_cond_init_func, glthread_cond_wait_func,
12833         glthread_cond_timedwait_func, glthread_cond_signal_func,
12834         glthread_cond_broadcast_func, glthread_cond_destroy_func):
12835         Reimplemented on the basis of gl_linked_waitqueue_t.
12836         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
12837         gl_waitqueue_t.
12838         (gl_rwlock_t): Update.
12839         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
12840
12841 2008-10-17  Simon Josefsson  <simon@josefsson.org>
12842
12843         * modules/recvfrom (Depends-on): Add dependency on getpeername.
12844         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12845
12846 2008-10-17  Jim Meyering  <meyering@redhat.com>
12847
12848         ignore-value: new module
12849         * modules/ignore-value: New file.
12850         * lib/ignore-value.h: New file.
12851         * MODULES.html.sh (Compiler warning management): New section,
12852         just for this module.  More to come.
12853
12854 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12855
12856         open-safer.c: avoid 'signed and unsigned in conditional...' warning
12857         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
12858         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
12859
12860 2008-10-16  Jim Meyering  <meyering@redhat.com>
12861
12862         openat-die.c: avoid 'no previous prototype' warning
12863         * lib/openat-die.c: Include "openat.h".
12864         Reported by Reuben Thomas <rrt@sc3d.org>.
12865
12866 2008-10-16  Simon Josefsson  <simon@josefsson.org>
12867
12868         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
12869         * lib/netdb.in.h: Fix typo.
12870         Reported by Bruno Haible  <bruno@clisp.org>
12871
12872         * lib/netdb.in.h: Include sys/socket.h for platforms without
12873         netdb.h, to get structures like hostent on MinGW.
12874         * modules/netdb (Depends-on): Add sys_socket.
12875
12876 2008-10-15  Simon Josefsson  <simon@josefsson.org>
12877
12878         * modules/netdb, modules/netdb-tests: New file.
12879         * m4/netdb_h.m4: New file.
12880         * lib/netdb.in.h: Add, currently just an empty file pending
12881         definitions.
12882         * tests/test-netdb.c: New file.
12883         * doc/posix-headers/netdb.texi: Mention that we replace it if
12884         needed.
12885         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12886         netdb.
12887
12888 2008-10-15  Simon Josefsson  <simon@josefsson.org>
12889
12890         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
12891         with code.
12892
12893 2008-10-13  Bruno Haible  <bruno@clisp.org>
12894
12895         * lib/glthread/cond.c (glthread_cond_wait_func,
12896         glthread_cond_timedwait_func): Add a comment.
12897
12898 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12899
12900         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
12901         * tests/test-select.c: Likewise,
12902
12903 2008-10-13  Bruno Haible  <bruno@clisp.org>
12904
12905         * lib/glthread/cond.c (glthread_cond_wait_func,
12906         glthread_cond_timedwait_func): Fix variable name.
12907         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12908
12909 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
12910
12911         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
12912         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
12913         struct sockaddr.sa_len.
12914         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
12915
12916 2008-10-13  Simon Josefsson  <simon@josefsson.org>
12917
12918         * build-aux/pmccabe2html: Add css and css_url parameters.
12919
12920 2008-10-12  Bruno Haible  <bruno@clisp.org>
12921
12922         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
12923         calling aclx_get.
12924         Reported by Rainer Tammer <tammer@tammer.net>.
12925
12926 2008-10-12  Bruno Haible  <bruno@clisp.org>
12927
12928         Use msvcrt aware primitives for creation/termination of Win32 threads.
12929         * lib/glthread/thread.c: Include <process.h>.
12930         (glthread_create_func): Use _beginthreadex instead of CreateThread.
12931         (wrapper_func): Update signature.
12932         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
12933
12934 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12935             Bruno Haible  <bruno@clisp.org>
12936
12937         Provide a Win32 implementation of the 'cond' module.
12938         * lib/glthread/cond.h [USE_WIN32]: New implementation.
12939         * lib/glthread/cond.c (glthread_cond_init_func,
12940         glthread_cond_wait_func, glthread_cond_timedwait_func,
12941         glthread_cond_signal_func, glthread_cond_broadcast_func,
12942         glthread_cond_destroy_func) [USE_WIN32]: New functions.
12943         * modules/cond (Dependencies): Add gettimeofday.
12944
12945 2008-10-11  Bruno Haible  <bruno@clisp.org>
12946
12947         Make sleep work on older versions of mingw.
12948         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
12949         only whether it exists.
12950         * doc/posix-functions/sleep.texi: Mention the problem with older
12951         versions of mingw.
12952
12953 2008-10-11  Bruno Haible  <bruno@clisp.org>
12954
12955         New module 'shutdown'.
12956         * modules/shutdown: New file.
12957         * lib/sys_socket.in.h (shutdown): New declaration.
12958         * lib/winsock.c (shutdown): New function.
12959         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12960         GNULIB_SHUTDOWN.
12961         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
12962         * doc/posix-functions/shutdown.texi: Document the new module.
12963
12964 2008-10-11  Jim Meyering  <meyering@redhat.com>
12965
12966         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
12967
12968 2008-10-11  Bruno Haible  <bruno@clisp.org>
12969
12970         New module 'fclose'.
12971         * modules/fclose: New file.
12972         * lib/stdio.in.h (fclose): New declaration.
12973         * lib/fclose.c: New file.
12974         * m4/fclose.m4: New file.
12975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
12976         REPLACE_FCLOSE.
12977         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
12978         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
12979         REPLACE_FCLOSE.
12980         * modules/close (Depends-on): fclose.
12981         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
12982
12983 2008-10-11  Bruno Haible  <bruno@clisp.org>
12984
12985         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
12986         set errno and don't call _close.
12987
12988 2008-10-10  Bruno Haible  <bruno@clisp.org>
12989
12990         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
12991         ACL, not afterwards. Fixes test failure on Cygwin.
12992
12993 2008-10-09  Ben Pfaff  <blp@gnu.org>
12994
12995         * build-aux/announce-gen: Fix gnulib version related part of usage
12996         message.  Die with a useful error message if no tarballs are
12997         found.
12998
12999 2008-10-10  Jim Meyering  <meyering@redhat.com>
13000
13001         bootstrap: use git's --depth=N option only if it's supported
13002         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
13003         recognize the --depth option.  Reported by Pádraig Brady.
13004
13005 2008-10-09  Bruno Haible  <bruno@clisp.org>
13006
13007         New module 'ioctl'.
13008         * modules/ioctl: New file.
13009         * lib/sys_socket.in.h (ioctl): Remove declaration.
13010         * lib/winsock.c: Include <sys/ioctl.h>.
13011         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
13012         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
13013         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
13014         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
13015         * doc/posix-functions/ioctl.texi: Mention the new module.
13016
13017 2008-10-09  Bruno Haible  <bruno@clisp.org>
13018
13019         New module 'sys_ioctl'.
13020         * lib/sys_ioctl.in.h: New file.
13021         * m4/sys_ioctl_h.m4: New file.
13022         * modules/sys_ioctl: New file.
13023         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
13024
13025 2008-10-09  Bruno Haible  <bruno@clisp.org>
13026
13027         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
13028         * lib/winsock.c: Include <stdarg.h>.
13029         (rpl_ioctl): Change to second argument 'int' and then varargs.
13030
13031 2008-10-09  Bruno Haible  <bruno@clisp.org>
13032
13033         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
13034         when the sys_socket module is present and the system has <winsock2.h>.
13035
13036 2008-10-09  Bruno Haible  <bruno@clisp.org>
13037
13038         * doc/posix-functions/close.texi: Mention module 'close' instead of
13039         module 'sys_socket'.
13040
13041 2008-10-09  Bruno Haible  <bruno@clisp.org>
13042
13043         * doc/glibc-headers/sys_ioctl.texi: New file.
13044         * doc/gnulib.texi: Include it.
13045
13046 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13047             Bruno Haible  <bruno@clisp.org>
13048
13049         Combine the two replacements of 'close'.
13050         * lib/sys_socket.in.h (close): Define to a reminder to include
13051         <unistd.h>.
13052         (_gl_close_fd_maybe_socket): New declaration.
13053         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
13054         * lib/winsock.c (close): Remove undefinition.
13055         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
13056         needed for the gnulib module 'close'.
13057         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
13058         define to an error symbol or to a warning, if suitable.
13059         * lib/close.c: Include <sys/socket.h>.
13060         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
13061         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
13062         UNISTD_H_HAVE_WINSOCK2_H.
13063         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
13064         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13065         UNISTD_H_HAVE_WINSOCK2_H.
13066         * modules/sys_socket (Files): Add m4/unistd_h.m4.
13067         (configure.ac): Set a module indicator.
13068         (Makefile.am): Substitute GNULIB_CLOSE.
13069         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
13070         * modules/poll-tests (Depends-on): Add close.
13071         * modules/select-tests (Depends-on): Likewise.
13072
13073 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13074             Bruno Haible  <bruno@clisp.org>
13075
13076         New module 'close'.
13077         * modules/close: New file.
13078         * lib/unistd.in.h (close): Move declaration out of the
13079         FCHDIR_REPLACEMENT scope.
13080         (_gl_unregister_fd): New declaration.
13081         * lib/close.c: New file.
13082         * lib/fchdir.c (rpl_close): Remove function.
13083         * m4/close.m4: New file.
13084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
13085         close.
13086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
13087         REPLACE_CLOSE.
13088         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
13089         REPLACE_CLOSE.
13090         * modules/fchdir (Depends-on): Add close.
13091
13092 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13093             Bruno Haible  <bruno@clisp.org>
13094
13095         * lib/fcntl.in.h (open): Simplify conditionals.
13096         (_gl_register_fd): New declaration.
13097         * lib/fchdir.c (rpl_open): Remove function.
13098         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
13099         also.
13100         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
13101         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
13102         open.
13103
13104 2008-10-09  Jim Meyering  <meyering@redhat.com>
13105
13106         GNUmakefile: use the more name-space-friendly "_version"
13107         * top/GNUmakefile (_dummy): Update.
13108         (_version): Rename from "version".
13109
13110 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13111             Bruno Haible  <bruno@clisp.org>
13112
13113         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
13114         rpl_close.
13115         (_gl_register_fd): New function, extracted from rpl_open.
13116         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
13117         (rpl_open, rpl_opendir): Use _gl_register_fd.
13118
13119 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13120
13121         Fix organization of 'open' replacement.
13122         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
13123         (gl_FUNC_OPEN): Use it.
13124         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
13125
13126 2008-10-08  Bruno Haible  <bruno@clisp.org>
13127
13128         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
13129
13130 2008-10-08  Simon Josefsson  <simon@josefsson.org>
13131
13132         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
13133         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
13134         listen).
13135
13136 2008-10-08  Eric Blake  <ebb9@byu.net>
13137
13138         GNUmakefile: add 'make version' target
13139         * top/GNUmakefile (_curr-ver): Split version update rules...
13140         (version): ...into a target.
13141
13142 2008-10-07  Bruno Haible  <bruno@clisp.org>
13143
13144         Use a more portable replacement expression for -0.0L.
13145         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
13146         instead of -0.0L. Fix m4 quotation.
13147
13148         * tests/test-signbit.c: Include <float.h>.
13149         (minus_zero): New variable.
13150         (test_signbitl): Use minus_zero instead of -zero.
13151         * modules/signbit-tests (Depends-on): Add float.
13152
13153         * tests/test-ceill.c: Include <float.h>.
13154         (zero): Remove variable.
13155         (minus_zero): New variable.
13156         (main): Use minus_zero instead of -zero.
13157         * modules/ceill-tests (Depends-on): Add float.
13158
13159         * tests/test-floorl.c: Include <float.h>.
13160         (zero): Remove variable.
13161         (minus_zero): New variable.
13162         (main): Use minus_zero instead of -zero.
13163         * modules/floorl-tests (Depends-on): Add float.
13164
13165         * tests/test-roundl.c: Include <float.h>.
13166         (zero): Remove variable.
13167         (minus_zero): New variable.
13168         (main): Use minus_zero instead of -zero.
13169         * modules/roundl-tests (Depends-on): Add float.
13170
13171         * tests/test-truncl.c: Include <float.h>.
13172         (zero): Remove variable.
13173         (minus_zero): New variable.
13174         (main): Use minus_zero instead of -zero.
13175         * modules/truncl-tests (Depends-on): Add float.
13176
13177         * tests/test-frexpl.c (zero): Remove variable.
13178         (minus_zero): New variable.
13179         (main): Use minus_zero instead of -zero.
13180         * modules/frexpl-tests (Depends-on): Add float.
13181
13182         * tests/test-isnan.c (zerol): Remove variable.
13183         (minus_zerol): New variable.
13184         (test_long_double): Use minus_zerol instead of -zerol.
13185         * modules/isnan-tests (Depends-on): Add float.
13186
13187         * tests/test-isnanl.h (zero): Remove variable.
13188         (minus_zero): New variable.
13189         (main): Use minus_zero instead of -zero.
13190         * modules/isnanl-nolibm-tests (Depends-on): Add float.
13191         * modules/isnanl-tests (Depends-on): Add float.
13192
13193         * tests/test-ldexpl.c (zero): Remove variable.
13194         (minus_zero): New variable.
13195         (main): Use minus_zero instead of -zero.
13196         * modules/ldexpl-tests (Depends-on): Add float.
13197
13198         * tests/test-snprintf-posix.h (zerol): Remove variable.
13199         (minus_zerol): New variable.
13200         (test_function): Use minus_zerol instead of -zerol.
13201         * modules/snprintf-posix-tests (Depends-on): Add float.
13202         * modules/vsnprintf-posix-tests (Depends-on): Add float.
13203
13204         * tests/test-sprintf-posix.h (zerol): Remove variable.
13205         (minus_zerol): New variable.
13206         (test_function): Use minus_zerol instead of -zerol.
13207         * modules/sprintf-posix-tests (Depends-on): Add float.
13208         * modules/vsprintf-posix-tests (Depends-on): Add float.
13209
13210         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
13211         (minus_zerol): New variable.
13212         (test_function): Use minus_zerol instead of -zerol.
13213         * modules/vasnprintf-posix-tests (Depends-on): Add float.
13214
13215         * tests/test-vasprintf-posix.c (zerol): Remove variable.
13216         (minus_zerol): New variable.
13217         (test_function): Use minus_zerol instead of -zerol.
13218         * modules/vasprintf-posix-tests (Depends-on): Add float.
13219
13220 2008-10-07  Simon Josefsson  <simon@josefsson.org>
13221
13222         * MODULES.html.sh (Support for building documentation): Mention
13223         pmccabe2html.  Sort entries.
13224
13225         Add pmccabe2html module, from gnupdf.
13226         * build-aux/pmccabe.css: New file.
13227         * build-aux/pmccabe2html: New file.
13228         * m4/pmccabe2html.m4: New file.
13229         * modules/pmccabe2html: New file.
13230
13231 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
13232
13233         flock: new module
13234         * MODULES.html.sh: Add to list of modules.
13235         * lib/flock.c: flock implementation for Windows and Unix systems
13236         which have fcntl.
13237         * doc/glibc-functions/flock.texi: Update documentation.
13238         * lib/sys_file.in.h: <sys/file.h> header file.
13239         * m4/flock.m4: M4 macros.
13240         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
13241         * modules/flock: flock module.
13242         * modules/flock-tests: flock tests module.
13243         * modules/sys_file: sys/file.h module.
13244         * tests/test-flock.c: test suite for flock.
13245
13246 2008-10-06  Jim Meyering  <meyering@redhat.com>
13247
13248         bootstrap: check for LT_INIT more portably still ;-)
13249         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
13250         Spotted by Bruno Haible.
13251
13252 2008-10-06  Eric Blake  <ebb9@byu.net>
13253
13254         test-signbit: avoid tripping Irix cc bug on -0.0L
13255         * tests/test-signbit.c (minus_zerol): Delete, and replace with
13256         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
13257         entire testsuite consistent and avoids an Irix 6.2 bug.
13258
13259 2008-10-05  Bruno Haible  <bruno@clisp.org>
13260             Jim Meyering  <jim@meyering.net>
13261
13262         Add an option for ignoring EPIPE during close_stdout.
13263         * lib/closeout.h: Include <stdbool.h>.
13264         (close_stdout_set_ignore_EPIPE): New declaration.
13265         * lib/closeout.c: Include <stdbool.h>.
13266         (ignore_EPIPE): New variable.
13267         (close_stdout_set_ignore_EPIPE): New function.
13268         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
13269         * lib/close-stream.c (close_stream): Mention the possible EPIPE
13270         failure.
13271         * modules/closeout (Depends-on): Add stdbool.
13272
13273 2008-10-05  Bruno Haible  <bruno@clisp.org>
13274
13275         * modules/accept: New file.
13276         * modules/bind: New file.
13277         * modules/connect: New file.
13278         * modules/getpeername: New file.
13279         * modules/getsockname: New file.
13280         * modules/getsockopt: New file.
13281         * modules/listen: New file.
13282         * modules/recv: New file.
13283         * modules/recvfrom: New file.
13284         * modules/send: New file.
13285         * modules/sendto: New file.
13286         * modules/setsockopt: New file.
13287         * modules/socket: New file.
13288         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
13289         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13290         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
13291         the particular module is requested. Add a link warning when the
13292         particular module is not requested.
13293         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
13294         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
13295         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
13296         the particular module is requested.
13297         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
13298         gl_SYS_SOCKET_H_DEFAULTS): New macros.
13299         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
13300         * modules/sys_socket (Depends-on): Add link-warning.
13301         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
13302         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
13303         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
13304         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
13305         GL_LINK_WARNING.
13306         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
13307         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
13308         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
13309         * doc/posix-functions/getpeername.texi: Mention the new module
13310         'getpeername'.
13311         * doc/posix-functions/getsockname.texi: Mention the new module
13312         'getsockname'.
13313         * doc/posix-functions/getsockopt.texi: Mention the new module
13314         'getsockopt'.
13315         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
13316         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
13317         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
13318         * doc/posix-functions/send.texi: Mention the new module 'send'.
13319         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
13320         * doc/posix-functions/setsockopt.texi: Mention the new module
13321         'setsockopt'.
13322         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
13323         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
13324         listen, connect, accept.
13325         * modules/select-tests (Depends-on): Likewise.
13326
13327 2008-10-05  Bruno Haible  <bruno@clisp.org>
13328
13329         * lib/winsock.c (strerror): Remove unused #undef.
13330         (rpl_close): Remove unused local variable.
13331
13332         * modules/sys_socket (Depends-on); Add errno.
13333
13334 2008-10-05  Bruno Haible  <bruno@clisp.org>
13335
13336         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
13337         (select): Add a link warning when the 'select' module is not used.
13338         * modules/sys_select (Depends-on): Add link-warning.
13339         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
13340         Suggested by Paolo Bonzini.
13341
13342 2008-10-05  Jim Meyering  <meyering@redhat.com>
13343
13344         bootstrap: check for LT_INIT more portably
13345         * build-aux/bootstrap: Avoid using grep -E, since it's not
13346         portable enough.  Suggestion from Bruno Haible.
13347
13348 2008-10-05  Bruno Haible  <bruno@clisp.org>
13349
13350         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
13351         as being fixed by gnulib.
13352
13353 2008-10-05  Bruno Haible  <bruno@clisp.org>
13354
13355         * modules/select-tests: New file, mostly copied from
13356         modules/sys_select-tests.
13357         * tests/test-select.c: New file, mostly copied from
13358         tests/test-sys_select.c.
13359         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
13360         * modules/sys_select-tests (Depends-on): Remove all dependencies.
13361         (Makefile.am): Remove test_sys_select_LDADD.
13362
13363         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
13364         to an undefined symbol, for an error message.
13365         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
13366         (gl_SYS_SELECT_H_DEFAULTS): New macro.
13367         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
13368         winsock-select.c here.
13369         * modules/sys_select (Files): Remove lib/winsock-select.c.
13370         (Depends-on): Remove alloca.
13371         (Makefile.am): Substitute GNULIB_SELECT.
13372         * modules/select: New file.
13373         * doc/posix-functions/select.texi: Update.
13374
13375 2008-10-05  Bruno Haible  <bruno@clisp.org>
13376
13377         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
13378         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
13379         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
13380         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
13381         getdtablesize.
13382         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13383         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13384
13385 2008-10-05  Bruno Haible  <bruno@clisp.org>
13386
13387         * modules/getdtablesize-tests: New file.
13388         * tests/test-getdtablesize.c: New file.
13389
13390         New module 'getdtablesize'.
13391         * lib/unistd.in.h (getdtablesize): New declaration.
13392         * lib/getdtablesize.c: New file.
13393         * m4/getdtablesize.m4: New file.
13394         * modules/getdtablesize: New file.
13395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13396         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
13397         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
13398         HAVE_GETDTABLESIZE.
13399         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
13400
13401 2008-10-05  Bruno Haible  <bruno@clisp.org>
13402
13403         * modules/sched (Makefile.am): Fix typo.
13404         Reported by Simon Josefsson.
13405
13406 2008-10-05  Jim Meyering  <meyering@redhat.com>
13407
13408         bootstrap: check for LT_INIT, too
13409         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
13410         are deprecated.  Suggestion from Ralf Wildenhues.
13411
13412 2008-10-05  Bruno Haible  <bruno@clisp.org>
13413
13414         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
13415         overriding them by ours.
13416         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
13417
13418 2008-10-05  Jim Meyering  <meyering@redhat.com>
13419
13420         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
13421         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
13422         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
13423
13424 2008-10-04  Bruno Haible  <bruno@clisp.org>
13425
13426         * modules/dup2 (License): Change to LGPLv2+.
13427         * modules/sleep (License): Likewise.
13428         * modules/perror (License): Likewise.
13429         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
13430         Blake.
13431         * modules/signal (License): Likewise.
13432         * modules/sigprocmask (License): Likewise.
13433         * modules/raise (License): Change to LGPLv2+, with approval by Jim
13434         Meyering.
13435
13436 2008-10-04  Bruno Haible  <bruno@clisp.org>
13437
13438         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
13439         Reported by Rainer Tammer <tammer@tammer.net>.
13440
13441 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
13442             Bruno Haible  <bruno@clisp.org>
13443
13444         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
13445         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
13446         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
13447
13448 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
13449
13450         filevercmp: new module
13451         * lib/filevercmp.h: New function filevercmp comparing version strings.
13452         * lib/filevercmp.c: Implementation of filevercmp function.
13453         * modules/filevercmp: Module metadata.
13454         * tests/test-filevercmp.c: Unit test for new module.
13455         * modules/filevercmp-tests: Unit test metadata.
13456         * MODULES.html.sh: Add filevercmp module.
13457
13458 2008-10-03  Bruno Haible  <bruno@clisp.org>
13459
13460         * lib/c-ctype.h: Add comment.
13461         Reported by Jim Meyering.
13462
13463 2008-10-02  Bruno Haible  <bruno@clisp.org>
13464
13465         * modules/posix_spawn-internal (Depends-on): Add 'open'.
13466
13467 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13468
13469         * build-aux/bootstrap: Allow renaming bootstrap, and change the
13470         name of bootstrap.conf accordingly.
13471
13472 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13473
13474         * build-aux/bootstrap: Install git-merge-changelog configuration
13475         items into .gitconfig if needed.
13476
13477 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13478
13479         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
13480         git repository, and initialize/update it accordingly.
13481
13482 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
13483
13484         * modules/fsync-tests: New file.
13485         * tests/test-fsync.c: New file.
13486
13487         New module 'fsync'.
13488         * lib/fsync.c: New file.
13489         * m4/fsync.m4: New file.
13490         * modules/fsync: New file.
13491         * lib/unistd.in.h (fsync): New declaration.
13492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
13493         GNULIB_FSYNC and HAVE_FSYNC.
13494         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
13495         * MODULES.html.sh (posix_functions): Add fsync.
13496         * doc/posix-functions/fsync.texi: Mention the new module.
13497
13498 2008-10-02  Jim Meyering  <meyering@redhat.com>
13499
13500         fts.c: sync with similar code from coreutils' remove.c
13501         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
13502         Guard also with "#if defined __linux__", since for now at least,
13503         this code is Linux-kernel-specific.
13504
13505 2008-10-02  Jim Meyering  <meyering@redhat.com>
13506
13507         fts: bug fixes
13508         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
13509         Include <sys/vfs.h>, not <sys/statfs.h>.
13510
13511         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
13512         Include <sys/vfs.h>, not <sys/statfs.h>.
13513
13514 2008-10-01  Bruno Haible  <bruno@clisp.org>
13515
13516         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
13517         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
13518         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
13519         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
13520         * doc/posix-functions/posix_spawnp.texi: Likewise.
13521         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
13522         whether posix_spawn actually works.
13523         * m4/pipe.m4 (gl_PIPE): Likewise.
13524         * modules/execute (Files): Add m4/posix_spawn.m4.
13525         * modules/pipe (Files): Add m4/posix_spawn.m4.
13526         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
13527
13528 2008-10-01  Jim Meyering  <meyering@redhat.com>
13529
13530         remove trailing spaces
13531         * NEWS: Likewise.
13532         * lib/poll.c (poll): Likewise.
13533         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
13534         * lib/winsock.c (rpl_close): Likewise.
13535         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
13536         * modules/yield: Likewise.
13537         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
13538         * tests/test-sys_select.c (connect_to_socket): Likewise.
13539
13540         fts.c: adjust a new interface to be more generally useful
13541         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
13542         (fts_build): Adjust caller.
13543
13544 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13545
13546         * modules/cond-tests: New file.
13547         * tests/test-cond.c: New file.
13548
13549 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13550             Bruno Haible  <bruno@clisp.org>
13551
13552         * modules/cond (Dependencies): Add errno, time.
13553         * lib/glthread/cond.h: Include <time.h>.
13554         (gl_cond_define, gl_cond_define_initialized): Use the same definition
13555         across platforms.
13556
13557 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13558             Bruno Haible  <bruno@clisp.org>
13559
13560         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
13561
13562 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13563             Bruno Haible  <bruno@clisp.org>
13564
13565         * modules/tls-tests (Depends-on): Add thread, yield.
13566         (configure.ac): Remove all checks.
13567         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
13568         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13569         gl_thread_self): Remove definitions. Include glthread/thread.h and
13570         glthread/yield.h instead.
13571         (test_tls): Pass an additional NULL argument to gl_thread_join.
13572
13573 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13574             Bruno Haible  <bruno@clisp.org>
13575
13576         * modules/lock-tests (Depends-on): Add thread, yield.
13577         (configure.ac): Remove all checks.
13578         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
13579         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13580         gl_thread_self): Remove definitions. Include glthread/thread.h and
13581         glthread/yield.h instead.
13582         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
13583         additional NULL argument to gl_thread_join.
13584
13585 2008-09-30  Bruno Haible  <bruno@clisp.org>
13586
13587         Fix the Win32 implementation of the 'thread' module.
13588         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
13589         pointer type.
13590         (gl_thread_self): Invoke gl_thread_self_func.
13591         (gl_thread_self_func): New declaration.
13592         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
13593         (do_init_self_key, init_self_key): New functions.
13594         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
13595         Remove some fields.
13596         (running_threads, running_lock): Remove variables.
13597         (get_current_thread_handle): New function.
13598         (gl_thread_self_func, wrapper_func, glthread_create_func,
13599         glthread_join_func, gl_thread_exit_func): Largely rewritten and
13600         simplified.
13601
13602 2008-09-30  Bruno Haible  <bruno@clisp.org>
13603
13604         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
13605         files.
13606
13607 2008-09-30  Jim Meyering  <meyering@redhat.com>
13608
13609         fts.m4: correct the test for statfs.f_type
13610         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
13611         when checking for statfs.f_type.
13612
13613 2008-09-15  Simon Josefsson  <simon@josefsson.org>
13614
13615         tests: avoid some compiler warnings
13616         * tests/test-memchr.c (main): Pass NULL indirectly.
13617         * tests/test-getdate.c (main): Remove unused variable 'ret'.
13618
13619 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
13620
13621         getdate.y: disallow countable dayshifts like "4 yesterday ago"
13622         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
13623         exactly specified dayshifts.
13624         (dayshift): New rule.
13625         (rel): Add dayshift.
13626         (relative_time_table) [tomorrow, yesterday, today, now]:
13627         Use tDAY_SHIFT in place of tDAY_UNIT.
13628         * tests/test-getdate.c: Add tests for now-disallowed countable
13629         dayshifts, e.g., "4 yesterday ago".
13630
13631 2008-09-29  Bruno Haible  <bruno@clisp.org>
13632
13633         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
13634         * tests/test-posix_spawn1.in.sh: Renamed from
13635         tests/test-posix_spawn.in.sh.
13636         * tests/test-posix_spawn2.c: New file.
13637         * tests/test-posix_spawn2.in.sh: New file.
13638         * modules/posix_spawnp-tests (Files): Update.
13639         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
13640
13641 2008-09-29  Bruno Haible  <bruno@clisp.org>
13642
13643         Propagate effects of putenv/setenv/unsetenv to child processes.
13644         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
13645         * lib/pipe.c (create_pipe): Likewise.
13646
13647 2008-09-29  Bruno Haible  <bruno@clisp.org>
13648
13649         Enable use of shell scripts as executables in mingw.
13650         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
13651         run the program as a shell script.
13652         * lib/pipe.c (create_pipe): Likewise.
13653         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
13654         resulting array.
13655
13656 2008-09-29  Eric Blake  <ebb9@byu.net>
13657
13658         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
13659
13660 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
13661
13662         * doc/posix-functions/accept.texi: Update mingw problems.
13663         * doc/posix-functions/bind.texi: Update mingw problems.
13664         * doc/posix-functions/close.texi: Update mingw problems.
13665         * doc/posix-functions/connect.texi: Update mingw problems.
13666         * doc/posix-functions/getpeername.texi: Update mingw problems.
13667         * doc/posix-functions/getsockname.texi: Update mingw problems.
13668         * doc/posix-functions/getsockopt.texi: Update mingw problems.
13669         * doc/posix-functions/ioctl.texi: Update mingw problems.
13670         * doc/posix-functions/listen.texi: Update mingw problems.
13671         * doc/posix-functions/recv.texi: Update mingw problems.
13672         * doc/posix-functions/recvfrom.texi: Update mingw problems.
13673         * doc/posix-functions/select.texi: Update mingw problems.
13674         * doc/posix-functions/send.texi: Update mingw problems.
13675         * doc/posix-functions/sendto.texi: Update mingw problems.
13676         * doc/posix-functions/setsockopt.texi: Update mingw problems.
13677         * doc/posix-functions/socket.texi: Update mingw problems.
13678
13679 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
13680             Bruno Haible  <bruno@clisp.org>
13681
13682         * lib/sys_select.in.h: Include sys/time.h.
13683         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
13684         * modules/sys_select: Depend on sys_time.
13685         * tests/test-sys_select.c: Test that sys/select.h defines struct
13686         timeval fully.
13687
13688 2008-09-29  Bruno Haible  <bruno@clisp.org>
13689
13690         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
13691         * lib/sys_select.in.h: Likewise.
13692
13693 2008-09-29  Bruno Haible  <bruno@clisp.org>
13694
13695         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
13696
13697 2008-09-29  Bruno Haible  <bruno@clisp.org>
13698
13699         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
13700         Set LIBSOCKET instead of augmenting LIBS.
13701         * modules/sockets (Link): New section.
13702         * modules/sockets-tests (test_sockets_LDADD): New variable.
13703         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
13704         * modules/poll-tests (test_poll_LDADD): New variable.
13705         * NEWS: Document the change.
13706
13707 2008-09-29  Bruno Haible  <bruno@clisp.org>
13708
13709         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
13710         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
13711         ARPA_INET_H directly.
13712         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
13713
13714 2008-09-28  Bruno Haible  <bruno@clisp.org>
13715
13716         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
13717         from gl_HEADER_SYS_SOCKET.
13718         (gl_HEADER_SYS_SOCKET): Invoke it.
13719         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13720
13721 2008-09-28  Bruno Haible  <bruno@clisp.org>
13722
13723         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
13724         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
13725         Needed on OSF/1 4.0.
13726
13727 2008-09-28  Bruno Haible  <bruno@clisp.org>
13728
13729         Override open more carefully.
13730         * lib/open.c (orig_open): New function.
13731         (rpl_open): Use orig_open instead of open.
13732         * lib/fcntl.in.h: Add special invocation convention.
13733         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
13734         (gl_FUNC_OPEN): Invoke it.
13735
13736         Override freopen more carefully.
13737         * lib/freopen.c (orig_freopen): New function.
13738         (rpl_freopen): Use orig_freopen instead of freopen.
13739         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
13740         (gl_FUNC_FREOPEN): Invoke it.
13741
13742         Override fopen more carefully.
13743         * lib/fopen.c (orig_fopen): New function.
13744         (rpl_fopen): Use orig_fopen instead of fopen.
13745         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
13746         (gl_FUNC_FOPEN): Invoke it.
13747         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
13748
13749 2008-09-28  Bruno Haible  <bruno@clisp.org>
13750
13751         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
13752         SIGPIPE.
13753
13754 2008-09-28  Bruno Haible  <bruno@clisp.org>
13755
13756         * tests/test-sigaction.c (handler, main): Disable the check whether
13757         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
13758         glibc systems with LinuxThreads.
13759
13760 2008-09-28  Bruno Haible  <bruno@clisp.org>
13761
13762         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
13763
13764         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
13765         with AIX xlc.
13766         * lib/fcntl.in.h (open): Likewise.
13767         Reported by Rainer Tammer <tammer@tammer.net>.
13768
13769 2008-09-28  Bruno Haible  <bruno@clisp.org>
13770
13771         * modules/posix_spawnp-tests: New file.
13772         * tests/test-posix_spawn.c: New file.
13773         * tests/test-posix_spawn.in.sh: New file.
13774
13775         New module 'posix_spawnp'.
13776         * modules/posix_spawnp: New file.
13777         * lib/spawnp.c: New file, from GNU libc with modifications.
13778         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
13779
13780         New module 'posix_spawn'.
13781         * modules/posix_spawn: New file.
13782         * lib/spawn.c: New file, from GNU libc with modifications.
13783         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13784
13785         New module 'posix_spawnattr_destroy'.
13786         * modules/posix_spawnattr_destroy: New file.
13787         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
13788         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
13789         module.
13790
13791         New module 'posix_spawnattr_setsigmask'.
13792         * modules/posix_spawnattr_setsigmask: New file.
13793         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
13794         modifications.
13795         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
13796         new module.
13797
13798         New module 'posix_spawnattr_getsigmask'.
13799         * modules/posix_spawnattr_getsigmask: New file.
13800         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
13801         modifications.
13802         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
13803         new module.
13804
13805         New module 'posix_spawnattr_setsigdefault'.
13806         * modules/posix_spawnattr_setsigdefault: New file.
13807         * lib/spawnattr_setdefault.c: New file, from GNU libc with
13808         modifications.
13809         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
13810         new module.
13811
13812         New module 'posix_spawnattr_getsigdefault'.
13813         * modules/posix_spawnattr_getsigdefault: New file.
13814         * lib/spawnattr_getdefault.c: New file, from GNU libc with
13815         modifications.
13816         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
13817         new module.
13818
13819         New module 'posix_spawnattr_setschedpolicy'.
13820         * modules/posix_spawnattr_setschedpolicy: New file.
13821         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
13822         modifications.
13823         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
13824         new module.
13825
13826         New module 'posix_spawnattr_getschedpolicy'.
13827         * modules/posix_spawnattr_getschedpolicy: New file.
13828         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
13829         modifications.
13830         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
13831         new module.
13832
13833         New module 'posix_spawnattr_setschedparam'.
13834         * modules/posix_spawnattr_setschedparam: New file.
13835         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
13836         modifications.
13837         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
13838         new module.
13839
13840         New module 'posix_spawnattr_getschedparam'.
13841         * modules/posix_spawnattr_getschedparam: New file.
13842         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
13843         modifications.
13844         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
13845         new module.
13846
13847         New module 'posix_spawnattr_setpgroup'.
13848         * modules/posix_spawnattr_setpgroup: New file.
13849         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
13850         modifications.
13851         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
13852         module.
13853
13854         New module 'posix_spawnattr_getpgroup'.
13855         * modules/posix_spawnattr_getpgroup: New file.
13856         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
13857         modifications.
13858         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
13859         module.
13860
13861         New module 'posix_spawnattr_setflags'.
13862         * modules/posix_spawnattr_setflags: New file.
13863         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
13864         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
13865         module.
13866
13867         New module 'posix_spawnattr_getflags'.
13868         * modules/posix_spawnattr_getflags: New file.
13869         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
13870         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
13871         module.
13872
13873         New module 'posix_spawnattr_init'.
13874         * modules/posix_spawnattr_init: New file.
13875         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
13876         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
13877         module.
13878
13879         New module 'posix_spawn_file_actions_destroy'.
13880         * modules/posix_spawn_file_actions_destroy: New file.
13881         * lib/spawn_faction_destroy.c: New file, from GNU libc with
13882         modifications.
13883         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
13884         the new module.
13885
13886         New module 'posix_spawn_file_actions_addopen'.
13887         * modules/posix_spawn_file_actions_addopen: New file.
13888         * lib/spawn_faction_addopen.c: New file, from GNU libc with
13889         modifications.
13890         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
13891         the new module.
13892
13893         New module 'posix_spawn_file_actions_adddup2'.
13894         * modules/posix_spawn_file_actions_adddup2: New file.
13895         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
13896         modifications.
13897         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
13898         the new module.
13899
13900         New module 'posix_spawn_file_actions_addclose'.
13901         * modules/posix_spawn_file_actions_addclose: New file.
13902         * lib/spawn_faction_addclose.c: New file, from GNU libc with
13903         modifications.
13904         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
13905         the new module.
13906
13907         New module 'posix_spawn_file_actions_init'.
13908         * modules/posix_spawn_file_actions_init: New file.
13909         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
13910         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
13911         new module.
13912
13913         New module 'posix_spawn-internal'.
13914         * modules/posix_spawn-internal: New file.
13915         * lib/spawn_int.h: New file, from GNU libc with modifications.
13916         * lib/spawni.c: New file, from GNU libc with modifications.
13917         * m4/posix_spawn.m4: New file.
13918
13919         New module 'spawn'.
13920         * modules/spawn: New file.
13921         * lib/spawn.in.h: New file, from GNU libc with modifications.
13922         * m4/spawn_h.m4: New file.
13923         * doc/posix-headers/spawn.texi: Mention the new module.
13924
13925 2008-09-28  Bruno Haible  <bruno@clisp.org>
13926
13927         * modules/sched-tests: New file.
13928         * tests/test-sched.c: New file.
13929
13930         New module 'sched'.
13931         * modules/sched: New file.
13932         * lib/sched.in.h: New file.
13933         * m4/sched_h.m4: New file.
13934         * doc/posix-headers/sched.texi: Mention the new module.
13935
13936 2008-09-27  Eric Blake  <ebb9@byu.net>
13937
13938         Fix previous patch, and tweak references to $0.
13939         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
13940         (func_version, func_gnulib_dir): Don't call this program
13941         gnulib-tool.
13942         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
13943         with using $0 in function.
13944         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
13945         (func_fatal_error): Reuse the name the user invoked us with.
13946
13947 2008-09-27  Bruno Haible  <bruno@clisp.org>
13948
13949         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
13950         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
13951         (gl_ICONV_H): Not here.
13952         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
13953         instead of assigning ICONV_H directly.
13954
13955         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
13956         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
13957         WCHAR_H directly.
13958
13959 2008-09-27  Bruno Haible  <bruno@clisp.org>
13960
13961         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
13962         * modules/arpa_inet (Depends-on): Add link-warning.
13963         (Makefile.am): Insert the definition of GL_LINK-WARNING.
13964         * modules/unistd (Makefile.am): Likewise.
13965
13966 2008-09-26  Bruno Haible  <bruno@clisp.org>
13967
13968         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
13969         variables.
13970         (func_version): Essentially copied from gnulib-tool.
13971         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
13972         func_readlink): Copied from gnulib-tool.
13973
13974 2008-09-26  Bruno Haible  <bruno@clisp.org>
13975
13976         * gnulib-tool (func_version): Change directory to $gnulib_dir before
13977         invoking git-version-gen.
13978
13979 2008-09-26  Bruno Haible  <bruno@clisp.org>
13980
13981         * posix-modules: Update to directory names changed on 2008-01-19.
13982         Remove commas in output before splitting into words. No more need to
13983         avoid 'ftruncate' since 2007-02-19.
13984
13985 2008-09-26  Bruno Haible  <bruno@clisp.org>
13986
13987         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
13988
13989 2008-09-26  Bruno Haible  <bruno@clisp.org>
13990
13991         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
13992         * modules/fwriteerror (Depends-on): Add errno.
13993
13994 2008-09-26  Bruno Haible  <bruno@clisp.org>
13995
13996         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
13997         * tests/test-vc-list-files-cvs.sh: Likewise.
13998
13999 2008-09-26  Bruno Haible  <bruno@clisp.org>
14000
14001         * doc/posix-headers/sys_resource.texi: Reorder items.
14002
14003 2008-09-26  Jim Meyering  <meyering@redhat.com>
14004
14005         fts: tweak inode comparison function
14006         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
14007         inode numbers, as documented.
14008
14009         fts: sort dirent entries on inode number before traversing
14010         This avoids a quadratic, seek-related performance penalty when
14011         operating on a directory containing many entries (measurable at 10k;
14012         3.5 hours at 2 million entries with a cold cache) on certain types
14013         of file systems, including ext3 and ext4, but not tmpfs.
14014         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
14015         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
14016         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
14017         (fs_handles_readdir_ordered_dirents_efficiently): New function.
14018         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
14019         (fts_build): Set the stat.st_ino member from D_INO.
14020         If it is likely to be useful, sort dirent entries on inode number.
14021
14022         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
14023         and the struct statfs.f_type member.
14024         * modules/fts (Depends-on): Add d-ino.
14025
14026 2008-09-26  Bruno Haible  <bruno@clisp.org>
14027
14028         * modules/sigpipe-die (Depends-on): Add sigpipe.
14029
14030         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
14031         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
14032         and GNULIB_STDIO_H_SIGPIPE are set.
14033         * lib/stdio-write.c: New file.
14034         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
14035         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14036         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14037         REPLACE_STDIO_WRITE_FUNCS.
14038         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
14039         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14040         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14041         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
14042         * modules/stdio (Files): Add lib/stdio-write.c.
14043         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
14044         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14045         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14046         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
14047         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
14048         REPLACE_FPRINTF_POSIX.
14049         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
14050         REPLACE_PRINTF_POSIX.
14051         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
14052         REPLACE_VFPRINTF_POSIX.
14053         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
14054         REPLACE_VPRINTF_POSIX.
14055         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
14056         SIGPIPE issue.
14057         * doc/posix-functions/fputc.texi: Likewise.
14058         * doc/posix-functions/fputs.texi: Likewise.
14059         * doc/posix-functions/fwrite.texi: Likewise.
14060         * doc/posix-functions/printf.texi: Likewise.
14061         * doc/posix-functions/putc.texi: Likewise.
14062         * doc/posix-functions/putchar.texi: Likewise.
14063         * doc/posix-functions/puts.texi: Likewise.
14064         * doc/posix-functions/vfprintf.texi: Likewise.
14065         * doc/posix-functions/vprintf.texi: Likewise.
14066
14067         * modules/safe-write (Depends-on): Add write.
14068
14069         * modules/sigpipe-tests: New file.
14070         * tests/test-sigpipe.c: New file.
14071         * tests/test-sigpipe.sh: New file.
14072
14073         * modules/write: New file.
14074         * lib/unistd.in.h: Include <sys/types.h>.
14075         (write): New declaration.
14076         * lib/write.c: New file.
14077         * m4/write.m4: New file.
14078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14079         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
14080         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
14081         GNULIB_WRITE, REPLACE_WRITE.
14082         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
14083         and the SIGPIPE issue.
14084
14085         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
14086         (raise): New declaration.
14087         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
14088         (ext_signal): New function.
14089         (rpl_raise): New function.
14090         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14091         GNULIB_SIGNAL_H_SIGPIPE.
14092         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
14093         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
14094
14095         * modules/sigpipe: New file.
14096         * m4/sigpipe.m4: New file.
14097
14098 2008-09-25  Derek Price  <derek@ximbiot.com>
14099             Bruno Haible  <bruno@clisp.org>
14100
14101         * gnulib-tool (func_import): Report all license incompatibilities, not
14102         just the first one.
14103
14104 2008-09-25  Bruno Haible  <bruno@clisp.org>
14105
14106         * gnulib-tool (func_import): When computing the edits, consider not
14107         only the Makefile.ams that exist but also those that will be generated.
14108
14109 2008-09-25  Simon Josefsson  <simon@josefsson.org>
14110
14111         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
14112         fixes gnulib-tool --test warning about duplicate dependency.
14113
14114 2008-09-25  Bruno Haible  <bruno@clisp.org>
14115
14116         * gnulib-tool: Don't ask the user to perform edits in the generated
14117         Makefile.ams.
14118         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
14119         apply to the Makefile.am being generated.
14120         (func_emit_tests_Makefile_am): Execute edits that apply to the
14121         Makefile.am being generated.
14122         (func_import): Setup list of Makefile.am edits before emitting the
14123         Makefile.ams, not at the end.
14124         (func_create_testdir): Update.
14125         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14126
14127 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14128
14129         * gnulib-tool (func_import): Store the --tests-base option in the
14130         comment in gnulib-cache.m4.
14131
14132 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
14133
14134         * NEWS: Document increased portability that sys_select now provides.
14135
14136         * lib/sys_select.in.h: Install select wrapper.
14137         * lib/sys_socket.in.h: Use more descriptive name when there is no
14138         select wrapper.
14139         * lib/winsock-select.c: New.
14140         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
14141         Require gl_HEADER_SYS_SOCKET.
14142         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
14143         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
14144         * tests/test-sys_select.c: Add functional tests.
14145
14146 2008-09-24  Eric Blake  <ebb9@byu.net>
14147
14148         open, fopen: close fd leak in last patch
14149         * lib/open.c (rpl_open): Close fd before returning error.
14150         * lib/fopen.c (rpl_fopen): Close fd before returning error.
14151         * doc/posix-functions/open.texi (open): Document that Irix also
14152         has the bug.
14153         * doc/posix-functions/fopen.texi (fopen): Likewise.
14154         Reported by Paolo Bonzini.
14155
14156 2008-09-24  Bruno Haible  <bruno@clisp.org>
14157
14158         Ensure that a filename ending in a slash cannot be used to access a
14159         non-directory.
14160         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
14161         to check whether it's really a directory.
14162         * lib/fopen.c: Include fcntl.h, unistd.h.
14163         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
14164         and fdopen().
14165         * modules/fopen (Depends-on): Add unistd.
14166         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
14167         * tests/test-fopen.c (main): Likewise.
14168         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
14169         * doc/posix-functions/fopen.texi: Likewise.
14170         Reported by Eric Blake.
14171
14172 2008-09-23  Eric Blake  <ebb9@byu.net>
14173
14174         c-stack: avoid compiler optimizations when provoking overflow
14175         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
14176         recursion harder to optimize, to ensure a stack overflow occurs.
14177         * tests/test-c-stack.c (recurse): Likewise.
14178         Borrowed from libsigsegv.
14179
14180         c-stack: work around Irix sigaltstack bug
14181         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
14182         whether sigaltstack uses wrong end of stack_t (copied in part from
14183         libsigsegv).
14184         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
14185         Irix bug, without requiring an over-allocation.
14186         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
14187         bug.
14188
14189         fopen: document mingw bug on directories
14190         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
14191         not allowing a stream visiting a directory, even though reading
14192         from such a stream is not portable.
14193
14194 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14195
14196         * lib/poll.c: Rewrite.
14197         * modules/poll: Depend on alloca.
14198
14199 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14200
14201         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
14202         instead define prototypes for a full set of wrappers.  Ensure
14203         that Cygwin does not use the compatibility code, which is only
14204         for MinGW.
14205         * lib/winsock.c: New.
14206         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
14207         * modules/sys_socket: Add lib/winsock.c.
14208
14209         * modules/poll-tests: Add errno and perror.
14210         * tests/test-poll.c: Use ioctl, not ioctlsocket.
14211
14212 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14213
14214         * tests/test-poll.c: Downgrade minimum needed Winsock version.
14215
14216 2008-09-23  Bruno Haible  <bruno@clisp.org>
14217
14218         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
14219         * doc/glibc-functions/*: Likewise.
14220
14221 2008-09-23  Simon Josefsson  <simon@josefsson.org>
14222
14223         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
14224         success.
14225
14226 2008-09-22  Eric Blake  <ebb9@byu.net>
14227             Bruno Haible  <bruno@clisp.org>
14228
14229         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
14230         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
14231         supply %A but mishandle pseudo-NaN.
14232         Reported by Simon Josefsson.
14233
14234 2008-09-21  Bruno Haible  <bruno@clisp.org>
14235
14236         * tests/test-lock.c (main): Tweak skip message.
14237         * tests/test-tls.c (main): Likewise.
14238
14239 2008-09-21  Bruno Haible  <bruno@clisp.org>
14240
14241         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
14242         whether 'struct sigaction' has sa_sigaction here...
14243         (gl_PREREQ_SIG_HANDLER_H): ... not here.
14244         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
14245
14246 2008-09-21  Bruno Haible  <bruno@clisp.org>
14247
14248         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
14249         section.
14250         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
14251         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
14252         the new section.
14253         (Support for obsolete systems lacking POSIX:2001): New section.
14254         (String handling <string.h>): Move strdup to the new section.
14255         Suggested by Simon Josefsson and Paolo Bonzini.
14256
14257 2008-09-21  Bruno Haible  <bruno@clisp.org>
14258
14259         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
14260         exponents in %e and %g results on 'long double'. Needed for mingw's
14261         improved *printf functions.
14262         * tests/test-vasprintf-posix.c (test_function): Likewise.
14263         * tests/test-snprintf-posix.h (test_function): Likewise.
14264         * tests/test-sprintf-posix.h (test_function): Likewise.
14265         Reported by Eric Blake.
14266
14267 2008-09-21  Bruno Haible  <bruno@clisp.org>
14268
14269         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
14270         * tests/test-sprintf-posix.h (test_function): Likewise.
14271
14272 2008-09-21  Bruno Haible  <bruno@clisp.org>
14273
14274         * modules/getpass (Depends-on): Add strdup-posix.
14275
14276         New module 'strdup-posix'.
14277         * modules/strdup-posix: New file.
14278         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
14279         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
14280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14281         REPLACE_STRDUP.
14282         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
14283         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
14284         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14285         strdup-posix.
14286
14287         * modules/strdup (Depends-on): Remove malloc-posix.
14288
14289 2008-09-20  Bruno Haible  <bruno@clisp.org>
14290
14291         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
14292         Wildenhues.
14293
14294 2008-09-20  Bruno Haible  <bruno@clisp.org>
14295
14296         Ensure that wint_t gets defined on IRIX 5.3.
14297         * lib/wchar.in.h (wint_t): Define if not defined by the system.
14298         * lib/wctype.in.h (wint_t): Likewise.
14299         (__wctype_wint_t): Remove type.
14300         (isw*): Use wint_t instead of __wctype_wint_t.
14301         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
14302         * modules/wchar (Files): Add m4/wint_t.m4.
14303         (Makefile.am): Substitute HAVE_WINT_T.
14304         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
14305         * tests/test-wctype.c: Check that wint_t is defined.
14306         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
14307         * doc/posix-headers/wctype.texi: Likewise.
14308         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14309
14310 2008-09-18  Bruno Haible  <bruno@clisp.org>
14311
14312         * gnulib-tool (func_exit): Update comment.
14313
14314 2008-09-18  Simon Josefsson  <simon@josefsson.org>
14315
14316         * modules/getaddrinfo (Depends-on): Remove strdup, this module
14317         assumes strdup exists and does not depend on strdup to return
14318         ENOMEM on out of memory conditions.
14319
14320 2008-09-18  Bruno Haible  <bruno@clisp.org>
14321
14322         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
14323         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
14324         digits for the exponent.
14325
14326 2008-09-18  Jim Meyering  <meyering@redhat.com>
14327             Bruno Haible  <bruno@clisp.org>
14328
14329         * lib/vasnprintf.c (decimal_point_char): Define also if
14330         NEED_PRINTF_INFINITE_LONG_DOUBLE.
14331
14332 2008-09-16  Bruno Haible  <bruno@clisp.org>
14333         and Eric Blake  <ebb9@byu.net>
14334
14335         vasnprintf: support Irix 5.3
14336         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
14337         that mishandle long double infinity.
14338         Reported by Tom G. Christensen.
14339
14340 2008-09-16  Bruno Haible  <bruno@clisp.org>
14341
14342         * doc/glibc-functions/scandir.texi: Mention the function is missing on
14343         Solaris 9.
14344         * doc/glibc-functions/alphasort.texi: Likewise.
14345         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
14346
14347 2008-09-16  Jim Meyering  <meyering@redhat.com>
14348
14349         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
14350         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
14351         a umask modification leak out of a subshell.  Otherwise, the
14352         opensolaris /bin/sh would be accepted and thus cause unwarranted
14353         failures in the coreutils test suite.
14354
14355 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
14356
14357         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
14358         to succeed.
14359
14360 2008-09-16  Jim Meyering  <meyering@redhat.com>
14361
14362         avoid spurious test failure when library is built without ACL support
14363         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
14364         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
14365         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
14366         * tests/test-copy-acl.sh: Likewise.
14367
14368 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14369
14370         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
14371         based on character occurrence counts.
14372
14373 2008-09-15  Eric Blake  <ebb9@byu.net>
14374
14375         tests: avoid some compiler warnings
14376         * tests/test-memchr.c (main): Pass NULL indirectly.
14377         * tests/test-closein.c (main): Avoid unused variable.
14378
14379 2008-09-15  Bruno Haible  <bruno@clisp.org>
14380
14381         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
14382         are missing on OpenBSD 4.0 individually.
14383         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14384
14385 2008-09-15  Bruno Haible  <bruno@clisp.org>
14386
14387         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
14388         * doc/posix-functions/strerror.texi: Mention also Cygwin.
14389         * doc/posix-functions/perror.texi: Likewise.
14390         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
14391         is missing.
14392         Reported by Eric Blake.
14393
14394         * lib/errno.in.h: Use replacement values >= 2000.
14395         Reported by Eric Blake.
14396
14397 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14398
14399         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
14400         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
14401         limit.
14402         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
14403         compareseq was aborted.
14404
14405 2008-09-14  Bruno Haible  <bruno@clisp.org>
14406
14407         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
14408         yvec_edit_count.
14409         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
14410         (fstrcmp_bounded): Simplify result computation accordingly.
14411
14412 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14413
14414         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
14415         (fstrcmp): Define in terms of fstrcmp_bounded.
14416         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
14417         lower_bound argument.
14418         Return quickly if the result is certainly < lower_bound.
14419         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
14420
14421 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14422
14423         * lib/diffseq.h (EARLY_ABORT): New macro.
14424         (compareseq): Change return type to bool. Return true when EARLY_ABORT
14425         evaluates to true.
14426
14427 2008-09-14  Bruno Haible  <bruno@clisp.org>
14428
14429         * modules/perror-tests: New file.
14430         * tests/test-perror.sh: New file.
14431         * tests/test-perror.c: New file.
14432
14433         New module 'perror'.
14434         * lib/stdio.in.h (perror): New declaration.
14435         * lib/perror.c: New file.
14436         * m4/perror.m4: New file.
14437         * modules/perror: New file.
14438         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
14439         * doc/posix-functions/perror.texi: Mention the perror module.
14440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
14441         REPLACE_PERROR.
14442         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
14443         REPLACE_PERROR.
14444
14445 2008-09-14  Bruno Haible  <bruno@clisp.org>
14446
14447         * modules/stdio (Makefile.am): Reorder to match the order in
14448         lib/stdio.in.h.
14449         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14450
14451 2008-09-13  Bruno Haible  <bruno@clisp.org>
14452
14453         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
14454
14455 2008-09-13  Bruno Haible  <bruno@clisp.org>
14456
14457         Extend strerror to cover the added errno values.
14458         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
14459         (rpl_strerror): Provide error messages for the added errno values and
14460         for the WSA* values.
14461         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
14462         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
14463         strerror.
14464         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
14465         * modules/strerror (Depends-on): Add errno.
14466         * doc/posix-functions/strerror.texi: Document the change.
14467         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
14468         and EOVERFLOW.
14469
14470 2008-09-13  Bruno Haible  <bruno@clisp.org>
14471
14472         * modules/EOVERFLOW: Remove file.
14473         * m4/eoverflow.m4: Remove file.
14474         * modules/EOVERFLOW-tests: Remove file.
14475         * tests/test-EOVERFLOW.c: Remove file.
14476         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
14477         * modules/ftell (Depends-on): Likewise.
14478         * modules/getdelim (Depends-on): Likewise.
14479         * modules/getugroups (Depends-on): Likewise.
14480         * modules/poll (Depends-on): Likewise.
14481         * modules/snprintf (Depends-on): Likewise.
14482         * modules/sprintf-posix (Depends-on): Likewise.
14483         * modules/vasnprintf (Depends-on): Likewise.
14484         * modules/vasprintf (Depends-on): Likewise.
14485         * modules/vfprintf-posix (Depends-on): Likewise.
14486         * modules/vsnprintf (Depends-on): Likewise.
14487         * modules/vsprintf-posix (Depends-on): Likewise.
14488         * modules/xvasprintf (Depends-on): Likewise.
14489         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14490         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
14491         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
14492         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
14493         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14494         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
14495         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
14496         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
14497         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14498         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
14499         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
14500         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
14501         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14502         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
14503         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
14504         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
14505         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14506         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
14507         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
14508         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
14509         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14510         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
14511         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
14512         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
14513         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
14514         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14515         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
14516         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
14517         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
14518         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
14519         * MODULES.html.sh: Remove EOVERFLOW.
14520         * NEWS: Mention the change.
14521
14522 2008-09-13  Bruno Haible  <bruno@clisp.org>
14523
14524         * modules/errno-tests: New file.
14525         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
14526
14527         * lib/errno.in.h: New file.
14528         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
14529         * modules/errno: New file.
14530         * doc/posix-headers/errno.texi: Update documentation.
14531         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
14532
14533 2008-09-13  Bruno Haible  <bruno@clisp.org>
14534
14535         * tests/test-poll.c: Use #if for native Windows, rather than testing
14536         __MSVCRT__.
14537
14538 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14539             Bruno Haible  <bruno@clisp.org>
14540
14541         * lib/glob.c: Don't include <pwd.h> on native Windows.
14542         (WINDOWS32): New macro.
14543         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
14544
14545 2008-09-13  Bruno Haible  <bruno@clisp.org>
14546
14547         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
14548         (ETIMEDOUT): Remove macro.
14549         (glthread_cond_timedwait_multithreaded): New declaration.
14550         (glthread_cond_timedwait): Use it.
14551         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
14552         (glthread_cond_timedwait_multithreaded): New function.
14553
14554 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14555
14556         * modules/poll-tests: Do not check for io.h.
14557         * tests/test-poll.c: Check for __MSVCRT__ instead.
14558
14559 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14560
14561         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
14562         * modules/poll-tests: Add inet_pton, stdbool, sockets.
14563         * tests/test-poll.c: Use them.  Use _pipe on Windows.
14564
14565 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14566
14567         * modules/poll-tests: New.
14568         * tests/test-poll.c: New.
14569
14570 2008-09-12  Eric Blake  <ebb9@byu.net>
14571
14572         frexp: test for NetBSD failure on -0.0
14573         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
14574         not all, bugs from NetBSD 3.0 have been fixed.
14575         * doc/posix-functions/frexp.texi (frexp): Document bug.
14576         Reported by Thomas Klausner.
14577
14578         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
14579         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
14580         literal -0.0.
14581         Reported by Jonathan C. Patschke <jp@centtech.com>.
14582
14583 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14584
14585         * lib/glthread/cond.h: Use dummy implementation also if
14586         USE_WIN32_THREADS.
14587
14588 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14589
14590         * modules/fnmatch-posix (License): Change to LGPLv2+.
14591         * modules/fnmatch-gnu (License): Likewise.
14592
14593 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14594
14595         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
14596
14597 2008-09-11  Jim Meyering  <meyering@redhat.com>
14598
14599         * users.txt: Add gtk-vnc.
14600
14601 2008-09-08  Simon Josefsson  <simon@josefsson.org>
14602
14603         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
14604         rotate amounts.
14605
14606         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
14607         required for 16-bit and 8-bit rotates.
14608         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
14609         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
14610         UINT8_MAX instead of hard-coded constants.
14611         Suggested by Paul Eggert.
14612
14613 2008-09-07  Bruno Haible  <bruno@clisp.org>
14614
14615         * tests/test-striconveh.c (main): Check behaviour when converting from
14616         UTF-7.
14617
14618         Make striconveh work better with stateful encodings.
14619         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
14620         that iconv does not increment the inptr when returning -1/EINVAL.
14621
14622 2008-09-07  Bruno Haible  <bruno@clisp.org>
14623
14624         * build-aux/config.rpath: Update according to libtool-2.2.6.
14625         * build-aux/config.libpath: Likewise.
14626
14627 2008-09-06  Bruno Haible  <bruno@clisp.org>
14628
14629         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
14630         * lib/freadptr.c (freadptr): Likewise.
14631         * lib/freadseek.c (freadptrinc): Likewise.
14632         Reported by Simon Josefsson.
14633
14634 2008-09-06  Bruno Haible  <bruno@clisp.org>
14635
14636         * modules/freadptr (License): Change to LGPLv2+.
14637         * modules/freadseek (License): Likewise.
14638         Suggested by Eric Blake.
14639
14640         * modules/memchr2 (License): Change to LGPLv2+.
14641         Approved by Eric Blake.
14642
14643 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14644             Bruno Haible  <bruno@clisp.org>
14645
14646         Make gnulib-tool work with native 'sed' on AIX.
14647         * gnulib-tool (sed_noop): New variable.
14648         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
14649         func_add_or_update, func_create_testdir): Use it to initialize sed
14650         script variables.
14651         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14652
14653 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
14654             Bruno Haible  <bruno@clisp.org>
14655
14656         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
14657         also works after #include directives.
14658
14659 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
14660
14661         getdate.y: reject an out-of-range timezone value
14662         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
14663         the range [-24...+24].  When specified with only one or two digits,
14664         * tests/test-getdate.c: Tests for the fix.
14665         * doc/getdate.texi: Document this change.
14666
14667 2008-09-03  Bruno Haible  <bruno@clisp.org>
14668
14669         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
14670
14671 2008-09-02  Simon Josefsson  <simon@josefsson.org>
14672
14673         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
14674         <bruce.korb@gmail.com> with ideas from Ben Pfaff
14675         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
14676         Blake <ebb9@byu.net>.
14677
14678         * tests/test-bitrotate.c: Add more test vectors.
14679
14680 2008-09-02  Eric Blake  <ebb9@byu.net>
14681
14682         vasnprintf-posix: handle large precision via %.*d
14683         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
14684         when handling it ourselves.
14685         * tests/test-vasnprintf-posix.c (test_function): Add test.
14686         * tests/test-snprintf-posix.h (test_function): Likewise.
14687         * tests/test-sprintf-posix.h (test_function): Likewise.
14688         * tests/test-vasprintf-posix.c (test_function): Likewise.
14689         Reported by Alain Guibert.
14690
14691 2008-09-01  Eric Blake  <ebb9@byu.net>
14692
14693         c-stack: make configure-time check more robust
14694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
14695         successful sigaction call.
14696         Reported by Tom G. Christensen.
14697
14698 2008-09-01  Bruno Haible  <bruno@clisp.org>
14699
14700         New module 'findprog-lgpl'.
14701         * modules/findprog-lgpl: New file.
14702         * lib/findprog-lgpl.c: New file.
14703         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
14704         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
14705         to decide whether to use strdup or xstrdup, concatenated_filename or
14706         xconcatenated_filename.
14707
14708 2008-09-01  Bruno Haible  <bruno@clisp.org>
14709
14710         Split module 'concat-filename' into 'concat-filename' (LGPL) and
14711         'xconcat-filename' (GPL).
14712         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
14713         (License): Change to LGPLv2+.
14714         * modules/xconcat-filename: New file.
14715         * lib/concat-filename.h (concatenated_filename): Change specification.
14716         (xconcatenated_filename): New declaration.
14717         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
14718         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
14719         memory situations.
14720         * lib/xconcat-filename.c: New file.
14721         * NEWS: Mention the change.
14722         * lib/findprog.c: Include concat-filename.h, not filename.h.
14723         (find_in_path): Use xconcatenated_filename instead of
14724         concatenated_filename.
14725         * lib/javacomp.c: Include concat-filename.h, not filename.h.
14726         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
14727         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
14728         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
14729         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
14730         instead of concatenated_filename.
14731         * lib/javaexec.c: Include concat-filename.h, not filename.h.
14732         (execute_java_class): Use xconcatenated_filename instead of
14733         concatenated_filename.
14734         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
14735         * modules/javacomp (Depends-on): Likewise.
14736         * modules/javaexec (Depends-on): Likewise.
14737
14738 2008-09-01  Bruno Haible  <bruno@clisp.org>
14739
14740         Split module 'filename' into 'filename' and 'concat-filename'.
14741         * modules/filename: Keep only lib/filename.h.
14742         (License): Change to LGPLv2+.
14743         * modules/concat-filename: New file, extracted from modules/filename.
14744         * lib/filename.h (concatenated_filename): Remove declaration.
14745         * lib/concat-filename.h: New file, extracted from lib/filename.h.
14746         * lib/concat-filename.c: Include concat-filename.h.
14747         * NEWS: Mention the change.
14748
14749 2008-09-01  Simon Josefsson  <simon@josefsson.org>
14750
14751         * lib/bitrotate.h (rotl8, rotr8): Add.
14752
14753         * modules/bitrotate (configure.ac): Need
14754         AC_REQUIRE([AC_C_INLINE]).
14755         (Description): Mention stdint.h.  Reported by Bruno Haible
14756         <bruno@clisp.org>.
14757
14758         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
14759         Paolo Bonzini <bonzini@gnu.org>.
14760
14761 2008-08-31  Bruno Haible  <bruno@clisp.org>
14762
14763         Assume Solaris specific bi-arch conventions on Solaris systems.
14764         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
14765         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
14766         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
14767         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
14768         like acl_libdirstem.
14769         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
14770         acl_libdirstem.
14771         * NEWS: Mention the change.
14772         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
14773
14774 2008-08-31  Jim Meyering  <meyering@redhat.com>
14775
14776         * lib/strftime.h: Add comments describing the two added arguments.
14777
14778         remove duplicate #include directives
14779         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
14780         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
14781
14782 2008-08-31  Bruno Haible  <bruno@clisp.org>
14783
14784         New module 'sigpipe-die'.
14785         * modules/sigpipe-die: New file.
14786         * lib/sigpipe-die.h: New file.
14787         * lib/sigpipe-die.c: New file.
14788         * MODULES.html.sh (Signal handling): Add sigpipe-die.
14789
14790 2008-08-31  Bruno Haible  <bruno@clisp.org>
14791
14792         Don't override previously installed signal handlers.
14793         * lib/fatal-signal.c (saved_sigactions): New variable.
14794         (uninstall_handlers): Reset the signal to the saved handler, not
14795         to SIG_DFL (except when ignored).
14796         (install_handlers): Save the previous handlers.
14797
14798 2008-08-30  Bruno Haible  <bruno@clisp.org>
14799
14800         * gnulib-tool (func_reset_sigpipe): New function.
14801         (func_get_automake_snippet, func_modules_transitive_closure,
14802         func_import): Invoke it before a join command that reads from stdin,
14803         to avoid "echo: write error: Broken pipe" error messages on stderr.
14804         Reported by Sam Steingold <sds@gnu.org>.
14805
14806 2008-08-30  Bruno Haible  <bruno@clisp.org>
14807
14808         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
14809         Code copied from m4/open.m4.
14810         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
14811         access and the filename ends in a slash. Code copied from lib/open.c.
14812         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
14813         * tests/test-fopen.c (main): Check against bug with trailing slash.
14814
14815 2008-08-29  Bruno Haible  <bruno@clisp.org>
14816
14817         Avoid some "gcc -pedantic" warnings.
14818         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
14819         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
14820         * lib/dirent.in.h: Likewise.
14821         * lib/fcntl.in.h: Likewise.
14822         * lib/float.in.h: Likewise.
14823         * lib/iconv.in.h: Likewise.
14824         * lib/inttypes.in.h: Likewise.
14825         * lib/locale.in.h: Likewise.
14826         * lib/math.in.h: Likewise.
14827         * lib/netinet_in.in.h: Likewise.
14828         * lib/search.in.h: Likewise.
14829         * lib/signal.in.h: Likewise.
14830         * lib/stdarg.in.h: Likewise.
14831         * lib/stdint.in.h: Likewise.
14832         * lib/stdio.in.h: Likewise.
14833         * lib/stdlib.in.h: Likewise.
14834         * lib/string.in.h: Likewise.
14835         * lib/strings.in.h: Likewise.
14836         * lib/sys_select.in.h: Likewise.
14837         * lib/sys_socket.in.h: Likewise.
14838         * lib/sys_stat.in.h: Likewise.
14839         * lib/sys_time.in.h: Likewise.
14840         * lib/sysexits.in.h: Likewise.
14841         * lib/time.in.h: Likewise.
14842         * lib/unistd.in.h: Likewise.
14843         * lib/wchar.in.h: Likewise.
14844         * lib/wctype.in.h: Likewise.
14845         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
14846         * modules/fchdir (Makefile.am): Likewise.
14847         * modules/fcntl (Makefile.am): Likewise.
14848         * modules/float (Makefile.am): Likewise.
14849         * modules/iconv_open (Makefile.am): Likewise.
14850         * modules/inttypes (Makefile.am): Likewise.
14851         * modules/locale (Makefile.am): Likewise.
14852         * modules/math (Makefile.am): Likewise.
14853         * modules/netinet_in (Makefile.am): Likewise.
14854         * modules/search (Makefile.am): Likewise.
14855         * modules/signal (Makefile.am): Likewise.
14856         * modules/stdarg (Makefile.am): Likewise.
14857         * modules/stdint (Makefile.am): Likewise.
14858         * modules/stdio (Makefile.am): Likewise.
14859         * modules/stdlib (Makefile.am): Likewise.
14860         * modules/string (Makefile.am): Likewise.
14861         * modules/strings (Makefile.am): Likewise.
14862         * modules/sys_select (Makefile.am): Likewise.
14863         * modules/sys_socket (Makefile.am): Likewise.
14864         * modules/sys_stat (Makefile.am): Likewise.
14865         * modules/sys_time (Makefile.am): Likewise.
14866         * modules/sysexits (Makefile.am): Likewise.
14867         * modules/time (Makefile.am): Likewise.
14868         * modules/unistd (Makefile.am): Likewise.
14869         * modules/wchar (Makefile.am): Likewise.
14870         * modules/wctype (Makefile.am): Likewise.
14871         Reported by Reuben Thomas <rrt@sc3d.org>.
14872
14873 2008-08-29  Bruno Haible  <bruno@clisp.org>
14874
14875         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
14876         any more.
14877
14878 2008-08-29  Simon Josefsson  <simon@josefsson.org>
14879
14880         * MODULES.html.sh (Misc): Add bitrotate.
14881
14882         * modules/bitrotate: New file.
14883
14884         * lib/bitrotate.h: New file.
14885
14886         * modules/bitrotate-tests: New file.
14887
14888         * tests/test-bitrotate.c: New file.
14889
14890         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
14891         on the bitrotate module.
14892
14893         * lib/arctwo.c: Use new bitrotate module.
14894
14895 2008-08-29  Jim Meyering  <meyering@redhat.com>
14896
14897         bootstrap: merge changes from coreutils
14898         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
14899         of copied files.  Remove a kludge, now that this is fixed.
14900         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
14901         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
14902         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
14903
14904 2008-08-29  Bruno Haible  <bruno@clisp.org>
14905
14906         * MODULES.html.sh: Remove --cvs-urls option.
14907
14908 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
14909
14910         maint.mk: adjust to file name change
14911         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
14912
14913 2008-08-28  Jim Meyering  <meyering@redhat.com>
14914
14915         * modules/getndelim2 (License): Relicense to LGPLv2+.
14916         Approved by Richard Stallman for the version of 1995, and by
14917         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
14918
14919 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
14920
14921         * lib/getdelim.c (flockfile, funlockfile): Make all of them
14922         dummy if one is not available.  Do not touch them if
14923         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
14924         (getc_maybe_unlocked): New.
14925         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
14926
14927 2008-08-26  Eric Blake  <ebb9@byu.net>
14928
14929         doc/INSTALL: resync from autoconf
14930         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
14931         (INSTALL_PRELUDE): Delete; this is done more efficiently by
14932         moving...
14933         * install.texi [!autoconf]: ...here.  Resync from autoconf.
14934         * INSTALL: Regenerate.
14935         * INSTALL.ISO: New file.
14936         * INSTALL.UTF-8: Likewise.
14937
14938 2008-08-26  Jim Meyering  <meyering@redhat.com>
14939
14940         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
14941         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
14942         these definitions conditional, so that they may be overridden, too.
14943
14944 2008-08-26  Bruno Haible  <bruno@clisp.org>
14945
14946         Generate INSTALL file variants with prettier quotes.
14947         * doc/Makefile (INSTALL_PRELUDE): New macro.
14948         (INSTALL): Use it.
14949         (INSTALL.ISO, INSTALL.UTF-8): New rules.
14950
14951 2008-08-26  Bruno Haible  <bruno@clisp.org>
14952
14953         Run makeinfo in an English locale.
14954         * doc/Makefile (MAKEINFO): New variable.
14955
14956 2008-08-26  Bruno Haible  <bruno@clisp.org>
14957
14958         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
14959         Suggested by Eric Blake.
14960
14961 2008-08-25  Bruno Haible  <bruno@clisp.org>
14962
14963         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
14964
14965 2008-08-25  Eric Blake  <ebb9@byu.net>
14966
14967         c-stack: test that stack overflow can be caught
14968         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
14969         that platform allows handling stack overflow; at least OS/2 EMX
14970         has sigaltstack, but crashes before transferring control to
14971         handler on stack overflow.
14972         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
14973         check for HAVE_STACK_OVERFLOW_HANDLING.
14974         Reported by Elbert Pol.
14975
14976 2008-08-25  Bruno Haible  <bruno@clisp.org>
14977
14978         * doc/posix-functions/strftime.texi: Fix description of strftime
14979         module.
14980
14981 2008-08-24  Bruno Haible  <bruno@clisp.org>
14982
14983         * tests/uniwidth/test-uc_width2.c: New file.
14984         * tests/uniwidth/test-uc_width2.sh: New file.
14985         * modules/uniwidth/width-tests (Files): Add the new files.
14986         (TESTS): Add uniwidth/test-uc_width2.sh.
14987         (TESTS_ENVIRONMENT): New variable.
14988         (check_PROGRAMS): Add test-uc_width2.
14989         (test_uc_width2_SOURCES): New variable.
14990
14991         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
14992         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
14993         not 0x00AB.
14994         Reported by Alexander V. Lukyanov <lav@netis.ru>.
14995
14996 2008-08-22  Eric Blake  <ebb9@byu.net>
14997
14998         test-lock, test-tls: mention why a test is skipped
14999         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
15000         skipped.
15001         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
15002
15003         count-one-bits: relax license
15004         * modules/count-one-bits (License): Relicense to LGPLv2+.
15005         Suggested by Ludovic Courtès, approved by Ben Pfaff.
15006
15007 2008-08-22  Andreas Schwab  <schwab@suse.de>
15008
15009         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15010         Remove spurious space in assignment.
15011
15012 2008-08-21  Simon Josefsson  <simon@josefsson.org>
15013
15014         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
15015         Paul Eggert <eggert@CS.UCLA.EDU>.
15016
15017 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
15018
15019         * modules/gettext: Add m4/threadlib.m4.
15020
15021 2008-08-19  Eric Blake  <ebb9@byu.net>
15022
15023         test-c-stack: fix compilation failure on FreeBSD 5.0
15024         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
15025         headers before <sys/resource.h>.
15026         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
15027         the bug.
15028         Reported by Nelson H. F. Beebe.
15029
15030         strverscmp: migrate from "strverscmp.h" to <string.h>
15031         * modules/string (Makefile.am): Add new hooks.
15032         * modules/strverscmp (Files): Remove strverscmp.h.
15033         (Depends-on): Add string.
15034         (configure.ac): Add indicator.
15035         (Include): Mention new header.
15036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
15037         defaults.
15038         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
15039         results.
15040         * lib/strverscmp.h: Delete.
15041         * lib/string.in.h (strverscmp): Provide declaration, when needed.
15042         * tests/test-strverscmp.c (includes): Adjust client.
15043         * lib/check-version.c (includes): Likewise.
15044         * NEWS: Document the change.
15045
15046         strverscmp: add unit test
15047         * modules/strverscmp-tests: New file.
15048         * tests/test-strverscmp.c: Likewise.
15049
15050 2008-08-19  Simon Josefsson  <simon@josefsson.org>
15051
15052         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
15053         regarding Windows crypto stuff, from Mono.
15054
15055 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
15056
15057         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
15058         if present, for intel RND.  Return error on failures.
15059
15060 2008-08-18  Ben Pfaff  <blp@gnu.org>
15061
15062         gitlog-to-changelog: give better diagnostic for failed pipe-open
15063         * build-aux/gitlog-to-changelog: Improve error message: suggest
15064         that the version of Git may be too old.
15065
15066 2008-08-18  Simon Josefsson  <simon@josefsson.org>
15067
15068         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
15069         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
15070
15071 2008-08-18  Bruno Haible  <bruno@clisp.org>
15072
15073         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
15074         pthread_in_use().
15075
15076 2008-08-18  Bruno Haible  <bruno@clisp.org>
15077
15078         * lib/glthread/threadlib.c: Include <pthread.h>.
15079
15080 2008-08-18  Bruno Haible  <bruno@clisp.org>
15081
15082         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
15083         glthread_recursive_lock_* macros.
15084         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
15085         Fix syntax error.
15086
15087 2008-08-18  Bruno Haible  <bruno@clisp.org>
15088
15089         * lib/glthread/thread.c: Avoid forcing a context switch right after
15090         thread creation.
15091
15092 2008-08-17  Bruno Haible  <bruno@clisp.org>
15093
15094         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
15095         * lib/glthread/thread.h: Provide Win32 specific implementation.
15096         * modules/thread (Files): Add lib/glthread/thread.c.
15097         (Depends-on): Add lock.
15098         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
15099
15100 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15101
15102         New module 'yield'.
15103         * modules/yield: New file.
15104         * lib/glthread/yield.h: New file.
15105         * m4/yield.m4: New file.
15106         * MODULES.html.sh (Multithreading): Add yield.
15107
15108 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15109
15110         New module 'thread'.
15111         * modules/thread: New file.
15112         * lib/glthread/thread.h: New file.
15113         * m4/thread.m4: New file.
15114         * MODULES.html.sh (Multithreading): Add thread.
15115
15116 2008-08-17  Bruno Haible  <bruno@clisp.org>
15117
15118         * lib/glthread/lock.h: Include <stdlib.h> always.
15119         * lib/glthread/tls.h: Likewise.
15120         * lib/glthread/cond.h: Likewise.
15121
15122 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15123
15124         New module 'cond'.
15125         * modules/cond: New file.
15126         * lib/glthread/cond.h: New file.
15127         * lib/glthread/cond.c: New file.
15128         * m4/cond.m4: New file.
15129         * MODULES.html.sh (Multithreading): Add cond.
15130
15131 2008-08-16  Eric Blake  <ebb9@byu.net>
15132
15133         c-stack: fix regression on Irix 5.3 from 2008-06-21
15134         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
15135         sa_sigaction...
15136         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
15137         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
15138         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
15139         * modules/signal (Makefile.am): Use the value.
15140         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
15141         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
15142         * doc/posix-headers/signal.texi (signal.h): Document this
15143         portability issue.
15144         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
15145         Reported by Tom G. Christensen.
15146
15147 2008-08-17  Bruno Haible  <bruno@clisp.org>
15148
15149         New module 'threadlib'.
15150         * modules/threadlib: New file.
15151         * lib/glthread/threadlib.c: New file, extracted from
15152         lib/glthread/lock.c.
15153         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
15154         functions.
15155         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
15156         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
15157         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
15158         macros.
15159         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
15160         (gl_DISABLE_THREADS): Remove macro.
15161         * modules/lock (Files): Remove build-aux/config.rpath.
15162         (Depends-on): Remove havelib. Add threadlib.
15163         (configure.ac-early): Remove section.
15164         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
15165         * modules/tls (Depends-on): Remove lock. Add threadlib.
15166         (Link): New section, copied from threadlib.
15167         * MODULES.html.sh (Multithreading): Add threadlib.
15168
15169 2008-08-14  Bruno Haible  <bruno@clisp.org>
15170
15171         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
15172         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
15173         glthread_rwlock_unlock, glthread_rwlock_destroy,
15174         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
15175         glthread_recursive_lock_destroy): Define as macros always.
15176         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
15177         glthread_lock_lock.
15178         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
15179         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
15180         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
15181         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
15182         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
15183         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
15184         (glthread_recursive_lock_lock_func): Renamed from
15185         glthread_recursive_lock_lock.
15186         (glthread_recursive_lock_unlock_func): Renamed from
15187         glthread_recursive_lock_unlock.
15188         (glthread_recursive_lock_destroy_func): Renamed from
15189         glthread_recursive_lock_destroy.
15190
15191 2008-08-14  Bruno Haible  <bruno@clisp.org>
15192
15193         * lib/glthread/lock.h: Renamed from lib/lock.h.
15194         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
15195         * lib/glthread/tls.h: Renamed from lib/tls.h.
15196         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
15197         * lib/fstrcmp.c: Update includes.
15198         * lib/strsignal.c: Update includes.
15199         * modules/lock (Files, Makefile.am): Update.
15200         (Include): Change to "glthread/lock.h".
15201         * modules/tls (Files, Makefile.am): Update.
15202         (Include): Change to "glthread/tls.h".
15203         * tests/test-lock.c: Update includes.
15204         * tests/test-tls.c: Update includes.
15205         * NEWS: Mention the renamed header files.
15206
15207 2008-08-11  Jim Meyering  <meyering@redhat.com>
15208
15209         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
15210
15211 2008-08-11  Eric Blake  <ebb9@byu.net>
15212
15213         test-c-stack: avoid C99-ism
15214         * tests/test-c-stack.c (main): Fix whitespace, move declaration
15215         before statement.
15216         Reported by Alain Guibert.
15217
15218 2008-08-10  Jim Meyering  <meyering@redhat.com>
15219
15220         ensure that return value of uinttostr et al are not ignored
15221         * lib/inttostr.h (__GNUC_PREREQ): Define.
15222         (__attribute_warn_unused_result__): Define.
15223         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
15224
15225 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
15226
15227         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
15228         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
15229
15230 2008-08-07  Jim Meyering  <meyering@redhat.com>
15231
15232         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
15233
15234         * modules/mkstemp (License): Relicense under LGPLv2+.
15235         * modules/tempname (License): Likewise.
15236
15237 2008-08-06  Bruno Haible  <bruno@clisp.org>
15238
15239         * lib/poll.c (poll): Further micro-optimization.
15240
15241 2008-08-06  Jim Meyering  <meyering@redhat.com>
15242
15243         inet_pton.c: use locale-independent tolower
15244         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
15245         (inet_pton6): Use c_tolower rather than tolower.
15246         * modules/inet_pton (Depends-on): Add c-ctype.
15247
15248 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
15249
15250         * lib/poll.c (poll): Avoid division when timeout is 0, cache
15251         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
15252
15253 2008-08-06  Jim Meyering  <meyering@redhat.com>
15254
15255         * modules/inet_pton (License): Relicense under LGPLv2+.
15256
15257 2008-08-03  Bruno Haible  <bruno@clisp.org>
15258
15259         Additional non-aborting API for lock and tls.
15260         * lib/lock.h: Include <errno.h>.
15261         (glthread_lock_init): New macro/function.
15262         (gl_lock_init): Define as wrapper around glthread_lock_init.
15263         (glthread_lock_lock): New macro/function.
15264         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
15265         (glthread_lock_unlock): New macro/function.
15266         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
15267         (glthread_lock_destroy): New macro/function.
15268         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
15269         (glthread_rwlock_init): New macro/function.
15270         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
15271         (glthread_rwlock_rdlock): New macro/function.
15272         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
15273         (glthread_rwlock_wrlock): New macro/function.
15274         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
15275         (glthread_rwlock_unlock): New macro/function.
15276         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
15277         (glthread_rwlock_destroy): New macro/function.
15278         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
15279         (glthread_recursive_lock_init): New macro/function.
15280         (gl_recursive_lock_init): Define as wrapper around
15281         glthread_recursive_lock_init.
15282         (glthread_recursive_lock_lock): New macro/function.
15283         (gl_recursive_lock_lock): Define as wrapper around
15284         glthread_recursive_lock_lock.
15285         (glthread_recursive_lock_unlock): New macro/function.
15286         (gl_recursive_lock_unlock): Define as wrapper around
15287         glthread_recursive_lock_unlock.
15288         (glthread_recursive_lock_destroy): New macro/function.
15289         (gl_recursive_lock_destroy): Define as wrapper around
15290         glthread_recursive_lock_destroy.
15291         (glthread_once): New macro/function.
15292         (gl_once): Define as wrapper around glthread_once.
15293         Update function declarations.
15294         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
15295         glthread_rwlock_init. Return error code.
15296         (glthread_rwlock_rdlock_multithreaded): Renamed from
15297         glthread_rwlock_rdlock. Return error code.
15298         (glthread_rwlock_wrlock_multithreaded): Renamed from
15299         glthread_rwlock_wrlock. Return error code.
15300         (glthread_rwlock_unlock_multithreaded): Renamed from
15301         glthread_rwlock_unlock. Return error code.
15302         (glthread_rwlock_destroy_multithreaded): Renamed from
15303         glthread_rwlock_destroy. Return error code.
15304         (glthread_recursive_lock_init_multithreaded): Renamed from
15305         glthread_recursive_lock_init. Return error code.
15306         (glthread_recursive_lock_lock_multithreaded): Renamed from
15307         glthread_recursive_lock_lock. Return error code.
15308         (glthread_recursive_lock_unlock_multithreaded): Renamed from
15309         glthread_recursive_lock_unlock. Return error code.
15310         (glthread_recursive_lock_destroy_multithreaded): Renamed from
15311         glthread_recursive_lock_destroy. Return error code.
15312         (glthread_once_call): Make static.
15313         (glthread_once_multithreaded): Renamed from glthread_once.
15314         * lib/tls.h: Include <errno.h>.
15315         (glthread_tls_key_init): New macro/function.
15316         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
15317         (glthread_tls_set): New macro/function.
15318         (gl_tls_set): Define as wrapper around glthread_tls_set.
15319         (glthread_tls_key_destroy): New macro/function.
15320         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
15321         Update function declarations.
15322         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
15323         glthread_tls_get.
15324         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15325
15326 2008-08-04  Eric Blake  <ebb9@byu.net>
15327
15328         gnumakefile: use space, not TAB, outside of targets
15329         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
15330
15331 2008-08-02  Jim Meyering  <meyering@redhat.com>
15332
15333         getdate.y: avoid locale-dependent date parsing failure
15334         In Turkish locales, getdate would fail to recognize keywords
15335         containing a lowercase "i".  The solution is not to rely on
15336         locale-sensitive case-conversion.
15337         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
15338         (lookup_word): Use c_toupper in place of toupper.
15339         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
15340         Reported by Vefa Bicakci <bicave@superonline.com> in
15341         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
15342         * modules/getdate (Depends-on): Add c-ctype.
15343
15344 2008-08-02  Bruno Haible  <bruno@clisp.org>
15345
15346         * gnulib-tool (func_import): When updating or creating a .gitignore
15347         file, prepend each added line with a slash, and ignore leading slashes
15348         from the existing lines.
15349         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
15350
15351 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15352
15353         Portability fix for GNU make 3.79.1.
15354         * top/GNUmakefile: Avoid 'else COND', which older GNU make
15355         versions do not understand.
15356
15357 2008-08-01  Bruno Haible  <bruno@clisp.org>
15358
15359         Work around bug of HP-UX 10.20 cc with -0.0 literal.
15360         * tests/test-isnanf.h (zero): New variable.
15361         (main): Avoid literal -0.0f.
15362         * tests/test-isnand.h (zero): New variable.
15363         (main): Avoid literal -0.0.
15364         * tests/test-isnanl.h (zero): New variable.
15365         (main): Avoid literal -0.0L.
15366         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
15367         (test_float, test_double, test_long_double): Avoid literals -0.0f,
15368         -0.0, -0.0L.
15369         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
15370         (test_signbitd): Avoid literal -0.0.
15371         (test_signbitl): Avoid literal -0.0L.
15372         * tests/test-ceilf1.c (zero): New variable.
15373         (main): Avoid literal -0.0f.
15374         * tests/test-ceill.c (zero): New variable.
15375         (main): Avoid literal -0.0L.
15376         * tests/test-floorf1.c (zero): New variable.
15377         (main): Avoid literal -0.0f.
15378         * tests/test-floorl.c (zero): New variable.
15379         (main): Avoid literal -0.0L.
15380         * tests/test-roundf1.c (zero): New variable.
15381         (main): Avoid literal -0.0f.
15382         * tests/test-round1.c (zero): New variable.
15383         (main): Avoid literal -0.0.
15384         * tests/test-roundl.c (zero): New variable.
15385         (main): Avoid literal -0.0L.
15386         * tests/test-truncf1.c (zero): New variable.
15387         (main): Avoid literal -0.0f.
15388         * tests/test-trunc1.c (zero): New variable.
15389         (main): Avoid literal -0.0.
15390         * tests/test-truncl.c (zero): New variable.
15391         (main): Avoid literal -0.0L.
15392         * tests/test-frexp.c (zero): New variable.
15393         (main): Avoid literal -0.0.
15394         * tests/test-frexpl.c (zero): New variable.
15395         (main): Avoid literal -0.0L.
15396         * tests/test-ldexpl.c (zero): New variable.
15397         (main): Avoid literal -0.0L.
15398         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
15399         (zerod, zerol): New variables.
15400         (test_function): Avoid literals -0.0, -0.0L.
15401         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
15402         (zerod, zerol): New variables.
15403         (test_function): Avoid literals -0.0, -0.0L.
15404         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
15405         (zerod, zerol): New variables.
15406         (test_function): Avoid literals -0.0, -0.0L.
15407         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
15408         (zerod, zerol): New variables.
15409         (test_function): Avoid literals -0.0, -0.0L.
15410         * tests/test-strtod.c (zero): New variable.
15411         (main): Avoid literal -0.0.
15412         Reported by Jonathan C. Patschke <jp@centtech.com>.
15413
15414 2008-07-31  Jim Meyering  <meyering@redhat.com>
15415
15416         sha256.h: correct definition of SHA224_DIGEST_SIZE
15417         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
15418         Reported by Paulie Pena IV <paulie4@gmail.com>.
15419         Define as 224 / 8, rather than as a literal.
15420         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
15421         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
15422         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
15423
15424 2008-07-31  Bruno Haible  <bruno@clisp.org>
15425
15426         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
15427         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
15428         Reported by Jonathan Patschke <jp@centtech.com>.
15429
15430 2008-07-31  Bruno Haible  <bruno@clisp.org>
15431
15432         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
15433         Reported by Paolo Bonzini <bonzini@gnu.org>.
15434
15435 2008-07-30  Eric Blake  <ebb9@byu.net>
15436
15437         test-strtod: allow compilation without -lm
15438         * tests/test-strtod.c (main): Avoid link dependence on fabs.
15439         Reported by Dennis Clarke <blastwave@gmail.com>.
15440
15441 2008-07-28  Jim Meyering  <meyering@redhat.com>
15442
15443         bootstrap: work also when there are no .po files in po/
15444         * build-aux/bootstrap (update_po_files): Complete the change
15445         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
15446
15447 2008-07-27  Jim Meyering  <meyering@redhat.com>
15448
15449         * users.txt: Add zile.
15450
15451 2008-07-26  Ben Pfaff  <blp@gnu.org>
15452
15453         Add missing dependencies on new m4/exponent[fdl].m4 files.
15454         * modules/isnanf-nolibm: Add m4/exponentf.m4.
15455         * modules/isnand-nolibm: Add m4/exponentd.m4.
15456         * modules/isnanl-nolibm: Add m4/exponentl.m4.
15457         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
15458         m4/isnan[fdl].m4, because the macros actually used moved.
15459         Reported by Jim Meyering.
15460
15461 2008-07-14  Ben Pfaff  <blp@gnu.org>
15462
15463         Add isinf module.
15464         * lib/isinf.c: New file.
15465         * lib/math.in.h: Define isinf macro if we have decided to replace
15466         it.
15467         * m4/isinf.m4: New file.
15468         * m4/math_h.m4: Initialize and substitute variables for isinf
15469         module.
15470         * modules/isinf: New file.
15471         * modules/isinf-tests: New file.
15472         * modules/math: Add substitutions for new module.
15473         * tests/test-isinf.c: New file.
15474         * doc/posix-functions/isinf.texi: Mention new module.
15475         * MODULES.html.sh: Mention new module.
15476
15477 2008-07-14  Ben Pfaff  <blp@gnu.org>
15478
15479         Factor out some macros for use by additional modules.
15480         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
15481         exponentf.m4.
15482         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
15483         exponentd.m4.
15484         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
15485         file exponentl.m4.
15486         * m4/exponentf.m4: New file.
15487         * m4/exponentd.m4: New file.
15488         * m4/exponentl.m4: New file.
15489         * modules/isnanf: Use new file m4/exponentf.m4.
15490         * modules/isnand: Use new file m4/exponentd.m4.
15491         * modules/isnanl: Use new file m4/exponentl.m4.
15492
15493 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
15494
15495         mktime.c: normalize tp->tm_isdst value to -1/0/1.
15496         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
15497         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
15498         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
15499
15500         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
15501         readlink on platforms without PATH_MAX.
15502
15503 2008-07-21  Eric Blake  <ebb9@byu.net>
15504
15505         Warn, not fail, on stale version.
15506         * top/GNUmakefile (_curr-ver): Tone down previous patch.
15507
15508         Don't allow installation with stale devel version number.
15509         * top/GNUmakefile (_is-install-target): New macro.
15510         (_curr-ver): Forbid installation with stale version number.
15511
15512 2008-07-20  Bruno Haible  <bruno@clisp.org>
15513
15514         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
15515         TESTS_ENVIRONMENT.
15516         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
15517
15518 2008-07-20  Bruno Haible  <bruno@clisp.org>
15519
15520         * lib/c-stack.h (c_stack_action): Add documentation.
15521         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
15522
15523 2008-07-20  Bruno Haible  <bruno@clisp.org>
15524
15525         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
15526         * modules/readlink (License): Likewise.
15527
15528 2008-07-17  Eric Blake  <ebb9@byu.net>
15529
15530         * modules/c-stack (Link): Fix typo.
15531
15532         Make c-stack use libsigsegv, when available.
15533         * modules/c-stack (Depends-on): Add libsigsegv.
15534         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
15535         needed.
15536         * lib/c-stack.c (SIGSTKSZ): Define fallback.
15537         (segv_handler, overflow_handler, c_stack_action)
15538         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
15539         implementation when libsigsegv is available, but only when using
15540         the library is necessary.
15541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
15542         comment, explaining why XSI check fails on Linux.
15543         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
15544         * tests/test-c-stack2.sh: Tweak skip message.
15545         * NEWS: Document new link-time requirements.
15546
15547 2008-07-16  Eric Blake  <ebb9@byu.net>
15548
15549         c-stack: Expose false positives when not using libsigsegv.
15550         * modules/c-stack-tests (Files): Expand test.
15551         * tests/test-c-stack.c (main): Add means to conditionally trigger
15552         non-overflow SIGSEGV.
15553         * tests/test-c-stack2.sh: New file.
15554
15555 2008-07-14  Bruno Haible  <bruno@clisp.org>
15556
15557         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
15558         Reported by Eric Blake.
15559
15560 2008-07-14  Sam Steingold  <sds@gnu.org>
15561             Bruno Haible  <bruno@clisp.org>
15562
15563         New module libsigsegv.
15564         * modules/libsigsegv: New file.
15565         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
15566         modifications.
15567         * MODULES.html.sh (Signal handling): New section.
15568
15569 2008-07-14  Bruno Haible  <bruno@clisp.org>
15570
15571         * modules/unictype/ctype-* (Description): Add the word "function".
15572         Improves the resulting doc in MODULES.html.
15573
15574 2008-07-12  Ben Pfaff  <blp@gnu.org>
15575
15576         Add longlong module.
15577         * modules/longlong: New file.
15578
15579 2008-07-12  Bruno Haible  <bruno@clisp.org>
15580
15581         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
15582         to empty.
15583
15584 2008-07-10  Ben Pfaff  <blp@gnu.org>
15585
15586         Add isnan module.
15587         * doc/posix-functions/isnan.texi: Mention new module.
15588         * lib/math.in.h: Define isnan macro if we have decided to replace
15589         it.
15590         * m4/isnan.m4: New file.
15591         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
15592         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
15593         also.
15594         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
15595         redundancy.
15596         * m4/math_h.m4: Initialize and substitute variables for isnan
15597         module.
15598         * modules/isnan: New file.
15599         * modules/isnan-tests: New file.
15600         * modules/math: Add substitutions for new module.
15601         * tests/test-isnan.c: New file.
15602         * MODULES.html.sh: Mention new module.
15603
15604 2008-07-10  Ben Pfaff  <blp@gnu.org>
15605
15606         Add isnanf module.
15607         * lib/isnanf.m4: New file.
15608         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
15609         (gl_HAVE_ISNANF_IN_LIBM): New macro.
15610         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
15611         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
15612         * modules/isnanf: New file.
15613         * modules/isnanf-tests: New file.
15614         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
15615         files.
15616         * tests/test-isnanf-nolibm.c: factored most of its contents into
15617         new file tests/test-isnanf.h.
15618         * tests/test-isnanf.h: New file.
15619         * tests/test-isnanf.c: New file.
15620         * MODULES.html.sh: Mention new module.
15621         * doc/glibc-functions/isnanf.texi: Mention new module.
15622
15623 2008-07-10  Ben Pfaff  <blp@gnu.org>
15624
15625         Add isnand module.
15626         * lib/isnand.h: New file.
15627         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
15628         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
15629         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
15630         functionality also.
15631         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
15632         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
15633         (gl_HAVE_ISNAND_IN_LIBM): New macro.
15634         * modules/isnand: New file.
15635         * modules/isnand-tests: New file.
15636         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
15637         files.
15638         * tests/test-isnand-nolibm.c: factored most of its contents into
15639         new file tests/test-isnand.h.
15640         * tests/test-isnand.h: New file.
15641         * tests/test-isnand.c: New file.
15642         * MODULES.html.sh: Mention new module.
15643
15644 2008-07-10  Ben Pfaff  <blp@gnu.org>
15645
15646         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
15647         * lib/isnand.h: Rename lib/isnand-nolibm.h.
15648         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
15649         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
15650         * modules/isnanf-nolibm: Update references to renamed files.
15651         * modules/isnand-nolibm: Likewise.
15652         * modules/isnanf-nolibm-tests: Likewise.
15653         * modules/isnand-nolibm-tests: Likewise.
15654         * lib/frexp.c: Likewise.
15655         * lib/isfinite.c: Likewise.
15656         * lib/signbitd.c: Likewise.
15657         * lib/signbitf.c: Likewise.
15658         * lib/vasnprintf.c: Likewise.
15659         * tests/test-ceilf1.c: Likewise.
15660         * tests/test-ceilf2.c: Likewise.
15661         * tests/test-floorf1.c: Likewise.
15662         * tests/test-floorf2.c: Likewise.
15663         * tests/test-frexp.c: Likewise.
15664         * tests/test-round1.c: Likewise.
15665         * tests/test-round2.c: Likewise.
15666         * tests/test-roundf1.c: Likewise.
15667         * tests/test-strtod.c: Likewise.
15668         * tests/test-trunc1.c: Likewise.
15669         * tests/test-trunc2.c: Likewise.
15670         * tests/test-truncf1.c: Likewise.
15671         * tests/test-truncf2.c: Likewise.
15672         * NEWS: Mention the renamed header files.
15673
15674 2008-07-11  Jim Meyering  <meyering@redhat.com>
15675
15676         vc-list-files: make the last-resort awk code more portable
15677         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
15678         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
15679         does not support it.
15680
15681 2008-07-10  Eric Blake  <ebb9@byu.net>
15682
15683         Work with tar's bootstrap.
15684         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
15685         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
15686         an m4 comment.
15687
15688 2008-07-09  Jim Meyering  <meyering@redhat.com>
15689
15690         posix-shell.m4: fix typo that made this test malfunction
15691         * m4/posix-shell.m4: Remove capitalization in variable name.
15692
15693 2008-07-08  Bruno Haible  <bruno@clisp.org>
15694
15695         * m4/onceonly.m4: Update comments.
15696         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15697
15698 2008-07-04  Jim Meyering  <meyering@redhat.com>
15699
15700         * users.txt: Add vc-dwim.
15701         (bison, coreutils): Use the gitweb URL.
15702
15703 2008-07-03  Jim Meyering  <meyering@redhat.com>
15704
15705         * users.txt: Add libffcall.  From Sam Steingold.
15706
15707 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
15708
15709         getdate.y: do not ignore TZ with relative day, month or year offset
15710         * lib/getdate.y (get_date): Move the tz-handling block to follow the
15711         relative-date-handling, since otherwise, the latter would clobber the
15712         sole output (an updated Start value) of the tz-handling block.
15713         * tests/test-getdate.c: Tests for the fix
15714
15715 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15716
15717         Recognize 'foo_LIBRARIES += libgnu.a'.
15718         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
15719         makefile snippet has already specified an installation location,
15720         also using '+='.
15721
15722 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
15723
15724         getdate.y: factor out common actions
15725         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
15726         Use them in place of open-coded actions.
15727
15728 2008-07-01  Simon Josefsson  <simon@josefsson.org>
15729
15730         Add self-test for getdate module.
15731         * modules/getdate-tests: New file.
15732         * tests/test-getdate.c: New file.
15733
15734 2008-06-29  Bruno Haible  <bruno@clisp.org>
15735
15736         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
15737         .gitignore.
15738         Reported by Sylvain Beucler <beuc@beuc.net>.
15739
15740 2008-06-29  Bruno Haible  <bruno@clisp.org>
15741
15742         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
15743         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
15744
15745 2008-06-29  Bruno Haible  <bruno@clisp.org>
15746
15747         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
15748         EXTRA_DIST.
15749         Reported by Sylvain Beucler <beuc@beuc.net>.
15750
15751 2008-06-26  Jim Meyering  <meyering@redhat.com>
15752
15753         make several modules depend on the "open" module
15754         This provides slightly increased consistency when opening-for-write
15755         the name of a non-directory spelled with a trailing slash.
15756         * modules/chdir-safer: Likewise.
15757         * modules/chown: Likewise.
15758         * modules/clean-temp: Likewise.
15759         * modules/copy-file: Likewise.
15760         * modules/fchdir: Likewise.
15761         * modules/fcntl-safer: Likewise.
15762         * modules/pipe: Likewise.
15763         * modules/utime: Likewise.
15764         Prompted by Eric Blake and Bruno Haible.
15765
15766 2008-06-24  Andreas Schwab  <schwab@suse.de>
15767
15768         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
15769         literals can be used as initializers for global variables.
15770
15771 2008-06-23  Eric Blake  <ebb9@byu.net>
15772
15773         Make gnulib-cache.m4 easier to diff.
15774         * gnulib-tool (func_import): Allow newlines when reading cached
15775         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
15776
15777 2008-06-23  Bruno Haible  <bruno@clisp.org>
15778
15779         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
15780         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
15781         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
15782         m4/signalblocking.m4.
15783         (gl_PREREQ_SIGACTION): Don't invoke it.
15784         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
15785         gl_PREREQ_SIG_HANDLER_H.
15786         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15787         Don't check for sigaction here.
15788
15789 2008-06-23  Bruno Haible  <bruno@clisp.org>
15790
15791         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
15792         (install_handlers): Don't set the SA_RESETHAND flag.
15793
15794 2008-06-23  Bruno Haible  <bruno@clisp.org>
15795
15796         * m4/sigaction.m4: Comment fixes.
15797         * lib/signal.in.h: Likewise.
15798
15799 2008-06-23  Eric Blake  <ebb9@byu.net>
15800
15801         Fix typo.
15802         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
15803
15804         Avoid SA_ namespace.
15805         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
15806         Reported by Ralf Wildenhues.
15807
15808         Avoid test failure due to SA_RESTORER.
15809         * tests/test-sigaction.c (SA_MASK): New macro.
15810         (main): Avoid failing due to extension flags being set.
15811         Reported by Jim Meyering.
15812
15813         Revert use of sig-handler.h in sigprocmask.c.
15814         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
15815         it requires the existence of struct sigaction.
15816         * lib/sigprocmask.c (handler_t): Restore typedef.
15817         (rpl_signal, old_handlers): Use local type.
15818
15819 2008-06-22  Bruno Haible  <bruno@clisp.org>
15820
15821         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
15822         conditionally.
15823         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15824
15825 2008-06-22  Bruno Haible  <bruno@clisp.org>
15826
15827         * doc/posix-functions/siginterrupt.texi: Move note.
15828
15829         * lib/signal.in.h (SA_RESTART): New macro.
15830         * lib/sigaction.c: Update comment.
15831
15832         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
15833
15834         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
15835         (gl_PREREQ_SIGPROCMASK): Invoke it.
15836         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
15837
15838         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
15839
15840         * lib/sigprocmask.c: Update a comment.
15841
15842 2008-06-21  Eric Blake  <ebb9@byu.net>
15843
15844         Use sigaction module rather than signal().
15845         * modules/c-stack (Depends-on): Add sigaction.
15846         * modules/fatal-signal (Depends-on): Likewise.
15847         * modules/nanosleep (Depends-on): Likewise.
15848         * modules/sigprocmask (Files): Add sig-handler.h.
15849         * modules/sigaction (Files): Likewise.
15850         * lib/sig-handler.h (get_handler): New file, suggested by Paul
15851         Eggert.
15852         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
15853         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
15854         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
15855         (init_fatal_signals): Likewise.
15856         * lib/nanosleep.c (rpl_nanosleep): Likewise.
15857         (siginterrupt): Delete fallback.
15858         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
15859         instead.
15860         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
15861         siginterrupt.
15862
15863         New module sigaction, for mingw.
15864         * modules/sigaction: New module...
15865         * modules/sigaction-tests: ...and its test.
15866         * m4/sigaction.m4: New file.
15867         * lib/sigaction.c: Likewise.
15868         * tests/test-sigaction.c: Likewise.
15869         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
15870         * modules/signal (Makefile.am): Likewise.
15871         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
15872         needed.
15873         * doc/posix-headers/signal.texi (signal.h): Mention provided
15874         types.
15875         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
15876         that sigaction is preferable.
15877         * doc/posix-functions/sigaction.texi (sigaction): Mention new
15878         module.
15879         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15880         sigaction.
15881
15882         Improve robustness of sigprocmask by overriding signal.
15883         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
15884         is in use.
15885         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
15886         (SIGKILL, SIGSTOP): Provide fallbacks.
15887         (rpl_signal): Implement.
15888         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
15889         signal can be called inside handlers.
15890
15891         Fix nanosleep module on mingw.
15892         * modules/nanosleep (Depends-on): Add sys_select.
15893         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
15894
15895         Fix licensing of sigprocmask.
15896         * modules/raise (License): Relicense as LGPL.
15897
15898 2008-06-21  Bruno Haible  <bruno@clisp.org>
15899
15900         * lib/propername.c (proper_name_utf8): Don't use the transliterated
15901         result if it contains question marks.
15902         Reported by Michael Geng <linux@michaelgeng.de>.
15903
15904 2008-06-19  Bruno Haible  <bruno@clisp.org>
15905
15906         Fix CVS-ism.
15907         * doc/gnulib.texi: Include updated-stamp.texi.
15908         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
15909         (updated-stamp.texi): New rule.
15910         (gnulib.info): Depend on it.
15911         * doc/.gitignore: Add updated-stamp.texi.
15912         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
15913
15914 2008-06-19  Bruno Haible  <bruno@clisp.org>
15915
15916         * doc/Makefile (gnulib.info): Update and simplify dependencies.
15917         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15918
15919 2008-06-19  Eric Blake  <ebb9@byu.net>
15920
15921         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
15922         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
15923         Reported by Stepan Kasal.
15924
15925 2008-06-18  Bruno Haible  <bruno@clisp.org>
15926
15927         * lib/fatal-signal.c (init_fatal_signals): Add comment.
15928         Reported by Eric Blake.
15929
15930 2008-06-18  Eric Blake  <ebb9@byu.net>
15931
15932         Work around cygwin 1.5.25 strsignal bug.
15933         * tests/test-strsignal.c: Allow for const char *.
15934         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
15935
15936 2008-06-18  Simon Josefsson  <simon@josefsson.org>
15937
15938         * users.txt: Update URL to article and add author/date
15939         information.
15940
15941 2008-06-17  Bruno Haible  <bruno@clisp.org>
15942
15943         New macro gl_DISABLE_THREADS.
15944         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
15945         if the user did not pass --enable-threads or --disable-threads option.
15946         (gl_DISABLE_THREADS): New macro.
15947         Reported by Eric Blake <ebb9@byu.net>.
15948
15949 2008-06-17  Bruno Haible  <bruno@clisp.org>
15950
15951         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
15952         when the macro ignores it.
15953         Based on a patch by Eric Blake <ebb9@byu.net>.
15954
15955 2008-06-17  Bruno Haible  <bruno@clisp.org>
15956
15957         * modules/tls (License): Change to LGPLv2+.
15958         Reported by Eric Blake.
15959
15960 2008-06-17  Eric Blake  <ebb9@byu.net>
15961
15962         Simplify c-stack prerequisites.
15963         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
15964         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
15965         no longer requires <ucontext.h> to exist.  Optimize setrlimit
15966         check.
15967         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
15968         <sys/resource.h>.
15969
15970         Move c-stack test into testsuite.
15971         * modules/c-stack-tests: New file.
15972         * lib/c-stack.c [DEBUG]: Move test program...
15973         * tests/test-c-stack.c: ...into this new file.  Skip rather than
15974         fail test if sigaltstack is lacking.
15975         * tests/test-c-stack.sh: New driver file.
15976
15977 2008-06-16  Eric Blake  <ebb9@byu.net>
15978
15979         Use raise module consistently.
15980         * modules/fatal-signal (Depends-on): Add raise.
15981         * modules/sigprocmask (Depends-on): Likewise.
15982         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
15983         * lib/sigprocmask.c (sigprocmask): Likewise.
15984         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15985         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
15986
15987         Fix compliance bug in sigpending.
15988         * lib/sigprocmask.c (sigpending): Return pending array via
15989         parameter, not return value.
15990
15991 2008-06-14  Eric Blake  <ebb9@byu.net>
15992
15993         Improve obstack-printf test code.
15994         * tests/test-obstack-printf.c (test_function): Fix comment, and
15995         simplify usage of obstack_* in macros.  Add a test for coverage.
15996         Reported by Bruno Haible.
15997
15998 2008-06-14  Bruno Haible  <bruno@clisp.org>
15999
16000         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
16001         array size as a constant, not as a const variable.
16002         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
16003         AC_USE_SYSTEM_EXTENSIONS.
16004         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16005         Test whether the obstack_printf function actually exists.
16006         * modules/obstack-printf (Depends-on): Add extensions.
16007         (Include): Remove obstack.h.
16008         * modules/obstack-printf-posix (Depends-on): Add extensions.
16009         (Include): Remove obstack.h.
16010
16011 2008-06-13  Eric Blake  <ebb9@byu.net>
16012
16013         Add obstack-printf and obstack-printf-posix modules.
16014         * modules/obstack-printf: New file.
16015         * modules/obstack-printf-posix: Likewise.
16016         * MODULES.html.sh (Misc): Mention them.
16017         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
16018         Likewise.
16019         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
16020         Likewise.
16021         * modules/stdio (Makefile.am): Accomodate new modules.
16022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16023         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
16024         Declare.
16025         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
16026         functions.
16027         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
16028         (gl_REPLACE_OBSTACK_PRINTF): New macros
16029         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
16030         * tests/test-obstack-printf.c: New file.
16031         * modules/obstack-printf-tests: Likewise.
16032         * modules/obstack-printf-posix-tests: Likewise.
16033
16034 2008-06-11  Bruno Haible  <bruno@clisp.org>
16035
16036         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
16037         * lib/open.c: Include errno.h.
16038         (open): Fail when attempting to write to a file that has a trailing
16039         slash.
16040         * tests/test-open.c (main): Test against trailing slash bug.
16041         * doc/posix-functions/open.texi: Mention the trailing slash bug.
16042
16043 2008-06-10  Bruno Haible  <bruno@clisp.org>
16044
16045         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
16046         for $? to work inside the trap command, with various /bin/sh-s.
16047         * tests/test-vc-list-files-cvs.sh: Likewise.
16048
16049 2008-06-10  Bruno Haible  <bruno@clisp.org>
16050
16051         * lib/acl-internal.h: Don't include gettext.h here.
16052         * lib/set-mode-acl.c: Include gettext.h here.
16053         * lib/copy-acl.c: Likewise.
16054
16055 2008-06-10  Bruno Haible  <bruno@clisp.org>
16056
16057         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
16058         * lib/wait-process.c (wait_subprocess): Likewise.
16059         * lib/execute.h (execute): Add termsigp argument.
16060         * lib/execute.c (execute): Likewise.
16061         * lib/csharpcomp.c (compile_csharp_using_pnet,
16062         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
16063         * lib/csharpexec.c (execute_csharp_using_pnet,
16064         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
16065         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
16066         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
16067         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
16068         is_jikes_present): Update.
16069         * lib/javaexec.c (execute_java_class): Update.
16070         * lib/javaversion.c (execute_and_read_line): Update.
16071         * NEWS: Document the changes.
16072         Reported by Eric Blake.
16073
16074 2008-06-10  Eric Blake  <ebb9@byu.net>
16075
16076         Add missing include.
16077         * tests/test-strstr.c (includes): Add <signal.h>.
16078         * tests/test-strcasestr.c (includes): Likewise.
16079         * tests/test-memmem.c (includes): Likewise.
16080
16081 2008-06-10  Bruno Haible  <bruno@clisp.org>
16082
16083         * lib/wait-process.c (wait_subprocess): Add an assertion.
16084
16085 2008-06-10  Bruno Haible  <bruno@clisp.org>
16086
16087         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
16088
16089 2008-06-10  Bruno Haible  <bruno@clisp.org>
16090
16091         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
16092         using alarm().
16093         * tests/test-strcasestr.c (main): Likewise.
16094         * tests/test-strstr.c (main): Likewise.
16095
16096 2008-06-09  Bruno Haible  <bruno@clisp.org>
16097
16098         Work around the Solaris 10 ACE ACLs ABI change.
16099         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
16100         declare if ACL_NO_TRIVIAL is present.
16101         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
16102         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
16103         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
16104         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
16105         define if ACL_NO_TRIVIAL is present.
16106         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
16107         and use the current ABI.
16108         (file_has_acl): Use same #if condition as elsewhere.
16109         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
16110         in use, and use the current ABI.
16111         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
16112         Reported by Jim Meyering.
16113
16114 2008-06-09  Eric Blake  <ebb9@byu.net>
16115
16116         Work around environments that (stupidly) ignore SIGALRM.
16117         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
16118         before using alarm().
16119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16120         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
16121         Reported by Ian Beckwith <ianb@erislabs.net>.
16122
16123         Produce autobuild blurb earlier in log.
16124         * modules/autobuild (configure.ac-early): Move AB_INIT here.
16125
16126 2008-06-09  Jim Meyering  <meyering@redhat.com>
16127         and Ondřej Vašík  <ovasik@redhat.com>
16128
16129         utimens.c: correct kernel bug work-around
16130         Ondřej Vašík found that the invalid return value of 280 indicates
16131         failure, not success, and the kernel bug we're trying to work
16132         around affects not just the utimensat call, but also the fallback
16133         futimens call.
16134         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
16135         not success.
16136         [HAVE_FUTIMENS]: Use the same work-around, here.
16137
16138 2008-06-09  Jim Meyering  <meyering@redhat.com>
16139
16140         add more guards around definition of ACE_-related code
16141         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
16142         ALLOW and ACE_OWNER are also defined.
16143
16144 2008-06-08  Bruno Haible  <bruno@clisp.org>
16145
16146         * lib/acl-internal.h: Add me as co-author.
16147         * lib/file-has-acl.c: Likewise.
16148         * lib/set-mode-acl.c: Likewise.
16149         * lib/copy-acl.c: Likewise.
16150
16151 2008-06-08  Bruno Haible  <bruno@clisp.org>
16152
16153         Add support for AIX ACLs.
16154         * lib/acl-internal.h (acl_nontrivial): New declaration.
16155         * lib/file-has-acl.c (acl_nontrivial): New function.
16156         (file_has_acl): Add implementation using AIX 4 ACL API.
16157         * lib/set-mode-acl.c (qset_acl): Likewise.
16158         * lib/copy-acl.c (qcopy_acl): Likewise.
16159
16160 2008-06-08  Bruno Haible  <bruno@clisp.org>
16161
16162         Add support for HP-UX ACLs.
16163         * lib/acl-internal.h (acl_nontrivial): New declaration.
16164         * lib/file-has-acl.c (acl_nontrivial): New function.
16165         (file_has_acl): Add implementation using HP-UX 11 ACL API.
16166         * lib/set-mode-acl.c (qset_acl): Likewise.
16167         * lib/copy-acl.c (qcopy_acl): Likewise.
16168
16169 2008-06-08  Bruno Haible  <bruno@clisp.org>
16170
16171         Add support for Cygwin ACLs.
16172         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
16173         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
16174         the chmod_or_fchmod call.
16175         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
16176
16177 2008-06-08  Bruno Haible  <bruno@clisp.org>
16178
16179         Fix bug with setuid modes in Solaris 10+ code.
16180         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
16181         succeeded, when the mode contains some special bits.
16182
16183 2008-06-08  Bruno Haible  <bruno@clisp.org>
16184
16185         Add support for Solaris 7..10 ACLs.
16186         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
16187         declarations.
16188         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
16189         functions.
16190         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
16191         * lib/set-mode-acl.c (qset_acl): Likewise.
16192         * lib/copy-acl.c (qcopy_acl): Likewise.
16193
16194 2008-06-08  Bruno Haible  <bruno@clisp.org>
16195
16196         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
16197         declaration.
16198         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
16199         (acl_access_nontrivial): Remove MacOS X case.
16200         (file_has_acl): Use acl_extended_nontrivial.
16201         * lib/copy-acl.c (qcopy_acl): Likewise.
16202
16203 2008-06-08  Bruno Haible  <bruno@clisp.org>
16204
16205         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
16206
16207 2008-06-08  Jim Meyering  <meyering@redhat.com>
16208
16209         * modules/acl (Maintainer): Add Bruno Haible.
16210
16211 2008-06-07  Bruno Haible  <bruno@clisp.org>
16212
16213         Improve support for Tru64 ACLs.
16214         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
16215         ACL on OSF/1.
16216
16217 2008-06-07  Bruno Haible  <bruno@clisp.org>
16218
16219         Add support for MacOS X ACLs.
16220         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
16221         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
16222         * lib/set-mode-acl.c (qset_acl): Likewise.
16223         * lib/copy-acl.c (qcopy_acl): Likewise.
16224
16225 2008-06-07  Bruno Haible  <bruno@clisp.org>
16226
16227         Fix memory leak introduced on 2008-05-22.
16228         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
16229         use.
16230
16231 2008-06-07  Bruno Haible  <bruno@clisp.org>
16232
16233         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
16234         to construct an empty ACL.
16235
16236 2008-06-07  Bruno Haible  <bruno@clisp.org>
16237
16238         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
16239         precisely.
16240         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
16241
16242 2008-06-07  Bruno Haible  <bruno@clisp.org>
16243
16244         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
16245         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
16246
16247 2008-06-07  Bruno Haible  <bruno@clisp.org>
16248
16249         * doc/posix-functions/_setjmp.texi: Explain the use of this function
16250         regardless of POSIX.
16251         * doc/posix-functions/_longjmp.texi: Likewise.
16252         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
16253         SystemV platform in this case.
16254
16255 2008-06-06  Eric Blake  <ebb9@byu.net>
16256
16257         Document abort() bugs.
16258         * doc/posix-functions/abort.texi (abort): Mention anomalies.
16259
16260         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
16261         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
16262         sigsetjmp.
16263         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
16264         siglongjmp, but only as a macro.
16265         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
16266         is obsolete.
16267         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
16268
16269         Tweak documentation to cover cygwin argz bugs.
16270         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
16271         argz bug fix; no code change needed since no cygwin releases
16272         occurred between the last fix and the bug being tested.
16273         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
16274         module and recently fixed cygwin bugs.
16275         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
16276         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
16277         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
16278         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
16279         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
16280         Likewise.
16281         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
16282         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
16283         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
16284         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
16285         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
16286         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
16287         Likewise.
16288
16289         Avoid gcc warning on cygwin.
16290         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
16291         !ACL_NO_TRIVIAL]: Avoid unused variable.
16292
16293 2008-06-05  Eric Blake  <ebb9@byu.net>
16294
16295         Be tolerant of UNKNOWN version in gnulib-tool test dir.
16296         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
16297         git-version-gen fails to come up with a version.
16298         Reported by Simon Josefsson.
16299
16300 2008-06-05  Jim Meyering  <meyering@redhat.com>
16301             Paul Eggert  <eggert@cs.ucla.edu>
16302
16303         utimens.c: work around a probable Linux kernel bug
16304         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
16305         appears to be a kernel bug that causes utimensat to return 280
16306         instead of 0, indicating success.
16307
16308 2008-06-04  Bruno Haible  <bruno@clisp.org>
16309
16310         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
16311         2008-06-01 commit.
16312
16313 2008-06-04  Bruno Haible  <bruno@clisp.org>
16314
16315         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
16316         * lib/file-has-acl.c (acl_access_nontrivial): New function.
16317         (file_has_acl): Use it. Save errno afterwards.
16318         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
16319
16320 2008-06-03  Bruno Haible  <bruno@clisp.org>
16321
16322         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
16323         draft code. Simplify #ifs.
16324         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
16325         Put Solaris code after POSIX-draft code. Fix comments regarding
16326         Solaris 10, HP-UX. Mention Cygwin.
16327         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
16328
16329 2008-06-03  Eric Blake  <ebb9@byu.net>
16330
16331         Provide fallback for older kernels.
16332         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
16333         Provide runtime fallback if kernel lacks support.
16334         Reported by Mike Frysinger.
16335
16336 2008-06-02  Bruno Haible  <bruno@clisp.org>
16337
16338         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
16339         it exists.
16340
16341 2008-06-02  Bruno Haible  <bruno@clisp.org>
16342
16343         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
16344         * lib/copy-acl.c (qcopy_acl): Update comment.
16345
16346 2008-06-02  Bruno Haible  <bruno@clisp.org>
16347
16348         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
16349         like ACL APIs.
16350
16351 2008-06-02  Bruno Haible  <bruno@clisp.org>
16352
16353         * tests/test-file-has-acl.sh: Use different code for Cygwin.
16354         * tests/test-set-mode-acl.sh: Likewise.
16355         * tests/test-copy-acl.sh: Likewise.
16356         * tests/test-copy-file.sh: Likewise.
16357
16358 2008-06-02  Bruno Haible  <bruno@clisp.org>
16359
16360         * tests/test-file-has-acl.sh: Remove unused code.
16361
16362 2008-06-01  Bruno Haible  <bruno@clisp.org>
16363
16364         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
16365         (copy_acl): Just a wrapper around qcopy_acl that emits the error
16366         messages.
16367         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
16368
16369 2008-06-01  Bruno Haible  <bruno@clisp.org>
16370
16371         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
16372         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
16373         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
16374         APIs.
16375         * modules/acl-tests (configure.ac): Remove tests now contained in
16376         m4/acl.m4.
16377
16378 2008-06-02  Jim Meyering  <meyering@redhat.com>
16379
16380         announce-gen: use a better key-server host name
16381         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
16382         it may be more consistently reliable.  Suggested by Werner Koch
16383         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
16384
16385 2008-06-01  Bruno Haible  <bruno@clisp.org>
16386
16387         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
16388         Reported by Voroskoi Andras <voroskoi@gmail.com>.
16389
16390 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
16391
16392         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
16393
16394 2008-06-01  Bruno Haible  <bruno@clisp.org>
16395
16396         New ACL tests.
16397         * tests/test-file-has-acl.sh: New file.
16398         * tests/test-file-has-acl.c: New file.
16399         * tests/test-set-mode-acl.sh: New file.
16400         * tests/test-set-mode-acl.c: New file.
16401         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
16402         * tests/test-copy-acl.c: New file.
16403         * modules/acl-tests: New file, based on modules/copy-file-tests.
16404         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
16405         (Depends-on): Add acl-tests.
16406         (configure.ac): Remove checks.
16407         (Makefile.am): Don't create test-sameacls program here any more.
16408
16409 2008-06-01  Bruno Haible  <bruno@clisp.org>
16410
16411         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
16412         * tests/test-sameacls.c: Include progname.h.
16413         (main): Invoke set_program_name. Portability fixes for MacOS X,
16414         Solaris, HP-UX.
16415
16416 2008-06-01  Bruno Haible  <bruno@clisp.org>
16417
16418         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
16419         function.
16420         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
16421
16422 2008-06-01  Bruno Haible  <bruno@clisp.org>
16423
16424         * modules/rpmatch (Depends-on): Add strdup.
16425
16426 2008-06-01  Bruno Haible  <bruno@clisp.org>
16427
16428         * lib/pipe.c: Include unistd-safer.h.
16429         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
16430         * modules/pipe (Depends-on): Add unistd-safer.
16431
16432 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16433
16434         * modules/autobuild (configure.ac): Call AB_INIT.
16435
16436 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16437
16438         * tests/test-getaddrinfo.c: Don't print debug messages by default.
16439         Suggested by Bruno Haible <bruno@clisp.org>.
16440
16441 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16442
16443         * tests/test-base64.c: Cast size_t to unsigned long when invoking
16444         printf.  Use %lu instead of %d.  Reported by Bruno Haible
16445         <bruno@clisp.org>.
16446
16447 2008-05-29  Eric Blake  <ebb9@byu.net>
16448
16449         Prefer new POSIX 200x interfaces over futimesat.
16450         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
16451         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
16452         when available.
16453         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
16454
16455 2008-05-28  Bruno Haible  <bruno@clisp.org>
16456
16457         * modules/stpcpy (License): Change to LGPLv2+.
16458         Requested by David Lutterkort <dlutter@redhat.com>.
16459
16460 2008-05-27  Bruno Haible  <bruno@clisp.org>
16461
16462         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
16463         current mingw.
16464         Reported by Jose E. Marchesi <jemarch@gnu.org>.
16465
16466 2008-05-27  Bruno Haible  <bruno@clisp.org>
16467
16468         * modules/iconv_open (Link): New section, from module 'iconv'.
16469         * modules/striconv (Link): Likewise.
16470         * modules/striconveh (Link): Likewise.
16471         * modules/xstriconv (Link): Likewise.
16472         * modules/unicodeio (Link): Likewise.
16473         * modules/propername (Link): Likewise.
16474         Reported by Jim Meyering.
16475
16476 2008-05-26  Jim Meyering  <meyering@redhat.com>
16477
16478         sha256: do not artificially restrict buffer length to be < 2^32
16479         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
16480         uint32_t to size_t.
16481         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
16482         to match.
16483
16484         avoid unaligned access errors, e.g., on sparc
16485         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
16486         direct access through a possibly-unaligned uint64* pointer.
16487         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
16488         direct access through a possibly-unaligned uint32* pointer.
16489         Prompted by this patch from Tom "spot" Callaway:
16490         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
16491
16492         sha512.c: fix typo in comment
16493         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
16494
16495 2008-05-25  Bruno Haible  <bruno@clisp.org>
16496
16497         * lib/set-mode-acl.c: Renamed from lib/acl.c.
16498         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
16499         (Makefile.am): Update lib_SOURCES.
16500
16501 2008-05-25  Bruno Haible  <bruno@clisp.org>
16502
16503         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
16504
16505 2008-05-25  Jim Meyering  <meyering@redhat.com>
16506
16507         useless-if-before-free: freed expr may have white-space differences
16508         * build-aux/useless-if-before-free: Recognize cases in which the
16509         freed expression differs from the tested one in embedded white
16510         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
16511         $1 was used, so we can't make any regexp shy.  Improved tests now
16512         detect this.
16513
16514         useless-if-before-free: accept white space in the expression.
16515         * build-aux/useless-if-before-free: For now, any white space
16516         in the expression must be identical in the free argument.
16517
16518         useless-if-before-free: efficiency tweak
16519         * build-aux/useless-if-before-free: Make the expression-matching
16520         regexp "shy".
16521         Make the *outer* regexp shy, not the expr-matching one.
16522
16523         update code-in-comment to accept cast of free arg
16524         * build-aux/useless-if-before-free: Update regexp.
16525
16526 2008-05-25  Bruno Haible  <bruno@clisp.org>
16527
16528         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
16529         * modules/copy-file-tests (Files, Makefile.am): Update.
16530         * tests/test-copy-file.c (func_test_copy): Update.
16531
16532 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
16533
16534         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
16535
16536 2008-05-23  Bruno Haible  <bruno@clisp.org>
16537
16538         Improve support for ACLs on OSF/1.
16539         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
16540         Remove fallback for unknown flavors of ACLs.
16541
16542 2008-05-22  Bruno Haible  <bruno@clisp.org>
16543
16544         Add support for ACLs on OSF/1.
16545         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
16546         replacements.
16547         (acl_free_text): New macro fallback.
16548         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
16549         acl_free.
16550         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
16551         acl_free_text function. Require AC_C_INLINE.
16552
16553 2008-05-22  Bruno Haible  <bruno@clisp.org>
16554
16555         Make copy_acl work on MacOS X 10.5.
16556         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
16557         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
16558         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
16559         If MODE_INSIDE_ACL, don't assume that every system has the same text
16560         representation for ACLs as FreeBSD.
16561         * lib/copy-acl.c (copy_acl): Add support for platforms with
16562         !MODE_INSIDE_ACL.
16563         * lib/file-has-acl.c (file_has_acl): Likewise.
16564         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
16565         FreeBSD, MacOS X, or IRIX, respectively.
16566
16567 2008-05-22  Bruno Haible  <bruno@clisp.org>
16568
16569         * lib/acl.h: Don't include <sys/acl.h>.
16570         (GETACLCNT): Move fallback to lib/acl-internal.h.
16571         * lib/acl-internal.h: Include <sys/acl.h> here.
16572         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
16573
16574 2008-05-22  Bruno Haible  <bruno@clisp.org>
16575
16576         Split off copy_acl function to separate file.
16577         * lib/copy-acl.c: New file, extracted from lib/acl.c.
16578         * lib/acl.c (copy_acl): Moved function to separate file.
16579         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
16580         * modules/acl (Files): Add lib/copy-acl.c.
16581         (Makefiles.am): Augment lib_SOURCES.
16582
16583 2008-05-22  Bruno Haible  <bruno@clisp.org>
16584
16585         * modules/copy-file-tests: New file.
16586         * tests/test-copy-file.sh: New file.
16587         * tests/test-copy-file.c: New file.
16588         * tests/test-copy-file-sameacls.c: New file.
16589
16590 2008-05-22  Eric Blake  <ebb9@byu.net>
16591
16592         Avoid gcc warning.
16593         * tests/test-memcmp.c (main): Pass NULL indirectly.
16594
16595 2008-05-21  Bruno Haible  <bruno@clisp.org>
16596
16597         Add reference doc about ACLs.
16598         * doc/acl-resources.txt: New file.
16599         * doc/acl-cygwin.txt: New file.
16600
16601 2008-05-21  Bruno Haible  <bruno@clisp.org>
16602
16603         Avoid one more warning from gcc.
16604         * lib/vasnprintf.c (IF_LINT): Update comments.
16605         (VASNPRINTF): Use it also for the 'prefix' array initializer.
16606
16607 2008-05-21  Jim Meyering  <meyering@redhat.com>
16608
16609         avoid a warning from gcc
16610         * lib/vasnprintf.c (IF_LINT): Define.
16611         (scale10_round_decimal_long_double):
16612         Use it to avoid a "may be used uninitialized" warning.
16613         (scale10_round_decimal_double): Likewise.
16614
16615 2008-05-21  Simon Josefsson  <simon@josefsson.org>
16616
16617         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
16618         declared.
16619
16620 2008-05-20  Bruno Haible  <bruno@clisp.org>
16621
16622         * tests/test-memcmp.c (main): Test also the sign of the result. Test
16623         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
16624
16625 2008-05-20  Simon Josefsson  <simon@josefsson.org>
16626
16627         * modules/memcmp-tests: New file.
16628         * tests/test-memcmp.c: New file.
16629
16630 2008-05-19  Bruno Haible  <bruno@clisp.org>
16631
16632         * modules/propername (Notice, configure.ac): Put quoted "..." into
16633         --keyword option.
16634         * lib/propername.h: Update comments accordingly.
16635         Reported by Eric Blake.
16636
16637 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
16638
16639         * modules/getpass-gnu (Depends-on): Add fseeko.
16640
16641 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16642
16643         * modules/base64-tests: New file.
16644
16645 2008-05-19  Bo Borgerson <gigabo@gmail.com>
16646
16647         * lib/base64.c (base64_decode_ctx): If a decode context structure
16648         was passed in use it to ignore newlines.  If a context structure
16649         was _not_ passed in, continue to treat newlines as garbage (this
16650         is the historical behavior).  Formerly base64_decode.
16651         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16652         takes a decode context structure.
16653         * lib/base64.h (base64_decode): Macro for four-argument calls.
16654         (base64_decode_alloc): Likewise.
16655         * lib/base64.c (base64_decode_ctx): If a decode context structure
16656         was passed in use it to ignore newlines.  If a context structure
16657         was _not_ passed in, continue to treat newlines as garbage (this
16658         is the historical behavior).  Formerly base64_decode.
16659         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16660         takes a decode context structure.
16661         * lib/base64.h (base64_decode): Macro for four-argument calls.
16662         (base64_decode_alloc): Likewise.
16663
16664 2008-05-19  Jim Meyering  <meyering@redhat.com>
16665
16666         avoid a warning from gcc
16667         * lib/trim.c (IF_LINT): Define.
16668         (trim2): Use it to avoid a "may be used uninitialized" warning.
16669
16670         Fix doc typo.
16671         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
16672
16673 2008-05-19  Bruno Haible  <bruno@clisp.org>
16674
16675         * doc/glibc-functions/getpass.texi: Document limits of other
16676         implementations.
16677
16678 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16679             Bruno Haible <bruno@clisp.org>
16680
16681         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
16682
16683 2008-05-18  Bruno Haible  <bruno@clisp.org>
16684
16685         * modules/propername: New file, from GNU gettext.
16686         * lib/propername.h: New file, from GNU gettext.
16687         * lib/propername.c: New file, from GNU gettext.
16688         * MODULES.html.sh (Internationalization functions): Add propername.
16689
16690 2008-05-16  Jim Meyering  <meyering@redhat.com>
16691             Bruno Haible  <bruno@clisp.org>
16692
16693         Avoid some warnings from "gcc -Wshadow".
16694         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
16695
16696 2008-05-15  Eric Blake  <ebb9@byu.net>
16697
16698         Extend previous patch to cygwin 1.7.0.
16699         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
16700         fast implementation in cygwin >= 1.7.0.
16701         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16703
16704 2008-05-15  Bruno Haible  <bruno@clisp.org>
16705
16706         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
16707         implementation in glibc >= 2.9.
16708         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16709         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16710
16711 2008-05-15  Bruno Haible  <bruno@clisp.org>
16712
16713         * MODULES.html.sh (Internationalization functions): Remove linebreak.
16714         (Unicode string functions): Add unilbrk/*.
16715         Reported by Karl Berry.
16716
16717 2008-05-15  Eric Blake  <ebb9@byu.net>
16718
16719         Fix violation of <stdbool.h> replacement in regex.
16720         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
16721         * lib/regexec.c (re_search_internal): Likewise.
16722         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
16723
16724 2008-05-15  Jim Meyering  <meyering@redhat.com>
16725
16726         avoid distracting test output when git or cvs is not found
16727         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
16728         * tests/test-vc-list-files-git.sh: Likewise.
16729
16730 2008-05-15  Eric Blake  <ebb9@byu.net>
16731
16732         Glibc finally accepted the memmem speedup code, bugzilla #5514.
16733         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
16734         glibc version.
16735         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16736         * doc/posix-functions/strstr.texi (strstr): Likewise.
16737         * lib/str-two-way.h (MAX): Sychronize with glibc.
16738
16739 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
16740
16741         * lib/regcomp.c (optimize_utf8): Add a note on why we test
16742         opr.ctx_type.
16743         (calc_first): Initialize constraint field.
16744         (duplicate_node_closure): Use it instead of special casing ANCHORS.
16745         Fix grammar.
16746         (duplicate_node): Merge constraint field for all node types.
16747         (calc_eclosure_iter): Look at constraint field for all node types.
16748         * lib/regex_internal.c (create_cd_newstate): Don't look at
16749         opr.ctx_type.
16750
16751 2008-05-14  Bruno Haible  <bruno@clisp.org>
16752
16753         Help GCC to do better code generation.
16754         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
16755         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16756         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
16757         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
16758         Declare with attribute 'malloc' if supported.
16759
16760 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
16761
16762         use "echo STR|wc -c" rather than unportable "expr length STR"
16763         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
16764         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
16765
16766 2008-05-14  Jim Meyering  <meyering@redhat.com>
16767
16768         use dd ibs=$n count=1 ... rather than less-portable head -c$n
16769         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
16770         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
16771         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
16772         via Collin Lasse.
16773
16774 2008-05-14  Eric Blake  <ebb9@byu.net>
16775
16776         Avoid quadratic growth in gl_LIBSOURCES.
16777         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
16778         Suggested by Bruno Haible.
16779
16780         Test xmemdup0.
16781         * modules/xmemdup0-tests: New file.
16782         * tests/test-xmemdup0.c: Likewise.
16783
16784 2008-05-13  Eric Blake  <ebb9@byu.net>
16785
16786         Split xmemdup0 into its own module.
16787         * modules/xmemdup0: New file.
16788         * lib/xmemdup0.h: Likewise.
16789         * lib/xmemdup0.c: Likewise.
16790         * MODULES.html.sh (Memory management functions): Add xmemdup0.
16791         * lib/xalloc.h (xmemdup0): Remove.
16792         * lib/xmalloc.c (xmemdup0): Likewise.
16793
16794 2008-05-13  Eric Blake  <ebb9@byu.net>
16795             Bruno Haible  <bruno@clisp.org>
16796
16797         Reduce number of forks required during autoconf.
16798         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
16799         and gl_LIBSOURCES_DIR.
16800         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
16801         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
16802         m4_syscmd per file.
16803         <m4_foreach_w>: Move...
16804         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
16805
16806 2008-05-13  Eric Blake  <ebb9@byu.net>
16807
16808         * gnulib-tool: Fix various comment typos.
16809
16810 2008-05-12  Bruno Haible  <bruno@clisp.org>
16811
16812         Tailor the linebreaking algorithm.
16813         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
16814
16815 2008-05-12  Bruno Haible  <bruno@clisp.org>
16816
16817         Update to Unicode 5.0.0.
16818         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
16819         LBP_JV, LBP_JT. Redistribute values.
16820         (unilbrk_table): Change size.
16821         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
16822         Unicode TR#14 rev. 22.
16823         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
16824         LBP_JV, LBP_JT. Redistribute values.
16825         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
16826         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
16827         Update.
16828         * lib/unilbrk/lbrkprop1.h: Regenerated.
16829         * lib/unilbrk/lbrkprop2.h: Regenerated.
16830         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
16831         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
16832         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16833         Likewise.
16834         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16835         Likewise.
16836         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
16837         result.
16838         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16839         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16840         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
16841         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
16842         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
16843         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
16844
16845 2008-05-11  Bruno Haible  <bruno@clisp.org>
16846
16847         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
16848
16849 2008-05-11  Bruno Haible  <bruno@clisp.org>
16850
16851         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
16852         * modules/unilbrk/gen-lbrk: New file.
16853
16854 2008-05-11  Bruno Haible  <bruno@clisp.org>
16855
16856         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
16857         * m4/sha512.m4 (gl_SHA512): Likewise.
16858
16859 2008-05-11  Jim Meyering  <meyering@redhat.com>
16860
16861         New modules: crypto/sha256, crypto/sha512 (from coreutils)
16862         * modules/crypto/sha256: New file.
16863         * modules/crypto/sha512: Likewise.
16864         * lib/sha256.c: Likewise.
16865         * lib/sha256.h: Likewise.
16866         * lib/sha512.c: Likewise.
16867         * lib/sha512.h: Likewise.
16868         * lib/u64.h: Likewise.
16869         * m4/sha256.m4: Likewise.
16870         * m4/sha512.m4: Likewise.
16871         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
16872
16873 2008-05-10  Bruno Haible  <bruno@clisp.org>
16874
16875         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
16876         (Input/Output <stdio.h>): Add xprintf.
16877         (Signal handling <signal.h>): Add strsignal.
16878         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
16879         (Core language properties): Add func.
16880         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
16881         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
16882         strings.
16883         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
16884         (Input/output): New section.
16885         (File system functions): Add openat-die, stat-macros.
16886         (Networking functions): Add sockets.
16887         (Unicode string functions): Add unictype/*.
16888         (Support for building libraries and executables): Add gperf.
16889         (Support for building documentation): Add agpl-3.0.
16890         (Misc): Add nocrash.
16891
16892 2008-05-10  Bruno Haible  <bruno@clisp.org>
16893
16894         * modules/unictype/gen-ctype: New file.
16895
16896 2008-05-10  Jim Meyering  <meyering@redhat.com>
16897
16898         Make chdir-safer.c more efficient on a system with no symlinks.
16899         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
16900         also if ELOOP is zero.  Suggested by Bruno Haible.
16901
16902         Make chdir-safer.c slightly safer.
16903         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
16904         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
16905
16906         Avoid compile failure on systems without ELOOP (like mingw).
16907         * lib/chdir-safer.c (ELOOP): Define if not already defined.
16908         Reported by Bruno Haible.
16909
16910 2008-05-10  Bruno Haible  <bruno@clisp.org>
16911
16912         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
16913         (is_utf8_encoding): Use a case-insensitive comparison.
16914         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
16915         streq.
16916
16917 2008-05-10  Bruno Haible  <bruno@clisp.org>
16918
16919         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
16920         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
16921         * lib/unilbrk/ulc-common.h (iconv_string_length,
16922         iconv_string_keeping_offsets): Remove declarations.
16923         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
16924         Don't include <iconv.h>, streq.h, xsize.h.
16925         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
16926         conversion.
16927         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
16928         <iconv.h>, streq.h, xsize.h.
16929         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
16930         conversion.
16931         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
16932         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
16933         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
16934         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
16935
16936 2008-05-10  Bruno Haible  <bruno@clisp.org>
16937
16938         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
16939         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
16940
16941         * modules/unilbrk/u32-width-linebreaks-tests: New file.
16942         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
16943
16944         * modules/unilbrk/u16-width-linebreaks-tests: New file.
16945         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
16946
16947         * modules/unilbrk/u8-width-linebreaks-tests: New file.
16948         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
16949
16950         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
16951         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
16952
16953         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
16954         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
16955
16956         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
16957         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
16958
16959         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
16960         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
16961
16962 2008-05-10  Bruno Haible  <bruno@clisp.org>
16963
16964         Split up 'linebreak' module.
16965         * lib/unilbrk.h: New file, based on lib/linebreak.h.
16966         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
16967         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
16968         modifications.
16969         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
16970         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
16971         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
16972         lib/linebreak.c.
16973         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
16974         lib/linebreak.c.
16975         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
16976         lib/linebreak.c.
16977         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
16978         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
16979         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
16980         lib/linebreak.c.
16981         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
16982         lib/linebreak.c.
16983         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
16984         lib/linebreak.c.
16985         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
16986         lib/linebreak.c.
16987         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
16988         lib/linebreak.c.
16989         * modules/unilbrk/base: New file.
16990         * modules/unilbrk/tables: New file.
16991         * modules/unilbrk/u8-possible-linebreaks: New file.
16992         * modules/unilbrk/u16-possible-linebreaks: New file.
16993         * modules/unilbrk/u32-possible-linebreaks: New file.
16994         * modules/unilbrk/ulc-common: New file.
16995         * modules/unilbrk/ulc-possible-linebreaks: New file.
16996         * modules/unilbrk/u8-width-linebreaks: New file.
16997         * modules/unilbrk/u16-width-linebreaks: New file.
16998         * modules/unilbrk/u32-width-linebreaks: New file.
16999         * modules/unilbrk/ulc-width-linebreaks: New file.
17000         * lib/linebreak.h: Remove file.
17001         * lib/linebreak.c: Remove file.
17002         * m4/linebreak.m4: Remove file.
17003         * modules/linebreak: Remove file.
17004         * NEWS: Mention the changes.
17005
17006 2008-05-09  Eric Blake  <ebb9@byu.net>
17007
17008         Add xmemdup0.
17009         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
17010         implementation.
17011         * lib/xmalloc.c (xmemdup0): New C implementation.
17012
17013 2008-05-08  Bruno Haible  <bruno@clisp.org>
17014
17015         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
17016
17017 2008-05-07  Eric Blake  <ebb9@byu.net>
17018
17019         Support cross-compilation of <wctype.h>.
17020         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
17021         AC_CACHE_CHECK.
17022
17023 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
17024
17025         * build-aux/vc-list-files: Add support for bzr.
17026
17027 2008-05-03  Jim Meyering  <meyering@redhat.com>
17028
17029         avoid failed assertion with tight malloc
17030         * tests/test-getndelim2.c: Correct an off-by-one assertion.
17031
17032 2008-05-03  Simon Josefsson  <simon@josefsson.org>
17033
17034         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
17035         are needed from arpa/inet.h.
17036         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
17037         Reported by Bruno Haible.
17038
17039 2008-05-02  Jim Meyering  <meyering@redhat.com>
17040
17041         avoid compilation error on FreeBSD 6
17042         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
17043
17044 2008-05-01  Jim Meyering  <meyering@redhat.com>
17045
17046         useless-if-before-free: correct --help's exit status description
17047         * build-aux/useless-if-before-free (usage): Like grep, exit 0
17048         for one or more matches, etc.  Reported by Bruno Haible.
17049
17050         vc-list-files: make the stand-alone gnulib test work
17051         * modules/vc-list-files-tests (configure.ac):
17052         Define and AC_SUBST abs_aux_dir.
17053         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
17054         $(abs_top_srcdir) to each script and having each of them
17055         duplicate the work of setting PATH, set PATH here, using
17056         the new variable, abs_aux_dir instead.
17057         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
17058         * tests/test-vc-list-files-git.sh: Likewise.
17059         Reported by Bruno Haible.
17060
17061 2008-05-01  Bruno Haible  <bruno@clisp.org>
17062
17063         * lib/getndelim2.c (getndelim2): Fix newsize computation during
17064         reallocation. Rename 'done' to 'found_delimiter'.
17065
17066 2008-05-01  Jim Meyering  <meyering@redhat.com>
17067
17068         vc-list-files: accommodate /bin/sh like the one from Solaris 10
17069         * build-aux/vc-list-files: Use `...`, not $(...).
17070
17071 2008-04-30  Jim Meyering  <meyering@redhat.com>
17072
17073         add tests for vc-list-files
17074         * modules/vc-list-files-tests: New module.
17075         * tests/test-vc-list-files-cvs.sh: New file.
17076         * tests/test-vc-list-files-git.sh: New file.
17077
17078         avoid a warning from gcc
17079         * lib/getndelim2.c (IF_LINT): Define.
17080         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
17081
17082         vc-list-files: work properly with build-aux/cvsu, too
17083         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
17084         to all cvs-based clauses.
17085
17086         vc-list-files: work properly in the CVS+awk case, too
17087         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
17088
17089         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
17090         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
17091         take more than one file argument, so .  Add quotes, just in case $dir
17092         ever contains a shell meta-character.  Prompted by Soren Hansen in
17093         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
17094
17095 2008-04-29  Eric Blake  <ebb9@byu.net>
17096
17097         Optimize getndelim2 to use block operations when possible.
17098         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
17099         freadseek, and memchr2.
17100         * lib/getndelim2.c (getndelim2): Use them for block reads.
17101
17102 2008-04-29  Bruno Haible  <bruno@clisp.org>
17103
17104         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
17105         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17106         * modules/inet_ntop (Depends-on): Add extensions.
17107         * modules/inet_pton (Depends-on): Likewise.
17108         Reported by Simon Josefsson.
17109
17110 2008-04-29  Jim Meyering  <meyering@redhat.com>
17111
17112         When the is more than one match in a block, match all of them.
17113         * build-aux/useless-if-before-free: Iterate through each block
17114         until there are no more matches.
17115
17116         Fix broken useless-if-before-free script.
17117         * build-aux/useless-if-before-free: Fix typo: missing "?" after
17118         the expression to match cast of argument to free-like function.
17119
17120 2008-04-29  Eric Blake  <ebb9@byu.net>
17121
17122         Use new header.
17123         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
17124
17125 2008-04-29  Jim Meyering  <meyering@redhat.com>
17126
17127         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
17128         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
17129         by gnulib to exist and to declare e.g., inet_ntop.
17130         Don't include "inet_ntop.h", now removed.
17131
17132         * m4/arpa_inet_h.m4: Remove trailing blanks.
17133
17134 2008-04-29  Eric Blake  <ebb9@byu.net>
17135
17136         Silence valgrind on safe reads beyond potential array bounds.
17137         * lib/rawmemchr.valgrind: New file.
17138         * lib/strchrnul.valgrind: Likewise.
17139         * modules/rawmemchr (Files): Distribute new file.
17140         * modules/strchrnul (Files): Likewise.
17141         Suggested by Bruno Haible.
17142
17143 2008-04-29  Bruno Haible  <bruno@clisp.org>
17144
17145         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
17146         (inet_ntop, inet_pton): Change portability warning's wording.
17147         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
17148         Invoke gl_CHECK_NEXT_HEADERS.
17149         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
17150         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
17151         set ARPA_INET_H.
17152         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17153         * modules/arpa_inet (Description): No longer only for systems that
17154         lack it.
17155         (Depends-on): Add include_next.
17156         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
17157         HAVE_ARPA_INET_H.
17158
17159 2008-04-29  Jim Meyering  <meyering@redhat.com>
17160
17161         * modules/mkdir (License): Re-license as LGPLv2+.
17162
17163 2008-04-29  Bruno Haible  <bruno@clisp.org>
17164
17165         * modules/rawmemchr (Maintainer): Set to Eric.
17166         * modules/strchrnul (Maintainer): Likewise.
17167
17168 2008-04-29  Simon Josefsson  <simon@josefsson.org>
17169
17170         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
17171         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
17172
17173         * modules/arpa_inet (arpa/inet.h): Use them.
17174
17175 2008-04-28  Eric Blake  <ebb9@byu.net>
17176
17177         Test getndelim2.
17178         * modules/getndelim2-tests: New file.
17179         * tests/test-getndelim2.c: Likewise.
17180         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
17181         stream.
17182         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
17183
17184         * MODULES.html.sh: Document new module.
17185
17186 2008-04-20  Bruno Haible  <bruno@clisp.org>
17187
17188         * lib/c-stack.c (die): Use raise.
17189         * modules/c-stack (Depends-on): Add raise.
17190
17191 2008-04-28  Bruno Haible  <bruno@clisp.org>
17192
17193         Expect rpmatch to be declared.
17194         * lib/yesno.c (rpmatch): Remove declaration.
17195
17196         Declare rpmatch.
17197         * lib/stdlib.in.h (rpmatch): New declaration.
17198         * lib/rpmatch.c: Include <stdlib.h> first.
17199         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
17200         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
17201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
17202         HAVE_RPMATCH.
17203         * modules/rpmatch (Depends-on): Add stdlib, extensions.
17204         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17205         (Include): Set to <stdlib.h>.
17206         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
17207         HAVE_RPMATCH.
17208         * NEWS: Document the change.
17209
17210 2008-04-28  Bruno Haible  <bruno@clisp.org>
17211
17212         Change rpmatch to use nl_langinfo when appropriate.
17213         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
17214         (N_): New macro.
17215         (localized_pattern): New function/macro.
17216         (try): Remove match, nomatch arguments. Copy the pattern into safe
17217         memory before caching it.
17218         (rpmatch): Use localized_pattern. Add translator comments.
17219         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
17220         Suggested by Eric Blake.
17221         * modules/rpmatch (Depends-on): Add stdbool.
17222
17223 2008-04-28  Eric Blake  <ebb9@byu.net>
17224
17225         Add rawmemchr module, matching glibc.
17226         * modules/string (Makefile.am): New indicator.
17227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
17228         * lib/string.in.h (rawmemchr): Declare when appropriate.
17229         * modules/rawmemchr: New file.
17230         * m4/rawmemchr.m4: Likewise.
17231         * lib/rawmemchr.c: Likewise.
17232         * modules/rawmemchr-tests: Likewise.
17233         * tests/test-rawmemchr.c: Likewise.
17234         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
17235         module.
17236         * modules/strchrnul (Depends-on): Add rawmemchr.
17237         * lib/strchrnul.c (strchrnul): Optimize a corner case.
17238
17239         Whitespace cleanup.
17240         * tests/test-strchrnul.c: Reindent.
17241         * lib/strchrnul.c: Likewise.
17242
17243         Optimize and test strchrnul.
17244         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
17245         * modules/strchrnul-tests: New file.
17246         * tests/test-strchrnul.c: Likewise.
17247
17248         Remove intprops dependency.
17249         * modules/memchr (Depends-on): Remove intprops.
17250         * modules/memrchr (Depends-on): Likewise.
17251         * modules/memchr2 (Depends-on): Likewise.
17252         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
17253         * lib/memrchr.c (__memrchr): Likewise.
17254         * lib/memrchr2.c (memchr2): Likewise.
17255         Reported by Simon Josefsson.
17256
17257 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17258
17259         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
17260         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17261
17262 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17263
17264         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
17265
17266         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
17267
17268         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
17269
17270         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
17271         declarations.
17272         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
17273
17274         * m4/inet_pton.m4: Don't check for header files.
17275
17276         * m4/inet_ntop.m4: Don't check for header files.
17277
17278 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17279
17280         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
17281         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
17282         trigger for cygwin).
17283         Reported by Bruno Haible  <bruno@clisp.org>.
17284
17285 2008-04-28  Bruno Haible  <bruno@clisp.org>
17286
17287         * doc/posix-functions/strdup.texi: Mention mingw problem.
17288
17289 2008-04-27  Bruno Haible  <bruno@clisp.org>
17290
17291         * modules/stat-time-tests (Depends-on): Add sleep.
17292         * tests/test-stat-time.c (force_unlink): New function.
17293         (cleanup): Use it.
17294         (test_mtime): Remove the ctime related tests.
17295         (test_ctime): New function, containing the ctime related tests.
17296         (main): Call test_ctime, except on native Windows platforms.
17297
17298 2008-04-27  Bruno Haible  <bruno@clisp.org>
17299
17300         * lib/rpmatch.c (rpmatch): Add some comments.
17301         Reported by James Youngman <jay@gnu.org>.
17302
17303 2008-04-27  Bruno Haible  <bruno@clisp.org>
17304
17305         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
17306         quiet NaNs.
17307
17308 2008-04-27  Bruno Haible  <bruno@clisp.org>
17309
17310         Make test-yesno.sh work on mingw.
17311         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
17312         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
17313         (main): Set stdin to binary mode.
17314         * modules/yesno-tests (Depends-on): Add binary-io.
17315
17316 2008-04-27  Bruno Haible  <bruno@clisp.org>
17317
17318         Fix 'isfinite' on x86, x86_64, ia64 platforms.
17319         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
17320         argument that lie outside the IEEE 854 domain.
17321         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
17322         (gl_ISFINITE): Use it.
17323         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
17324
17325 2008-04-27  Bruno Haible  <bruno@clisp.org>
17326
17327         Allow local renaming in config.h.
17328         * lib/memrchr.c (memrchr): Don't undefine outside libc.
17329
17330 2008-04-27  Bruno Haible  <bruno@clisp.org>
17331
17332         * lib/memchr.c (__memchr): Change type of 'i'.
17333         * lib/memchr2.c (memchr2): Likewise.
17334
17335 2008-04-26  Eric Blake  <ebb9@byu.net>
17336         and Bruno Haible  <bruno@clisp.org>
17337
17338         Optimize and test memrchr.
17339         * modules/memrchr (Depends-on): Add intprops.
17340         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
17341         * modules/memrchr-tests: New file.
17342         * tests/test-memrchr.c: New file.
17343
17344 2008-04-26  Bruno Haible  <bruno@clisp.org>
17345
17346         Add tentative support for DragonFly BSD.
17347         * lib/stdio-impl.h: Add macros for DragonFly BSD.
17348         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
17349         fp.
17350         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
17351         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
17352         * lib/fpurge.c (fpurge): Likewise.
17353         * lib/freadable.c (freaadable): Likewise.
17354         * lib/freadahead.c (freadahead): Likewise.
17355         * lib/freading.c (freading): Likewise.
17356         * lib/freadptr.c (freadptr): Likewise.
17357         * lib/freadseek.c (freadptrinc): Likewise.
17358         * lib/fseeko.c (fseeko): Likewise.
17359         * lib/fseterr.c (fseterr): Likewise.
17360         * lib/fwritable.c (fwritable): Likewise.
17361         * lib/fwriting.c (fwriting): Likewise.
17362
17363 2008-04-26  Bruno Haible  <bruno@clisp.org>
17364
17365         * lib/stdio-impl.h: New file.
17366         * lib/fbufmode.c: Include stdio-impl.h.
17367         (fbufmode): Use fp_, remove redundant #defines.
17368         * lib/fflush.c: Include stdio-impl.h.
17369         (clear_ungetc_buffer): Remove redundant #defines.
17370         * lib/fpurge.c: Include stdio-impl.h.
17371         (fpurge): Remove redundant #defines.
17372         * lib/freadable.c: Include stdio-impl.h.
17373         (freadable): Remove redundant #defines.
17374         * lib/freadahead.c: Include stdio-impl.h.
17375         (freadahead): Remove redundant #defines.
17376         * lib/freading.c: Include stdio-impl.h.
17377         (freading): Remove redundant #defines.
17378         * lib/freadptr.c: Include stdio-impl.h.
17379         (freadptr): Remove redundant #defines.
17380         * lib/freadseek.c: Include stdio-impl.h.
17381         (freadptrinc): Remove redundant #defines.
17382         * lib/fseeko.c: Include stdio-impl.h.
17383         (rpl_fseeko): Remove redundant #defines.
17384         * lib/fseterr.c: Include stdio-impl.h.
17385         (fseterr): Remove redundant #defines.
17386         * lib/fwritable.c: Include stdio-impl.h.
17387         (fwritable: Remove redundant #defines.
17388         * lib/fwriting.c: Include stdio-impl.h.
17389         (fwriting): Remove redundant #defines.
17390         * modules/fbufmode (Files): Add lib/stdio-impl.h.
17391         * modules/fflush (Files): Likewise.
17392         * modules/fpurge (Files): Likewise.
17393         * modules/freadable (Files): Likewise.
17394         * modules/freadahead (Files): Likewise.
17395         * modules/freading (Files): Likewise.
17396         * modules/freadptr (Files): Likewise.
17397         * modules/freadseek (Files): Likewise.
17398         * modules/fseeko (Files): Likewise.
17399         * modules/fseterr (Files): Likewise.
17400         * modules/fwritable (Files): Likewise.
17401         * modules/fwriting (Files): Likewise.
17402
17403 2008-04-26  Bruno Haible  <bruno@clisp.org>
17404
17405         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
17406         restore_seek_optimization, update_fpos_cache): New functions, extracted
17407         from rpl_fflush.
17408         (rpl_fflush): Use them.
17409         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
17410         (gl_REPLACE_FFLUSH): Use it.
17411
17412 2008-04-26  Bruno Haible  <bruno@clisp.org>
17413
17414         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
17415         on Solaris.
17416         * tests/test-xstrtoimax.sh: Likewise.
17417         * tests/test-xstrtoumax.sh: Likewise.
17418         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17419
17420 2008-04-26  Bruno Haible  <bruno@clisp.org>
17421
17422         * modules/memchr-tests: New file.
17423         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
17424
17425 2008-04-26  Eric Blake  <ebb9@byu.net>
17426             Bruno Haible  <bruno@clisp.org>
17427
17428         * lib/memchr.c: Include intprops.h.
17429         (__memchr): Optimize parallel detection of matching bytes. Rename local
17430         variables. Add explanatory comments.
17431
17432 2008-04-26  Bruno Haible  <bruno@clisp.org>
17433
17434         Fix module 'memchr', broken since 2000-10-28.
17435         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
17436
17437 2008-04-26  Bruno Haible  <bruno@clisp.org>
17438
17439         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
17440         comments.
17441
17442 2008-04-25  Eric Blake  <ebb9@byu.net>
17443
17444         Use native fstatat on cygwin 1.7.0.
17445         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
17446         first.
17447
17448 2008-04-23  Eric Blake  <ebb9@byu.net>
17449
17450         Improve memchr2 performance.
17451         * lib/memchr2.c (memchr2): Further optimize parallel detection of
17452         NUL bytes.
17453         * modules/memchr2 (Depends-on): Use intprops.h.
17454
17455 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17456
17457         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
17458         an inline function instead of a CPP macro.  Patch by Ben Pfaff
17459         <blp@cs.stanford.edu>.
17460
17461 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17462
17463         * lib/arpa_inet.in.h: New file.
17464
17465         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
17466         (Makefile.am): Sed in substitute header file.
17467
17468         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
17469         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
17470
17471         * modules/inet_ntop (configure.ac): Use
17472         gl_ARPA_INET_MODULE_INDICATOR.
17473
17474         * modules/inet_pton (configure.ac): Use
17475         gl_ARPA_INET_MODULE_INDICATOR.
17476
17477 2008-04-22  Jim Meyering  <meyering@redhat.com>
17478
17479         * modules/verify (License): Re-license as LGPLv2+.
17480
17481 2008-04-22  Simon Josefsson  <simon@josefsson.org>
17482
17483         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
17484         parameter to void* as per POSIX standard (MinGW uses char*).
17485
17486 2008-04-21  Bruno Haible  <bruno@clisp.org>
17487
17488         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17489         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17490         Define to replacements if REPLACE_ISWCNTRL is 1.
17491         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
17492         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
17493         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
17494         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
17495         what it fixes.
17496         * doc/posix-functions/iswalpha.texi: Likewise.
17497         * doc/posix-functions/iswblank.texi: Likewise.
17498         * doc/posix-functions/iswcntrl.texi: Likewise.
17499         * doc/posix-functions/iswdigit.texi: Likewise.
17500         * doc/posix-functions/iswgraph.texi: Likewise.
17501         * doc/posix-functions/iswlower.texi: Likewise.
17502         * doc/posix-functions/iswprint.texi: Likewise.
17503         * doc/posix-functions/iswpunct.texi: Likewise.
17504         * doc/posix-functions/iswspace.texi: Likewise.
17505         * doc/posix-functions/iswupper.texi: Likewise.
17506         * doc/posix-functions/iswxdigit.texi: Likewise.
17507         Reported by Alain Guibert.
17508
17509 2008-04-21  Bruno Haible  <bruno@clisp.org>
17510
17511         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
17512         Patch by Alain Guibert.
17513
17514 2008-04-21  Bruno Haible  <bruno@clisp.org>
17515
17516         Fix test failures on mingw.
17517         * tests/test-xstrtol.c (print_no_progname): New function.
17518         (main): Install it in error_print_progname hook.
17519         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
17520         * tests/test-xstrtoimax.sh: Likewise.
17521         * tests/test-xstrtoumax.sh: Likewise.
17522
17523 2008-04-21  Bruno Haible  <bruno@clisp.org>
17524
17525         Fix test failure on mingw.
17526         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
17527
17528 2008-04-21  Bruno Haible  <bruno@clisp.org>
17529
17530         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
17531         Actually assign a value.
17532
17533 2008-04-20  Bruno Haible  <bruno@clisp.org>
17534
17535         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
17536         take 2.
17537         * lib/canonicalize.c (canonicalize_file_name): Elide if the
17538         'canonicalize-lgpl' module is also used.
17539         * lib/canonicalize-lgpl.c: Undo last change.
17540         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
17541
17542 2008-04-20  Bruno Haible  <bruno@clisp.org>
17543
17544         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
17545         config.h. Provide _mkdir based fallback for mingw.
17546         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
17547         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
17548         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
17549         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
17550         rather than defining mkdir in config.h.
17551         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
17552         (gl_SYS_STAT_H_DEFAULTS): New macro.
17553         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
17554         HAVE_IO_H any more.
17555         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
17556         HAVE_DECL_MKDIR and HAVE_IO_H.
17557
17558 2008-04-20  Bruno Haible  <bruno@clisp.org>
17559
17560         * lib/isapipe.c: Port to native Windows platforms.
17561
17562 2008-04-20  Bruno Haible  <bruno@clisp.org>
17563
17564         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
17565
17566 2008-04-21  Eric Blake  <ebb9@byu.net>
17567
17568         Work around preprocessors that don't handle UINTMAX_MAX.
17569         * lib/memchr2.c (memchr2): Avoid embedded #if.
17570         Reported by Alain Guibert, fix suggested by Bruno Haible.
17571
17572 2008-04-21  Simon Josefsson  <simon@josefsson.org>
17573
17574         * doc/posix-functions/strftime.texi (strftime): Explain better
17575         Windows incompatibility.  Suggested by Micah Cowan
17576         <micah@cowan.name>.
17577
17578 2008-04-20  Bruno Haible  <bruno@clisp.org>
17579
17580         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
17581         unistr/u8-mblen.
17582
17583 2008-04-20  Bruno Haible  <bruno@clisp.org>
17584
17585         Fix test failure on platforms with non-GNU iconv.
17586         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
17587         (U_TO_U8): Use it, rather than u16_to_u8.
17588         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
17589         units at the end of the input string.
17590         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
17591
17592 2008-04-20  Bruno Haible  <bruno@clisp.org>
17593
17594         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
17595         when the resulting length is 0.
17596         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
17597
17598 2008-04-20  Bruno Haible  <bruno@clisp.org>
17599
17600         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
17601         works.
17602         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
17603
17604 2008-04-20  Bruno Haible  <bruno@clisp.org>
17605
17606         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
17607         * modules/tsearch-tests (configure.ac): Test for initstate function.
17608
17609 2008-04-20  Bruno Haible  <bruno@clisp.org>
17610
17611         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
17612         for nlink_t if missing.
17613         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
17614
17615 2008-04-19  Bruno Haible  <bruno@clisp.org>
17616
17617         Work around snprintf bug on Linux libc5.
17618         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
17619         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
17620         gl_SNPRINTF_SIZE1.
17621         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17622         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
17623         that test failed.
17624         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
17625         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
17626         * modules/snprintf (Files): Add m4/printf.m4.
17627         * modules/vsnprintf (Files): Likewise.
17628         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
17629         * doc/posix-functions/vsnprintf.texi: Likewise.
17630
17631 2008-04-19  Bruno Haible  <bruno@clisp.org>
17632
17633         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
17634         from 0.0058 to less than 10^-7.
17635
17636 2008-04-19  Bruno Haible  <bruno@clisp.org>
17637
17638         Fix rounding when a precision is given.
17639         * lib/vasnprintf.c (is_borderline): New function.
17640         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
17641         9...9x.
17642         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
17643         %e, %g.
17644         * tests/test-vasprintf-posix.c (test_function): Likewise.
17645         * tests/test-snprintf-posix.h (test_function): Likewise.
17646         * tests/test-sprintf-posix.h (test_function): Likewise.
17647         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
17648         * tests/test-printf-posix.h (test_function): Likewise.
17649         * tests/test-printf-posix.output: Update.
17650         Reported by John Darrington <john@darrington.wattle.id.au> via
17651         Ben Pfaff <blp@cs.stanford.edu>.
17652
17653 2008-04-18  Simon Josefsson  <simon@josefsson.org>
17654
17655         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
17656         Suggested by Bruno Haible <bruno@clisp.org>.
17657
17658 2008-04-17  Bruno Haible  <bruno@clisp.org>
17659
17660         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
17661         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
17662         implementation.
17663         Patch by Bruce Merry <bmerry@gmail.com>.
17664
17665 2008-04-17  Simon Josefsson  <simon@josefsson.org>
17666
17667         * doc/posix-functions/strftime.texi (strftime): Mention that %e
17668         doesn't work under Windows.
17669
17670 2008-04-16  Bruno Haible  <bruno@clisp.org>
17671
17672         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
17673         New macros.
17674         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
17675         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
17676         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
17677         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
17678         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
17679         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
17680         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
17681         macros.
17682         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
17683         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
17684         Northern Sotho, Uighur.
17685
17686 2008-04-16  Bruno Haible  <bruno@clisp.org>
17687
17688         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
17689         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
17690         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
17691         Reported by Daniel Bergström <daniel@octocode.com>.
17692
17693 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
17694             Bruno Haible  <bruno@clisp.org>
17695
17696         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
17697         function.
17698         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
17699         New functions, mostly extracted from gl_locale_name_default.
17700         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
17701
17702 2008-04-16  Eric Blake  <ebb9@byu.net>
17703
17704         Adjust strtod detection to catch glibc 2.7 bug.
17705         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
17706         Reported by John Gatewood Ham.
17707
17708 2008-04-16  Bruno Haible  <bruno@clisp.org>
17709
17710         Add tentative support for Linux libc5.
17711         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
17712         * lib/fpurge.c (fpurge): Likewise.
17713         * lib/freadable.c (freadable): Likewise.
17714         * lib/freadahead.c (freadahead): Likewise.
17715         * lib/freading.c (freading): Likewise.
17716         * lib/freadptr.c (freadptr): Likewise.
17717         * lib/freadseek.c (freadptrinc): Likewise.
17718         * lib/fseeko.c (rpl_fseeko): Likewise.
17719         * lib/fseterr.c (fseterr): Likewise.
17720         * lib/fwritable.c (fwritable): Likewise.
17721         * lib/fwriting.c (fwriting): Likewise.
17722         Reported by Alain Guibert <alguibert+bts@free.fr>.
17723
17724 2008-04-15  Bruno Haible  <bruno@clisp.org>
17725
17726         * modules/mathl (configure.ac): Define module indicator.
17727
17728 2008-04-15  Bruno Haible  <bruno@clisp.org>
17729
17730         * lib/logl.c (logl): Remove unused variables.
17731
17732 2008-04-15  Bruno Haible  <bruno@clisp.org>
17733
17734         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
17735         fails.
17736
17737 2008-04-15  Bruno Haible  <bruno@clisp.org>
17738
17739         * lib/trim.c (trim2): Fix argument of isspace() macro.
17740
17741 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
17742
17743         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
17744         to 0.
17745         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
17746
17747 2008-04-14  Bruno Haible  <bruno@clisp.org>
17748
17749         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
17750         AC_LANG_PROGRAM argument.
17751         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
17752         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
17753         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17754         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17755         * m4/math_h.m4 (gl_MATH_H): Likewise.
17756         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17757         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17758         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
17759         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
17760         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17761         * m4/regex.m4 (gl_REGEX): Likewise.
17762         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
17763         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
17764         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17765         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
17766         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
17767         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17768         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17769         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17770
17771 2008-04-14  Jim Meyering  <meyering@redhat.com>
17772
17773         test-strtod: fix typos: s/abs/fabs/
17774         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
17775
17776 2008-04-13  Bruno Haible  <bruno@clisp.org>
17777
17778         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
17779         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
17780         module is also used and while not building the reloc-wrapper.
17781
17782 2008-04-13  Bruno Haible  <bruno@clisp.org>
17783
17784         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
17785
17786 2008-04-13  Bruno Haible  <bruno@clisp.org>
17787
17788         Fix AIX compilation failure introduced on 2008-04-02.
17789         * tests/test-frexp.c (exp): Undefine before redefining.
17790         * tests/test-frexpl.c (exp): Likewise.
17791
17792 2008-04-13  Bruno Haible  <bruno@clisp.org>
17793
17794         Work around a HP-UX stdio bug.
17795         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
17796         * tests/test-ftello.c (main): Likewise.
17797         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
17798         * doc/posix-functions/ftello.texi: Likewise.
17799
17800 2008-04-13  Bruno Haible  <bruno@clisp.org>
17801
17802         Make test-signbit pass on HP-UX/hppa.
17803         * tests/test-signbit.c (minus_zerol): New variable.
17804         (test_signbitl): Use it.
17805
17806 2008-04-13  Bruno Haible  <bruno@clisp.org>
17807
17808         Make truncl work on OSF/1 4.0.
17809         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
17810         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
17811         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
17812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
17813         HAVE_DECL_TRUNCL.
17814         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
17815         HAVE_DECL_TRUNCL.
17816         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
17817
17818 2008-04-13  Bruno Haible  <bruno@clisp.org>
17819
17820         * lib/unictype.h: Remove trailing comma from enumeration definitions.
17821
17822 2008-04-13  Bruno Haible  <bruno@clisp.org>
17823
17824         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
17825         expression, so as to avoid HP-UX 11 cc compiler bug.
17826
17827 2008-04-13  Bruno Haible  <bruno@clisp.org>
17828
17829         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
17830
17831 2008-04-13  Bruno Haible  <bruno@clisp.org>
17832
17833         * lib/git-merge-changelog.c: Remove empty declaration outside of
17834         functions.
17835
17836 2008-04-13  Bruno Haible  <bruno@clisp.org>
17837
17838         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
17839
17840 2008-04-13  Bruno Haible  <bruno@clisp.org>
17841
17842         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
17843         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
17844         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
17845         also if it exists but lacks definitions of the SHUT_* macros.
17846         * modules/sys_socket (Description): Update.
17847         Reported by Elbert Pol <e.pol@chello.nl>.
17848
17849 2008-04-13  Bruno Haible  <bruno@clisp.org>
17850
17851         * lib/localcharset.c (OS2): Don't redefine if already defined.
17852         Reported by Elbert Pol <e.pol@chello.nl>.
17853
17854 2008-04-13  Bruno Haible  <bruno@clisp.org>
17855
17856         * lib/binary-io.h [__EMX__]: Include <io.h>.
17857         Reported by Elbert Pol <e.pol@chello.nl>.
17858
17859 2008-04-12  Bruno Haible  <bruno@clisp.org>
17860
17861         * lib/fpucw.h: Enable the definitions also for x86_64.
17862         Needed for NetBSD/x86_64.
17863         Reported by Thomas Klausner <tk@giga.or.at>.
17864
17865 2008-04-12  Bruno Haible  <bruno@clisp.org>
17866
17867         * tests/test-strtod.c: Include isnand.h.
17868         (main): Use isnand instead of isnan.
17869         Reported by Jim Meyering.
17870
17871 2008-04-12  Bruno Haible  <bruno@clisp.org>
17872
17873         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
17874         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17875
17876 2008-04-12  Jim Meyering  <meyering@redhat.com>
17877
17878         * m4/math_h.m4 (gl_MATH_H): Fix typos.
17879
17880 2008-04-12  Bruno Haible  <bruno@clisp.org>
17881
17882         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
17883         Reported by Elbert Pol <e.pol@chello.nl>.
17884
17885 2008-04-12  Eric Blake  <ebb9@byu.net>
17886
17887         Work around Solaris 10 math.h bug.
17888         * m4/math_h.m4 (gl_MATH_H): Check for bug.
17889         (gl_MATH_H_DEFAULTS): Set up default.
17890         * modules/math (Makefile.am): Replace new indicators.
17891         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
17892         * tests/test-math.c (main): Test this.
17893         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
17894         * doc/posix-headers/math.texi (math.h): Mention bug.
17895         Reported by Nelson H. F. Beebe and Jim Meyering.
17896
17897 2008-04-11  Bruno Haible  <bruno@clisp.org>
17898
17899         Adapt to future versions of Apple GCC.
17900         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
17901         Reported by Peter O'Gorman <peter@pogma.com>.
17902
17903 2008-04-11  Bruno Haible  <bruno@clisp.org>
17904
17905         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
17906
17907 2008-04-11  Bruno Haible  <bruno@clisp.org>
17908
17909         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
17910
17911         * modules/getaddrinfo-tests (Makefile.am): Define
17912         test_getaddrinfo_LDADD.
17913
17914 2008-04-11  Bruno Haible  <bruno@clisp.org>
17915
17916         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
17917         (init): Fix syntax error.
17918         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
17919         is declared.
17920
17921 2008-04-11  Bruno Haible  <bruno@clisp.org>
17922
17923         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
17924         * modules/glob (Depends-on): Add stdbool.
17925
17926 2008-04-11  Bruno Haible  <bruno@clisp.org>
17927
17928         * lib/trim.c: Include <string.h>.
17929
17930 2008-04-11  Eric Blake  <ebb9@byu.net>
17931
17932         Avoid compile failure on OS/2.
17933         * lib/regex_internal.h (internal_function): Disable optimization
17934         on OS/2 (__EMX__), where it caused compiler error.
17935         Reported by Elbert Pol.
17936
17937 2008-04-11  Bruno Haible  <bruno@clisp.org>
17938
17939         Flush the standard error stream before aborting. Needed on mingw.
17940         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
17941         * tests/test-array_list.c (ASSERT): Likewise.
17942         * tests/test-array_oset.c (ASSERT): Likewise.
17943         * tests/test-avltree_list.c (ASSERT): Likewise.
17944         * tests/test-avltree_oset.c (ASSERT): Likewise.
17945         * tests/test-avltreehash_list.c (ASSERT): Likewise.
17946         * tests/test-binary-io.c (ASSERT): Likewise.
17947         * tests/test-byteswap.c (ASSERT): Likewise.
17948         * tests/test-c-ctype.c (ASSERT): Likewise.
17949         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
17950         * tests/test-c-strcasestr.c (ASSERT): Likewise.
17951         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
17952         * tests/test-c-strstr.c (ASSERT): Likewise.
17953         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
17954         * tests/test-canonicalize.c (ASSERT): Likewise.
17955         * tests/test-carray_list.c (ASSERT): Likewise.
17956         * tests/test-ceilf1.c (ASSERT): Likewise.
17957         * tests/test-ceilf2.c (ASSERT): Likewise.
17958         * tests/test-ceill.c (ASSERT): Likewise.
17959         * tests/test-count-one-bits.c (ASSERT): Likewise.
17960         * tests/test-fbufmode.c (ASSERT): Likewise.
17961         * tests/test-fflush2.c (ASSERT): Likewise.
17962         * tests/test-floorf1.c (ASSERT): Likewise.
17963         * tests/test-floorf2.c (ASSERT): Likewise.
17964         * tests/test-floorl.c (ASSERT): Likewise.
17965         * tests/test-fopen.c (ASSERT): Likewise.
17966         * tests/test-fpending.c (ASSERT): Likewise.
17967         * tests/test-fprintf-posix.c (ASSERT): Likewise.
17968         * tests/test-fpurge.c (ASSERT): Likewise.
17969         * tests/test-freadable.c (ASSERT): Likewise.
17970         * tests/test-freadahead.c (ASSERT): Likewise.
17971         * tests/test-freading.c (ASSERT): Likewise.
17972         * tests/test-freadptr.c (ASSERT): Likewise.
17973         * tests/test-freadptr2.c (ASSERT): Likewise.
17974         * tests/test-freadseek.c (ASSERT): Likewise.
17975         * tests/test-freopen.c (ASSERT): Likewise.
17976         * tests/test-frexp.c (ASSERT): Likewise.
17977         * tests/test-frexpl.c (ASSERT): Likewise.
17978         * tests/test-fseek.c (ASSERT): Likewise.
17979         * tests/test-fseeko.c (ASSERT): Likewise.
17980         * tests/test-fstrcmp.c (ASSERT): Likewise.
17981         * tests/test-ftell.c (ASSERT): Likewise.
17982         * tests/test-ftello.c (ASSERT): Likewise.
17983         * tests/test-func.c (ASSERT): Likewise.
17984         * tests/test-fwritable.c (ASSERT): Likewise.
17985         * tests/test-fwriting.c (ASSERT): Likewise.
17986         * tests/test-getdelim.c (ASSERT): Likewise.
17987         * tests/test-getline.c (ASSERT): Likewise.
17988         * tests/test-i-ring.c (ASSERT): Likewise.
17989         * tests/test-iconv-utf.c (ASSERT): Likewise.
17990         * tests/test-iconv.c (ASSERT): Likewise.
17991         * tests/test-isfinite.c (ASSERT): Likewise.
17992         * tests/test-isnand.c (ASSERT): Likewise.
17993         * tests/test-isnanf.c (ASSERT): Likewise.
17994         * tests/test-isnanl.h (ASSERT): Likewise.
17995         * tests/test-ldexpl.c (ASSERT): Likewise.
17996         * tests/test-linked_list.c (ASSERT): Likewise.
17997         * tests/test-linkedhash_list.c (ASSERT): Likewise.
17998         * tests/test-localename.c (ASSERT): Likewise.
17999         * tests/test-lseek.c (ASSERT): Likewise.
18000         * tests/test-mbscasecmp.c (ASSERT): Likewise.
18001         * tests/test-mbscasestr1.c (ASSERT): Likewise.
18002         * tests/test-mbscasestr2.c (ASSERT): Likewise.
18003         * tests/test-mbscasestr3.c (ASSERT): Likewise.
18004         * tests/test-mbscasestr4.c (ASSERT): Likewise.
18005         * tests/test-mbschr.c (ASSERT): Likewise.
18006         * tests/test-mbscspn.c (ASSERT): Likewise.
18007         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
18008         * tests/test-mbspbrk.c (ASSERT): Likewise.
18009         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
18010         * tests/test-mbsrchr.c (ASSERT): Likewise.
18011         * tests/test-mbsspn.c (ASSERT): Likewise.
18012         * tests/test-mbsstr1.c (ASSERT): Likewise.
18013         * tests/test-mbsstr2.c (ASSERT): Likewise.
18014         * tests/test-mbsstr3.c (ASSERT): Likewise.
18015         * tests/test-memchr2.c (ASSERT): Likewise.
18016         * tests/test-memmem.c (ASSERT): Likewise.
18017         * tests/test-open.c (ASSERT): Likewise.
18018         * tests/test-printf-frexp.c (ASSERT): Likewise.
18019         * tests/test-printf-frexpl.c (ASSERT): Likewise.
18020         * tests/test-printf-posix.c (ASSERT): Likewise.
18021         * tests/test-quotearg.c (ASSERT): Likewise.
18022         * tests/test-rbtree_list.c (ASSERT): Likewise.
18023         * tests/test-rbtree_oset.c (ASSERT): Likewise.
18024         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
18025         * tests/test-round1.c (ASSERT): Likewise.
18026         * tests/test-roundf1.c (ASSERT): Likewise.
18027         * tests/test-roundl.c (ASSERT): Likewise.
18028         * tests/test-signbit.c (ASSERT): Likewise.
18029         * tests/test-sleep.c (ASSERT): Likewise.
18030         * tests/test-snprintf-posix.c (ASSERT): Likewise.
18031         * tests/test-snprintf.c (ASSERT): Likewise.
18032         * tests/test-sprintf-posix.c (ASSERT): Likewise.
18033         * tests/test-stat-time.c (ASSERT): Likewise.
18034         * tests/test-strcasestr.c (ASSERT): Likewise.
18035         * tests/test-strerror.c (ASSERT): Likewise.
18036         * tests/test-striconv.c (ASSERT): Likewise.
18037         * tests/test-striconveh.c (ASSERT): Likewise.
18038         * tests/test-striconveha.c (ASSERT): Likewise.
18039         * tests/test-strsignal.c (ASSERT): Likewise.
18040         * tests/test-strstr.c (ASSERT): Likewise.
18041         * tests/test-strtod.c (ASSERT): Likewise.
18042         * tests/test-trunc1.c (ASSERT): Likewise.
18043         * tests/test-trunc2.c (ASSERT): Likewise.
18044         * tests/test-truncf1.c (ASSERT): Likewise.
18045         * tests/test-truncf2.c (ASSERT): Likewise.
18046         * tests/test-truncl.c (ASSERT): Likewise.
18047         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
18048         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
18049         * tests/test-vasnprintf.c (ASSERT): Likewise.
18050         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
18051         * tests/test-vasprintf.c (ASSERT): Likewise.
18052         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
18053         * tests/test-vprintf-posix.c (ASSERT): Likewise.
18054         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
18055         * tests/test-vsnprintf.c (ASSERT): Likewise.
18056         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
18057         * tests/test-wcwidth.c (ASSERT): Likewise.
18058         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
18059         * tests/test-xprintf-posix.c (ASSERT): Likewise.
18060         * tests/test-xvasprintf.c (ASSERT): Likewise.
18061         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
18062         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
18063         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
18064         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
18065         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
18066         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
18067         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
18068         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
18069         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
18070         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
18071         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
18072         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
18073         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
18074         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
18075         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
18076         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
18077         * tests/unictype/test-block_list.c (ASSERT): Likewise.
18078         * tests/unictype/test-block_of.c (ASSERT): Likewise.
18079         * tests/unictype/test-block_test.c (ASSERT): Likewise.
18080         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
18081         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
18082         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
18083         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
18084         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
18085         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
18086         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
18087         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
18088         * tests/unictype/test-combining.c (ASSERT): Likewise.
18089         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
18090         * tests/unictype/test-digit.c (ASSERT): Likewise.
18091         * tests/unictype/test-mirror.c (ASSERT): Likewise.
18092         * tests/unictype/test-numeric.c (ASSERT): Likewise.
18093         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
18094         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
18095         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
18096         * tests/unictype/test-scripts.c (ASSERT): Likewise.
18097         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
18098         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
18099         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
18100         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
18101         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
18102         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
18103         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
18104         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
18105         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
18106         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
18107         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
18108         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
18109         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
18110         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
18111         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
18112         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
18113         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
18114         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
18115         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
18116         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
18117         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
18118         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
18119         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
18120         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
18121         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
18122         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
18123         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
18124         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
18125         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
18126         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
18127         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
18128         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
18129         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
18130         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
18131         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
18132         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
18133         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
18134         Reported by Eric Blake.
18135
18136 2008-04-11  Bruno Haible  <bruno@clisp.org>
18137
18138         * lib/wchar.in.h: Tweak comment.
18139
18140 2008-04-11  Bruno Haible  <bruno@clisp.org>
18141
18142         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
18143         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
18144         gl_COMMON.
18145         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
18146
18147 2008-04-11  Bruno Haible  <bruno@clisp.org>
18148
18149         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
18150
18151 2008-04-11  Simon Josefsson  <simon@josefsson.org>
18152
18153         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
18154         of attempting to use non-existing /dev/*random.  Based on patch
18155         from Adam Strzelecki <ono@java.pl> in
18156         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
18157
18158 2008-04-08  Bruno Haible  <bruno@clisp.org>
18159
18160         Add tentative support for emx+gcc.
18161         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
18162         * lib/fpurge.c (fpurge): Likewise.
18163         * lib/freadable.c (freadable): Likewise.
18164         * lib/freadahead.c (freadahead): Likewise.
18165         * lib/freading.c (freading): Likewise.
18166         * lib/freadptr.c (freadptr): Likewise.
18167         * lib/freadseek.c (freadptrinc): Likewise.
18168         * lib/fseeko.c (rpl_fseeko): Likewise.
18169         * lib/fseterr.c (fseterr): Likewise.
18170         * lib/fwritable.c (fwritable): Likewise.
18171         * lib/fwriting.c (fwriting): Likewise.
18172         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
18173
18174 2008-04-09  Eric Blake  <ebb9@byu.net>
18175
18176         Avoid some autoconf warnings.
18177         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
18178         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
18179         * m4/afs.m4 (gl_AFS): Likewise.
18180         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
18181         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
18182         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18183         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
18184         (gl_INTEGER_TYPE_SUFFIX): Likewise.
18185         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
18186         (AC_CHECK_DECLS_ONCE): Likewise.
18187         Rename file...
18188         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
18189         gnulib-tool requires autoconf 2.59 or better.
18190         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
18191
18192 2008-04-08  Eric Blake  <ebb9@byu.net>
18193
18194         Use 'git describe --match' if present (added in git 1.5.5).
18195         * build-aux/git-version-gen: Limit result to tags that match 'v*'
18196         if possible.
18197
18198 2008-04-08  Bruno Haible  <bruno@clisp.org>
18199
18200         Add tentative support for OpenServer.
18201         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
18202         _ptr, _cnt.
18203         * lib/fpurge.c (fpurge): Likewise.
18204         * lib/freadable.c (freadable): Likewise.
18205         * lib/freadahead.c (freadahead): Likewise.
18206         * lib/freading.c (freading): Likewise.
18207         * lib/freadptr.c (freadptr): Likewise.
18208         * lib/freadseek.c (freadptrinc): Likewise.
18209         * lib/fseeko.c (rpl_fseeko): Likewise.
18210         * lib/fseterr.c (fseterr): Likewise.
18211         * lib/fwritable.c (fwritable): Likewise.
18212         * lib/fwriting.c (fwriting): Likewise.
18213         Reported by Roger Cornelius <rac@tenzing.org> and
18214         Brian K. White <brian@aljex.com>.
18215
18216 2008-04-06  Jim Meyering  <meyering@redhat.com>
18217
18218         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
18219
18220 2008-04-06  Bruno Haible  <bruno@clisp.org>
18221
18222         Avoid possible error with non-ASCII bytes in UTF-8 locales.
18223         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
18224         * tests/test-printf-posix.sh: Likewise.
18225         * tests/test-vfprintf-posix.sh: Likewise.
18226         * tests/test-vprintf-posix.sh: Likewise.
18227         * tests/test-xprintf-posix.sh: Likewise.
18228
18229 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18230
18231         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
18232         hide error from 'ls', needed on OS/2.
18233         Report by Elbert Pol <elbert.pol@gmail.com>.
18234
18235 2008-04-04  Eric Blake  <ebb9@byu.net>
18236
18237         Make test-fseeko.c failures meaningful.
18238         * tests/test-fseeko.c: Print line number on failure.
18239         * tests/test-fseek.c: Likewise.
18240         Reported by Nelson H. F. Beebe.
18241
18242         Improve strtod bug detection check.
18243         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
18244         required for Solaris 10.
18245         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
18246
18247 2008-04-04  Bruno Haible  <bruno@clisp.org>
18248
18249         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
18250         by m4/setenv.m4.
18251
18252 2008-04-03  Eric Blake  <ebb9@byu.net>
18253
18254         Ensure sane .version contents.
18255         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
18256         version string.
18257         * build-aux/git-version-gen: Improve documentation.
18258
18259         Make GNU make output nicer.
18260         * top/GNUmakefile [!_have-Makefile]: Add dependency on
18261         MAKECMDGOALS to enforce message for all command line targets.  Set
18262         srcdir for use in maint.mk.
18263
18264         Another maintainer tweak.
18265         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
18266         a target that regenerates version.
18267
18268 2008-04-03  Jim Meyering  <meyering@redhat.com>
18269
18270         vc-list-files: don't cause coreutils "make po-check" failure
18271         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
18272
18273 2008-04-03  Eric Blake  <ebb9@byu.net>
18274
18275         Allow VPATH usage of vc-list-files.
18276         * build-aux/vc-list-files (scriptversion): Add timestamp.
18277         (options): Add --help, --version, -C.
18278         (CVS): Support installed cvsu.
18279
18280 2008-04-02  Bruno Haible  <bruno@clisp.org>
18281
18282         Avoid some "statement with no effect" warnings from gcc.
18283         * tests/test-wctype.c (main): Explicitly ignore unused values.
18284         Reported by Jim Meyering.
18285
18286 2008-04-02  Jim Meyering  <meyering@redhat.com>
18287
18288         Avoid some warnings from "gcc -Wshadow".
18289         * tests/test-frexp.c (exp): Define to a different identifier.
18290         * tests/test-frexpl.c (exp): Likewise.
18291
18292 2008-04-03  Jim Meyering  <meyering@redhat.com>
18293
18294         bootstrap: remove dangling *.[ch] symlinks from lib
18295         * build-aux/bootstrap [dangling symlink removal]: Move find's
18296         -depth option to precede all others, to avoid a warning.
18297         Remove *.[ch] files too, and from "$source_base" (usually lib/).
18298
18299 2008-04-02  Bruno Haible  <bruno@clisp.org>
18300
18301         Avoid some warnings from "gcc -Wshadow".
18302         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
18303         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
18304         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
18305         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
18306         Reported by Jim Meyering.
18307
18308 2008-04-01  Bruno Haible  <bruno@clisp.org>
18309
18310         Fix test to work on IRIX 6.5 with cc.
18311         * tests/test-math.c (numeric_equal): New function.
18312         (main): Use it.
18313
18314 2008-04-01  Bruno Haible  <bruno@clisp.org>
18315
18316         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
18317
18318 2008-04-01  Bruno Haible  <bruno@clisp.org>
18319
18320         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
18321         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18322         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
18323         (Depends-on): Remove math.
18324
18325         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
18326         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18327         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
18328         (Depends-on): Remove math.
18329
18330         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
18331         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18332         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
18333         (Depends-on): Remove math.
18334         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
18335         (Depends-on): Remove math.
18336
18337         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
18338         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18339         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
18340         (Depends-on): Remove math.
18341         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
18342         (Depends-on): Remove math.
18343
18344         * tests/test-round1.c: Include nan.h.
18345         (main): Use NaNd instead of NAN.
18346         * modules/round-tests (Files): Add tests/nan.h.
18347
18348         * tests/test-trunc1.c: Include nan.h.
18349         (main): Use NaNd instead of NAN.
18350         * modules/trunc-tests (Files): Add tests/nan.h.
18351
18352         * tests/test-roundf1.c: Include nan.h.
18353         (main): Use NaNf instead of NAN.
18354         * modules/roundf-tests (Files): Add tests/nan.h.
18355
18356         * tests/test-truncf1.c: Include nan.h.
18357         (main): Use NaNf instead of NAN.
18358         * modules/truncf-tests (Files): Add tests/nan.h.
18359
18360         * tests/test-ceilf1.c: Include nan.h.
18361         (main): Use NaNf instead of NAN.
18362         * modules/ceilf-tests (Files): Add tests/nan.h.
18363
18364         * tests/test-floorf1.c: Include nan.h.
18365         (main): Use NaNf instead of NAN.
18366         * modules/floorf-tests (Files): Add tests/nan.h.
18367
18368         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
18369         (main): Use NaNf instead of NAN.
18370         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
18371
18372         * tests/test-isnand.c: Include nan.h instead of <math.h>.
18373         (main): Use NaNd instead of NAN.
18374         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
18375
18376         * tests/test-frexp.c: Include nan.h.
18377         (main): Use NaNd instead of NAN.
18378         * modules/frexp-tests (Files): Add tests/nan.h.
18379
18380         * lib/isnan.c: Don't include <math.h>.
18381         (FUNC): Don't use NAN macro.
18382         * modules/isnand-nolibm (Depends-on): Remove math.
18383         * modules/isnanf-nolibm (Depends-on): Remove math.
18384         * modules/isnanl (Depends-on): Remove math.
18385         * modules/isnanl-nolibm (Depends-on): Remove math.
18386
18387         * tests/nan.h: New file.
18388
18389 2008-04-01  Eric Blake  <ebb9@byu.net>
18390
18391         Fix typos.
18392         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
18393         values to be the right type.
18394
18395         For now, cater to gnulib strtod inaccuracies.
18396         * tests/test-strtod.c (main): Allow 1-ulp error on expected
18397         fractional results.  While not as nice from a QoI perspective, it
18398         is a quicker patch than correctly implementing decimal to binary
18399         rounding.
18400
18401 2008-03-31  Eric Blake  <ebb9@byu.net>
18402
18403         Guarantee a definition of NAN.
18404         * lib/math.in.h (NAN): Define if missing.
18405         * tests/test-math.c (main): Test it.
18406         * doc/posix-headers/math.texi (math.h): Document this.
18407         * lib/isnan.c (rpl_isnand): Use it.
18408         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
18409         * tests/test-floorf1.c (NaN): Likewise.
18410         * tests/test-frexp.c (NaN): Likewise.
18411         * tests/test-isnand.c (NaN): Likewise.
18412         * tests/test-isnanf.c (NaN): Likewise.
18413         * tests/test-round1.c (NaN): Likewise.
18414         * tests/test-roundf1.c (NaN): Likewise.
18415         * tests/test-snprintf-posix.h (NaN): Likewise.
18416         * tests/test-sprintf-posix.h (NaN): Likewise.
18417         * tests/test-trunc1.c (NaN): Likewise.
18418         * tests/test-truncf1.c (NaN): Likewise.
18419         * tests/test-vasnprintf-posix.c (NaN): Likewise.
18420         * tests/test-vasprintf-posix.c (NaN): Likewise.
18421         * modules/isnand-nolibm (Depends-on): Add math.
18422         * modules/isnanf-nolibm (Depends-on): Likewise.
18423         * modules/isnanl (Depends-on): Likewise.
18424         * modules/isnanl-nolibm (Depends-on): Likewise.
18425         * modules/snprintf-posix-tests (Depends-on): Likewise.
18426         * modules/sprintf-posix-tests (Depends-on): Likewise.
18427         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
18428         * modules/vsprintf-posix-tests (Depends-on): Likewise.
18429         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
18430         * modules/vasprintf-posix-tests (Depends-on): Likewise.
18431
18432 2008-03-31  Bruno Haible  <bruno@clisp.org>
18433
18434         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
18435         * doc/posix-functions/strtod.texi: Likewise.
18436
18437 2008-03-31  Bruno Haible  <bruno@clisp.org>
18438
18439         * tests/test-strtod.c (main): Don't use C99 syntax.
18440
18441 2008-03-31  Bruno Haible  <bruno@clisp.org>
18442
18443         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
18444         Reported by Eric Blake.
18445
18446 2008-03-31  Jim Meyering  <meyering@redhat.com>
18447
18448         Don't compare actual signbit return values.
18449         * tests/test-strtod.c (main): Rather, compare only their
18450         zero/non-zero nature.
18451
18452 2008-03-31  Eric Blake  <ebb9@byu.net>
18453
18454         More strtod documentation.
18455         * doc/posix-functions/strtod.texi (strtod): Interpret more test
18456         failures as distinct bugs.
18457
18458 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18459
18460         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
18461         Problem reported by Erik Benada in
18462         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
18463
18464 2008-03-30  Bruno Haible  <bruno@clisp.org>
18465
18466         * tests/test-strtod.c: Add comments about which assertion fails on which
18467         platform.
18468         * doc/posix-functions/strtod.texi: Add info about many more platforms.
18469
18470 2008-03-30  Eric Blake  <ebb9@byu.net>
18471
18472         Test signbit behavior on zeros.
18473         * tests/test-signbit.c (test_signbitf): Add tests for zero.
18474         (test_signbitd, test_signbitl): Likewise.
18475
18476         More strtod touchups.
18477         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
18478         sign of negative underflow, for now.  Use .5, not .1.
18479         * doc/posix-functions/strtod.texi (strtod): Mention these
18480         limitations.
18481         Reported by Jim Meyering.
18482
18483 2008-03-30  Bruno Haible  <bruno@clisp.org>
18484
18485         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
18486         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
18487
18488 2008-03-30  Bruno Haible  <bruno@clisp.org>
18489
18490         Avoid failure when attempting to return empty iconv results on some
18491         platforms.
18492         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
18493         allocation, don't report ENOMEM when the resulting string is empty.
18494
18495 2008-03-30  Bruno Haible  <bruno@clisp.org>
18496
18497         Fix buffer overrun.
18498         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
18499         Don't consider the width for tmp_length. Check count against tmp_length
18500         before doing the padding. Ensure enough allocation during padding.
18501
18502 2008-03-30  Eric Blake  <ebb9@byu.net>
18503
18504         strtod touchups.
18505         * lib/strtod.c (strtod): Avoid compiler warnings.
18506         Reported by Jim Meyering.
18507
18508 2008-03-30  Bruno Haible  <bruno@clisp.org>
18509
18510         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
18511         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
18512         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
18513         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
18514         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
18515         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
18516         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
18517         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
18518
18519         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
18520         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
18521         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
18522         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
18523         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
18524         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
18525         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
18526         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
18527
18528         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
18529         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
18530         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
18531         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
18532         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
18533         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
18534         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
18535         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
18536
18537         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
18538         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
18539
18540         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
18541         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
18542
18543         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
18544         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
18545
18546         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
18547         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
18548         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
18549
18550         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
18551         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
18552         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
18553
18554         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
18555         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
18556         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
18557
18558         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
18559         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
18560         * modules/vasprintf (Depends-on): Add EOVERFLOW.
18561
18562         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
18563         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
18564         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
18565         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
18566         (Depends-on): Add EOVERFLOW.
18567         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
18568         (Depends-on): Add EOVERFLOW.
18569         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18570         (Depends-on): Add EOVERFLOW.
18571         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18572         (Depends-on): Add EOVERFLOW.
18573         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18574         (Depends-on): Add EOVERFLOW.
18575         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18576         (Depends-on): Add EOVERFLOW.
18577         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18578         (Depends-on): Add EOVERFLOW.
18579         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18580         (Depends-on): Add EOVERFLOW.
18581
18582         * lib/sprintf.c (EOVERFLOW): Remove fallback.
18583         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
18584         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
18585
18586         * lib/snprintf.c (EOVERFLOW): Remove fallback.
18587         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
18588         * modules/snprintf (Depends-on): Add EOVERFLOW.
18589
18590         * lib/poll.c (EOVERFLOW): Remove fallback.
18591         * modules/poll (Depends-on): Add EOVERFLOW.
18592
18593         * lib/getugroups.c (EOVERFLOW): Remove fallback.
18594         * modules/getugroups (Depends-on): Add EOVERFLOW.
18595
18596         * lib/getdelim.c (EOVERFLOW): Remove fallback.
18597         * modules/getdelim (Depends-on): Add EOVERFLOW.
18598
18599         * lib/ftell.c (EOVERFLOW): Remove fallback.
18600         * modules/ftell (Depends-on): Add EOVERFLOW.
18601
18602         * lib/fprintf.c (EOVERFLOW): Remove fallback.
18603         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
18604         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
18605
18606         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
18607
18608         * modules/EOVERFLOW-tests: New file.
18609         * tests/test-EOVERFLOW.c: New file.
18610
18611         * modules/EOVERFLOW: New file.
18612         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
18613
18614 2008-03-30  Bruno Haible  <bruno@clisp.org>
18615
18616         Fix bug introduced on 2007-06-10.
18617         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
18618         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
18619
18620 2008-03-30  Bruno Haible  <bruno@clisp.org>
18621
18622         Improve freadseek's efficiency after ungetc.
18623         * lib/freadseek.c: Include freadahead.h.
18624         (freadptrinc): New function, extracted from freadseek.
18625         (freadseek): Use it in a loop. Use freadahead to determine the number
18626         of loop iterations.
18627         * modules/freadseek (Depends-on): Add freadahead.
18628         (configure.ac): Require AC_C_INLINE.
18629
18630 2008-03-30  Bruno Haible  <bruno@clisp.org>
18631
18632         * lib/freadseek.c (freadseek): Don't ignore the return value of
18633         freadptr.
18634
18635 2008-03-29  Eric Blake  <ebb9@byu.net>
18636
18637         Add hex float support.
18638         * modules/strtod (Depends-on): Add c-ctype.
18639         (Link): Mention POW_LIB.
18640         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
18641         whitespace between 'e' and exponent.
18642         * tests/test-strtod.c (main): Enable hex float tests.
18643         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
18644         now provides.
18645
18646         Document various strtod bugs, with some fixes.
18647         * doc/posix-functions/strtod.texi (strtod): Document bugs with
18648         "-0x", "inf", "nan", and hex constants.
18649         * doc/posix-functions/atof.texi (atof): Likewise.
18650         * modules/stdlib (Makefile.am): Support strtod.
18651         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
18652         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
18653         detect additional strtod bugs.
18654         * lib/stdlib.in.h (rpl_strtod): Add declarations.
18655         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
18656         bool where appropriate.  Parse 'inf' and 'nan'.
18657         * tests/test-strtod.c: New file.
18658         * modules/strtod (Depends-on): Add stdbool, stdlib.
18659         (configure.ac): Turn on module indicator.
18660         * modules/strtod-tests: New module.
18661
18662 2008-03-29  Eric Blake  <ebb9@byu.net>
18663
18664         Fix ftell on mingw.
18665         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
18666         * modules/ftell-tests (Depends-on): Add binary-io.
18667         * modules/ftello-tests (Depends-on): Likewise.
18668         * tests/test-ftell.c (main): Enhance test to cover behavior after
18669         ungetc.  Enforce binary mode.
18670         * tests/test-ftello.c (main): Likewise.
18671
18672         Pass test-freadseek on cygwin.
18673         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
18674         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
18675         ungetc buffer.
18676
18677         * tests/test-fflush2.c (main): Fix typo.
18678
18679 2008-03-29  Bruno Haible  <bruno@clisp.org>
18680
18681         * tests/test-fflush2.c (main): Temporarily disable the contents of
18682         this test.
18683         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
18684         Reported by Eric Blake.
18685
18686 2008-03-28  Simon Josefsson  <simon@josefsson.org>
18687
18688         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
18689         (GC_SHA224_DIGEST_SIZE): Add.
18690
18691         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
18692         (gc_hash_digest_length): Likewise.
18693         (gc_hash_buffer): Likewise.
18694
18695 2008-03-25  Bruno Haible  <bruno@clisp.org>
18696
18697         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
18698         detail which gettext release to use.
18699         Reported by Simon Josefsson.
18700
18701 2008-03-26  Jim Meyering  <meyering@redhat.com>
18702
18703         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
18704         * modules/gnumakefile (clean-GNUmakefile): Also, use
18705         test ... && ... || : syntax rather than if-then ... fi.
18706
18707         gnumakefile: Don't double-quote-expand $(VPATH) value.
18708         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
18709
18710 2008-03-24  Eric Blake  <ebb9@byu.net>
18711
18712         Alter GNUmakefile to install into top directory.
18713         * modules/maintainer-makefile: Split, and add dependency...
18714         * modules/gnumakefile: to this new module.
18715         * build-aux/GNUmakefile: Move...
18716         * top/GNUmakefile: ...here.
18717         * build-aux/maint.mk: Move...
18718         * top/maint.mk: ...here.
18719         * MODULES.html.sh (Support for maintaining...): Document new
18720         module.
18721
18722 2008-03-23  Bruno Haible  <bruno@clisp.org>
18723
18724         * gnulib-tool: New options --vc-files, --no-vc-files.
18725         (func_usage): Document them.
18726         (vc_files): New variable.
18727         (func_import): Consider vc_files.
18728         (func_create_testdir): Set vc_files to empty.
18729         Suggested by Jim Meyering and Karl Berry.
18730
18731 2008-03-23  Bruno Haible  <bruno@clisp.org>
18732
18733         Fix regex compilation error on HP-UX 11.
18734         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
18735         * modules/regex (Files): Add m4/mbstate_t.m4.
18736         Reported by Ton Voon <ton.voon@altinity.com>.
18737
18738 2008-03-23  Bruno Haible  <bruno@clisp.org>
18739
18740         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
18741
18742 2008-03-23  Eric Blake  <ebb9@byu.net>
18743             Bruno Haible  <bruno@clisp.org>
18744
18745         Install files from top/ in the destination directory.
18746         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
18747         augmentation also for the files from top/.
18748         (func_import, func_create_testdir): Rewrite file names:
18749         top/filename -> filename.
18750
18751 2008-03-23  Bruno Haible  <bruno@clisp.org>
18752
18753         Tweak "gnulib --version" output.
18754         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
18755
18756 2008-03-23  Bruno Haible  <bruno@clisp.org>
18757
18758         Tweak "gnulib --version" output.
18759         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
18760         rather than contents of ChangeLog, when possible.
18761
18762 2008-03-21  Eric Blake  <ebb9@byu.net>
18763
18764         More --version tweaks.
18765         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
18766         date of last ChangeLog entry.
18767
18768 2008-03-21  Jim Meyering  <meyering@redhat.com>
18769
18770         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
18771
18772 2008-03-20  Eric Blake  <ebb9@byu.net>
18773
18774         VPATH fix.
18775         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
18776
18777 2008-03-20  Simon Josefsson  <simon@josefsson.org>
18778
18779         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
18780         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
18781
18782 2008-03-20  Eric Blake  <ebb9@byu.net>
18783
18784         Sync GNUmakefile with coreutils.
18785         * build-aux/GNUmakefile (have-Makefile): Rename...
18786         (_have-Makefile): ...to this, for namespace consideration.
18787         (GNUmakefile.cfg): Include, if present.
18788         (_autoreconf): Define a default.
18789         (_is-dist-target): New rule for rebuilds to pick up intra-release
18790         version.
18791         (maint-cfg.mk): Rename...
18792         (cfg.mk): ...to this.
18793
18794 2008-03-18  Jim Meyering  <meyering@redhat.com>
18795
18796         New script and module: mktempd
18797         * MODULES.html.sh (maint+release support): Add mktempd.
18798         * build-aux/mktempd: New file.
18799         * modules/mktempd: New file.
18800
18801 2008-03-15  Jim Meyering  <meyering@redhat.com>
18802
18803         Undo last change.
18804         * lib/sha1.c, lib/md5.c: 63 != ~63.
18805         Reported by Andreas Schwab.
18806
18807         sha1.c, md5.c: Hoist a redundant expression.
18808         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
18809         "ctx->buflen" only once, before calling *_process_block.
18810         * lib/md5.c (md5_process_bytes): Likewise.
18811
18812 2008-03-14  Eric Blake  <ebb9@byu.net>
18813
18814         Bump copyright year in files generated by gnulib-tool.
18815         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
18816         gnulib-tool, rather than hard-coding it.
18817
18818         Fix 'gnulib-tool --version' output to work with git.
18819         * gnulib-tool (func_gnulib_dir): New function, extracted from...
18820         (startup): ...here.
18821         (func_version): Use it to invoke git-version-gen, rather than
18822         relying on CVS keyword expansion.  Modernize wording.
18823         (cvsdatestamp, last_checkin_date, version): Kill unused
18824         variables.
18825
18826 2008-03-12  Jim Meyering  <meyering@redhat.com>
18827
18828         Recognize optional cast of the argument to free.
18829         * build-aux/useless-if-before-free: Update regexps.
18830
18831         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
18832
18833 2008-03-11  Bruno Haible  <bruno@clisp.org>
18834
18835         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
18836         by a single package.
18837         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
18838         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
18839         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
18840         Reported by Sam Steingold <sds@gnu.org>.
18841
18842 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18843
18844         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
18845         repositories.
18846
18847 2008-03-11  Bruno Haible  <bruno@clisp.org>
18848
18849         Avoid conflicts between local macro definitions.
18850         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
18851         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
18852
18853 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
18854             Bruno Haible  <bruno@clisp.org>
18855
18856         Make va_copy work with some version of xlc on AIX 5.1.
18857         * lib/stdarg.in.h: New file.
18858         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
18859         On AIX, use a <stdarg.h> file substitute.
18860         * modules/stdarg (Files): Add lib/stdarg.in.h.
18861         (Depends-on): Add include_next.
18862         (Makefile.am): Build a stdarg.h substitute if requested.
18863         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
18864
18865 2008-03-10  Bruno Haible  <bruno@clisp.org>
18866
18867         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
18868         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18869         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
18870
18871 2008-03-10  Bruno Haible  <bruno@clisp.org>
18872
18873         * modules/stdlib (Depends-on): Add include_next, remove
18874         absolute-header.
18875
18876 2008-03-09  Bruno Haible  <bruno@clisp.org>
18877
18878         * lib/freadahead.h (freadahead): Document more precisely.
18879         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
18880         the sum of both buffer sizes.
18881         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
18882         * NEWS: Document the change.
18883
18884 2008-03-09  Bruno Haible  <bruno@clisp.org>
18885
18886         Extend freadptr to return also the buffer size.
18887         * lib/freadptr.h (freadptr): Add sizep argument.
18888         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
18889         (freadptr): Add sizep argument. Determine buffer size like freadahead
18890         does.
18891         * tests/test-freadptr.c: Don't include freadahead.h.
18892         (main): Adapt for new calling convention of freadptr.
18893         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
18894         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
18895         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
18896         tests/test-freadptr2.sh.
18897         (Depends): Remove freadahead.
18898         (TESTS): Add test-freadptr2.sh.
18899         (check_PROGRAMS): Add test-freadptr2.
18900
18901 2008-03-09  Bruno Haible  <bruno@clisp.org>
18902
18903         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
18904         Report and solution by Simon Josefsson.
18905
18906 2008-03-06  Bruno Haible  <bruno@clisp.org>
18907
18908         Make fflush after ungetc work on BSD platforms.
18909         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
18910         * tests/test-fflush2.c: New file.
18911         * tests/test-fflush2.sh: New file.
18912         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
18913         tests/test-fflush2.c.
18914         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
18915         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
18916
18917 2008-03-06  Eric Blake  <ebb9@byu.net>
18918
18919         Likewise for ftello.
18920         * modules/ftello (Dependencies): Add extensions.
18921         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
18922
18923 2008-03-06  Bruno Haible  <bruno@clisp.org>
18924
18925         * modules/fseeko (Dependencies): Add extensions.
18926         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
18927         Needed on glibc systems.
18928
18929 2008-03-06  Bruno Haible  <bruno@clisp.org>
18930
18931         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
18932         email address.
18933         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18934
18935 2008-03-06  Bruno Haible  <bruno@clisp.org>
18936
18937         * users.txt: Add libgnupdf.
18938
18939 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18940
18941         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
18942         (Header File Substitutes, Function Substitutes,
18943         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
18944         (Build robot for gnulib): Fix typo.
18945
18946 2008-03-06  Bruno Haible  <bruno@clisp.org>
18947
18948         * doc/gnulib-tool.texi (VCS Issues): Small updates.
18949         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18950
18951 2008-03-06  Bruno Haible  <bruno@clisp.org>
18952
18953         * doc/func.texi: New file, extracted from doc/gnulib.texi.
18954         * doc/gnulib.texi: Include it.
18955
18956 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18957
18958         * modules/func (License): Change license to unlimited; there was
18959         no LGPL parts in the module anyway.
18960
18961 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18962
18963         * modules/__func__: Renamed to modules/func.
18964         * modules/__func__-tests: Renamed to modules/func-tests.
18965         * tests/test-__func__.c: Renamed to tests/test-func.c.
18966         * m4/__func__.m4: Renamed to m4/func.m4.
18967         * doc/gnulib.texi (__func__): Section renamed to func.
18968         Suggested by Eric Blake <ebb9@byu.net>.
18969
18970 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18971
18972         * doc/gnulib.texi (__func__): Use C99 terminology when talking
18973         about __func__.  Make example self-contained.  Suggested by Eric
18974         Blake <ebb9@byu.net>.
18975
18976         * tests/test-__func__.c (main): Avoid extraneous () around __func.
18977         Suggested by Eric Blake <ebb9@byu.net>.
18978
18979 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18980
18981         * modules/__func__: New file.
18982         * modules/__func__-tests: New file.
18983         * tests/test-__func__.c: New file.
18984         * m4/__func__.m4: New file.
18985         * doc/gnulib.texi (__func__): Document __func__ module.
18986
18987 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18988
18989         * modules/byteswap (License): Re-license as LGPLv2+.
18990
18991 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18992
18993         * doc/Makefile: Add pdf target.
18994
18995 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18996
18997         * modules/inline (License): Use 'unlimited', since there are only
18998         *.m4 files in this module.
18999
19000 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
19001             Bruno Haible  <bruno@clisp.org>
19002
19003         Add support for HP C 7.1 on OpenVMS 8.3.
19004         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
19005
19006 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
19007
19008         Update VMS specifics.
19009         * lib/getopt.c [VMS]: Remove include of unixlib.h.
19010
19011 2008-03-02  Jim Meyering  <meyering@redhat.com>
19012
19013         Remove the last dependency on the "free" module.
19014         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
19015         Reported by Bob Proulx.
19016
19017         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
19018
19019         Remove useless "if" tests before free.  Deprecate "free" module.
19020         * doc/posix-functions/free.texi: Mention that this
19021         module is no longer useful.
19022         * modules/free (Notice): Say this module is obsolete.
19023         * modules/readutmp (Depends-on): Remove free.
19024         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
19025         * lib/putenv.c (putenv): Likewise.
19026         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
19027         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
19028         * tests/test-c-strcasestr.c (main): Likewise.
19029         * tests/test-c-strstr.c (main): Likewise.
19030         * tests/test-mbscasestr1.c (main): Likewise.
19031         * tests/test-mbscasestr2.c (main): Likewise.
19032         * tests/test-mbsstr1.c (main): Likewise.
19033         * tests/test-mbsstr2.c (main): Likewise.
19034         * tests/test-memmem.c (main): Likewise.
19035         * tests/test-strcasestr.c (main): Likewise.
19036         * tests/test-striconv.c (main): Likewise.
19037         * tests/test-striconveh.c (main): Likewise.
19038         * tests/test-striconveha.c (main): Likewise.
19039         * tests/test-strstr.c (main): Likewise.
19040
19041         * build-aux/git-version-gen: Adjust a comment and the Usage string.
19042
19043         bootstrap: sync from coreutils again
19044         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
19045
19046 2008-03-01  Jim Meyering  <meyering@redhat.com>
19047
19048         bootstrap: sync from coreutils
19049         * build-aux/bootstrap (update_po_files): Copy a .po file into place
19050         also when the target doesn't exist.
19051
19052 2008-03-01  Eric Blake  <ebb9@byu.net>
19053
19054         Fix bugs in last patch.
19055         * lib/memchr2.c (memchr2): Fix typo.
19056         * tests/test-memchr2.c: Test previous bug, and don't use GNU
19057         extension.
19058         Reported by Bruce Korb.
19059
19060         New module 'memchr2'.
19061         * modules/memchr2: New file.
19062         * modules/memchr2-tests: Likewise.
19063         * lib/memchr2.h: Likewise.
19064         * lib/memchr2.c: Likewise, based on memchr.c.
19065         * tests/test-memchr2.c: New test.
19066         * MODULES.html.sh (String handling): Add memchr2.
19067
19068 2008-02-29  Bruno Haible  <bruno@clisp.org>
19069
19070         * modules/freadseek-tests: New file.
19071         * tests/test-freadseek.sh: New file.
19072         * tests/test-freadseek.c: New file.
19073
19074         New module 'freadseek'.
19075         * modules/freadseek: New file.
19076         * lib/freadseek.h: New file.
19077         * lib/freadseek.c: New file.
19078         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
19079
19080 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
19081
19082         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
19083         wydawca.
19084
19085         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
19086         program_invocation_name and program_invocation_short_name are
19087         present.
19088
19089 2008-02-28  Bruno Haible  <bruno@clisp.org>
19090
19091         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
19092         * tests/test-freadptr.sh: Also test non-seekable stdin.
19093
19094 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
19095
19096         * build-aux/bootstrap (source_base, m4_base)
19097         (doc_base, tests_base): New variables.
19098         (gnulib_tool_options): Do not hardcode base directories, use
19099         the above variables instead.
19100
19101 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
19102
19103         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
19104
19105 2008-02-28  Bruno Haible  <bruno@clisp.org>
19106
19107         * modules/freadptr-tests: New file.
19108         * tests/test-freadptr.sh: New file.
19109         * tests/test-freadptr.c: New file.
19110
19111         New module 'freadptr'.
19112         * modules/freadptr: New file.
19113         * lib/freadptr.h: New file.
19114         * lib/freadptr.c: New file.
19115         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
19116
19117 2008-02-26  Karl Berry  <karl@freefriends.org>
19118
19119         Sync from Libtool:
19120         * libltdl/argz.c (argz_add, argz_count): New functions.
19121         * libltdl/argz.in.h: Declare them.
19122         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
19123
19124 2008-02-22  Bruno Haible  <bruno@clisp.org>
19125
19126         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
19127         is a pointer type.  Needed for HP-UX 10.
19128         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
19129         * doc/posix-functions/gmtime_r.texi: Likewise.
19130         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
19131
19132 2008-02-24  Bruno Haible  <bruno@clisp.org>
19133
19134         * modules/environ-tests: New file.
19135         * tests/test-environ.c: New file.
19136
19137         New module 'environ'.
19138         * modules/environ: New file.
19139         * lib/unistd.in.h (environ): New declaration.
19140         * m4/environ.m4: New file.
19141         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
19142         after use.
19143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
19144         HAVE_DECL_ENVIRON.
19145         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
19146         HAVE_DECL_ENVIRON.
19147         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
19148         wrong claim that 'environ' is missing on some systems.
19149         * modules/execute (Depends-on): Add environ.
19150         * lib/execute.c (environ): Remove fallback declaration.
19151         * modules/pipe (Depends-on): Add environ.
19152         * lib/pipe.c (environ): Remove fallback declaration.
19153         * modules/setenv (Depends-on): Add environ.
19154         * lib/setenv.c (environ): Remove fallback declaration.
19155         * modules/unsetenv (Depends-on): Add environ.
19156         * lib/unsetenv.c (environ): Remove fallback declaration.
19157         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
19158         m4/environ.m4.
19159         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
19160         (gl_PREREQ_UNSETENV): Likewise.
19161
19162 2008-02-24  Bruno Haible  <bruno@clisp.org>
19163
19164         * doc/posix-functions/environ.texi: Document the MacOS X problem.
19165
19166 2008-02-20  Bob Proulx  <bob@proulx.com>
19167
19168         Enable use of older two part flavor 'git describe'.
19169         * build-aux/git-version-gen: If using the older two part flavor of
19170         git version then recreate the third part now present in the
19171         newer three part flavor of git describe.
19172
19173 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
19174
19175         * lib/fts.c (fts_build): Typo correction to comment.
19176
19177 2008-02-17  Bruno Haible  <bruno@clisp.org>
19178
19179         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
19180         generating no-op conflicts.
19181
19182 2008-02-17  Bruno Haible  <bruno@clisp.org>
19183
19184         Speed up by 10%.
19185         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
19186         result_entries, rather than an index-based loop.
19187
19188 2008-02-17  Bruno Haible  <bruno@clisp.org>
19189
19190         Speed up by 25%.
19191         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
19192         'hashcode_cached'.
19193         (entry_create): New function.
19194         (entry_hashcode): Use the cached hashcode if possible.
19195         (read_changelog_file, try_split_merged_entry): Use entry_create.
19196
19197 2008-02-17  Bruno Haible  <bruno@clisp.org>
19198
19199         Speed up from O(n^2) to O(n) for long ChangeLog files.
19200         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
19201         (read_changelog_file): Change implementation of entries_reversed list
19202         to rbtreehash.
19203         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
19204
19205 2008-02-17  Bruno Haible  <bruno@clisp.org>
19206
19207         New option --split-merged-entry.
19208         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
19209         (find_paragraph_end, try_split_merged_entry): New functions.
19210         (long_options): Add option --split-merged-entry.
19211         (usage): Document option --split-merged-entry.
19212         (main): Implement option --split-merged-entry.
19213         Reported by Eric Blake.
19214
19215 2008-02-17  Bruno Haible  <bruno@clisp.org>
19216
19217         * lib/git-merge-changelog.c: Include c-strstr.h.
19218         (main): Support the "git pull --rebase" situation.
19219         * modules/git-merge-changelog (Depends-on): Add c-strstr.
19220         Reported by Eric Blake.
19221
19222 2008-02-16  Eric Blake  <ebb9@byu.net>
19223
19224         Avoid doubling \ in common case of "c-maybe" quoting style.
19225         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
19226         eliding outer quotes.
19227         * lib/quotearg.h: Document this.
19228         * tests/test-quotearg.c (result_strings, inputs, results_g)
19229         (flag_results, locale_results): Test it by adding a new string to
19230         each test group.
19231         (compare_strings): Test new string.
19232
19233 2008-02-13  Eric Blake  <ebb9@byu.net>
19234
19235         Avoid trigraph quoting in default output.
19236         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
19237         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
19238         unless explicitly requested.
19239         * tests/test-quotearg.c (flag_results, main): Add additional tests.
19240
19241 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
19242
19243         Don't rely on signed integer overflowing to negative value.
19244         * lib/getugroups.c (getugroups): Include <limits.h>.
19245         Instead, compare against INT_MAX, and increment only if the test passes.
19246
19247 2008-02-13  Jim Meyering  <meyering@redhat.com>
19248         and Eric Blake  <ebb9@byu.net>
19249
19250         Avoid shadowing warning and compile errors on Linux.
19251         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
19252         forwarding macros on Linux.
19253         (dcgettext): Define a stub, for Linux.
19254         (results_g, main): Avoid warnings.
19255
19256 2008-02-12  Eric Blake  <ebb9@byu.net>
19257
19258         Silence warning in last patch.
19259         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
19260
19261         Quotearg part 4: add tests, fix c-maybe colon quoting.
19262         * lib/quotearg.h: Improve documentation.
19263         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
19264         escapes when adding outer quotes.  When quoting trigraphs, use
19265         valid C notation.  When quoting NUL, omit extra characters if next
19266         character is not digit.  Alter prototype.
19267         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
19268         callers.
19269         * modules/quotearg-tests: New module.
19270         * tests/test-quotearg.c: New test.
19271
19272 2008-02-07  Eric Blake  <ebb9@byu.net>
19273
19274         Quotearg part 3: add flag to control outer quote elision.
19275         * lib/quotearg.h (c_maybe_quoting_style): New style.
19276         (enum quoting_flags): Better documentation of flags.
19277         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
19278         c-maybe style.
19279         (quotearg_buffer_restyled): Handle new flag to elide outer
19280         quotes.
19281
19282         Quotearg part 2: add flag that can control NUL elision.
19283         * lib/quotearg.h (set_quoting_flags): New prototype.
19284         * lib/quotearg.c (struct quoting_options): Add flag field.
19285         (set_quoting_flags): New function.
19286         (quotearg_buffer_restyled): Add flags parameter.
19287         (quotearg_alloc_mem): Set the flag if length cannot be returned.
19288         (quotearg_n_options): Set the flag, since length cannot be
19289         returned.
19290         (quoting_options_from_style): Default flags correctly.
19291
19292         Quotearg part 1: more wrappers, restore quotearg_char state.
19293         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
19294         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
19295         (quotearg_colon_mem): New wrappers.
19296         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
19297         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
19298         functions.
19299         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
19300         (quotearg_colon_mem): New functions.
19301
19302 2008-02-11  Bruno Haible  <bruno@clisp.org>
19303
19304         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
19305         library in the current directory: it does not work with parallel make.
19306         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19307
19308 2008-02-11  Bruno Haible  <bruno@clisp.org>
19309
19310         * .gitattributes: New file.
19311
19312 2008-02-11  Jim Meyering  <meyering@redhat.com>
19313
19314         useless-if-before-free: Fix reversed exit values.
19315         * build-aux/useless-if-before-free: Use correct values
19316         for EXIT_MATCH and EXIT_NO_MATCH.
19317
19318         * build-aux/useless-if-before-free: Close stdout carefully.
19319
19320 2008-02-10  Bruno Haible  <bruno@clisp.org>
19321
19322         New module 'git-merge-changelog'.
19323         * modules/git-merge-changelog: New file.
19324         * lib/git-merge-changelog.c: New file.
19325
19326 2008-02-10  Jim Meyering  <meyering@redhat.com>
19327
19328         useless-if-before-free: New option: --list (-l).
19329
19330         useless-if-before-free: Don't exit immediately upon open failure.
19331         * build-aux/useless-if-before-free: Exit 2 for errors.
19332         Upon failure to open a file, don't exit immediately.
19333         Rather, just warn and continue with any remaining files.
19334
19335 2008-02-10  Bruno Haible  <bruno@clisp.org>
19336
19337         New abstract list operation 'node_set_value'.
19338         * lib/gl_list.h (gl_list_node_set_value): New function.
19339         (struct gl_list_implementation): New field node_set_value.
19340         * lib/gl_list.c (gl_list_node_set_value): New function.
19341         * lib/gl_array_list.c (gl_array_node_set_value): New function.
19342         (gl_array_list_implementation): Update.
19343         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
19344         (gl_carray_list_implementation): Update.
19345         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
19346         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
19347         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
19348         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
19349         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
19350         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
19351         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
19352         Update.
19353         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
19354         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
19355         (gl_sublist_list_implementation): Update.
19356
19357 2008-02-10  Bruno Haible  <bruno@clisp.org>
19358
19359         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
19360         Needed when ELEMENT is #defined to 'some_type *'.
19361
19362 2008-02-10  Jim Meyering  <meyering@redhat.com>
19363
19364         New script and module: useless-if-before-free
19365         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
19366         * build-aux/useless-if-before-free: New file.
19367         * modules/useless-if-before-free: New file.
19368
19369         * build-aux/gitlog-to-changelog: Use committer date, not author date.
19370
19371         xstrtol_error: Fix typo.
19372         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
19373         s/exit_failure/exit_status/.
19374
19375 2008-02-09  Jim Meyering  <meyering@redhat.com>
19376
19377         New script and module: gitlog-to-changelog
19378         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
19379         * modules/gitlog-to-changelog: New file.
19380         * build-aux/gitlog-to-changelog: New file.
19381
19382 2008-02-08  Jim Meyering  <meyering@redhat.com>
19383
19384         Avoid two "parameter unused" warnings.
19385         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
19386         Mark "st" as used.
19387
19388         Use "git COMMAND", not "git-COMMAND".
19389         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
19390         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
19391         * build-aux/git-version-gen: Use "git status", not "git-status".
19392
19393 2008-02-07  Bruno Haible  <bruno@clisp.org>
19394
19395         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
19396         Avoids a crash on Windows Vista.
19397         Reported by Adam Strzelecki <ono@java.pl> via
19398         Simon Josefsson <simon@josefsson.org>.
19399
19400 2008-02-06  Bruno Haible  <bruno@clisp.org>
19401
19402         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
19403         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
19404         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
19405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
19406         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19407         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19408         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
19409         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
19410         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19411         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19412         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19413         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19414         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19415         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19416         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19417         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
19418         left-adjust flag.
19419         * tests/test-snprintf-posix.h (test_function): Likewise.
19420         * tests/test-sprintf-posix.h (test_function): Likewise.
19421         * tests/test-vasprintf-posix.c (test_function): Likewise.
19422         * doc/posix-functions/fprintf.texi: Update.
19423         * doc/posix-functions/printf.texi: Update.
19424         * doc/posix-functions/snprintf.texi: Update.
19425         * doc/posix-functions/sprintf.texi: Update.
19426         * doc/posix-functions/vfprintf.texi: Update.
19427         * doc/posix-functions/vprintf.texi: Update.
19428         * doc/posix-functions/vsnprintf.texi: Update.
19429         * doc/posix-functions/vsprintf.texi: Update.
19430         Reported by Peter Fales <psfales@alcatel-lucent.com>.
19431
19432 2008-02-06  Bruno Haible  <bruno@clisp.org>
19433
19434         Fix bug introduced on 2008-01-26.
19435         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
19436
19437 2008-02-06  Bruno Haible  <bruno@clisp.org>
19438
19439         Fix bug introduced on 2007-06-10.
19440         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
19441         !NEED_PRINTF_FLAG_ZERO.
19442
19443 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
19444
19445         getloadavg: use libperfstat on AIX5
19446         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
19447
19448 2008-02-03  Bruno Haible  <bruno@clisp.org>
19449
19450         * lib/diffseq.h: Add comments about required #includes.
19451         Reported by Michael Biggs <gnulib@doubleplum.net>.
19452
19453 2008-02-01  Bruno Haible  <bruno@clisp.org>
19454
19455         * users.txt: Add gnuit.
19456
19457 2008-01-31  Bruno Haible  <bruno@clisp.org>
19458
19459         * lib/md4.c (set_uint32): Mark as inline.
19460         * lib/md5.c (set_uint32): Likewise.
19461         * lib/sha1.c (set_uint32): Likewise.
19462         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
19463         * m4/md5.m4 (gl_MD5): Likewise.
19464         * m4/sha1.m4 (gl_SHA1): Likewise.
19465
19466 2008-01-31  Jim Meyering  <meyering@redhat.com>
19467
19468         Use "sizeof VAR", rather than a literal "4".
19469         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
19470         * lib/md4.c (md4_read_ctx): Likewise.
19471         * lib/sha1.c (sha1_read_ctx): Likewise.
19472
19473 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19474
19475         * tests/test-sha1.c: New file, based on test-md5.c.
19476
19477         * modules/crypto/sha1-tests: New file.
19478
19479 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19480
19481         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
19482
19483 2008-01-31  Jim Meyering  <meyering@redhat.com>
19484
19485         Prefer "sizeof v" over the equivalent "4".
19486         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
19487         * lib/md5.c (set_uint32): Likewise.
19488         * lib/sha1.c (set_uint32): Likewise.
19489
19490 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19491
19492         * lib/sha1.c (set_uint32): Mark function as static.
19493
19494 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19495
19496         md2: clarify comments to say that alignment is not required.
19497         * lib/md2.h: Remove warning about alignment in comment.
19498         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
19499         never been required.
19500
19501 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19502
19503         md4: adapt alignment constraint fix from sha1.
19504         * lib/md4.c (set_uint32): New function, from sha1.c
19505         (md4_read_ctx): Use it.
19506         (md4_finish_ctx): Doc fix.
19507         * lib/md4.h: Doc fix.
19508
19509 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19510
19511         md5: adapt alignment constraint fix from sha1.
19512         * lib/md5.c (set_uint32): New function, from sha1.c
19513         (md5_read_ctx): Use it.
19514         (md5_finish_ctx): Doc fix.
19515         * lib/md5.h: Doc fix.
19516
19517 2008-01-30  Peter Palfrader  <weasel@debian.org>
19518
19519         sha1: remove the result buffer alignment constraint
19520         * lib/sha1.c (set_uint32): New function.
19521         (sha1_read_ctx): Rewrite to remove the result buffer alignment
19522         constraint.
19523         (sha1_finish_ctx): Remove comment warning about alignment constraint.
19524         * lib/sha1.h: Likewise.
19525
19526 2008-01-30  Andreas Schwab  <schwab@suse.de>
19527             Bruno Haible  <bruno@clisp.org>
19528
19529         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
19530         correct definition of LDBL_MIN_EXP.
19531
19532 2008-01-30  Karl Berry  <karl@gnu.org>
19533
19534         * config/srclist-update: try to preserve x bit on updates.
19535         * config/srclistvars.sh: update for karl.
19536
19537 2008-01-29  Jim Meyering  <meyering@redhat.com>
19538
19539         vasnprintf.c: Avoid warning about unused label
19540         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
19541         "overflow" label definition and associated code with the
19542         same cpp condition that guards the sole use of that label.
19543
19544 2008-01-26  Bruno Haible  <bruno@clisp.org>
19545
19546         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
19547         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
19548         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
19549         * lib/isnanl-nolibm.h (isnanl): Likewise.
19550         Reported by Paul Eggert <eggert@cs.ucla.edu>.
19551
19552 2008-01-26  Bruno Haible  <bruno@clisp.org>
19553
19554         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
19555         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
19556
19557 2008-01-26  Bruno Haible  <bruno@clisp.org>
19558
19559         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
19560         GCC >= 4.0 built-in.
19561         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
19562
19563 2008-01-26  Bruno Haible  <bruno@clisp.org>
19564
19565         Rename isnan, applicable to 'double' only, to isnand.
19566         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
19567         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
19568         (configure.ac): Update.
19569         (Include): Replace "isnan.h" with "isnand.h".
19570         * m4/isnand.m4: Renamed from m4/isnan.m4.
19571         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
19572         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
19573         instead of isnan.c.
19574         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
19575         instead of HAVE_ISNAN_IN_LIBC.
19576         (isnand): Renamed from isnan.
19577         * lib/isnand.c: New file.
19578         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
19579         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
19580         (Makefile.am): Update.
19581         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
19582         Include isnand.h instead of isnan.h.
19583         (main): Test isnand instead of isnan.
19584         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
19585         isnan-nolibm.
19586         * modules/frexp (Depends-on): Likewise.
19587         * modules/frexp-tests (Depends-on): Likewise.
19588         * modules/frexp-nolibm (Depends-on): Likewise.
19589         * modules/frexp-nolibm-tests (Depends-on): Likewise.
19590         * modules/isfinite (Depends-on): Likewise.
19591         * modules/round-tests (Depends-on): Likewise.
19592         * modules/signbit (Depends-on): Likewise.
19593         * modules/signbit-tests (Depends-on): Likewise.
19594         * modules/snprintf-posix (Depends-on): Likewise.
19595         * modules/sprintf-posix (Depends-on): Likewise.
19596         * modules/trunc-tests (Depends-on): Likewise.
19597         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19598         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19599         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19600         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19601         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19602         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19603         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19604         * modules/vasnprintf-posix (Depends-on): Likewise.
19605         * modules/vasprintf-posix (Depends-on): Likewise.
19606         * modules/vfprintf-posix (Depends-on): Likewise.
19607         * modules/vsnprintf-posix (Depends-on): Likewise.
19608         * modules/vsprintf-posix (Depends-on): Likewise.
19609         * lib/frexp.c: Include isnand.h instead of isnan.h.
19610         (ISNAN): Set to isnand instead of isnan.
19611         * lib/isfinite.c: Include isnand.h instead of isnan.h.
19612         (gl_isfinited): Use isnand instead of isnan.
19613         * lib/signbitd.c: Include isnand.h instead of isnan.h.
19614         (gl_signbitd): Use isnand instead of isnan.
19615         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
19616         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
19617         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
19618         (main): Use isnand instead of isnan.
19619         * tests/test-round1.c: Include isnand.h.
19620         (main): Use isnand instead of isnan.
19621         * tests/test-round2.c: Include isnand.h instead of isnan.h.
19622         (ISNAN): Set to isnand instead of isnan.
19623         * tests/test-trunc1.c: Include isnand.h.
19624         (main): Use isnand instead of isnan.
19625         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
19626         (equal): Use isnand instead of isnan.
19627         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
19628         isnand-nolibm.
19629         * NEWS: Mention the change.
19630
19631 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19632             Bruno Haible  <bruno@clisp.org>
19633
19634         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
19635         the GCC builtins for signbits are present and set
19636         REPLACE_SIGNBIT_USING_GCC if so.
19637         * lib/math.in.h (signbit): Define using GCC builtins if
19638         REPLACE_SIGNBIT_USING_GCC is set.
19639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
19640         REPLACE_SIGNBIT_USING_GCC.
19641         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
19642
19643 2008-01-25  Jim Meyering  <meyering@redhat.com>
19644
19645         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
19646         * lib/poll.c: Include <config.h>, not "config.h".
19647         * tests/test-getaddrinfo.c: Likewise.
19648
19649 2008-01-25  Simon Josefsson  <simon@josefsson.org>
19650
19651         * modules/sockets-tests: New file.
19652
19653 2008-01-24  Simon Josefsson  <simon@josefsson.org>
19654
19655         * modules/sockets: New module, can be used to call WSA_Startup and
19656         WSA_Cleanup when needed.
19657
19658         * lib/sockets.h, lib/sockets.c: New files.
19659
19660         * m4/sockets.m4: New file.
19661
19662         * tests/test-sockets.c: New file.
19663
19664 2008-01-19  Bruno Haible  <bruno@clisp.org>
19665
19666         * doc/posix-headers: Renamed from doc/headers.
19667         * doc/posix-functions: Renamed from doc/functions.
19668         * doc/gnulib.texi: Update.
19669
19670 2008-01-19  Bruno Haible  <bruno@clisp.org>
19671
19672         * doc/glibc-functions/strcasestr.texi: Include contents of
19673         doc/functions/strcasestr.texi, fixing the list of platforms.
19674         * doc/functions/strcasestr.texi: Remove file.
19675
19676 2008-01-19  Bruno Haible  <bruno@clisp.org>
19677
19678         * doc/glibc-functions/memmem.texi: Include contents of
19679         doc/functions/memmem.texi.
19680         * doc/functions/memmem.texi: Remove file.
19681
19682 2008-01-18  Bruno Haible  <bruno@clisp.org>
19683
19684         * doc/glibc-functions/*.texi: New files.
19685         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
19686         to use the new files.
19687
19688 2008-01-17  Bruno Haible  <bruno@clisp.org>
19689
19690         * tests/test-gethostname.c (main): Fix printf statement.
19691
19692 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19693
19694         * modules/gethostname-tests: New file.
19695
19696         * tests/test-gethostname.c: New file.
19697
19698 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19699
19700         * lib/gethostname.c: Include string.h unconditionally, strncpy is
19701         used by the UNAME case.  Reported by Bruno Haible
19702         <bruno@clisp.org>.
19703
19704 2008-01-17  Eric Blake  <ebb9@byu.net>
19705
19706         Convert c-strcasestr to be more efficient.
19707         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
19708         (Depends-on): Add c-strcase, remove malloca, strnlen.
19709         * tests/test-c-strcasestr.c (main): Enhance test.
19710         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
19711
19712 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
19713
19714         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
19715         Use it in creating po/Makevars.
19716
19717 2008-01-15  Simon Josefsson  <simon@josefsson.org>
19718
19719         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
19720         Applications that requires it should initialize libgcrypt
19721         manually.
19722
19723 2008-01-16  Simon Josefsson  <simon@josefsson.org>
19724
19725         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
19726
19727 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19728
19729         Fix problem with getdate on mingw32 reported by Simon Josefsson
19730         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
19731         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
19732         tzname", when deciding whether to declare tzname.
19733         * lib/strftime.c (tzname): Likewise.
19734
19735 2008-01-15  Bruno Haible  <bruno@clisp.org>
19736
19737         Work around a MacOS X 10.5 bug in frexpl().
19738         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
19739         * doc/functions/frexpl.texi: Document the bug.
19740         Reported by Elias Pipping <pipping@gentoo.org>.
19741
19742 2008-01-14  Eric Blake  <ebb9@byu.net>
19743
19744         Touch up previous patch.
19745         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
19746         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
19747
19748         Convert strcasestr module to use Two-Way algorithm.
19749         * modules/strcasestr-simple: New module, based on the old
19750         strcasestr, but with Two-Way rather than KMP.
19751         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
19752         * lib/string.in.h (rpl_strcasestr): Declare.
19753         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
19754         performance.
19755         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
19756         * modules/string (Makefile.am): Support strcasestr.
19757         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19758         * modules/strcasestr-tests (Depends-on): Check for alarm.
19759         * tests/test-strcasestr.c: Augment test.
19760         * lib/str-two-way.h: Clean up stray macro.
19761         * NEWS: Document new module.
19762         * MODULES.html.sh (string handling): Likewise.
19763         * doc/functions/strcasestr.texi: New file.
19764         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
19765         here, since it is not a POSIX function.
19766
19767 2008-01-14  Colin Watson  <cjwatson@debian.org>
19768             Bruno Haible  <bruno@clisp.org>
19769
19770         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
19771         works fine; if not, set REPLACE_STRSIGNAL.
19772         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
19773         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19774         REPLACE_STRSIGNAL.
19775         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
19776         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
19777         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
19778
19779 2008-01-14  Bruno Haible  <bruno@clisp.org>
19780
19781         * modules/strsignal (Include): Change to <string.h>.
19782
19783 2008-01-14  Colin Watson  <cjwatson@debian.org>
19784
19785         * modules/argp (Notice): Add a notice recommending to change
19786         XGETTEXT_OPTIONS.
19787         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
19788
19789 2008-01-13  Colin Watson  <cjwatson@debian.org>
19790
19791         * modules/strsignal-tests: New file.
19792         * tests/test-strsignal.c: New file.
19793
19794         * lib/strsignal.c: New file, from glibc with modifications.
19795         * lib/siglist.h: New file, from glibc with modifications.
19796         * lib/string.in.h (strsignal): New declaration.
19797         * m4/strsignal.m4: New file.
19798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19799         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
19800         * modules/strsignal: New file.
19801         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
19802         HAVE_DECL_STRSIGNAL.
19803
19804 2008-01-13  Bruno Haible  <bruno@clisp.org>
19805
19806         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
19807         locale encoding is not ASCII. Needed for OpenBSD 4.0.
19808         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19809         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19810
19811 2008-01-13  Bruno Haible  <bruno@clisp.org>
19812
19813         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
19814         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
19815         * lib/argp.h (__attribute__): Likewise.
19816         * lib/c-stack.c (__attribute__): Likewise.
19817         * lib/error.h (__attribute__): Likewise.
19818         * lib/fts.c (__attribute__): Likewise.
19819         * lib/openat.h (__attribute__): Likewise.
19820         * lib/stdio.in.h (__attribute__): Likewise.
19821         * lib/string.in.h (__attribute__): Likewise.
19822         * lib/utimens.c (__attribute__): Likewise.
19823         * lib/vasnprintf.h (__attribute__): Likewise.
19824         * lib/xalloc.h (__attribute__): Likewise.
19825         * lib/xprintf.h (__attribute__): Likewise.
19826         * lib/xstrtol.h (__attribute__): Likewise.
19827         * lib/xvasprintf.h (__attribute__): Likewise.
19828
19829 2008-01-12  Bruno Haible  <bruno@clisp.org>
19830
19831         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
19832         * doc/glibc-headers/a.out.texi: New file.
19833         * doc/glibc-headers/aliases.texi: New file.
19834         * doc/glibc-headers/alloca.texi: New file.
19835         * doc/glibc-headers/ar.texi: New file.
19836         * doc/glibc-headers/argp.texi: New file.
19837         * doc/glibc-headers/argz.texi: New file.
19838         * doc/glibc-headers/byteswap.texi: New file.
19839         * doc/glibc-headers/crypt.texi: New file.
19840         * doc/glibc-headers/endian.texi: New file.
19841         * doc/glibc-headers/envz.texi: New file.
19842         * doc/glibc-headers/err.texi: New file.
19843         * doc/glibc-headers/error.texi: New file.
19844         * doc/glibc-headers/execinfo.texi: New file.
19845         * doc/glibc-headers/fpu_control.texi: New file.
19846         * doc/glibc-headers/fstab.texi: New file.
19847         * doc/glibc-headers/fts.texi: New file.
19848         * doc/glibc-headers/getopt.texi: New file.
19849         * doc/glibc-headers/ieee754.texi: New file.
19850         * doc/glibc-headers/ifaddrs.texi: New file.
19851         * doc/glibc-headers/libintl.texi: New file.
19852         * doc/glibc-headers/mcheck.texi: New file.
19853         * doc/glibc-headers/mntent.texi: New file.
19854         * doc/glibc-headers/obstack.texi: New file.
19855         * doc/glibc-headers/paths.texi: New file.
19856         * doc/glibc-headers/printf.texi: New file.
19857         * doc/glibc-headers/pty.texi: New file.
19858         * doc/glibc-headers/resolv.texi: New file.
19859         * doc/glibc-headers/shadow.texi: New file.
19860         * doc/glibc-headers/sysexits.texi: New file.
19861         * doc/glibc-headers/ttyent.texi: New file.
19862
19863 2008-01-12  Jim Meyering  <meyering@redhat.com>
19864
19865         announce-gen: emit Gnulib's git-based version string.
19866         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
19867         New option --gnulib-version=V, where V is expected to be
19868         the output of running git describe in the gnulib directory.
19869         (get_tool_versions): Request feedback on xdelta.  I suspect it's
19870         not useful, and plan to stop publishing an xdelta file with each
19871         coreutils release.
19872
19873         * build-aux/announce-gen: Also check for lzma-compressed files.
19874
19875 2008-01-11  Bruno Haible  <bruno@clisp.org>
19876
19877         * tests/test-memmem.c (main): Increase maximum allowed time.
19878         * tests/test-strstr.c (main): Likewise.
19879
19880 2008-01-11  Bruno Haible  <bruno@clisp.org>
19881
19882         * doc/functions/memmem.texi: Add more precisions about platforms.
19883         * doc/functions/strstr.texi: Likewise.
19884
19885 2008-01-10  Eric Blake  <ebb9@byu.net>
19886
19887         * m4/strstr.m4: Delete cruft from copy-n-paste.
19888         Reported by Bruno Haible.
19889
19890 2008-01-10  Bruno Haible  <bruno@clisp.org>
19891
19892         Make c-strstr rely on strstr.
19893         * lib/c-strstr.c: Don't include str-kmp.h.
19894         (c_strstr): Define in terms of strstr.
19895         * modules/c-strstr (Files): Remove lib/str-kmp.h.
19896         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
19897
19898 2008-01-10  Bruno Haible  <bruno@clisp.org>
19899
19900         * doc/gnulib.texi (String Functions in C Locale): New section.
19901         * doc/c-ctype.texi: New file.
19902         * doc/c-strcase.texi: New file.
19903         * doc/c-strcaseeq.texi: New file.
19904         * doc/c-strcasestr.texi: New file.
19905         * doc/c-strstr.texi: New file.
19906         * doc/c-strtod.texi: New file.
19907         * doc/c-strtold.texi: New file.
19908
19909 2008-01-10  Eric Blake  <ebb9@byu.net>
19910
19911         * lib/relocatable.h: Fix a comment.
19912
19913 2008-01-10  Eric Blake  <ebb9@byu.net>
19914
19915         Share two-way algorithm.
19916         * lib/str-two-way.h: New file, merged from...
19917         * lib/memmem.c: ...here...
19918         * lib/strstr.c: ...and here.
19919         * modules/memmem (Files): Use it.
19920         * modules/strstr (Files): Likewise.
19921
19922         Avoid quadratic strstr implementations.
19923         * lib/strstr.c: New file.
19924         * m4/strstr.m4: Likewise.
19925         * modules/strstr: Likewise.
19926         * modules/strstr-tests: Likewise.
19927         * tests/test-strstr.c: Likewise.
19928         * lib/string.in.h (rpl_strstr): Declare.
19929         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
19930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
19931         * modules/string (Makefile.am): Likewise.
19932         * MODULES.html.sh (string handling): Mention new module.
19933         * doc/functions/strstr.texi (strstr): Document the bug.
19934
19935 2008-01-10  Bruno Haible  <bruno@clisp.org>
19936
19937         * lib/relocatable.h (relocate): State whether result is freshly
19938         allocated or not.
19939         * lib/relocatable.c (relocate): Return a freshly allocated string
19940         instead of a pointer to a privately held string.
19941         Reported by Sylvain Beucler <beuc@gnu.org>.
19942
19943 2008-01-10  Colin Watson  <cjwatson@debian.org>
19944
19945         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
19946         s/S_ISNLK/S_ISLNK/.
19947
19948 2008-01-09  Bruno Haible  <bruno@clisp.org>
19949
19950         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
19951         and other files.
19952         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
19953         if it's only a guess.
19954         * modules/memmem: Simplify by depending on memmem-simple.
19955
19956 2008-01-09  Bruno Haible  <bruno@clisp.org>
19957
19958         Work around OpenBSD 4.0 tdelete() bug.
19959         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
19960         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
19961         macros and don't redefine the enum values.
19962         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
19963         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
19964         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
19965
19966 2008-01-09  Bruno Haible  <bruno@clisp.org>
19967
19968         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
19969         (main): Don't perform the tests if setlocale did not install a UTF-8
19970         locale. Needed on OpenBSD 4.0.
19971         * modules/wcwidth-tests (Depends-on): Add localcharset.
19972
19973 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19974
19975         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
19976         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
19977         * NEWS: announce this.
19978         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
19979
19980 2008-01-09  Simon Josefsson  <simon@josefsson.org>
19981         and Eric Blake  <ebb9@byu.net>
19982
19983         Add memmem-simple module.
19984         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
19985         (gl_FUNC_MEMMEM): Separate performance from presence checks.
19986         * modules/memmem-simple: New file.
19987         * modules/memmem (Description): Tweak.
19988         * MODULES.html.sh (string handling): Mention new module.
19989         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
19990         addressed by memmem-simple.
19991         * NEWS: Document the difference.
19992
19993 2008-01-09  Eric Blake  <ebb9@byu.net>
19994
19995         Give gcc some memmem optimization hints.
19996         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
19997         (strcasestr): Declare as pure.
19998         * modules/memmem (Maintainer): Claim my implementation.
19999
20000 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20001
20002         Support AIX 6.1 and higher.
20003         * build-aux/config.libpath: Likewise.
20004         * build-aux/config.rpath: Likewise.
20005
20006 2008-01-08  Jim Meyering  <meyering@redhat.com>
20007             Bruno Haible  <bruno@clisp.org>
20008
20009         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
20010         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
20011         Reported by Peter Fales in
20012         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
20013
20014 2008-01-08  Bruno Haible  <bruno@clisp.org>
20015
20016         * modules/unictype/category-of (Depends-on): Add
20017         unictype/category-none.
20018         * modules/unictype/category-and-tests (Depends-on): Add
20019         unictype/category-{L,N,Lu,Nd}.
20020         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
20021         * modules/unictype/category-or-tests (Depends-on): Add
20022         unictype/category-{L,N}.
20023         * modules/unictype/category-name-tests (Depends-on): Add
20024         unictype/category-{Z,Nl}.
20025         Reported by Simon Josefsson.
20026
20027 2008-01-08  Bruno Haible  <bruno@clisp.org>
20028
20029         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
20030         convention better.
20031         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
20032         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
20033         Reported by Peter Miller <millerp@canb.auug.org.au>.
20034
20035 2008-01-08  Eric Blake  <ebb9@byu.net>
20036
20037         Rewrite memmem to guarantee linear complexity without malloc.
20038         * lib/memmem.c (memmem): Use Two-Way rather than
20039         Knuth-Morris-Pratt, to allow O(1) space usage.
20040         (critical_factorization, two_way_short_needle)
20041         (two_way_long_needle): New functions.
20042         (knuth_morris_pratt): Delete.
20043         * modules/memmem (Depends-on): No longer need malloca or stdbool.
20044         Add stdint.
20045         * tests/test-memmem.c (main): Add tests for periodic needle and
20046         sublinear performance.
20047         * doc/functions/memmem.texi (memmem): Document other deficiencies
20048         in cygwin and older glibc.
20049
20050 2008-01-08  Bruno Haible  <bruno@clisp.org>
20051
20052         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
20053         augmentation.
20054
20055 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
20056
20057         Add a configure time option: --disable-acl.
20058         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
20059         AC_ARG_ENABLE(acl).
20060
20061 2008-01-06  Simon Josefsson  <simon@josefsson.org>
20062
20063         * tests/test-localename.c: Don't include obsolete "setenv.h".
20064
20065         * modules/localename-tests (Depends-on): Need unsetenv.
20066
20067 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20068
20069         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
20070
20071 2008-01-06  Colin Watson  <cjwatson@debian.org>
20072
20073         * users.txt: Add man-db.
20074
20075 2008-01-07  Bruno Haible  <bruno@clisp.org>
20076
20077         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
20078         previous section name.
20079
20080 2008-01-07  Bruno Haible  <bruno@clisp.org>
20081
20082         * lib/progname.c (set_program_name): Don't strip off a leading
20083         "lt-" prefix outside a .libs directory.
20084         Suggested by Paul Eggert.
20085
20086 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
20087             Bruno Haible  <bruno@clisp.org>
20088
20089         Improve memory cleanup in 'relocatable' module.
20090         * lib/relocatable.h (compute_curr_prefix): Change return type to
20091         'char *'.
20092         * lib/relocatable.c (compute_curr_prefix): Change return type to
20093         'char *'. Free curr_installdir after use.
20094         (relocate): Free curr_prefix_better after use.
20095         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
20096
20097 2008-01-01  Bruno Haible  <bruno@clisp.org>
20098
20099         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
20100         failure on older glibc systems.
20101         Reported by Peter Fales <psfales@alcatel-lucent.com>.
20102
20103 2008-01-05  Eric Blake  <ebb9@byu.net>
20104
20105         Avoid quadratic system memmem.
20106         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
20107         Reported by Ralf Wildenhues.
20108
20109         Fix memmem test for mingw.
20110         * modules/memmem-tests (configure.ac): Check for alarm.
20111         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
20112         it.
20113         * doc/functions/memmem.texi: New file.
20114         * doc/gnulib.texi (Function Substitutes): Add memmem.
20115         Reported by Bruno Haible.
20116
20117 2008-01-04  Bruno Haible  <bruno@clisp.org>
20118
20119         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
20120         Require gl_HEADER_STRINGS_H_DEFAULTS, not
20121         gl_HEADER_STRING_H_DEFAULTS.
20122
20123 2008-01-04  Eric Blake  <ebb9@byu.net>
20124
20125         Shorten duration of memmem test.
20126         * tests/test-memmem.c (main): Use alarm to declare failure if test
20127         is taking too long.
20128         Reported by Ralf Wildenhues.
20129
20130 2007-12-21  Simon Josefsson  <simon@josefsson.org>
20131
20132         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
20133         string, needed by strerror.
20134
20135 2008-01-03  Colin Watson  <cjwatson@debian.org>
20136             Bruno Haible  <bruno@clisp.org>
20137
20138         * doc/gnulib-tool.texi (Localization): New section.
20139
20140 2008-01-02  Bruno Haible  <bruno@clisp.org>
20141
20142         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
20143         variables to 'unsigned char *' type.
20144         Reported by Paul Eggert.
20145
20146 2008-01-02  Jim Meyering  <jim@meyering.net>
20147
20148         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
20149
20150 2007-12-31  Jim Meyering  <jim@meyering.net>
20151
20152         Avoid use of private FTS type name.
20153         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
20154
20155 2007-12-30  Karl Berry  <karl@gnu.org>
20156
20157         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
20158         work around defect in Texinfo and/or the standalone Info browser.
20159
20160 2007-12-30  Bruno Haible  <bruno@clisp.org>
20161
20162         Unify 5 copies of the KMP code.
20163         * lib/str-kmp.h: New file.
20164         * lib/c-strcasestr.c: Include str-kmp.h.
20165         (knuth_morris_pratt): Remove function.
20166         (c_strcasestr): Update.
20167         * lib/c-strstr.c: Include str-kmp.h.
20168         (knuth_morris_pratt): Remove function.
20169         (c_strcasestr): Update.
20170         * lib/mbscasestr.c: Include str-kmp.h.
20171         (knuth_morris_pratt_unibyte): Remove function.
20172         * lib/mbsstr.c: Include str-kmp.h.
20173         (knuth_morris_pratt_unibyte): Remove function.
20174         * lib/strcasestr.c: Include str-kmp.h.
20175         (knuth_morris_pratt): Remove function.
20176         (strcasestr): Update.
20177         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
20178         * modules/c-strstr (Files): Likewise.
20179         * modules/mbscasestr (Files): Likewise.
20180         * modules/mbsstr (Files): Likewise.
20181         * modules/strcasestr (Files): Likewise.
20182         Suggested by Paul Eggert.
20183
20184 2007-12-30  Bruno Haible  <bruno@clisp.org>
20185
20186         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
20187         defined.
20188
20189 2007-12-30  Bruno Haible  <bruno@clisp.org>
20190
20191         * lib/xmalloca.h: Include xalloc.h.
20192         (xnmalloca): New macro.
20193
20194 2007-12-30  Bruno Haible  <bruno@clisp.org>
20195
20196         * lib/malloca.h (nmalloca): New macro.
20197         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
20198         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
20199         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
20200         knuth_morris_pratt_multibyte): Likewise.
20201         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
20202         knuth_morris_pratt_multibyte): Likewise.
20203         * lib/memmem.c (knuth_morris_pratt): Likewise.
20204         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
20205
20206 2007-12-25  Bruno Haible  <bruno@clisp.org>
20207
20208         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
20209         * lib/glob.c: Don't include openat.h.
20210         (link_exists2_p): Add back the code that deals with the
20211         !GLOB_ALTDIRFUNC case.
20212         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
20213         let it do the filename concatenation.
20214         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
20215         * modules/glob (Depends-on): Remove openat.
20216
20217 2007-12-31  Bruno Haible  <bruno@clisp.org>
20218
20219         * modules/dirfd (License): Change to LGPLv2+.
20220         Approved by Jim Meyering.
20221
20222 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20223
20224         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
20225         when multiplying M by sizeof (size_t).
20226
20227 2007-12-10  Martin Lambers  <marlam@marlam.de>
20228
20229         Override getpagesize on mingw.
20230         * lib/getpagesize.c: New file.
20231         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
20232         * modules/getpagesize (Files): Add lib/getpagesize.c.
20233         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
20234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20235         REPLACE_GETPAGESIZE.
20236         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
20237
20238 2007-12-25  Bruno Haible  <bruno@clisp.org>
20239
20240         * modules/localcharset (Notice): New field.
20241         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
20242         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
20243
20244 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20245             Bruno Haible  <bruno@clisp.org>
20246
20247         Avoid using the syntax symbol() in formatted documentation.
20248         * MODULES.html.sh (func_module): When replacing symbol() with a
20249         hyperlink, remove the parentheses. Show an error if some remain.
20250         Recognize and render the '...' syntax.
20251         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
20252         Rework. Add paragraph about GCC's inlining.
20253         * doc/alloca.texi: Likewise.
20254         * doc/error.texi: Remove parentheses from symbol reference.
20255         * doc/gnulib-intro.texi: Likewise.
20256         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
20257         * modules/fnmatch (Description): Reword to say "the ... function".
20258         * modules/full-read (Description): Likewise.
20259         * modules/full-write (Description): Likewise.
20260         * modules/safe-read (Description): Likewise.
20261         * modules/safe-write (Description): Likewise.
20262         * modules/strchrnul (Description): Likewise.
20263         * modules/trim (Description): Likewise.
20264         * modules/error (Description): Remove parentheses from symbol
20265         references.
20266         * modules/verror (Description): Likewise.
20267         Reported by Karl Berry.
20268
20269 2007-12-25  Bruno Haible  <bruno@clisp.org>
20270
20271         Fixup after 2007-10-16 commit.
20272         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
20273
20274 2007-12-24  Bruno Haible  <bruno@clisp.org>
20275
20276         Make --enable-relocatable work with DESTDIR.
20277         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
20278         to compute installdir from destprog.
20279         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
20280         also set the RELOC_DESTDIR variable.
20281         Reported by Левашев Иван <octagram@bluebottle.com>.
20282
20283 2007-12-24  Bruno Haible  <bruno@clisp.org>
20284
20285         Fix link error due to xalloc_die().
20286         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
20287         of xreadlink.
20288         * lib/relocwrapper.c: Update comments.
20289         * build-aux/install-reloc: Remove xreadlink.c from file list.
20290         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
20291         xreadlink.c.
20292         Reported by Левашев Иван <octagram@bluebottle.com>.
20293
20294 2007-12-24  Bruno Haible  <bruno@clisp.org>
20295
20296         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
20297         * lib/setenv.h: Remove file.
20298         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
20299         lib/setenv.h.
20300         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
20301         (Depends-on): Add stdlib.
20302         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
20303         gl_FUNC_UNSETENV.
20304         (Include): Replace setenv.h with <stdlib.h>.
20305         * modules/unsetenv: New file.
20306         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
20307         * lib/unsetenv.c: Include <stdlib.h> first.
20308         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
20309         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
20310         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
20311         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
20312         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
20313         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
20314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
20315         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
20316         * doc/functions/unsetenv.texi: Update.
20317         * modules/xsetenv (Depends-on): Add unsetenv.
20318         * modules/getdate (Depends-on): Likewise.
20319         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
20320         * lib/xsetenv.c: Don't include setenv.h.
20321         * lib/getdate.y: Likewise.
20322         * lib/relocwrapper.c: Likewise.
20323         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
20324         (Depends-on): Add stdlib.
20325         * NEWS: Mention the changes.
20326         Reported by Левашев Иван <octagram@bluebottle.com>.
20327
20328 2007-12-23  Bruno Haible  <bruno@clisp.org>
20329
20330         * lib/memmem.c (memmem): Use lowercase variable names. Tab
20331         indentation.
20332
20333 2007-12-23  Bruno Haible  <bruno@clisp.org>
20334
20335         * lib/c-strcasestr.c: Add more comments.
20336         * lib/c-strstr.c: Likewise.
20337         * lib/mbscasestr.c: Likewise.
20338         * lib/mbsstr.c: Likewise.
20339         * lib/strcasestr.c: Likewise.
20340         * lib/memmem.c: Likewise.
20341
20342 2007-12-23  Bruno Haible  <bruno@clisp.org>
20343
20344         * tests/test-memmem.c: Include <string.h> first.
20345
20346 2007-12-22  Bruno Haible  <bruno@clisp.org>
20347
20348         * gnulib-tool (func_create_testdir): Change $auxdir while generating
20349         the contents of $testsbase.
20350         Reported by Ralf Wildenhues.
20351
20352 2007-12-22  Bruno Haible  <bruno@clisp.org>
20353
20354         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
20355         two variables local_ldadd_before, local_ldadd_last.
20356
20357 2007-12-20  Eric Blake  <ebb9@byu.net>
20358
20359         Work around circular library issue when cross-compiling.
20360         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
20361         that progname.o does not need to pull in rpl_memcmp.
20362
20363 2007-12-19  Eric Blake  <ebb9@byu.net>
20364
20365         Fix memmem to avoid O(n^2) worst-case complexity.
20366         * lib/memmem.c (knuth_morris_pratt): New function.
20367         (memmem): Use it if first few naive iterations fail.
20368         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
20369         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
20370         * modules/memchr (License): Likewise.
20371         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
20372         malloca.
20373         * tests/test-memmem.c: Rewrite, borrowing ideas from
20374         test-mbsstr1.c; the old version wouldn't even compile!
20375         * modules/memmem-tests: New file.
20376         * lib/string.in.h (rpl_memmem): Add declaration.
20377         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
20378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
20379         REPLACE_MEMMEM.
20380
20381 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20382
20383         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
20384         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
20385         before any system include files, and undef after them all.  This
20386         should fix a problem on VMS reported by John E. Malmberg in
20387         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
20388
20389 2007-12-17  Eric Blake  <ebb9@byu.net>
20390
20391         Revert addition of verify, for BSD/OS.
20392         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
20393         can't handle large files, for the sake of obsolete platforms.
20394         * modules/fseeko (Depends-on): Remove verify.
20395         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
20396         * doc/functions/ftello.texi (ftello): Likewise.
20397         * doc/functions/fgetpos.texi (fgetpos): Likewise.
20398         Reported by Larry Jones.
20399
20400 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
20401
20402         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
20403         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
20404
20405 2007-12-17  Jim Meyering  <meyering@redhat.com>
20406
20407         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
20408         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
20409         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
20410         * modules/getcwd (Depends-on): Add openat.
20411         Reported by Petr Salinger.
20412
20413 2007-12-17  Bruno Haible  <bruno@clisp.org>
20414
20415         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
20416         avoid a segmentation fault of the configure test on x86_64 systems.
20417
20418 2007-12-15  Jim Meyering  <meyering@redhat.com>
20419
20420         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
20421
20422 2007-12-13  Eric Blake  <ebb9@byu.net>
20423
20424         Another fseek test.
20425         * tests/test-fseek.c (main): Also test ungetc handling.
20426         * tests/test-fseeko.c (main): Likewise.
20427         * modules/fseeko (Depends-on): Add verify.
20428         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
20429         large.
20430         Reported by Larry Jones.
20431
20432         Fix fseeko on mingw.
20433         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
20434         seek.
20435
20436         Beef up fseek tests.
20437         * tests/test-fseek.c (main): Also test eof handling.
20438         * tests/test-fseeko.c (main): Likewise.
20439         Reported by Larry Jones.
20440
20441 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
20442
20443         Fix fseeko on BSD-based platforms.
20444         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
20445         successful seek.
20446
20447 2007-12-12  Eric Blake  <ebb9@byu.net>
20448
20449         Allow circular dependency of separate libtests.a
20450         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
20451         when use_libtests.
20452
20453 2007-12-11  Eric Blake  <ebb9@byu.net>
20454
20455         Fix bug with -0.0L in previous patch.
20456         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
20457         * tests/test-isnan.c (main): Also test on zeroes.
20458         * tests/test-isnanf.c (main): Likewise.
20459         * tests/test-isnanl.h (main): Likewise.
20460
20461         Detect pseudo-denormals on x86 even when cross-compiling.
20462         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
20463         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
20464         invalid bit patterns that happen to satisfy ==.
20465
20466         Avoid link failures with separate libtests.a.
20467         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
20468         last, to satisfy circular dependencies.
20469
20470 2007-12-11  Eric Blake  <ebb9@byu.net>
20471         and Bruno Haible  <bruno@clisp.org>
20472
20473         Fix OpenBSD 4.0 <float.h> handling of long double.
20474         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
20475         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
20476         * doc/headers/float.texi (float.h): Document OpenBSD bug.
20477
20478 2007-12-11  Jim Meyering  <meyering@redhat.com>
20479
20480         * users.txt: Add libvirt.
20481
20482         Support versions of autoconf prior to 2.59c.
20483         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
20484         if it is not already defined.
20485
20486 2007-12-09  Bruno Haible  <bruno@clisp.org>
20487
20488         Let 'gnulib-tool --import' collect sources needed for the tests in
20489         tests/ rather than in lib/.
20490         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
20491         argument. If true, add rules to generate libtests.a, and put libtests.a
20492         into $(LDADD). Consider source files in subdirectories and set
20493         uses_subdirs.
20494         (func_emit_initmacro_start, func_emit_initmacro_end,
20495         func_emit_initmacro_done): Pass all arguments explicitly.
20496         (func_import): Determine two module lists main_modules,
20497         testsrelated_modules. Determine use_libtests. Determine two variables
20498         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
20499         instead of just sed_transform_lib_file. Determine two variables
20500         main_files and testsrelated_files. Compute 'files' as the union of
20501         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
20502         func_add_or_update. In the generated gnulib-comp.m4, collect the
20503         object files for tests/ in different variables than those for lib/.
20504         Substitute LIBTESTS_LIBDEPS.
20505         (func_create_testdir): Combine the uses_subdirs results from
20506         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
20507
20508 2007-12-09  Bruno Haible  <bruno@clisp.org>
20509
20510         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
20511         the build-aux directory.
20512
20513 2007-12-09  Bruno Haible  <bruno@clisp.org>
20514
20515         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
20516         introduced on 2006-09-09.
20517
20518 2007-12-07  Jim Meyering  <meyering@redhat.com>
20519
20520         Let these macros work also with autoconf-2.59.
20521         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
20522         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
20523         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20524
20525 2007-12-06  Jim Meyering  <meyering@redhat.com>
20526
20527         Avoid a configure-time syntax error in gl_FUNC_ACL.
20528         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
20529         function in each branch, before testing the cache variable.
20530
20531 2007-12-04  Eric Blake  <ebb9@byu.net>
20532
20533         Make scripts executable.
20534         * build-aux/config.guess: Add execute permissions.
20535         * build-aux/config.sub: Likewise.
20536         * build-aux/gendocs.sh: Likewise.
20537
20538         Fix frexp on mingw.
20539         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
20540         cross-compiling.
20541         * doc/functions/frexp.texi (frexp): Document the bug.
20542
20543         Make cygwin fseeko check more reliable.
20544         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
20545         version numbers, rather than unrelated feature check.
20546         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
20547         * doc/functions/ftello.texi (ftello): Likewise.
20548         Reported by Bruno Haible.
20549
20550         * m4/strerror.m4: Bump version number.
20551
20552 2007-12-03  Bruno Haible  <bruno@clisp.org>
20553
20554         * doc/functions/mprotect.texi: Mention the mingw problem.
20555
20556 2007-12-03  Eric Blake  <ebb9@byu.net>
20557
20558         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
20559         REPLACE_STRERROR is initialized before this macro.
20560
20561 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
20562
20563         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
20564         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
20565         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
20566         put -lsec in even for programs other than 'ls'.  This fixes a problem
20567         for gettext reported by Bruno Haible in
20568         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
20569         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
20570         Add support for Solaris 10.  This isn't efficient, but should get the
20571         job done for now.
20572
20573 2007-12-03  James Youngman  <jay@gnu.org>
20574
20575         * doc/regexprops-generic.texi: change "an close-group" to "a
20576         close-group" and "illegal" to "not allowed".
20577
20578 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20579
20580         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
20581         pr_byname.h. Needed for the rare case when the maintainer has done
20582         "make maintainer-clean" in the source directory and then attempts a
20583         build outside the source directory.
20584         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
20585         scripts_byname.h.
20586
20587 2007-12-02  Martin Lambers <marlam@marlam.de>
20588             Bruno Haible  <bruno@clisp.org>
20589
20590         * lib/getpagesize.h: Remove file.
20591         * lib/unistd.in.h: Include declaration of getpagesize here.
20592         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
20593         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
20594         HAVE_SYS_PARAM_H.
20595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
20596         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20597         * modules/getpagesize (Files): Remove lib/getpagesize.h.
20598         (Depends-on): Add unistd.
20599         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20600         (Include): Use <unistd.h> instead of getpagesize.h.
20601         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
20602         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20603         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
20604         gl_GETPAGESIZE invocation, already handled by module dependency.
20605         * lib/pagealign_alloc.c: Don't include getpagesize.h.
20606
20607 2007-12-02  Bruno Haible  <bruno@clisp.org>
20608
20609         * modules/strings-tests: New file.
20610         * tests/test-strings.c: New file.
20611
20612         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
20613         * lib/strings.in.h: New file.
20614         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
20615         * m4/strings_h.m4: New file.
20616         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
20617         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
20618         * modules/strings: New file.
20619         * modules/string (Makefile.am): Update.
20620         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
20621         Reported by Karl Berry.
20622
20623 2007-12-01  Eric Blake  <ebb9@byu.net>
20624
20625         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
20626         accomodate fix in cygwin 1.5.25.
20627
20628 2007-12-01  Jim Meyering  <meyering@redhat.com>
20629
20630         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
20631         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
20632         that would inhibit utf8-optimization of a regexp containing line-
20633         or buffer-anchors, e.g., `^', `$'.
20634
20635 2007-11-30  Bruno Haible  <bruno@clisp.org>
20636
20637         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
20638         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
20639         glthread_recursive_lock_init.
20640         * lib/lock.c (glthread_recursive_lock_init)
20641         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
20642         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20643
20644 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20645
20646         New function qset_acl, like set_acl but with syscall semantics.
20647         * lib/acl.h (qset_acl): New decl.
20648         * lib/acl.c (qset_acl): New function.
20649         (set_acl): Use new function.  Use more-consistent diagnostics.
20650
20651 2007-11-28  Jim Meyering  <meyering@redhat.com>
20652
20653         * modules/physmem (License): Change from GPL to LGPLv2+.
20654
20655 2007-11-26  Bruno Haible  <bruno@clisp.org>
20656
20657         * lib/vasnprintf.c (decode_long_double): Don't abort if the
20658         'long double' type has excess precision.
20659         Reported by Jim Meyering in
20660         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
20661
20662 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20663
20664         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
20665         Sync from <http://gnu.org/licenses>.
20666         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
20667         with license text from same location.
20668         * doc/maintain.texi, doc/standards.texi:  Sync from
20669         <http://savannah.gnu.org/projects/gnustandards>.
20670
20671 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
20672         and Jim Meyering  <meyering@redhat.com>
20673
20674         Adjust getdate' grammar to accept a slightly more regular language.
20675         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
20676         Before, the former was rejected.
20677         * lib/getdate.y (digits_to_date_time): New function, factored
20678         out of ...
20679         (number): ...here.  Just call digits_to_date_time.
20680         (hybrid): New non-terminal to handle an <unsigned number,
20681         signed relative offset> sequence consistently.
20682
20683 2007-11-18  Jim Meyering  <meyering@redhat.com>
20684
20685         Pull my changes from coreutils:
20686         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
20687         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
20688         use of $gnulib_tool_option_extras, so that it's separated from the
20689         preceding argument.
20690
20691         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
20692         * build-aux/bootstrap (cp_mark_as_generated): Create any required
20693         parent destination directories before copying a file into place.
20694
20695 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
20696
20697         bootstrap: work also with 4-argument variant of AC_INIT
20698         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
20699
20700 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
20701
20702         Port test-getaddrinfo to Solaris.
20703         Problem reported by Bruno Haible in
20704         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
20705         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
20706         explanation of setting 'hints'.
20707         Don't reject an implementation merely because it returns EAI_SERVICE.
20708         (EAI_SERVICE): Define to 0 if not defined.
20709
20710 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20711
20712         The license of gnu-make and posix-shell is now "GPLed build tool".
20713         * modules/gnu-make (License): Likewise.
20714         * modules/posix-shell (License): Likewise.
20715
20716         New module posix-shell, for determining a POSIX shell
20717         or perhaps something that is close enough to a POSIX shell.
20718         * m4/posix-shell.m4: New file.
20719         * modules/posix-shell: New file.
20720
20721         * MODULES.html.sh: Mention new module.
20722
20723         New module gnu-make, for determining whether we're using GNU Make.
20724         * m4/gnu-make.m4: New file.
20725         * modules/gnu-make: New file.
20726         * MODULES.html.sh: Mention new module.
20727
20728 2007-11-14  Jim Meyering  <meyering@redhat.com>
20729
20730         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
20731         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
20732         use this macro to create a function _definition_.
20733         Remove useless "#undef ARGMATCH_DIE".
20734
20735 2007-11-14  Bruno Haible  <bruno@clisp.org>
20736
20737         * lib/config.charset: Update for OpenBSD 4.1.
20738         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
20739
20740 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
20741
20742         Document 64-bit #if problems in stdint.texi.
20743         * doc/headers/stdint.texi (stdint.h): Mention problems with
20744         64-bit-#if, and how to work around them.
20745
20746         Don't insist on 'long long int' support in the preprocessor.  It
20747         breaks too many things.  For example, PRIdMAX still uses a 'long
20748         long int' format with the latest Sun compiler, even though
20749         HAVE_LONG_LONG_INT isn't defined due to that compiler's
20750         preprocessor problem.  This causes the latest coreutils to dump
20751         core on Solaris 10 sparc with the Sun C compiler.
20752         Instead, fix the 2007-10-16 problem in a different way, by evaluating
20753         the troublesome expressions at configure-time, not at #if-time.
20754         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
20755         preprocessor.
20756         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
20757         compile-time C checks, done at 'configure'-time.
20758         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
20759         * modules/inttypes (Makefile): Substitute the new symbols that
20760         gl_INTTYPES_H now generates.
20761         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
20762
20763 2007-11-12  Bruno Haible  <bruno@clisp.org>
20764
20765         Tests for Unicode character classification functions.
20766
20767         * modules/unictype/bidicategory-byname-tests: New file.
20768         * modules/unictype/bidicategory-name-tests: New file.
20769         * modules/unictype/bidicategory-of-tests: New file.
20770         * modules/unictype/bidicategory-test-tests: New file.
20771         * modules/unictype/block-list-tests: New file.
20772         * modules/unictype/block-of-tests: New file.
20773         * modules/unictype/block-test-tests: New file.
20774         * modules/unictype/category-C-tests: New file.
20775         * modules/unictype/category-Cc-tests: New file.
20776         * modules/unictype/category-Cf-tests: New file.
20777         * modules/unictype/category-Cn-tests: New file.
20778         * modules/unictype/category-Co-tests: New file.
20779         * modules/unictype/category-Cs-tests: New file.
20780         * modules/unictype/category-L-tests: New file.
20781         * modules/unictype/category-Ll-tests: New file.
20782         * modules/unictype/category-Lm-tests: New file.
20783         * modules/unictype/category-Lo-tests: New file.
20784         * modules/unictype/category-Lt-tests: New file.
20785         * modules/unictype/category-Lu-tests: New file.
20786         * modules/unictype/category-M-tests: New file.
20787         * modules/unictype/category-Mc-tests: New file.
20788         * modules/unictype/category-Me-tests: New file.
20789         * modules/unictype/category-Mn-tests: New file.
20790         * modules/unictype/category-N-tests: New file.
20791         * modules/unictype/category-Nd-tests: New file.
20792         * modules/unictype/category-Nl-tests: New file.
20793         * modules/unictype/category-No-tests: New file.
20794         * modules/unictype/category-P-tests: New file.
20795         * modules/unictype/category-Pc-tests: New file.
20796         * modules/unictype/category-Pd-tests: New file.
20797         * modules/unictype/category-Pe-tests: New file.
20798         * modules/unictype/category-Pf-tests: New file.
20799         * modules/unictype/category-Pi-tests: New file.
20800         * modules/unictype/category-Po-tests: New file.
20801         * modules/unictype/category-Ps-tests: New file.
20802         * modules/unictype/category-S-tests: New file.
20803         * modules/unictype/category-Sc-tests: New file.
20804         * modules/unictype/category-Sk-tests: New file.
20805         * modules/unictype/category-Sm-tests: New file.
20806         * modules/unictype/category-So-tests: New file.
20807         * modules/unictype/category-Z-tests: New file.
20808         * modules/unictype/category-Zl-tests: New file.
20809         * modules/unictype/category-Zp-tests: New file.
20810         * modules/unictype/category-Zs-tests: New file.
20811         * modules/unictype/category-and-not-tests: New file.
20812         * modules/unictype/category-and-tests: New file.
20813         * modules/unictype/category-byname-tests: New file.
20814         * modules/unictype/category-name-tests: New file.
20815         * modules/unictype/category-none-tests: New file.
20816         * modules/unictype/category-of-tests: New file.
20817         * modules/unictype/category-or-tests: New file.
20818         * modules/unictype/category-test-withtable-tests: New file.
20819         * modules/unictype/combining-class-tests: New file.
20820         * modules/unictype/ctype-alnum-tests: New file.
20821         * modules/unictype/ctype-alpha-tests: New file.
20822         * modules/unictype/ctype-blank-tests: New file.
20823         * modules/unictype/ctype-cntrl-tests: New file.
20824         * modules/unictype/ctype-digit-tests: New file.
20825         * modules/unictype/ctype-graph-tests: New file.
20826         * modules/unictype/ctype-lower-tests: New file.
20827         * modules/unictype/ctype-print-tests: New file.
20828         * modules/unictype/ctype-punct-tests: New file.
20829         * modules/unictype/ctype-space-tests: New file.
20830         * modules/unictype/ctype-upper-tests: New file.
20831         * modules/unictype/ctype-xdigit-tests: New file.
20832         * modules/unictype/decimal-digit-tests: New file.
20833         * modules/unictype/digit-tests: New file.
20834         * modules/unictype/mirror-tests: New file.
20835         * modules/unictype/numeric-tests: New file.
20836         * modules/unictype/property-alphabetic-tests: New file.
20837         * modules/unictype/property-ascii-hex-digit-tests: New file.
20838         * modules/unictype/property-bidi-arabic-digit-tests: New file.
20839         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
20840         * modules/unictype/property-bidi-block-separator-tests: New file.
20841         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
20842         * modules/unictype/property-bidi-common-separator-tests: New file.
20843         * modules/unictype/property-bidi-control-tests: New file.
20844         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
20845         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
20846         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
20847         * modules/unictype/property-bidi-european-digit-tests: New file.
20848         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
20849         * modules/unictype/property-bidi-left-to-right-tests: New file.
20850         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
20851         * modules/unictype/property-bidi-other-neutral-tests: New file.
20852         * modules/unictype/property-bidi-pdf-tests: New file.
20853         * modules/unictype/property-bidi-segment-separator-tests: New file.
20854         * modules/unictype/property-bidi-whitespace-tests: New file.
20855         * modules/unictype/property-byname-tests: New file.
20856         * modules/unictype/property-combining-tests: New file.
20857         * modules/unictype/property-composite-tests: New file.
20858         * modules/unictype/property-currency-symbol-tests: New file.
20859         * modules/unictype/property-dash-tests: New file.
20860         * modules/unictype/property-decimal-digit-tests: New file.
20861         * modules/unictype/property-default-ignorable-code-point-tests: New file.
20862         * modules/unictype/property-deprecated-tests: New file.
20863         * modules/unictype/property-diacritic-tests: New file.
20864         * modules/unictype/property-extender-tests: New file.
20865         * modules/unictype/property-format-control-tests: New file.
20866         * modules/unictype/property-grapheme-base-tests: New file.
20867         * modules/unictype/property-grapheme-extend-tests: New file.
20868         * modules/unictype/property-grapheme-link-tests: New file.
20869         * modules/unictype/property-hex-digit-tests: New file.
20870         * modules/unictype/property-hyphen-tests: New file.
20871         * modules/unictype/property-id-continue-tests: New file.
20872         * modules/unictype/property-id-start-tests: New file.
20873         * modules/unictype/property-ideographic-tests: New file.
20874         * modules/unictype/property-ids-binary-operator-tests: New file.
20875         * modules/unictype/property-ids-trinary-operator-tests: New file.
20876         * modules/unictype/property-ignorable-control-tests: New file.
20877         * modules/unictype/property-iso-control-tests: New file.
20878         * modules/unictype/property-join-control-tests: New file.
20879         * modules/unictype/property-left-of-pair-tests: New file.
20880         * modules/unictype/property-line-separator-tests: New file.
20881         * modules/unictype/property-logical-order-exception-tests: New file.
20882         * modules/unictype/property-lowercase-tests: New file.
20883         * modules/unictype/property-math-tests: New file.
20884         * modules/unictype/property-non-break-tests: New file.
20885         * modules/unictype/property-not-a-character-tests: New file.
20886         * modules/unictype/property-numeric-tests: New file.
20887         * modules/unictype/property-other-alphabetic-tests: New file.
20888         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
20889         * modules/unictype/property-other-grapheme-extend-tests: New file.
20890         * modules/unictype/property-other-id-continue-tests: New file.
20891         * modules/unictype/property-other-id-start-tests: New file.
20892         * modules/unictype/property-other-lowercase-tests: New file.
20893         * modules/unictype/property-other-math-tests: New file.
20894         * modules/unictype/property-other-uppercase-tests: New file.
20895         * modules/unictype/property-paired-punctuation-tests: New file.
20896         * modules/unictype/property-paragraph-separator-tests: New file.
20897         * modules/unictype/property-pattern-syntax-tests: New file.
20898         * modules/unictype/property-pattern-white-space-tests: New file.
20899         * modules/unictype/property-private-use-tests: New file.
20900         * modules/unictype/property-punctuation-tests: New file.
20901         * modules/unictype/property-quotation-mark-tests: New file.
20902         * modules/unictype/property-radical-tests: New file.
20903         * modules/unictype/property-sentence-terminal-tests: New file.
20904         * modules/unictype/property-soft-dotted-tests: New file.
20905         * modules/unictype/property-space-tests: New file.
20906         * modules/unictype/property-terminal-punctuation-tests: New file.
20907         * modules/unictype/property-test-tests: New file.
20908         * modules/unictype/property-titlecase-tests: New file.
20909         * modules/unictype/property-unassigned-code-value-tests: New file.
20910         * modules/unictype/property-unified-ideograph-tests: New file.
20911         * modules/unictype/property-uppercase-tests: New file.
20912         * modules/unictype/property-variation-selector-tests: New file.
20913         * modules/unictype/property-white-space-tests: New file.
20914         * modules/unictype/property-xid-continue-tests: New file.
20915         * modules/unictype/property-xid-start-tests: New file.
20916         * modules/unictype/property-zero-width-tests: New file.
20917         * modules/unictype/scripts-tests: New file.
20918         * modules/unictype/syntax-c-ident-tests: New file.
20919         * modules/unictype/syntax-c-whitespace-tests: New file.
20920         * modules/unictype/syntax-java-ident-tests: New file.
20921         * modules/unictype/syntax-java-whitespace-tests: New file.
20922         * tests/unictype/test-bidi_byname.c: New file.
20923         * tests/unictype/test-bidi_name.c: New file.
20924         * tests/unictype/test-bidi_of.c: New file.
20925         * tests/unictype/test-bidi_test.c: New file.
20926         * tests/unictype/test-block_list.c: New file.
20927         * tests/unictype/test-block_of.c: New file.
20928         * tests/unictype/test-block_test.c: New file.
20929         * tests/unictype/test-categ_and.c: New file.
20930         * tests/unictype/test-categ_and_not.c: New file.
20931         * tests/unictype/test-categ_byname.c: New file.
20932         * tests/unictype/test-categ_name.c: New file.
20933         * tests/unictype/test-categ_none.c: New file.
20934         * tests/unictype/test-categ_of.c: New file.
20935         * tests/unictype/test-categ_or.c: New file.
20936         * tests/unictype/test-categ_test_withtable.c: New file.
20937         * tests/unictype/test-combining.c: New file.
20938         * tests/unictype/test-decdigit.c: New file.
20939         * tests/unictype/test-digit.c: New file.
20940         * tests/unictype/test-mirror.c: New file.
20941         * tests/unictype/test-numeric.c: New file.
20942         * tests/unictype/test-pr_byname.c: New file.
20943         * tests/unictype/test-pr_test.c: New file.
20944         * tests/unictype/test-predicate-part1.h: New file.
20945         * tests/unictype/test-predicate-part2.h: New file.
20946         * tests/unictype/test-scripts.c: New file.
20947         * tests/unictype/test-sy_c_ident.c: New file.
20948         * tests/unictype/test-sy_java_ident.c: New file.
20949
20950         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
20951         for Unicode 5.0.0.
20952         * tests/unictype/test-categ_Cc.c: Likewise.
20953         * tests/unictype/test-categ_Cf.c: Likewise.
20954         * tests/unictype/test-categ_Cn.c: Likewise.
20955         * tests/unictype/test-categ_Co.c: Likewise.
20956         * tests/unictype/test-categ_Cs.c: Likewise.
20957         * tests/unictype/test-categ_L.c: Likewise.
20958         * tests/unictype/test-categ_Ll.c: Likewise.
20959         * tests/unictype/test-categ_Lm.c: Likewise.
20960         * tests/unictype/test-categ_Lo.c: Likewise.
20961         * tests/unictype/test-categ_Lt.c: Likewise.
20962         * tests/unictype/test-categ_Lu.c: Likewise.
20963         * tests/unictype/test-categ_M.c: Likewise.
20964         * tests/unictype/test-categ_Mc.c: Likewise.
20965         * tests/unictype/test-categ_Me.c: Likewise.
20966         * tests/unictype/test-categ_Mn.c: Likewise.
20967         * tests/unictype/test-categ_N.c: Likewise.
20968         * tests/unictype/test-categ_Nd.c: Likewise.
20969         * tests/unictype/test-categ_Nl.c: Likewise.
20970         * tests/unictype/test-categ_No.c: Likewise.
20971         * tests/unictype/test-categ_P.c: Likewise.
20972         * tests/unictype/test-categ_Pc.c: Likewise.
20973         * tests/unictype/test-categ_Pd.c: Likewise.
20974         * tests/unictype/test-categ_Pe.c: Likewise.
20975         * tests/unictype/test-categ_Pf.c: Likewise.
20976         * tests/unictype/test-categ_Pi.c: Likewise.
20977         * tests/unictype/test-categ_Po.c: Likewise.
20978         * tests/unictype/test-categ_Ps.c: Likewise.
20979         * tests/unictype/test-categ_S.c: Likewise.
20980         * tests/unictype/test-categ_Sc.c: Likewise.
20981         * tests/unictype/test-categ_Sk.c: Likewise.
20982         * tests/unictype/test-categ_Sm.c: Likewise.
20983         * tests/unictype/test-categ_So.c: Likewise.
20984         * tests/unictype/test-categ_Z.c: Likewise.
20985         * tests/unictype/test-categ_Zl.c: Likewise.
20986         * tests/unictype/test-categ_Zp.c: Likewise.
20987         * tests/unictype/test-categ_Zs.c: Likewise.
20988         * tests/unictype/test-ctype_alnum.c: Likewise.
20989         * tests/unictype/test-ctype_alpha.c: Likewise.
20990         * tests/unictype/test-ctype_blank.c: Likewise.
20991         * tests/unictype/test-ctype_cntrl.c: Likewise.
20992         * tests/unictype/test-ctype_digit.c: Likewise.
20993         * tests/unictype/test-ctype_graph.c: Likewise.
20994         * tests/unictype/test-ctype_lower.c: Likewise.
20995         * tests/unictype/test-ctype_print.c: Likewise.
20996         * tests/unictype/test-ctype_punct.c: Likewise.
20997         * tests/unictype/test-ctype_space.c: Likewise.
20998         * tests/unictype/test-ctype_upper.c: Likewise.
20999         * tests/unictype/test-ctype_xdigit.c: Likewise.
21000         * tests/unictype/test-decdigit.h: Likewise.
21001         * tests/unictype/test-digit.h: Likewise.
21002         * tests/unictype/test-numeric.h: Likewise.
21003         * tests/unictype/test-pr_alphabetic.c: Likewise.
21004         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
21005         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21006         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21007         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
21008         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21009         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
21010         * tests/unictype/test-pr_bidi_control.c: Likewise.
21011         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
21012         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
21013         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21014         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21015         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21016         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21017         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21018         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21019         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
21020         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
21021         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
21022         * tests/unictype/test-pr_combining.c: Likewise.
21023         * tests/unictype/test-pr_composite.c: Likewise.
21024         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21025         * tests/unictype/test-pr_dash.c: Likewise.
21026         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21027         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
21028         * tests/unictype/test-pr_deprecated.c: Likewise.
21029         * tests/unictype/test-pr_diacritic.c: Likewise.
21030         * tests/unictype/test-pr_extender.c: Likewise.
21031         * tests/unictype/test-pr_format_control.c: Likewise.
21032         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21033         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21034         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21035         * tests/unictype/test-pr_hex_digit.c: Likewise.
21036         * tests/unictype/test-pr_hyphen.c: Likewise.
21037         * tests/unictype/test-pr_id_continue.c: Likewise.
21038         * tests/unictype/test-pr_id_start.c: Likewise.
21039         * tests/unictype/test-pr_ideographic.c: Likewise.
21040         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
21041         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
21042         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21043         * tests/unictype/test-pr_iso_control.c: Likewise.
21044         * tests/unictype/test-pr_join_control.c: Likewise.
21045         * tests/unictype/test-pr_left_of_pair.c: Likewise.
21046         * tests/unictype/test-pr_line_separator.c: Likewise.
21047         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21048         * tests/unictype/test-pr_lowercase.c: Likewise.
21049         * tests/unictype/test-pr_math.c: Likewise.
21050         * tests/unictype/test-pr_non_break.c: Likewise.
21051         * tests/unictype/test-pr_not_a_character.c: Likewise.
21052         * tests/unictype/test-pr_numeric.c: Likewise.
21053         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21054         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
21055         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
21056         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21057         * tests/unictype/test-pr_other_id_start.c: Likewise.
21058         * tests/unictype/test-pr_other_lowercase.c: Likewise.
21059         * tests/unictype/test-pr_other_math.c: Likewise.
21060         * tests/unictype/test-pr_other_uppercase.c: Likewise.
21061         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
21062         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
21063         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
21064         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
21065         * tests/unictype/test-pr_private_use.c: Likewise.
21066         * tests/unictype/test-pr_punctuation.c: Likewise.
21067         * tests/unictype/test-pr_quotation_mark.c: Likewise.
21068         * tests/unictype/test-pr_radical.c: Likewise.
21069         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21070         * tests/unictype/test-pr_soft_dotted.c: Likewise.
21071         * tests/unictype/test-pr_space.c: Likewise.
21072         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21073         * tests/unictype/test-pr_titlecase.c: Likewise.
21074         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21075         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21076         * tests/unictype/test-pr_uppercase.c: Likewise.
21077         * tests/unictype/test-pr_variation_selector.c: Likewise.
21078         * tests/unictype/test-pr_white_space.c: Likewise.
21079         * tests/unictype/test-pr_xid_continue.c: Likewise.
21080         * tests/unictype/test-pr_xid_start.c: Likewise.
21081         * tests/unictype/test-pr_zero_width.c: Likewise.
21082         * tests/unictype/test-sy_c_whitespace.c: Likewise.
21083         * tests/unictype/test-sy_java_whitespace.c: Likewise.
21084
21085 2007-11-12  Bruno Haible  <bruno@clisp.org>
21086
21087         Unicode character classification functions.
21088         * lib/unictype.h: New file.
21089         * modules/unictype/base: New file.
21090         * modules/unictype/category-L: New file.
21091         * modules/unictype/category-Lu: New file.
21092         * modules/unictype/category-Ll: New file.
21093         * modules/unictype/category-Lt: New file.
21094         * modules/unictype/category-Lm: New file.
21095         * modules/unictype/category-Lo: New file.
21096         * modules/unictype/category-M: New file.
21097         * modules/unictype/category-Mn: New file.
21098         * modules/unictype/category-Mc: New file.
21099         * modules/unictype/category-Me: New file.
21100         * modules/unictype/category-N: New file.
21101         * modules/unictype/category-Nd: New file.
21102         * modules/unictype/category-Nl: New file.
21103         * modules/unictype/category-No: New file.
21104         * modules/unictype/category-P: New file.
21105         * modules/unictype/category-Pc: New file.
21106         * modules/unictype/category-Pd: New file.
21107         * modules/unictype/category-Ps: New file.
21108         * modules/unictype/category-Pe: New file.
21109         * modules/unictype/category-Pi: New file.
21110         * modules/unictype/category-Pf: New file.
21111         * modules/unictype/category-Po: New file.
21112         * modules/unictype/category-S: New file.
21113         * modules/unictype/category-Sm: New file.
21114         * modules/unictype/category-Sc: New file.
21115         * modules/unictype/category-Sk: New file.
21116         * modules/unictype/category-So: New file.
21117         * modules/unictype/category-Z: New file.
21118         * modules/unictype/category-Zs: New file.
21119         * modules/unictype/category-Zl: New file.
21120         * modules/unictype/category-Zp: New file.
21121         * modules/unictype/category-C: New file.
21122         * modules/unictype/category-Cc: New file.
21123         * modules/unictype/category-Cf: New file.
21124         * modules/unictype/category-Cs: New file.
21125         * modules/unictype/category-Co: New file.
21126         * modules/unictype/category-Cn: New file.
21127         * modules/unictype/category-or: New file.
21128         * modules/unictype/category-of: New file.
21129         * modules/unictype/category-test: New file.
21130         * modules/unictype/category-test-withtable: New file.
21131         * modules/unictype/category-byname: New file.
21132         * modules/unictype/category-none: New file.
21133         * modules/unictype/category-and: New file.
21134         * modules/unictype/category-and-not: New file.
21135         * modules/unictype/category-name: New file.
21136         * modules/unictype/combining-class: New file.
21137         * modules/unictype/category-all: New file.
21138         * modules/unictype/bidicategory-all: New file.
21139         * modules/unictype/bidicategory-byname: New file.
21140         * modules/unictype/bidicategory-name: New file.
21141         * modules/unictype/bidicategory-of: New file.
21142         * modules/unictype/bidicategory-test: New file.
21143         * modules/unictype/decimal-digit: New file.
21144         * modules/unictype/digit: New file.
21145         * modules/unictype/numeric: New file.
21146         * modules/unictype/mirror: New file.
21147         * modules/unictype/property-white-space: New file.
21148         * modules/unictype/property-alphabetic: New file.
21149         * modules/unictype/property-other-alphabetic: New file.
21150         * modules/unictype/property-not-a-character: New file.
21151         * modules/unictype/property-default-ignorable-code-point: New file.
21152         * modules/unictype/property-other-default-ignorable-code-point: New
21153         file.
21154         * modules/unictype/property-deprecated: New file.
21155         * modules/unictype/property-logical-order-exception: New file.
21156         * modules/unictype/property-variation-selector: New file.
21157         * modules/unictype/property-private-use: New file.
21158         * modules/unictype/property-unassigned-code-value: New file.
21159         * modules/unictype/property-uppercase: New file.
21160         * modules/unictype/property-other-uppercase: New file.
21161         * modules/unictype/property-lowercase: New file.
21162         * modules/unictype/property-other-lowercase: New file.
21163         * modules/unictype/property-titlecase: New file.
21164         * modules/unictype/property-soft-dotted: New file.
21165         * modules/unictype/property-id-start: New file.
21166         * modules/unictype/property-other-id-start: New file.
21167         * modules/unictype/property-id-continue: New file.
21168         * modules/unictype/property-other-id-continue: New file.
21169         * modules/unictype/property-xid-start: New file.
21170         * modules/unictype/property-xid-continue: New file.
21171         * modules/unictype/property-pattern-white-space: New file.
21172         * modules/unictype/property-pattern-syntax: New file.
21173         * modules/unictype/property-join-control: New file.
21174         * modules/unictype/property-grapheme-base: New file.
21175         * modules/unictype/property-grapheme-extend: New file.
21176         * modules/unictype/property-other-grapheme-extend: New file.
21177         * modules/unictype/property-grapheme-link: New file.
21178         * modules/unictype/property-bidi-control: New file.
21179         * modules/unictype/property-bidi-left-to-right: New file.
21180         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
21181         * modules/unictype/property-bidi-arabic-right-to-left: New file.
21182         * modules/unictype/property-bidi-european-digit: New file.
21183         * modules/unictype/property-bidi-eur-num-separator: New file.
21184         * modules/unictype/property-bidi-eur-num-terminator: New file.
21185         * modules/unictype/property-bidi-arabic-digit: New file.
21186         * modules/unictype/property-bidi-common-separator: New file.
21187         * modules/unictype/property-bidi-block-separator: New file.
21188         * modules/unictype/property-bidi-segment-separator: New file.
21189         * modules/unictype/property-bidi-whitespace: New file.
21190         * modules/unictype/property-bidi-non-spacing-mark: New file.
21191         * modules/unictype/property-bidi-boundary-neutral: New file.
21192         * modules/unictype/property-bidi-pdf: New file.
21193         * modules/unictype/property-bidi-embedding-or-override: New file.
21194         * modules/unictype/property-bidi-other-neutral: New file.
21195         * modules/unictype/property-hex-digit: New file.
21196         * modules/unictype/property-ascii-hex-digit: New file.
21197         * modules/unictype/property-ideographic: New file.
21198         * modules/unictype/property-unified-ideograph: New file.
21199         * modules/unictype/property-radical: New file.
21200         * modules/unictype/property-ids-binary-operator: New file.
21201         * modules/unictype/property-ids-trinary-operator: New file.
21202         * modules/unictype/property-zero-width: New file.
21203         * modules/unictype/property-space: New file.
21204         * modules/unictype/property-non-break: New file.
21205         * modules/unictype/property-iso-control: New file.
21206         * modules/unictype/property-format-control: New file.
21207         * modules/unictype/property-dash: New file.
21208         * modules/unictype/property-hyphen: New file.
21209         * modules/unictype/property-punctuation: New file.
21210         * modules/unictype/property-line-separator: New file.
21211         * modules/unictype/property-paragraph-separator: New file.
21212         * modules/unictype/property-quotation-mark: New file.
21213         * modules/unictype/property-sentence-terminal: New file.
21214         * modules/unictype/property-terminal-punctuation: New file.
21215         * modules/unictype/property-currency-symbol: New file.
21216         * modules/unictype/property-math: New file.
21217         * modules/unictype/property-other-math: New file.
21218         * modules/unictype/property-paired-punctuation: New file.
21219         * modules/unictype/property-left-of-pair: New file.
21220         * modules/unictype/property-combining: New file.
21221         * modules/unictype/property-composite: New file.
21222         * modules/unictype/property-decimal-digit: New file.
21223         * modules/unictype/property-numeric: New file.
21224         * modules/unictype/property-diacritic: New file.
21225         * modules/unictype/property-extender: New file.
21226         * modules/unictype/property-ignorable-control: New file.
21227         * modules/unictype/property-test: New file.
21228         * modules/unictype/property-byname: New file.
21229         * modules/unictype/property-all: New file.
21230         * modules/unictype/scripts: New file.
21231         * modules/unictype/scripts-all: New file.
21232         * modules/unictype/block-of: New file.
21233         * modules/unictype/block-test: New file.
21234         * modules/unictype/block-list: New file.
21235         * modules/unictype/block-all: New file.
21236         * modules/unictype/syntax-c-whitespace: New file.
21237         * modules/unictype/syntax-java-whitespace: New file.
21238         * modules/unictype/syntax-c-ident: New file.
21239         * modules/unictype/syntax-java-ident: New file.
21240         * modules/unictype/ctype-alnum: New file.
21241         * modules/unictype/ctype-alpha: New file.
21242         * modules/unictype/ctype-cntrl: New file.
21243         * modules/unictype/ctype-digit: New file.
21244         * modules/unictype/ctype-graph: New file.
21245         * modules/unictype/ctype-lower: New file.
21246         * modules/unictype/ctype-print: New file.
21247         * modules/unictype/ctype-punct: New file.
21248         * modules/unictype/ctype-space: New file.
21249         * modules/unictype/ctype-upper: New file.
21250         * modules/unictype/ctype-xdigit: New file.
21251         * modules/unictype/ctype-blank: New file.
21252         * lib/unictype/bidi_byname.c: New file.
21253         * lib/unictype/bidi_name.c: New file.
21254         * lib/unictype/bidi_of.c: New file.
21255         * lib/unictype/bidi_test.c: New file.
21256         * lib/unictype/bitmap.h: New file.
21257         * lib/unictype/block_test.c: New file.
21258         * lib/unictype/blocks.c: New file.
21259         * lib/unictype/categ_C.c: New file.
21260         * lib/unictype/categ_Cc.c: New file.
21261         * lib/unictype/categ_Cf.c: New file.
21262         * lib/unictype/categ_Cn.c: New file.
21263         * lib/unictype/categ_Co.c: New file.
21264         * lib/unictype/categ_Cs.c: New file.
21265         * lib/unictype/categ_L.c: New file.
21266         * lib/unictype/categ_Ll.c: New file.
21267         * lib/unictype/categ_Lm.c: New file.
21268         * lib/unictype/categ_Lo.c: New file.
21269         * lib/unictype/categ_Lt.c: New file.
21270         * lib/unictype/categ_Lu.c: New file.
21271         * lib/unictype/categ_M.c: New file.
21272         * lib/unictype/categ_Mc.c: New file.
21273         * lib/unictype/categ_Me.c: New file.
21274         * lib/unictype/categ_Mn.c: New file.
21275         * lib/unictype/categ_N.c: New file.
21276         * lib/unictype/categ_Nd.c: New file.
21277         * lib/unictype/categ_Nl.c: New file.
21278         * lib/unictype/categ_No.c: New file.
21279         * lib/unictype/categ_P.c: New file.
21280         * lib/unictype/categ_Pc.c: New file.
21281         * lib/unictype/categ_Pd.c: New file.
21282         * lib/unictype/categ_Pe.c: New file.
21283         * lib/unictype/categ_Pf.c: New file.
21284         * lib/unictype/categ_Pi.c: New file.
21285         * lib/unictype/categ_Po.c: New file.
21286         * lib/unictype/categ_Ps.c: New file.
21287         * lib/unictype/categ_S.c: New file.
21288         * lib/unictype/categ_Sc.c: New file.
21289         * lib/unictype/categ_Sk.c: New file.
21290         * lib/unictype/categ_Sm.c: New file.
21291         * lib/unictype/categ_So.c: New file.
21292         * lib/unictype/categ_Z.c: New file.
21293         * lib/unictype/categ_Zl.c: New file.
21294         * lib/unictype/categ_Zp.c: New file.
21295         * lib/unictype/categ_Zs.c: New file.
21296         * lib/unictype/categ_and.c: New file.
21297         * lib/unictype/categ_and_not.c: New file.
21298         * lib/unictype/categ_byname.c: New file.
21299         * lib/unictype/categ_name.c: New file.
21300         * lib/unictype/categ_none.c: New file.
21301         * lib/unictype/categ_of.c: New file.
21302         * lib/unictype/categ_or.c: New file.
21303         * lib/unictype/categ_test.c: New file.
21304         * lib/unictype/combining.c: New file.
21305         * lib/unictype/ctype_alnum.c: New file.
21306         * lib/unictype/ctype_alpha.c: New file.
21307         * lib/unictype/ctype_blank.c: New file.
21308         * lib/unictype/ctype_cntrl.c: New file.
21309         * lib/unictype/ctype_digit.c: New file.
21310         * lib/unictype/ctype_graph.c: New file.
21311         * lib/unictype/ctype_lower.c: New file.
21312         * lib/unictype/ctype_print.c: New file.
21313         * lib/unictype/ctype_punct.c: New file.
21314         * lib/unictype/ctype_space.c: New file.
21315         * lib/unictype/ctype_upper.c: New file.
21316         * lib/unictype/ctype_xdigit.c: New file.
21317         * lib/unictype/decdigit.c: New file.
21318         * lib/unictype/digit.c: New file.
21319         * lib/unictype/identsyntaxmap.h: New file.
21320         * lib/unictype/mirror.c: New file.
21321         * lib/unictype/numeric.c: New file.
21322         * lib/unictype/pr_alphabetic.c: New file.
21323         * lib/unictype/pr_ascii_hex_digit.c: New file.
21324         * lib/unictype/pr_bidi_arabic_digit.c: New file.
21325         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
21326         * lib/unictype/pr_bidi_block_separator.c: New file.
21327         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
21328         * lib/unictype/pr_bidi_common_separator.c: New file.
21329         * lib/unictype/pr_bidi_control.c: New file.
21330         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
21331         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
21332         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
21333         * lib/unictype/pr_bidi_european_digit.c: New file.
21334         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
21335         * lib/unictype/pr_bidi_left_to_right.c: New file.
21336         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
21337         * lib/unictype/pr_bidi_other_neutral.c: New file.
21338         * lib/unictype/pr_bidi_pdf.c: New file.
21339         * lib/unictype/pr_bidi_segment_separator.c: New file.
21340         * lib/unictype/pr_bidi_whitespace.c: New file.
21341         * lib/unictype/pr_byname.c: New file.
21342         * lib/unictype/pr_byname.gperf: New file.
21343         * lib/unictype/pr_combining.c: New file.
21344         * lib/unictype/pr_composite.c: New file.
21345         * lib/unictype/pr_currency_symbol.c: New file.
21346         * lib/unictype/pr_dash.c: New file.
21347         * lib/unictype/pr_decimal_digit.c: New file.
21348         * lib/unictype/pr_default_ignorable_code_point.c: New file.
21349         * lib/unictype/pr_deprecated.c: New file.
21350         * lib/unictype/pr_diacritic.c: New file.
21351         * lib/unictype/pr_extender.c: New file.
21352         * lib/unictype/pr_format_control.c: New file.
21353         * lib/unictype/pr_grapheme_base.c: New file.
21354         * lib/unictype/pr_grapheme_extend.c: New file.
21355         * lib/unictype/pr_grapheme_link.c: New file.
21356         * lib/unictype/pr_hex_digit.c: New file.
21357         * lib/unictype/pr_hyphen.c: New file.
21358         * lib/unictype/pr_id_continue.c: New file.
21359         * lib/unictype/pr_id_start.c: New file.
21360         * lib/unictype/pr_ideographic.c: New file.
21361         * lib/unictype/pr_ids_binary_operator.c: New file.
21362         * lib/unictype/pr_ids_trinary_operator.c: New file.
21363         * lib/unictype/pr_ignorable_control.c: New file.
21364         * lib/unictype/pr_iso_control.c: New file.
21365         * lib/unictype/pr_join_control.c: New file.
21366         * lib/unictype/pr_left_of_pair.c: New file.
21367         * lib/unictype/pr_line_separator.c: New file.
21368         * lib/unictype/pr_logical_order_exception.c: New file.
21369         * lib/unictype/pr_lowercase.c: New file.
21370         * lib/unictype/pr_math.c: New file.
21371         * lib/unictype/pr_non_break.c: New file.
21372         * lib/unictype/pr_not_a_character.c: New file.
21373         * lib/unictype/pr_numeric.c: New file.
21374         * lib/unictype/pr_other_alphabetic.c: New file.
21375         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
21376         * lib/unictype/pr_other_grapheme_extend.c: New file.
21377         * lib/unictype/pr_other_id_continue.c: New file.
21378         * lib/unictype/pr_other_id_start.c: New file.
21379         * lib/unictype/pr_other_lowercase.c: New file.
21380         * lib/unictype/pr_other_math.c: New file.
21381         * lib/unictype/pr_other_uppercase.c: New file.
21382         * lib/unictype/pr_paired_punctuation.c: New file.
21383         * lib/unictype/pr_paragraph_separator.c: New file.
21384         * lib/unictype/pr_pattern_syntax.c: New file.
21385         * lib/unictype/pr_pattern_white_space.c: New file.
21386         * lib/unictype/pr_private_use.c: New file.
21387         * lib/unictype/pr_punctuation.c: New file.
21388         * lib/unictype/pr_quotation_mark.c: New file.
21389         * lib/unictype/pr_radical.c: New file.
21390         * lib/unictype/pr_sentence_terminal.c: New file.
21391         * lib/unictype/pr_soft_dotted.c: New file.
21392         * lib/unictype/pr_space.c: New file.
21393         * lib/unictype/pr_terminal_punctuation.c: New file.
21394         * lib/unictype/pr_test.c: New file.
21395         * lib/unictype/pr_titlecase.c: New file.
21396         * lib/unictype/pr_unassigned_code_value.c: New file.
21397         * lib/unictype/pr_unified_ideograph.c: New file.
21398         * lib/unictype/pr_uppercase.c: New file.
21399         * lib/unictype/pr_variation_selector.c: New file.
21400         * lib/unictype/pr_white_space.c: New file.
21401         * lib/unictype/pr_xid_continue.c: New file.
21402         * lib/unictype/pr_xid_start.c: New file.
21403         * lib/unictype/pr_zero_width.c: New file.
21404         * lib/unictype/scripts.c: New file.
21405         * lib/unictype/sy_c_ident.c: New file.
21406         * lib/unictype/sy_c_whitespace.c: New file.
21407         * lib/unictype/sy_java_ident.c: New file.
21408         * lib/unictype/sy_java_whitespace.c: New file.
21409
21410         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
21411         Unicode 5.0.0.
21412         * lib/unictype/blocks.h: Likewise.
21413         * lib/unictype/categ_C.h: Likewise.
21414         * lib/unictype/categ_Cc.h: Likewise.
21415         * lib/unictype/categ_Cf.h: Likewise.
21416         * lib/unictype/categ_Cn.h: Likewise.
21417         * lib/unictype/categ_Co.h: Likewise.
21418         * lib/unictype/categ_Cs.h: Likewise.
21419         * lib/unictype/categ_L.h: Likewise.
21420         * lib/unictype/categ_Ll.h: Likewise.
21421         * lib/unictype/categ_Lm.h: Likewise.
21422         * lib/unictype/categ_Lo.h: Likewise.
21423         * lib/unictype/categ_Lt.h: Likewise.
21424         * lib/unictype/categ_Lu.h: Likewise.
21425         * lib/unictype/categ_M.h: Likewise.
21426         * lib/unictype/categ_Mc.h: Likewise.
21427         * lib/unictype/categ_Me.h: Likewise.
21428         * lib/unictype/categ_Mn.h: Likewise.
21429         * lib/unictype/categ_N.h: Likewise.
21430         * lib/unictype/categ_Nd.h: Likewise.
21431         * lib/unictype/categ_Nl.h: Likewise.
21432         * lib/unictype/categ_No.h: Likewise.
21433         * lib/unictype/categ_P.h: Likewise.
21434         * lib/unictype/categ_Pc.h: Likewise.
21435         * lib/unictype/categ_Pd.h: Likewise.
21436         * lib/unictype/categ_Pe.h: Likewise.
21437         * lib/unictype/categ_Pf.h: Likewise.
21438         * lib/unictype/categ_Pi.h: Likewise.
21439         * lib/unictype/categ_Po.h: Likewise.
21440         * lib/unictype/categ_Ps.h: Likewise.
21441         * lib/unictype/categ_S.h: Likewise.
21442         * lib/unictype/categ_Sc.h: Likewise.
21443         * lib/unictype/categ_Sk.h: Likewise.
21444         * lib/unictype/categ_Sm.h: Likewise.
21445         * lib/unictype/categ_So.h: Likewise.
21446         * lib/unictype/categ_Z.h: Likewise.
21447         * lib/unictype/categ_Zl.h: Likewise.
21448         * lib/unictype/categ_Zp.h: Likewise.
21449         * lib/unictype/categ_Zs.h: Likewise.
21450         * lib/unictype/categ_of.h: Likewise.
21451         * lib/unictype/combining.h: Likewise.
21452         * lib/unictype/ctype_alnum.h: Likewise.
21453         * lib/unictype/ctype_alpha.h: Likewise.
21454         * lib/unictype/ctype_blank.h: Likewise.
21455         * lib/unictype/ctype_cntrl.h: Likewise.
21456         * lib/unictype/ctype_digit.h: Likewise.
21457         * lib/unictype/ctype_graph.h: Likewise.
21458         * lib/unictype/ctype_lower.h: Likewise.
21459         * lib/unictype/ctype_print.h: Likewise.
21460         * lib/unictype/ctype_punct.h: Likewise.
21461         * lib/unictype/ctype_space.h: Likewise.
21462         * lib/unictype/ctype_upper.h: Likewise.
21463         * lib/unictype/ctype_xdigit.h: Likewise.
21464         * lib/unictype/decdigit.h: Likewise.
21465         * lib/unictype/digit.h: Likewise.
21466         * lib/unictype/mirror.h: Likewise.
21467         * lib/unictype/numeric.h: Likewise.
21468         * lib/unictype/pr_alphabetic.h: Likewise.
21469         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21470         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21471         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21472         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21473         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21474         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21475         * lib/unictype/pr_bidi_control.h: Likewise.
21476         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21477         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21478         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21479         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21480         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21481         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21482         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21483         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21484         * lib/unictype/pr_bidi_pdf.h: Likewise.
21485         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21486         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21487         * lib/unictype/pr_combining.h: Likewise.
21488         * lib/unictype/pr_composite.h: Likewise.
21489         * lib/unictype/pr_currency_symbol.h: Likewise.
21490         * lib/unictype/pr_dash.h: Likewise.
21491         * lib/unictype/pr_decimal_digit.h: Likewise.
21492         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21493         * lib/unictype/pr_deprecated.h: Likewise.
21494         * lib/unictype/pr_diacritic.h: Likewise.
21495         * lib/unictype/pr_extender.h: Likewise.
21496         * lib/unictype/pr_format_control.h: Likewise.
21497         * lib/unictype/pr_grapheme_base.h: Likewise.
21498         * lib/unictype/pr_grapheme_extend.h: Likewise.
21499         * lib/unictype/pr_grapheme_link.h: Likewise.
21500         * lib/unictype/pr_hex_digit.h: Likewise.
21501         * lib/unictype/pr_hyphen.h: Likewise.
21502         * lib/unictype/pr_id_continue.h: Likewise.
21503         * lib/unictype/pr_id_start.h: Likewise.
21504         * lib/unictype/pr_ideographic.h: Likewise.
21505         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21506         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21507         * lib/unictype/pr_ignorable_control.h: Likewise.
21508         * lib/unictype/pr_iso_control.h: Likewise.
21509         * lib/unictype/pr_join_control.h: Likewise.
21510         * lib/unictype/pr_left_of_pair.h: Likewise.
21511         * lib/unictype/pr_line_separator.h: Likewise.
21512         * lib/unictype/pr_logical_order_exception.h: Likewise.
21513         * lib/unictype/pr_lowercase.h: Likewise.
21514         * lib/unictype/pr_math.h: Likewise.
21515         * lib/unictype/pr_non_break.h: Likewise.
21516         * lib/unictype/pr_not_a_character.h: Likewise.
21517         * lib/unictype/pr_numeric.h: Likewise.
21518         * lib/unictype/pr_other_alphabetic.h: Likewise.
21519         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21520         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21521         * lib/unictype/pr_other_id_continue.h: Likewise.
21522         * lib/unictype/pr_other_id_start.h: Likewise.
21523         * lib/unictype/pr_other_lowercase.h: Likewise.
21524         * lib/unictype/pr_other_math.h: Likewise.
21525         * lib/unictype/pr_other_uppercase.h: Likewise.
21526         * lib/unictype/pr_paired_punctuation.h: Likewise.
21527         * lib/unictype/pr_paragraph_separator.h: Likewise.
21528         * lib/unictype/pr_pattern_syntax.h: Likewise.
21529         * lib/unictype/pr_pattern_white_space.h: Likewise.
21530         * lib/unictype/pr_private_use.h: Likewise.
21531         * lib/unictype/pr_punctuation.h: Likewise.
21532         * lib/unictype/pr_quotation_mark.h: Likewise.
21533         * lib/unictype/pr_radical.h: Likewise.
21534         * lib/unictype/pr_sentence_terminal.h: Likewise.
21535         * lib/unictype/pr_soft_dotted.h: Likewise.
21536         * lib/unictype/pr_space.h: Likewise.
21537         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21538         * lib/unictype/pr_titlecase.h: Likewise.
21539         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21540         * lib/unictype/pr_unified_ideograph.h: Likewise.
21541         * lib/unictype/pr_uppercase.h: Likewise.
21542         * lib/unictype/pr_variation_selector.h: Likewise.
21543         * lib/unictype/pr_white_space.h: Likewise.
21544         * lib/unictype/pr_xid_continue.h: Likewise.
21545         * lib/unictype/pr_xid_start.h: Likewise.
21546         * lib/unictype/pr_zero_width.h: Likewise.
21547         * lib/unictype/scripts.h: Likewise.
21548         * lib/unictype/scripts_byname.gperf: Likewise.
21549         * lib/unictype/sy_c_ident.h: Likewise.
21550         * lib/unictype/sy_c_whitespace.h: Likewise.
21551         * lib/unictype/sy_java_ident.h: Likewise.
21552         * lib/unictype/sy_java_whitespace.h: Likewise.
21553
21554         * lib/unictype/Makefile: New file.
21555         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
21556         glibc.
21557         * lib/unictype/3level.h: New file, copied from glibc.
21558         * lib/unictype/3levelbit.h: New file.
21559
21560 2007-11-11  Bruno Haible  <bruno@clisp.org>
21561
21562         * modules/gperf: New file.
21563         * modules/iconv_open (Depends-on): Add it.
21564         (Makefile.am): Remove the GPERF definition.
21565
21566 2007-11-11  Bruno Haible  <bruno@clisp.org>
21567
21568         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
21569         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
21570
21571 2007-11-11  Bruno Haible  <bruno@clisp.org>
21572
21573         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
21574         (usage): Remove function.
21575
21576 2007-11-11  Bruno Haible  <bruno@clisp.org>
21577
21578         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
21579         gl_FUNC_CEILF_LIBS.
21580         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
21581         gl_FUNC_CEIL_LIBS.
21582         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
21583         gl_FUNC_CEILL_LIBS.
21584         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
21585         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
21586         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
21587
21588 2007-11-11  Bruno Haible  <bruno@clisp.org>
21589
21590         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
21591         roundf were declared but do not exist on functions.
21592         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
21593         roundl were declared but do not exist on functions.
21594         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
21595         HAVE_FLOORL_AND_CEILL, respectively.
21596         Needed for Sun C on Solaris 10.
21597
21598 2007-11-11  Bruno Haible  <bruno@clisp.org>
21599
21600         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
21601         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
21602         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
21603         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
21604         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
21605         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
21606         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
21607         HAVE_DECL_ROUNDF.
21608         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
21609         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
21610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
21611         of HAVE_DECL_ROUND*.
21612         * modules/math (Makefile.am): Update.
21613
21614 2007-11-10  Bruno Haible  <bruno@clisp.org>
21615
21616         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
21617         ptrdiff_t as m4/intl.m4.
21618
21619 2007-11-10  Jim Meyering  <meyering@redhat.com>
21620
21621         Avoid link failure for the argmatch test.
21622         * tests/test-argmatch.c (usage): Define function to avoid a link
21623         failure: argmatch_die requires a usage function.
21624
21625 2007-11-09  Bruno Haible  <bruno@clisp.org>
21626
21627         * doc/functions/snprintf.texi: Mention BeOS deficiency.
21628         * doc/functions/vsnprintf.texi: Likewise.
21629         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
21630         with a size argument < 2.
21631
21632 2007-11-09  Bruno Haible  <bruno@clisp.org>
21633
21634         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
21635         buffer. Fixes an inefficiency introduced on 2007-11-03.
21636
21637 2007-11-09  Bruno Haible  <bruno@clisp.org>
21638
21639         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
21640         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
21641
21642 2007-11-08  Jim Meyering  <meyering@redhat.com>
21643
21644         Change cache variable name prefix "jm_" to "gl_" everywhere.
21645         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
21646         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
21647         * m4/uptime.m4: s/gl_/jm_/
21648
21649 2007-11-07  Bruno Haible  <bruno@clisp.org>
21650
21651         Update to GNU gettext 0.17.
21652         * m4/intl.m4: Update to GNU gettext 0.17.
21653         * m4/po.m4: Likewise.
21654         * modules/gettext (Files): Remove m4/ulonglong.m4.
21655         (configure.ac): Require gettext infrastructure from version 0.17.
21656
21657 2007-11-06  Bruno Haible  <bruno@clisp.org>
21658
21659         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
21660         symbolic values are not defined in a public header.
21661         * lib/freadable.c (freadable) [QNX]: Likewise.
21662         * lib/freadahead.c (freadahead) [QNX]: Likewise.
21663         * lib/freading.c (freading) [QNX]: Likewise.
21664         * lib/fseterr.c (fseterr) [QNX]: Likewise.
21665         * lib/fwritable.c (fwritable) [QNX]: Likewise.
21666         * lib/fwriting.c (fwriting) [QNX]: Likewise.
21667         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
21668         Reported by Alain Magloire.
21669
21670         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
21671
21672 2007-11-05  Bruno Haible  <bruno@clisp.org>
21673
21674         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
21675         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
21676         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
21677         Reported by Eric Blake.
21678
21679 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21680             Bruno Haible  <bruno@clisp.org>
21681
21682         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
21683         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
21684         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
21685         (malloc): Undefine also before including <stdlib.h>.
21686         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
21687         Needed on OSF/1 4.0.
21688
21689 2007-11-05  Jim Meyering  <meyering@redhat.com>
21690
21691         git-version-gen: sync from coreutils.
21692         * build-aux/git-version-gen: Add comments.
21693         Change the first '-' to '.' in the snapshot version string,
21694         e.g., 6.9-377-08144 -> 6.9.377-08144
21695         Remove first parameter.
21696         Don't declare a version "-dirty" merely because a time
21697         stamp has changed.
21698
21699 2007-11-04  Bruno Haible  <bruno@clisp.org>
21700
21701         * lib/lock.h: Protect all macro definitions containing an 'if'
21702         statement through a "do { ... } while (0)".
21703         * lib/tls.h: Likewise.
21704
21705 2007-11-04  Bruno Haible  <bruno@clisp.org>
21706
21707         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
21708
21709 2007-11-04  Bruno Haible  <bruno@clisp.org>
21710
21711         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
21712         * modules/fprintf-posix (Depends-on): Add nocrash.
21713         * modules/snprintf-posix (Depends-on): Likewise.
21714         * modules/sprintf-posix (Depends-on): Likewise.
21715         * modules/vasnprintf-posix (Depends-on): Likewise.
21716         * modules/vasprintf-posix (Depends-on): Likewise.
21717         * modules/vfprintf-posix (Depends-on): Likewise.
21718         * modules/vsnprintf-posix (Depends-on): Likewise.
21719         * modules/vsprintf-posix (Depends-on): Likewise.
21720         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21721         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21722         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21723         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21724         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21725         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21726         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21727
21728 2007-11-04  Bruno Haible  <bruno@clisp.org>
21729
21730         * modules/nocrash: New file.
21731         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
21732         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
21733
21734 2007-11-04  Bruno Haible  <bruno@clisp.org>
21735
21736         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
21737         precision handling.
21738         * tests/test-vasprintf-posix.c (test_function): Likewise.
21739         * tests/test-snprintf-posix.h (test_function): Likewise.
21740         * tests/test-sprintf-posix.h (test_function): Likewise.
21741
21742         Fix *printf behaviour for large precisions on mingw and BeOS.
21743         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
21744         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
21745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
21746         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21747         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21748         gl_PRINTF_PRECISION and test its result. Invoke
21749         gl_PREREQ_VASNPRINTF_PRECISION.
21750         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21751         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21752         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21754         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21755         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21757         * doc/functions/fprintf.texi: Update.
21758         * doc/functions/printf.texi: Update.
21759         * doc/functions/snprintf.texi: Update.
21760         * doc/functions/sprintf.texi: Update.
21761         * doc/functions/vfprintf.texi: Update.
21762         * doc/functions/vprintf.texi: Update.
21763         * doc/functions/vsnprintf.texi: Update.
21764         * doc/functions/vsprintf.texi: Update.
21765
21766 2007-11-04  Bruno Haible  <bruno@clisp.org>
21767
21768         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
21769
21770 2007-11-04  Bruno Haible  <bruno@clisp.org>
21771
21772         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
21773         Reported by Sylvain Beucler <beuc@gnu.org>.
21774
21775 2007-11-03  Bruno Haible  <bruno@clisp.org>
21776
21777         * tests/test-fprintf-posix2.sh: New file.
21778         * tests/test-fprintf-posix2.c: New file.
21779         * modules/fprintf-posix-tests (Files): Add them.
21780         (TESTS): Add test-fprintf-posix2.sh.
21781         (configure.ac): Check for getrlimit and setrlimit.
21782         (check_PROGRAMS): Add test-fprintf-posix2.
21783
21784         * tests/test-printf-posix2.sh: New file.
21785         * tests/test-printf-posix2.c: New file.
21786         * modules/printf-posix-tests (Files): Add them.
21787         (TESTS): Add test-printf-posix2.sh.
21788         (configure.ac): Check for getrlimit and setrlimit.
21789         (check_PROGRAMS): Add test-printf-posix2.
21790
21791         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
21792         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
21793         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
21794         (decode_double): New function, copied from decode_long_double.
21795         (scale10_round_decimal_decoded): New function, extracted from
21796         scale10_round_decimal_long_double.
21797         (scale10_round_decimal_long_double): Use it.
21798         (scale10_round_decimal_double): New function.
21799         (floorlog10): New function.
21800         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
21801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
21802         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21803         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21804         gl_PRINTF_ENOMEM and test its result. Invoke
21805         gl_PREREQ_VASNPRINTF_ENOMEM.
21806         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21807         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21810         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21811         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21812         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21813         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
21814         * modules/snprintf-posix (Depends-on): Likewise.
21815         * modules/sprintf-posix (Depends-on): Likewise.
21816         * modules/vasnprintf-posix (Depends-on): Likewise.
21817         * modules/vasprintf-posix (Depends-on): Likewise.
21818         * modules/vfprintf-posix (Depends-on): Likewise.
21819         * modules/vsnprintf-posix (Depends-on): Likewise.
21820         * modules/vsprintf-posix (Depends-on): Likewise.
21821         * doc/functions/fprintf.texi: Update.
21822         * doc/functions/printf.texi: Update.
21823         * doc/functions/snprintf.texi: Update.
21824         * doc/functions/sprintf.texi: Update.
21825         * doc/functions/vfprintf.texi: Update.
21826         * doc/functions/vprintf.texi: Update.
21827         * doc/functions/vsnprintf.texi: Update.
21828         * doc/functions/vsprintf.texi: Update.
21829
21830 2007-11-03  Bruno Haible  <bruno@clisp.org>
21831
21832         * modules/frexp-nolibm-tests: New file.
21833
21834         * modules/frexp-nolibm: New file.
21835         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
21836
21837 2007-11-03  Bruno Haible  <bruno@clisp.org>
21838
21839         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
21840         value is C99 compliant.
21841         Needed for OSF/1 5.1.
21842
21843 2007-11-03  Bruno Haible  <bruno@clisp.org>
21844
21845         Fix out-of-memory handling of vasnprintf.
21846         * lib/printf-parse.c: Include <errno.h>.
21847         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
21848         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
21849         is already set.
21850
21851 2007-11-02  Eric Blake  <ebb9@byu.net>
21852
21853         Fix tests on cygwin.
21854         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
21855
21856 2007-11-01  Bruno Haible  <bruno@clisp.org>
21857
21858         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
21859         warning.
21860         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
21861         needed for POSIX compatibility.
21862
21863 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21864
21865         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
21866         for compatibility with GNU.
21867
21868 2007-11-01  Bruno Haible  <bruno@clisp.org>
21869
21870         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
21871         (putenv): Renamed from rpl_putenv. Change argument type from
21872         'const char *' to 'char *'.
21873         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
21874         of defining putenv in config.h, just set REPLACE_PUTENV.
21875         * modules/putenv (Depends-on): Add stdlib.
21876         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21877         (Include): Use <stdlib.h>.
21878         * lib/stdlib.in.h (putenv): New declaration.
21879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
21880         REPLACE_PUTENV.
21881         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
21882         REPLACE_PUTENV.
21883         Needed for MacOS X 10.5.0.
21884         Reported by Peter O'Gorman <peter@pogma.com>.
21885
21886 2007-11-01  Jim Meyering  <meyering@redhat.com>
21887
21888         Treat an empty date string exactly like "0".
21889         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
21890         if the remaining date string (to be parsed) is empty, use "0".
21891         Reported by Mischa Molhoek and discussed in this thread:
21892         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
21893
21894 2007-10-31  Bruno Haible  <bruno@clisp.org>
21895
21896         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
21897         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
21898         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
21899         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
21900         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
21901         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
21902
21903 2007-10-31  Bruno Haible  <bruno@clisp.org>
21904
21905         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
21906         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
21907         (AC_TYPE_LONG_LONG_INT): Use it.
21908         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
21909         it as well.
21910         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
21911         to m4/longlong.m4.
21912         * modules/stdint (Files): Remove m4/ulonglong.m4.
21913         * modules/strtoull (Files): Use m4/longlong.m4 instead of
21914         m4/ulonglong.m4.
21915         * modules/strtoumax (Files): Likewise.
21916
21917 2007-10-30  Bruno Haible  <bruno@clisp.org>
21918
21919         * modules/xvasprintf-posix: New file.
21920         Suggested by Eric Blake.
21921
21922 2007-10-30  Bruno Haible  <bruno@clisp.org>
21923
21924         * modules/xprintf-posix-tests: New file.
21925         * tests/test-xprintf-posix.sh: New file.
21926         * tests/test-xprintf-posix.c: New file.
21927         * tests/test-xfprintf-posix.c: New file.
21928
21929         * modules/xprintf-posix: New file.
21930
21931 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21932
21933         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
21934         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
21935         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
21936
21937 2007-10-29  Bruno Haible  <bruno@clisp.org>
21938
21939         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
21940         contain the special marker '_cv_'.
21941         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21942         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21943         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21944         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
21945         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21946         Reported by Ralf Wildenhues.
21947
21948 2007-10-29  Bruno Haible  <bruno@clisp.org>
21949
21950         * gnulib-tool (func_import): When --lgpl is not specified, set
21951         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
21952         GPLv3.
21953         Reported by Simon Josefsson.
21954
21955 2007-10-28  Bruno Haible  <bruno@clisp.org>
21956
21957         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
21958         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
21959         HAVE_DECL_ISFINITE.
21960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
21961         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
21962         HAVE_DECL_ISFINITE.
21963
21964 2007-10-28  Bruno Haible  <bruno@clisp.org>
21965
21966         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
21967         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
21968
21969 2007-10-28  Bruno Haible  <bruno@clisp.org>
21970
21971         Fix link errors with Sun C 5.0 on Solaris 10.
21972         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
21973         function is declared but not present in the compiler's libm.
21974         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
21975         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
21976         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
21977         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
21978         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
21979         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
21980         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
21981         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
21982         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
21983         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
21984         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
21985         HAVE_DECL_FLOORL.
21986
21987 2007-10-28  Bruno Haible  <bruno@clisp.org>
21988
21989         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
21990         gl_FUNC_FLOORL. Cache the result.
21991         (gl_FUNC_FLOORL): Use it.
21992         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
21993         gl_FUNC_CEILL. Cache the result.
21994         (gl_FUNC_CEILL): Use it.
21995
21996         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
21997         gl_FUNC_FLOOR. Cache the result.
21998         (gl_FUNC_FLOOR): Use it.
21999         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
22000         gl_FUNC_CEIL. Cache the result.
22001         (gl_FUNC_CEIL): Use it.
22002
22003         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
22004         gl_FUNC_FLOORF. Cache the result.
22005         (gl_FUNC_FLOORF): Use it.
22006         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
22007         gl_FUNC_CEILF. Cache the result.
22008         (gl_FUNC_CEILF): Use it.
22009
22010 2007-10-28  Bruno Haible  <bruno@clisp.org>
22011
22012         * gnulib-tool: Allow specifying the LGPL version number through
22013         --lgpl=2 or --lgpl=3.
22014         (func_usage): Document --lgpl with argument.
22015         Handle --lgpl=... arguments.
22016         (func_import): Recognize also gl_LGPL calls with an argument. When
22017         --lgpl=2 is used and the module's license is just LGPL, report an
22018         error. Set sed_transform_lib_file according to the lgpl variable. In
22019         the generated files, use --lgpl or gl_LGPL invocations with argument,
22020         if necessary.
22021         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
22022         an LGPv2+ license.
22023         * doc/gnulib-tool.texi (Modified imports): Update explanation of
22024         gl_LGPL macro.
22025
22026 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22027             Bruno Haible  <bruno@clisp.org>
22028
22029         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
22030         (u16_uctomb_aux): Likewise.
22031         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
22032         !HAVE_INLINE.
22033         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
22034
22035 2007-10-28  Bruno Haible  <bruno@clisp.org>
22036
22037         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
22038         Invoke AM_GETTEXT_OPTION if it exists.
22039         * modules/vasprintf: Likewise.
22040         * modules/verror: Likewise.
22041         * modules/xprintf: Likewise.
22042         * modules/xvasprintf: Likewise.
22043
22044 2007-10-27  Ben Pfaff  <blp@gnu.org>
22045
22046         * lib/math.in.h: Define isfinite macro and prototypes for
22047         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
22048         implementations.
22049         * m4/math_h.m4: New substitutions for isfinite module.
22050         * lib/isfinite.c: New file.
22051         * m4/isfinite.m4: New file.
22052         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
22053         * modules/isfinite: New file.
22054         * modules/isfinite-tests: New file.
22055         * tests/tests-isfinite.c: New file.
22056         * doc/functions/isfinite.texi: Mention isfinite module.
22057         * MODULES.html.sh: Mention new module.
22058
22059 2007-10-27  Ben Pfaff  <blp@gnu.org>
22060
22061         Ralf Wildenhues reported that Tru64 4.0D declares the round
22062         functions but does not have definitions.
22063         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
22064         cannot be found in any library, set the output variable to
22065         "missing" instead of "".
22066         * m4/round.m4: Also use our substitute if we cannot find round in
22067         any library, even if it is declared.
22068         * m4/roundf.m4: Likewise for roundf.
22069         * m4/roundl.m4: Likewise for roundl.
22070         * lib/math.in.h: Undefine roundf, round, roundl before defining
22071         their replacements, to allow for hypothetical systems where these
22072         may be defined as macros but not available in libraries.
22073
22074 2007-10-27  Bruno Haible  <bruno@clisp.org>
22075
22076         * doc/gnulib.texi: Invoke @firstparagraphindent.
22077         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
22078         changes in gnulib.
22079         (Source changes): New section.
22080
22081 2007-10-26  Bruno Haible  <bruno@clisp.org>
22082
22083         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
22084         borrowed from autoconf.
22085
22086 2007-10-26  Bruno Haible  <bruno@clisp.org>
22087
22088         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
22089         strerror returned the empty string. Needed on HP-UX 11.00.
22090
22091 2007-10-24  Micah Cowan  <micah@cowan.name>
22092
22093         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
22094         * build-aux/bootstrap: Remove support for now-unnecessary option,
22095         --cvs-user, and envvars CVS_USER, CVS_RSH.
22096
22097 2007-10-24  Jim Meyering  <meyering@redhat.com>
22098
22099         Avoid diagnostics from sha1sum when there is no cached checksum.
22100         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
22101         if the po.s1 file hasn't been created yet.
22102
22103         * build-aux/bootstrap: Sync from coreutils:
22104         2007-10-24  Jim Meyering  <meyering@redhat.com>
22105         Get gnulib from the git repository, not from an obsolete cvs one.
22106         * build-aux/bootstrap: Suggestion from Micah Cowan.
22107         2007-10-04  Jim Meyering  <jim@meyering.net>
22108         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
22109         (update_po_files): Work also when there are no .po files in po/.
22110
22111 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
22112
22113         * README: Append ".git" to git and cg examples.
22114         Problem reported by Benoit Sigoure.
22115
22116 2007-10-23  Micah Cowan  <micah@cowan.name>
22117
22118         * users.txt: Add wget.
22119
22120 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22121
22122         Fix linking of some unistdio tests on FreeBSD.
22123         * modules/unistdio/u16-vsnprintf-tests
22124         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
22125         * modules/unistdio/u16-vsprintf-tests
22126         (test_u16_vsnprintf1_LDADD): Likewise.
22127         * modules/unistdio/u32-vsnprintf-tests
22128         (test_u32_vsnprintf1_LDADD): Likewise.
22129         * modules/unistdio/u32-vsprintf-tests
22130         (test_u32_vsprintf1_LDADD): Likewise.
22131         * modules/unistdio/u8-vsnprintf-tests
22132         (test_u8_vsnprintf1_LDADD): Likewise.
22133         * modules/unistdio/u8-vsprintf-tests
22134         (test_u8_vsprintf1_LDADD): Likewise.
22135         * modules/unistdio/ulc-vsnprintf-tests
22136         (test_ulc_vsnprintf1_LDADD): Likewise.
22137         * modules/unistdio/ulc-vsprintf-tests
22138         (test_ulc_vsprintf1_LDADD): Likewise.
22139
22140         Fix linking of some uniconv tests on FreeBSD.
22141         * modules/uniconv/u16-conv-from-enc-tests
22142         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
22143         * modules/uniconv/u16-conv-to-enc-tests
22144         (test_u16_conv_to_enc_LDADD): Likewise.
22145         * modules/uniconv/u16-strconv-from-enc-tests
22146         (test_u16_strconv_from_enc_LDADD): Likewise.
22147         * modules/uniconv/u16-strconv-to-enc-tests
22148         (test_u16_strconv_to_enc_LDADD): Likewise.
22149         * modules/uniconv/u32-conv-from-enc-tests
22150         (test_u32_conv_from_enc_LDADD): Likewise.
22151         * modules/uniconv/u32-conv-to-enc-tests
22152         (test_u32_conv_to_enc_LDADD): Likewise.
22153         * modules/uniconv/u32-strconv-from-enc-tests
22154         (test_u32_strconv_from_enc_LDADD): Likewise.
22155         * modules/uniconv/u32-strconv-to-enc-tests
22156         (test_u32_strconv_to_enc_LDADD): Likewise.
22157         * modules/uniconv/u8-conv-from-enc-tests
22158         (test_u8_conv_from_enc_LDADD): Likewise.
22159         * modules/uniconv/u8-conv-to-enc-tests
22160         (test_u8_conv_to_enc_LDADD): Likewise.
22161         * modules/uniconv/u8-strconv-from-enc-tests
22162         (test_u8_strconv_from_enc_LDADD): Likewise.
22163         * modules/uniconv/u8-strconv-to-enc-tests
22164         (test_u8_strconv_to_enc_LDADD): Likewise.
22165
22166 2007-10-22  Bruno Haible  <bruno@clisp.org>
22167
22168         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
22169         size.
22170
22171 2007-10-22  Eric Blake  <ebb9@byu.net>
22172
22173         Tweak x*printf documentation.
22174         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
22175         variable name and comments.
22176         Suggested by Bruno Haible.
22177
22178 2007-10-22  Bruno Haible  <bruno@clisp.org>
22179
22180         * lib/acl.c (copy_acl): Fix file name in comment.
22181
22182 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22183
22184         Fix Tru64 problem with stdbool.h.
22185         * lib/stdbool.in.h (false, true):
22186         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
22187         Don't declare as an enum in this situation; it runs afoul of Tru64.
22188         Problem reported by Steven M. Schweda in
22189         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
22190
22191 2007-10-22  Eric Blake  <ebb9@byu.net>
22192
22193         Also wrap vf?printf.
22194         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
22195         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
22196         (xvprintf, xvfprintf): New functions.
22197
22198 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22199
22200         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
22201         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
22202
22203         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
22204         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
22205
22206 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22207
22208         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
22209         by Bruno Haible.
22210
22211 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22212
22213         * lib/getloadavg.c
22214         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
22215         Undef `sys' after including sys/table.h, for Tru64 4.0D.
22216
22217         * tests/test-i-ring.c: Work for C89.
22218
22219 2007-10-22  Bruno Haible  <bruno@clisp.org>
22220
22221         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
22222         -1u, in preprocessor expression, so that we don't test for the bug
22223         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
22224         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
22225
22226 2007-10-22  Eric Blake  <ebb9@byu.net>
22227
22228         * tests/test-yesno.sh: Silence stderr during test.
22229
22230 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22231
22232         * modules/crypto/gc-camellia: New file.
22233
22234         * m4/gc-camellia.m4: New file.
22235
22236         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
22237
22238         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
22239
22240 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22241
22242         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
22243         --help to stdout.  Reported by sms@antinode.org (Steven
22244         M. Schweda).
22245
22246 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22247
22248         * users.txt: Fix link to libksba.
22249
22250 2007-10-21  Ben Pfaff  <blp@gnu.org>
22251
22252         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
22253         round.c roundf implementation that depends on floorf and ceilf to
22254         be tested unconditionally.
22255
22256 2007-10-21  Ben Pfaff  <blp@gnu.org>
22257
22258         * m4/check-libm-func.m4: Removed.
22259         * m4/check-math-lib.m4: New file.
22260         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
22261         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
22262         definition and lack of AC_LIBOBJ([roundf]).
22263         * m4/roundl.m4: Ditto, and similarly for roundl.
22264         * modules/round: Reference new m4 file.
22265         * modules/roundf: Ditto.
22266         * modules/roundl: Ditto.
22267         * tests/test-round2.c (main): Use ROUND instead of round.
22268         Bug report from Bruno Haible.
22269
22270 2007-10-21  Bruno Haible  <bruno@clisp.org>
22271
22272         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
22273         context.
22274
22275 2007-10-21  Bruno Haible  <bruno@clisp.org>
22276
22277         * tests/test-wcwidth.c (main): Allow negative result for some control
22278         characters.
22279
22280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
22281         Needed on OSF/1 5.1.
22282
22283 2007-10-21  Bruno Haible  <bruno@clisp.org>
22284
22285         * tests/test-floorf1.c: Include isnanf.h.
22286         (main): Use isnanf() instead of isnan().
22287         * tests/test-ceilf1.c: Include isnanf.h.
22288         (main): Use isnanf() instead of isnan().
22289         * tests/test-truncf1.c: Include isnanf.h.
22290         (main): Use isnanf() instead of isnan().
22291         * tests/test-roundf1.c: Include isnanf.h.
22292         (main): Use isnanf() instead of isnan().
22293
22294 2007-10-21  Eric Blake  <ebb9@byu.net>
22295
22296         * users.txt: Update URL for m4.
22297
22298 2007-10-21  Bruno Haible  <bruno@clisp.org>
22299
22300         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
22301
22302 2007-10-21  Bruno Haible  <bruno@clisp.org>
22303
22304         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
22305         Git's management files if the CVS files are not present.
22306
22307 2007-10-20  Bruno Haible  <bruno@clisp.org>
22308
22309         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
22310         gcc-3.4.x.
22311
22312 2007-10-20  Ben Pfaff  <blp@gnu.org>
22313
22314         * lib/math.in.h: Declare round, roundf, roundl if we are providing
22315         implementations.
22316         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
22317         * lib/round.c: New file.
22318         * lib/roundf.c: New file.
22319         * lib/roundl.c: New file.
22320         * m4/round.m4: New file.
22321         * m4/roundf.m4: New file.
22322         * m4/roundl.m4: New file.
22323         * m4/check-libm-func-m4: New file.
22324         * modules/math: Replace round, roundf, roundl related @VARS@ in
22325         math.in.h.
22326         * modules/round: New file.
22327         * modules/round-tests: New file.
22328         * modules/roundf: New file.
22329         * modules/roundf-tests: New file.
22330         * modules/roundl: New file.
22331         * modules/roundl-tests: New file.
22332         * tests/test-round1.c: New file.
22333         * tests/test-round2.c: New file.
22334         * tests/test-roundf1.c: New file.
22335         * tests/test-roundf2.c: New file.
22336         * tests/test-roundl.c: New file.
22337         * doc/functions/round.texi: Mention round module.
22338         * doc/functions/roundf.texi: Mention roundf module.
22339         * doc/functions/roundl.texi: Mention roundl module.
22340         * MODULES.html.sh: Mention new modules.
22341         Thanks to Bruno Haible for suggestions.
22342
22343 2007-10-20  Jim Meyering  <meyering@redhat.com>
22344
22345         * lib/xprintf.c: Include <config.h> unconditionally.
22346
22347         Change xprintf's license to GPL.
22348         * modules/xprintf (License): s/LGPL/GPL/, since this module
22349         depends on modules (exit and exitfail) which are GPL.
22350         Suggestion from Bruno Haible.
22351
22352         xprintf fixes.
22353         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
22354         Use a clearer diagnostic.
22355         Patch from Bruno Haible.
22356
22357 2007-10-20  Bruno Haible  <bruno@clisp.org>
22358
22359         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
22360         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
22361         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22362
22363 2007-10-20  Bruno Haible  <bruno@clisp.org>
22364
22365         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
22366         precision in the comparison result > x - 1 or similar.
22367         * tests/test-ceilf2.c (correct_result_p): Likewise.
22368         * tests/test-truncf2.c (correct_result_p): Likewise.
22369         * tests/test-trunc2.c (correct_result_p): Likewise.
22370         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22371
22372 2007-10-20  Bruno Haible  <bruno@clisp.org>
22373
22374         * modules/ceil: New file.
22375         * m4/ceil.m4: New file.
22376         * doc/functions/ceil.texi: Mention the 'ceil' module.
22377
22378 2007-10-20  Bruno Haible  <bruno@clisp.org>
22379
22380         * modules/floor: New file.
22381         * m4/floor.m4: New file.
22382         * doc/functions/floor.texi: Mention the 'floor' module.
22383
22384 2007-10-20  Bruno Haible  <bruno@clisp.org>
22385
22386         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
22387         of %a.
22388         * modules/floorf-tests (Depends-on): Likewise.
22389         * modules/truncf-tests (Depends-on): Likewise.
22390         * modules/trunc-tests (Depends-on): Likewise.
22391         Reported by Ben Pfaff.
22392
22393 2007-10-19  Jim Meyering  <meyering@redhat.com>
22394
22395         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
22396         Don't bother testing specific errno values.  Just test ferror.
22397
22398         New module: xprintf
22399         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
22400
22401 2007-10-19  Bruno Haible  <bruno@clisp.org>
22402
22403         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
22404         syntax.
22405         * modules/javaexec (Makefile.am): Likewise.
22406         * modules/relocatable-prog (Makefile.am): Likewise.
22407         Suggested by Jim Meyering.
22408
22409 2007-10-18  Bruno Haible  <bruno@clisp.org>
22410
22411         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
22412         Reported by Jim Meyering.
22413
22414 2007-10-18  Eric Blake  <ebb9@byu.net>
22415
22416         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
22417
22418 2007-10-18  Bruno Haible  <bruno@clisp.org>
22419
22420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
22421         the format string into writable memory. Needed in Fortify conditions.
22422
22423 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
22424             Bruno Haible  <bruno@clisp.org>
22425
22426         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
22427         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
22428         * modules/trim (Depends-on): Add mbchar.
22429         (configure.ac): Add gl_FUNC_MBRTOWC.
22430         (Makefile.am): Augment lib_SOURCES.
22431
22432 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
22433
22434         Modify glob.c to use fstatat and dirfd, to simplify it.
22435         Suggested by Eric Blake.
22436         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
22437         Don't include <stdbool.h>; not used.
22438         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
22439         (link_exists_p): Simplify implementation, since we can now assume
22440         dirfd and fstatat.
22441         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
22442
22443 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22444
22445         * gnulib-tool (func_get_dependencies): Fix sed script to
22446         match only tests.
22447
22448 2007-10-17  Bruno Haible  <bruno@clisp.org>
22449
22450         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
22451         allow locale names without encoding suffix.
22452         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22453         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22454
22455 2007-10-16  Bruno Haible  <bruno@clisp.org>
22456
22457         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
22458         * lib/getgroups.c (getgroups): Likewise.
22459         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
22460
22461 2007-10-16  Bruno Haible  <bruno@clisp.org>
22462
22463         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
22464         * modules/malloc-posix (License): Likewise.
22465         * modules/realloc-posix (License): Likewise.
22466         * modules/calloc-posix (License): Likewise.
22467         * modules/intprops (License): Change from GPL to LGPL, with
22468         Paul Eggert's approval.
22469
22470 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22471
22472         Merge glibc changes into lib/glob.c.
22473
22474         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
22475         2007-10-15 04:59:03 UTC.  Here are the changes:
22476
22477         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
22478
22479         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
22480
22481         * lib/glob.c: Add some branch prediction throughout.
22482
22483         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
22484
22485         [BZ #5103]
22486         * lib/glob.c (glob): Recognize patterns starting \/.
22487
22488         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
22489
22490         [BZ #3996]
22491         * lib/glob.c (attribute_hidden): Define if not defined.
22492         (glob): Unescape dirname, filename or username when needed and not
22493         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
22494         is NULL.  Handle unescaped [ in pattern without closing ].
22495         Don't pass GLOB_CHECK down to recursive glob for directories.
22496         (__glob_pattern_type): New function.
22497         (__glob_pattern_p): Implement using __glob_pattern_type.
22498         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
22499         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
22500         Remove unreachable code.
22501
22502         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
22503
22504         * lib/glob.c (glob_in_dir): Add some comments and asserts to
22505         explain why there are no leaks.
22506
22507         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
22508
22509         [BZ #3253]
22510         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
22511         time, rather allocate increasingly bigger arrays of pointers, if
22512         possible with alloca, if too large with malloc.
22513
22514 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22515
22516         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
22517         Problem reported by H.Merijn Brand in
22518         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
22519         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
22520         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
22521
22522 2007-10-15  Bruno Haible  <bruno@clisp.org>
22523
22524         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
22525         with explicit rpl_ prefix.
22526         * lib/fopen.c (fopen): Likewise.
22527         * lib/freopen.c (freopen): Likewise.
22528         * lib/iconv.c (iconv): Likewise.
22529         * lib/iconv_close.c (iconv_close): Likewise.
22530
22531 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22532
22533         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
22534
22535 2007-10-15  Bruno Haible  <bruno@clisp.org>
22536
22537         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
22538         <stddef.h> instead of <stdlib.h> since we only need NULL.
22539         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22540
22541 2007-10-15  Bruno Haible  <bruno@clisp.org>
22542
22543         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
22544         Replace paragraph talking about LIBOBJS.
22545         Reported by Colin Watson <cjwatson@debian.org>.
22546
22547 2007-10-15  Bruno Haible  <bruno@clisp.org>
22548
22549         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
22550         <stdlib.h> before using NULL.
22551
22552 2007-10-15  Simon Josefsson  <simon@josefsson.org>
22553
22554         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
22555         Reported by Albert Chin <china@thewrittenword.com>.
22556
22557 2007-10-14  Bruno Haible  <bruno@clisp.org>
22558
22559         * modules/iconv_open-utf-tests: New file.
22560         * tests/test-iconv-utf.c: New file.
22561
22562         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
22563         * modules/iconv_open-utf: New file.
22564         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
22565         (iconv, iconv_close): New declarations.
22566         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
22567         be defined.
22568         (iconv_open): Add special handling of conversion between UTF-8 and
22569         UTF-{16,32}{BE,LE}.
22570         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
22571         * lib/iconv_close.c: New file.
22572         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
22573         gl_FUNC_ICONV_OPEN.
22574         (gl_FUNC_ICONV_OPEN): Use it.
22575         (gl_FUNC_ICONV_OPEN_UTF): New macro.
22576         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
22577         and REPLACE_ICONV_UTF.
22578         * modules/iconv_open (Depends-on): Add c-strcase.
22579         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
22580         ICONV_CONST.
22581         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
22582
22583 2007-10-13  Albert Chin  <china@thewrittenword.com>
22584             Bruno Haible  <bruno@clisp.org>
22585
22586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
22587         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
22588
22589 2007-10-13  Bruno Haible  <bruno@clisp.org>
22590
22591         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
22592         defined, use the ISO C99 inline semantics.
22593         * lib/argp.h (ARGP_EI): Likewise.
22594
22595 2007-10-13  Bruno Haible  <bruno@clisp.org>
22596
22597         Handle 'inline' change in gcc 4.3.0.
22598         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
22599         argp_fmtstream_write, argp_fmtstream_set_lmargin,
22600         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
22601         argp_fmtstream_point): Disable 'extern' declaration if the function
22602         definition is going to be provided inline.
22603         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
22604         semantics, not the ISO C99 inline semantics.
22605         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
22606         'extern' declaration if the function definition is going to be provided
22607         inline.
22608         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
22609         the GNU C inline semantics, not the ISO C99 inline semantics. With
22610         GCC 4.2, avoid a warning.
22611
22612 2007-10-13  Bruno Haible  <bruno@clisp.org>
22613
22614         * lib/freading.h (freading): Enable the use of __freading for
22615         glibc >= 2.7.
22616         * lib/freading.c (freading): Likewise.
22617
22618 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
22619
22620         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
22621         "warning: C99 inline functions are not supported; using GNU89".
22622
22623 2007-10-12  Bruno Haible  <bruno@clisp.org>
22624
22625         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
22626         of 2.
22627         * tests/test-ceilf2.c: New file.
22628         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
22629
22630         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
22631         * modules/ceilf-tests: Update.
22632
22633 2007-10-12  Bruno Haible  <bruno@clisp.org>
22634
22635         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
22636         of 2.
22637         * tests/test-floorf2.c: New file.
22638         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
22639
22640         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
22641         * modules/floorf-tests: Update.
22642
22643 2007-10-12  Bruno Haible  <bruno@clisp.org>
22644
22645         * tests/test-trunc2.c: New file.
22646         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
22647
22648         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
22649         * modules/trunc-tests: Update.
22650
22651 2007-10-12  Bruno Haible  <bruno@clisp.org>
22652
22653         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
22654         of 2.
22655         * tests/test-truncf2.c: New file.
22656         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
22657
22658         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
22659         * modules/truncf-tests: Update.
22660
22661 2007-10-11  Eric Blake  <ebb9@byu.net>
22662
22663         Don't claim strerror is broken on Interix.
22664         * doc/functions/strerror.texi (strerror): Known broken systems are
22665         now Solaris 8, and not Interix.
22666         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
22667         Interix on cross-compile.
22668         Reported by Martin Koeppe in
22669         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
22670
22671 2007-10-11  Bruno Haible  <bruno@clisp.org>
22672
22673         * modules/i-ring-tests: New file.
22674         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
22675         instead of assert.
22676
22677 2007-10-11  Bruno Haible  <bruno@clisp.org>
22678
22679         * modules/filenamecat-tests: New file.
22680         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
22681         * lib/filenamecat.c: Remove test code.
22682
22683 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22684
22685         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
22686
22687         * lib/strerror.c: Include <string.h> always, to test interface,
22688         and to remove the need for the dummy.
22689         Include intprops.h to compute width instead of doing it ourselves
22690         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
22691         (strerror): Define it to return NULL if there's no system strerror.
22692         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
22693         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
22694         ancient pre-strerror Unix systems well any more.  Saying "unknown
22695         system error" is enough.
22696         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
22697         simpler strerror.c implementation.
22698         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
22699         Simplify the tests to reflect the simpler strerror implementation.
22700         * modules/strerror (Depends-on): Add intprops.
22701
22702 2007-10-09  Eric Blake  <ebb9@byu.net>
22703
22704         Silence test-fpending.
22705         * modules/fpending-tests (Files): Add wrapper script.
22706         * tests/test-fpending.sh: New file.
22707
22708 2007-10-09  Bruno Haible  <bruno@clisp.org>
22709
22710         * MODULES.html.sh (func_module): Don't create a hyperlink for
22711         function names like 'printf_frexp'.
22712         (Misc): Add crc, memxor.
22713         (Characteristics of floating types): New section.
22714         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
22715         isnanf-nolibm, signbit, trunc, truncf, truncl.
22716         (Enhancements for ISO C 99 functions): New subsection Input/output.
22717         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
22718         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
22719         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
22720         (Compatibility checks for POSIX:2001 functions): Add clock-time.
22721         (Enhancements for POSIX:2001 functions): Add chdir-long.
22722         (File system functions): Add areadlink, chdir-safer, read-file.
22723         Remove cycle-check.
22724         (File system as inode set): New section.
22725         (Date and time): Add gethrxtime.
22726         (Multithreading): Add openmp.
22727         (Internationalization functions): Add localename.
22728         (Unicode string functions): Add unistr/u*-mbsnlen.
22729         (Support for maintaining and releasing projects): Add git-version-gen.
22730         (Lone files): Remove directories.
22731
22732 2007-10-08  Ben Pfaff  <blp@gnu.org>
22733
22734         * lib/xmalloca.h: Fix typo in comment.
22735
22736 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22737
22738         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
22739         when avoiding problems with integer overflow.  Use a portable test
22740         instead.
22741
22742 2007-10-08  Simon Josefsson  <simon@josefsson.org>
22743
22744         * modules/dummy (License): Change to LGPLv2+.
22745         * modules/float (License): Likewise
22746         * modules/realloc (License): Likewise
22747         * modules/stdlib (License): Likewise
22748
22749 2007-10-07  Bruno Haible  <bruno@clisp.org>
22750
22751         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
22752         * floor.c (TWO_MANT_DIG): Likewise.
22753         * ceil.c (TWO_MANT_DIG): Likewise.
22754         Reported by Ben Pfaff.
22755
22756 2007-10-07  Bruno Haible  <bruno@clisp.org>
22757
22758         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
22759         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
22760         * lib/frexp.c (FUNC): Likewise.
22761         * lib/printf-frexp.h (printf_frexp): Likewise.
22762         * lib/printf-frexpl.h (printf_frexpl): Likewise.
22763         * lib/printf-frexp.c (FUNC): Likewise.
22764         Suggested by Jim Meyering.
22765
22766 2007-10-07  Jim Meyering  <meyering@redhat.com>
22767
22768         Make xnanosleep's integer overflow test more robust.
22769         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
22770         so that gcc-4.3.0 doesn't optimize away this test for overflow.
22771
22772 2007-10-07  Bruno Haible  <bruno@clisp.org>
22773
22774         * NEWS: Mention the license change.
22775
22776         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
22777         abbreviations in the modules files.
22778
22779         Change copyright notice from GPLv2+ to GPLv3+.
22780         * README: Change copyright notice.
22781         * MODULES.html.sh: Likewise.
22782         * build-aux/bootstrap.conf: Likewise.
22783         * build-aux/config.libpath: Likewise.
22784         * build-aux/csharpcomp.sh.in: Likewise.
22785         * build-aux/csharpexec.sh.in: Likewise.
22786         * build-aux/install-reloc: Likewise.
22787         * build-aux/javacomp.sh.in: Likewise.
22788         * build-aux/javaexec.sh.in: Likewise.
22789         * build-aux/ldd.sh.in: Likewise.
22790         * build-aux/reloc-ldflags: Likewise.
22791         * build-aux/relocatable.sh.in: Likewise.
22792         * build-aux/x-to-1.in: Likewise.
22793         * check-module: Likewise.
22794         * config/srclistvars.sh: Likewise.
22795         * gnulib-tool: Likewise.
22796         * lib/acl-internal.h: Likewise.
22797         * lib/acl.c: Likewise.
22798         * lib/acl.h: Likewise.
22799         * lib/acl_entries.c: Likewise.
22800         * lib/areadlink-with-size.c: Likewise.
22801         * lib/areadlink.c: Likewise.
22802         * lib/areadlink.h: Likewise.
22803         * lib/argmatch.c: Likewise.
22804         * lib/argmatch.h: Likewise.
22805         * lib/argp-ba.c: Likewise.
22806         * lib/argp-eexst.c: Likewise.
22807         * lib/argp-fmtstream.c: Likewise.
22808         * lib/argp-fmtstream.h: Likewise.
22809         * lib/argp-fs-xinl.c: Likewise.
22810         * lib/argp-help.c: Likewise.
22811         * lib/argp-namefrob.h: Likewise.
22812         * lib/argp-parse.c: Likewise.
22813         * lib/argp-pin.c: Likewise.
22814         * lib/argp-pv.c: Likewise.
22815         * lib/argp-pvh.c: Likewise.
22816         * lib/argp-xinl.c: Likewise.
22817         * lib/argp.h: Likewise.
22818         * lib/at-func.c: Likewise.
22819         * lib/atanl.c: Likewise.
22820         * lib/backupfile.c: Likewise.
22821         * lib/backupfile.h: Likewise.
22822         * lib/basename.c: Likewise.
22823         * lib/binary-io.h: Likewise.
22824         * lib/byteswap.in.h: Likewise.
22825         * lib/c-stack.c: Likewise.
22826         * lib/c-stack.h: Likewise.
22827         * lib/c-strcasestr.c: Likewise.
22828         * lib/c-strcasestr.h: Likewise.
22829         * lib/c-strstr.c: Likewise.
22830         * lib/c-strstr.h: Likewise.
22831         * lib/c-strtod.c: Likewise.
22832         * lib/calloc.c: Likewise.
22833         * lib/canon-host.c: Likewise.
22834         * lib/canon-host.h: Likewise.
22835         * lib/canonicalize-lgpl.c: Likewise.
22836         * lib/canonicalize.c: Likewise.
22837         * lib/canonicalize.h: Likewise.
22838         * lib/ceil.c: Likewise.
22839         * lib/ceilf.c: Likewise.
22840         * lib/ceill.c: Likewise.
22841         * lib/chdir-long.c: Likewise.
22842         * lib/chdir-long.h: Likewise.
22843         * lib/chdir-safer.c: Likewise.
22844         * lib/chdir-safer.h: Likewise.
22845         * lib/chown.c: Likewise.
22846         * lib/classpath.c: Likewise.
22847         * lib/classpath.h: Likewise.
22848         * lib/clean-temp.c: Likewise.
22849         * lib/clean-temp.h: Likewise.
22850         * lib/cloexec.c: Likewise.
22851         * lib/close-stream.c: Likewise.
22852         * lib/closein.c: Likewise.
22853         * lib/closein.h: Likewise.
22854         * lib/closeout.c: Likewise.
22855         * lib/closeout.h: Likewise.
22856         * lib/concat-filename.c: Likewise.
22857         * lib/copy-file.c: Likewise.
22858         * lib/copy-file.h: Likewise.
22859         * lib/count-one-bits.h: Likewise.
22860         * lib/crc.c: Likewise.
22861         * lib/crc.h: Likewise.
22862         * lib/creat-safer.c: Likewise.
22863         * lib/csharpcomp.c: Likewise.
22864         * lib/csharpcomp.h: Likewise.
22865         * lib/csharpexec.c: Likewise.
22866         * lib/csharpexec.h: Likewise.
22867         * lib/cycle-check.c: Likewise.
22868         * lib/cycle-check.h: Likewise.
22869         * lib/diacrit.c: Likewise.
22870         * lib/diacrit.h: Likewise.
22871         * lib/diffseq.h: Likewise.
22872         * lib/dirchownmod.c: Likewise.
22873         * lib/dirent.in.h: Likewise.
22874         * lib/dirfd.c: Likewise.
22875         * lib/dirfd.h: Likewise.
22876         * lib/dirname.c: Likewise.
22877         * lib/dirname.h: Likewise.
22878         * lib/dummy.c: Likewise.
22879         * lib/dup-safer.c: Likewise.
22880         * lib/dup2.c: Likewise.
22881         * lib/eealloc.h: Likewise.
22882         * lib/error.c: Likewise.
22883         * lib/error.h: Likewise.
22884         * lib/euidaccess.c: Likewise.
22885         * lib/exclude.c: Likewise.
22886         * lib/exclude.h: Likewise.
22887         * lib/execute.c: Likewise.
22888         * lib/execute.h: Likewise.
22889         * lib/exitfail.c: Likewise.
22890         * lib/exitfail.h: Likewise.
22891         * lib/expl.c: Likewise.
22892         * lib/fatal-signal.c: Likewise.
22893         * lib/fatal-signal.h: Likewise.
22894         * lib/fbufmode.c: Likewise.
22895         * lib/fbufmode.h: Likewise.
22896         * lib/fchdir.c: Likewise.
22897         * lib/fchmodat.c: Likewise.
22898         * lib/fchownat.c: Likewise.
22899         * lib/fcntl--.h: Likewise.
22900         * lib/fcntl-safer.h: Likewise.
22901         * lib/fcntl.in.h: Likewise.
22902         * lib/fd-safer.c: Likewise.
22903         * lib/fflush.c: Likewise.
22904         * lib/file-has-acl.c: Likewise.
22905         * lib/file-set.c: Likewise.
22906         * lib/file-type.c: Likewise.
22907         * lib/file-type.h: Likewise.
22908         * lib/fileblocks.c: Likewise.
22909         * lib/filemode.c: Likewise.
22910         * lib/filemode.h: Likewise.
22911         * lib/filename.h: Likewise.
22912         * lib/filenamecat.c: Likewise.
22913         * lib/filenamecat.h: Likewise.
22914         * lib/findprog.c: Likewise.
22915         * lib/findprog.h: Likewise.
22916         * lib/float.in.h: Likewise.
22917         * lib/floor.c: Likewise.
22918         * lib/floorf.c: Likewise.
22919         * lib/floorl.c: Likewise.
22920         * lib/fopen-safer.c: Likewise.
22921         * lib/fopen.c: Likewise.
22922         * lib/fpending.c: Likewise.
22923         * lib/fpending.h: Likewise.
22924         * lib/fprintf.c: Likewise.
22925         * lib/fprintftime.h: Likewise.
22926         * lib/fpucw.h: Likewise.
22927         * lib/fpurge.c: Likewise.
22928         * lib/fpurge.h: Likewise.
22929         * lib/freadable.c: Likewise.
22930         * lib/freadable.h: Likewise.
22931         * lib/freadahead.c: Likewise.
22932         * lib/freadahead.h: Likewise.
22933         * lib/freading.c: Likewise.
22934         * lib/freading.h: Likewise.
22935         * lib/free.c: Likewise.
22936         * lib/freopen.c: Likewise.
22937         * lib/frexp.c: Likewise.
22938         * lib/frexpl.c: Likewise.
22939         * lib/fseek.c: Likewise.
22940         * lib/fseterr.c: Likewise.
22941         * lib/fseterr.h: Likewise.
22942         * lib/fstatat.c: Likewise.
22943         * lib/fstrcmp.c: Likewise.
22944         * lib/fstrcmp.h: Likewise.
22945         * lib/fsusage.c: Likewise.
22946         * lib/fsusage.h: Likewise.
22947         * lib/ftell.c: Likewise.
22948         * lib/ftello.c: Likewise.
22949         * lib/fts-cycle.c: Likewise.
22950         * lib/fts.c: Likewise.
22951         * lib/fts_.h: Likewise.
22952         * lib/full-read.c: Likewise.
22953         * lib/full-read.h: Likewise.
22954         * lib/full-write.c: Likewise.
22955         * lib/full-write.h: Likewise.
22956         * lib/fwritable.c: Likewise.
22957         * lib/fwritable.h: Likewise.
22958         * lib/fwriteerror.c: Likewise.
22959         * lib/fwriteerror.h: Likewise.
22960         * lib/fwriting.c: Likewise.
22961         * lib/fwriting.h: Likewise.
22962         * lib/gcd.c: Likewise.
22963         * lib/gcd.h: Likewise.
22964         * lib/getcwd.c: Likewise.
22965         * lib/getdate.h: Likewise.
22966         * lib/getdate.y: Likewise.
22967         * lib/getdomainname.c: Likewise.
22968         * lib/getdomainname.h: Likewise.
22969         * lib/getgroups.c: Likewise.
22970         * lib/gethostname.c: Likewise.
22971         * lib/gethrxtime.c: Likewise.
22972         * lib/gethrxtime.h: Likewise.
22973         * lib/getloadavg.c: Likewise.
22974         * lib/getndelim2.c: Likewise.
22975         * lib/getndelim2.h: Likewise.
22976         * lib/getnline.c: Likewise.
22977         * lib/getnline.h: Likewise.
22978         * lib/getopt.c: Likewise.
22979         * lib/getopt.in.h: Likewise.
22980         * lib/getopt1.c: Likewise.
22981         * lib/getopt_int.h: Likewise.
22982         * lib/getpagesize.h: Likewise.
22983         * lib/getsubopt.c: Likewise.
22984         * lib/gettime.c: Likewise.
22985         * lib/getugroups.c: Likewise.
22986         * lib/getugroups.h: Likewise.
22987         * lib/getusershell.c: Likewise.
22988         * lib/gl_anyavltree_list1.h: Likewise.
22989         * lib/gl_anyavltree_list2.h: Likewise.
22990         * lib/gl_anyhash_list1.h: Likewise.
22991         * lib/gl_anyhash_list2.h: Likewise.
22992         * lib/gl_anylinked_list1.h: Likewise.
22993         * lib/gl_anylinked_list2.h: Likewise.
22994         * lib/gl_anyrbtree_list1.h: Likewise.
22995         * lib/gl_anyrbtree_list2.h: Likewise.
22996         * lib/gl_anytree_list1.h: Likewise.
22997         * lib/gl_anytree_list2.h: Likewise.
22998         * lib/gl_anytree_oset.h: Likewise.
22999         * lib/gl_anytreehash_list1.h: Likewise.
23000         * lib/gl_anytreehash_list2.h: Likewise.
23001         * lib/gl_array_list.c: Likewise.
23002         * lib/gl_array_list.h: Likewise.
23003         * lib/gl_array_oset.c: Likewise.
23004         * lib/gl_array_oset.h: Likewise.
23005         * lib/gl_avltree_list.c: Likewise.
23006         * lib/gl_avltree_list.h: Likewise.
23007         * lib/gl_avltree_oset.c: Likewise.
23008         * lib/gl_avltree_oset.h: Likewise.
23009         * lib/gl_avltreehash_list.c: Likewise.
23010         * lib/gl_avltreehash_list.h: Likewise.
23011         * lib/gl_carray_list.c: Likewise.
23012         * lib/gl_carray_list.h: Likewise.
23013         * lib/gl_linked_list.c: Likewise.
23014         * lib/gl_linked_list.h: Likewise.
23015         * lib/gl_linkedhash_list.c: Likewise.
23016         * lib/gl_linkedhash_list.h: Likewise.
23017         * lib/gl_list.c: Likewise.
23018         * lib/gl_list.h: Likewise.
23019         * lib/gl_oset.c: Likewise.
23020         * lib/gl_oset.h: Likewise.
23021         * lib/gl_rbtree_list.c: Likewise.
23022         * lib/gl_rbtree_list.h: Likewise.
23023         * lib/gl_rbtree_oset.c: Likewise.
23024         * lib/gl_rbtree_oset.h: Likewise.
23025         * lib/gl_rbtreehash_list.c: Likewise.
23026         * lib/gl_rbtreehash_list.h: Likewise.
23027         * lib/gl_sublist.c: Likewise.
23028         * lib/gl_sublist.h: Likewise.
23029         * lib/group-member.c: Likewise.
23030         * lib/group-member.h: Likewise.
23031         * lib/hard-locale.c: Likewise.
23032         * lib/hard-locale.h: Likewise.
23033         * lib/hash-pjw.c: Likewise.
23034         * lib/hash-pjw.h: Likewise.
23035         * lib/hash-triple.c: Likewise.
23036         * lib/hash.c: Likewise.
23037         * lib/hash.h: Likewise.
23038         * lib/human.c: Likewise.
23039         * lib/human.h: Likewise.
23040         * lib/i-ring.c: Likewise.
23041         * lib/i-ring.h: Likewise.
23042         * lib/idcache.c: Likewise.
23043         * lib/imaxabs.c: Likewise.
23044         * lib/imaxdiv.c: Likewise.
23045         * lib/inet_pton.c: Likewise.
23046         * lib/inet_pton.h: Likewise.
23047         * lib/intprops.h: Likewise.
23048         * lib/inttostr.c: Likewise.
23049         * lib/inttostr.h: Likewise.
23050         * lib/inttypes.in.h: Likewise.
23051         * lib/isapipe.c: Likewise.
23052         * lib/isdir.c: Likewise.
23053         * lib/isnan.c: Likewise.
23054         * lib/isnan.h: Likewise.
23055         * lib/isnanf.c: Likewise.
23056         * lib/isnanf.h: Likewise.
23057         * lib/isnanl-nolibm.h: Likewise.
23058         * lib/isnanl.c: Likewise.
23059         * lib/isnanl.h: Likewise.
23060         * lib/javacomp.c: Likewise.
23061         * lib/javacomp.h: Likewise.
23062         * lib/javaexec.c: Likewise.
23063         * lib/javaexec.h: Likewise.
23064         * lib/javaversion.c: Likewise.
23065         * lib/javaversion.h: Likewise.
23066         * lib/javaversion.java: Likewise.
23067         * lib/lbrkprop.h: Likewise.
23068         * lib/lchmod.h: Likewise.
23069         * lib/lchown.c: Likewise.
23070         * lib/ldexpl.c: Likewise.
23071         * lib/linebreak.c: Likewise.
23072         * lib/linebreak.h: Likewise.
23073         * lib/linebuffer.c: Likewise.
23074         * lib/linebuffer.h: Likewise.
23075         * lib/locale.in.h: Likewise.
23076         * lib/logl.c: Likewise.
23077         * lib/long-options.c: Likewise.
23078         * lib/long-options.h: Likewise.
23079         * lib/lstat.c: Likewise.
23080         * lib/lstat.h: Likewise.
23081         * lib/math.in.h: Likewise.
23082         * lib/mbchar.c: Likewise.
23083         * lib/mbchar.h: Likewise.
23084         * lib/mbfile.h: Likewise.
23085         * lib/mbiter.h: Likewise.
23086         * lib/mbscasecmp.c: Likewise.
23087         * lib/mbscasestr.c: Likewise.
23088         * lib/mbschr.c: Likewise.
23089         * lib/mbscspn.c: Likewise.
23090         * lib/mbslen.c: Likewise.
23091         * lib/mbsncasecmp.c: Likewise.
23092         * lib/mbsnlen.c: Likewise.
23093         * lib/mbspbrk.c: Likewise.
23094         * lib/mbspcasecmp.c: Likewise.
23095         * lib/mbsrchr.c: Likewise.
23096         * lib/mbssep.c: Likewise.
23097         * lib/mbsspn.c: Likewise.
23098         * lib/mbsstr.c: Likewise.
23099         * lib/mbstok_r.c: Likewise.
23100         * lib/mbswidth.c: Likewise.
23101         * lib/mbswidth.h: Likewise.
23102         * lib/mbuiter.h: Likewise.
23103         * lib/memcasecmp.c: Likewise.
23104         * lib/memcasecmp.h: Likewise.
23105         * lib/memchr.c: Likewise.
23106         * lib/memcmp.c: Likewise.
23107         * lib/memcoll.c: Likewise.
23108         * lib/memcoll.h: Likewise.
23109         * lib/memcpy.c: Likewise.
23110         * lib/memrchr.c: Likewise.
23111         * lib/mkancesdirs.c: Likewise.
23112         * lib/mkdir-p.c: Likewise.
23113         * lib/mkdir-p.h: Likewise.
23114         * lib/mkdir.c: Likewise.
23115         * lib/mkdirat.c: Likewise.
23116         * lib/mkdtemp.c: Likewise.
23117         * lib/mkstemp-safer.c: Likewise.
23118         * lib/mkstemp.c: Likewise.
23119         * lib/modechange.c: Likewise.
23120         * lib/modechange.h: Likewise.
23121         * lib/mountlist.c: Likewise.
23122         * lib/mountlist.h: Likewise.
23123         * lib/mpsort.c: Likewise.
23124         * lib/nanosleep.c: Likewise.
23125         * lib/obstack.c: Likewise.
23126         * lib/obstack.h: Likewise.
23127         * lib/open-safer.c: Likewise.
23128         * lib/open.c: Likewise.
23129         * lib/openat-die.c: Likewise.
23130         * lib/openat-priv.h: Likewise.
23131         * lib/openat-proc.c: Likewise.
23132         * lib/openat.c: Likewise.
23133         * lib/openat.h: Likewise.
23134         * lib/pagealign_alloc.c: Likewise.
23135         * lib/pagealign_alloc.h: Likewise.
23136         * lib/physmem.c: Likewise.
23137         * lib/physmem.h: Likewise.
23138         * lib/pipe-safer.c: Likewise.
23139         * lib/pipe.c: Likewise.
23140         * lib/pipe.h: Likewise.
23141         * lib/posixtm.c: Likewise.
23142         * lib/posixtm.h: Likewise.
23143         * lib/posixver.c: Likewise.
23144         * lib/printf-frexp.c: Likewise.
23145         * lib/printf-frexp.h: Likewise.
23146         * lib/printf-frexpl.c: Likewise.
23147         * lib/printf-frexpl.h: Likewise.
23148         * lib/printf.c: Likewise.
23149         * lib/progname.c: Likewise.
23150         * lib/progname.h: Likewise.
23151         * lib/progreloc.c: Likewise.
23152         * lib/putenv.c: Likewise.
23153         * lib/quote.c: Likewise.
23154         * lib/quote.h: Likewise.
23155         * lib/quotearg.c: Likewise.
23156         * lib/quotearg.h: Likewise.
23157         * lib/raise.c: Likewise.
23158         * lib/readline.c: Likewise.
23159         * lib/readline.h: Likewise.
23160         * lib/readlink.c: Likewise.
23161         * lib/readtokens.c: Likewise.
23162         * lib/readtokens.h: Likewise.
23163         * lib/readtokens0.c: Likewise.
23164         * lib/readtokens0.h: Likewise.
23165         * lib/readutmp.c: Likewise.
23166         * lib/readutmp.h: Likewise.
23167         * lib/realloc.c: Likewise.
23168         * lib/relocwrapper.c: Likewise.
23169         * lib/rename-dest-slash.c: Likewise.
23170         * lib/rename.c: Likewise.
23171         * lib/rmdir.c: Likewise.
23172         * lib/rpmatch.c: Likewise.
23173         * lib/safe-read.c: Likewise.
23174         * lib/safe-read.h: Likewise.
23175         * lib/safe-write.c: Likewise.
23176         * lib/safe-write.h: Likewise.
23177         * lib/same-inode.h: Likewise.
23178         * lib/same.c: Likewise.
23179         * lib/same.h: Likewise.
23180         * lib/save-cwd.c: Likewise.
23181         * lib/save-cwd.h: Likewise.
23182         * lib/savedir.c: Likewise.
23183         * lib/savedir.h: Likewise.
23184         * lib/savewd.c: Likewise.
23185         * lib/savewd.h: Likewise.
23186         * lib/search.in.h: Likewise.
23187         * lib/setenv.c: Likewise.
23188         * lib/setenv.h: Likewise.
23189         * lib/settime.c: Likewise.
23190         * lib/sh-quote.c: Likewise.
23191         * lib/sh-quote.h: Likewise.
23192         * lib/sig2str.c: Likewise.
23193         * lib/sig2str.h: Likewise.
23194         * lib/signal.in.h: Likewise.
23195         * lib/signbitd.c: Likewise.
23196         * lib/signbitf.c: Likewise.
23197         * lib/signbitl.c: Likewise.
23198         * lib/sigprocmask.c: Likewise.
23199         * lib/sincosl.c: Likewise.
23200         * lib/sleep.c: Likewise.
23201         * lib/sprintf.c: Likewise.
23202         * lib/sqrtl.c: Likewise.
23203         * lib/stat-time.h: Likewise.
23204         * lib/stdio--.h: Likewise.
23205         * lib/stdio-safer.h: Likewise.
23206         * lib/stdlib--.h: Likewise.
23207         * lib/stdlib-safer.h: Likewise.
23208         * lib/stdlib.in.h: Likewise.
23209         * lib/stpcpy.c: Likewise.
23210         * lib/stpncpy.c: Likewise.
23211         * lib/strchrnul.c: Likewise.
23212         * lib/strcspn.c: Likewise.
23213         * lib/strerror.c: Likewise.
23214         * lib/strftime.c: Likewise.
23215         * lib/strftime.h: Likewise.
23216         * lib/striconveh.c: Likewise.
23217         * lib/striconveh.h: Likewise.
23218         * lib/striconveha.c: Likewise.
23219         * lib/striconveha.h: Likewise.
23220         * lib/stripslash.c: Likewise.
23221         * lib/strnlen1.c: Likewise.
23222         * lib/strnlen1.h: Likewise.
23223         * lib/strtod.c: Likewise.
23224         * lib/strtoimax.c: Likewise.
23225         * lib/strtok_r.c: Likewise.
23226         * lib/strtol.c: Likewise.
23227         * lib/strtoll.c: Likewise.
23228         * lib/strtoul.c: Likewise.
23229         * lib/strtoull.c: Likewise.
23230         * lib/sysexits.in.h: Likewise.
23231         * lib/tempname.c: Likewise.
23232         * lib/tempname.h: Likewise.
23233         * lib/timespec.h: Likewise.
23234         * lib/tls.c: Likewise.
23235         * lib/tls.h: Likewise.
23236         * lib/tmpdir.c: Likewise.
23237         * lib/tmpdir.h: Likewise.
23238         * lib/tmpfile-safer.c: Likewise.
23239         * lib/tmpfile.c: Likewise.
23240         * lib/trigl.c: Likewise.
23241         * lib/trigl.h: Likewise.
23242         * lib/trim.c: Likewise.
23243         * lib/trim.h: Likewise.
23244         * lib/trunc.c: Likewise.
23245         * lib/truncf.c: Likewise.
23246         * lib/truncl.c: Likewise.
23247         * lib/tsearch.c: Likewise.
23248         * lib/unicodeio.c: Likewise.
23249         * lib/unicodeio.h: Likewise.
23250         * lib/unistd--.h: Likewise.
23251         * lib/unistd-safer.h: Likewise.
23252         * lib/unistdio/ulc-fprintf.c: Likewise.
23253         * lib/unistdio/ulc-vfprintf.c: Likewise.
23254         * lib/unlinkdir.c: Likewise.
23255         * lib/unlinkdir.h: Likewise.
23256         * lib/unlocked-io.h: Likewise.
23257         * lib/unsetenv.c: Likewise.
23258         * lib/userspec.c: Likewise.
23259         * lib/utime.c: Likewise.
23260         * lib/utimecmp.c: Likewise.
23261         * lib/utimecmp.h: Likewise.
23262         * lib/utimens.c: Likewise.
23263         * lib/verify.h: Likewise.
23264         * lib/verror.c: Likewise.
23265         * lib/verror.h: Likewise.
23266         * lib/version-etc-fsf.c: Likewise.
23267         * lib/version-etc.c: Likewise.
23268         * lib/version-etc.h: Likewise.
23269         * lib/vfprintf.c: Likewise.
23270         * lib/vprintf.c: Likewise.
23271         * lib/vsprintf.c: Likewise.
23272         * lib/w32spawn.h: Likewise.
23273         * lib/wait-process.c: Likewise.
23274         * lib/wait-process.h: Likewise.
23275         * lib/wcwidth.c: Likewise.
23276         * lib/write-any-file.c: Likewise.
23277         * lib/xalloc-die.c: Likewise.
23278         * lib/xalloc.h: Likewise.
23279         * lib/xasprintf.c: Likewise.
23280         * lib/xgetcwd.c: Likewise.
23281         * lib/xgetcwd.h: Likewise.
23282         * lib/xgetdomainname.c: Likewise.
23283         * lib/xgetdomainname.h: Likewise.
23284         * lib/xgethostname.c: Likewise.
23285         * lib/xmalloc.c: Likewise.
23286         * lib/xmalloca.c: Likewise.
23287         * lib/xmalloca.h: Likewise.
23288         * lib/xmemcoll.c: Likewise.
23289         * lib/xnanosleep.c: Likewise.
23290         * lib/xreadlink.c: Likewise.
23291         * lib/xreadlink.h: Likewise.
23292         * lib/xsetenv.c: Likewise.
23293         * lib/xsetenv.h: Likewise.
23294         * lib/xstriconv.c: Likewise.
23295         * lib/xstriconv.h: Likewise.
23296         * lib/xstrndup.c: Likewise.
23297         * lib/xstrndup.h: Likewise.
23298         * lib/xstrtod.c: Likewise.
23299         * lib/xstrtod.h: Likewise.
23300         * lib/xstrtol-error.c: Likewise.
23301         * lib/xstrtol.c: Likewise.
23302         * lib/xstrtol.h: Likewise.
23303         * lib/xtime.h: Likewise.
23304         * lib/xvasprintf.c: Likewise.
23305         * lib/xvasprintf.h: Likewise.
23306         * lib/yesno.c: Likewise.
23307         * lib/yesno.h: Likewise.
23308         * posix-modules: Likewise.
23309         * tests/test-alloca-opt.c: Likewise.
23310         * tests/test-arcfour.c: Likewise.
23311         * tests/test-arctwo.c: Likewise.
23312         * tests/test-argmatch.c: Likewise.
23313         * tests/test-argp-2.sh: Likewise.
23314         * tests/test-argp.c: Likewise.
23315         * tests/test-arpa_inet.c: Likewise.
23316         * tests/test-array_list.c: Likewise.
23317         * tests/test-array_oset.c: Likewise.
23318         * tests/test-atexit.c: Likewise.
23319         * tests/test-avltree_list.c: Likewise.
23320         * tests/test-avltree_oset.c: Likewise.
23321         * tests/test-avltreehash_list.c: Likewise.
23322         * tests/test-base64.c: Likewise.
23323         * tests/test-binary-io.c: Likewise.
23324         * tests/test-byteswap.c: Likewise.
23325         * tests/test-c-ctype.c: Likewise.
23326         * tests/test-c-strcasecmp.c: Likewise.
23327         * tests/test-c-strcasestr.c: Likewise.
23328         * tests/test-c-strncasecmp.c: Likewise.
23329         * tests/test-c-strstr.c: Likewise.
23330         * tests/test-canonicalize-lgpl.c: Likewise.
23331         * tests/test-canonicalize.c: Likewise.
23332         * tests/test-carray_list.c: Likewise.
23333         * tests/test-ceilf.c: Likewise.
23334         * tests/test-ceill.c: Likewise.
23335         * tests/test-count-one-bits.c: Likewise.
23336         * tests/test-crc.c: Likewise.
23337         * tests/test-dirname.c: Likewise.
23338         * tests/test-fbufmode.c: Likewise.
23339         * tests/test-fcntl.c: Likewise.
23340         * tests/test-fflush.c: Likewise.
23341         * tests/test-floorf.c: Likewise.
23342         * tests/test-floorl.c: Likewise.
23343         * tests/test-fopen.c: Likewise.
23344         * tests/test-fprintf-posix.c: Likewise.
23345         * tests/test-fprintf-posix.h: Likewise.
23346         * tests/test-fpurge.c: Likewise.
23347         * tests/test-freadable.c: Likewise.
23348         * tests/test-freadahead.c: Likewise.
23349         * tests/test-freading.c: Likewise.
23350         * tests/test-freopen.c: Likewise.
23351         * tests/test-frexp.c: Likewise.
23352         * tests/test-frexpl.c: Likewise.
23353         * tests/test-fseek.c: Likewise.
23354         * tests/test-fseeko.c: Likewise.
23355         * tests/test-fseterr.c: Likewise.
23356         * tests/test-fstrcmp.c: Likewise.
23357         * tests/test-ftell.c: Likewise.
23358         * tests/test-ftello.c: Likewise.
23359         * tests/test-fwritable.c: Likewise.
23360         * tests/test-fwriting.c: Likewise.
23361         * tests/test-getaddrinfo.c: Likewise.
23362         * tests/test-getpass.c: Likewise.
23363         * tests/test-gettimeofday.c: Likewise.
23364         * tests/test-hmac-md5.c: Likewise.
23365         * tests/test-hmac-sha1.c: Likewise.
23366         * tests/test-iconv.c: Likewise.
23367         * tests/test-iconvme.c: Likewise.
23368         * tests/test-inttypes.c: Likewise.
23369         * tests/test-isnan.c: Likewise.
23370         * tests/test-isnanf.c: Likewise.
23371         * tests/test-isnanl-nolibm.c: Likewise.
23372         * tests/test-isnanl.c: Likewise.
23373         * tests/test-isnanl.h: Likewise.
23374         * tests/test-ldexpl.c: Likewise.
23375         * tests/test-linked_list.c: Likewise.
23376         * tests/test-linkedhash_list.c: Likewise.
23377         * tests/test-locale.c: Likewise.
23378         * tests/test-localename.c: Likewise.
23379         * tests/test-lock.c: Likewise.
23380         * tests/test-lseek.c: Likewise.
23381         * tests/test-malloca.c: Likewise.
23382         * tests/test-math.c: Likewise.
23383         * tests/test-mbscasecmp.c: Likewise.
23384         * tests/test-mbscasestr1.c: Likewise.
23385         * tests/test-mbscasestr2.c: Likewise.
23386         * tests/test-mbscasestr3.c: Likewise.
23387         * tests/test-mbscasestr4.c: Likewise.
23388         * tests/test-mbschr.c: Likewise.
23389         * tests/test-mbscspn.c: Likewise.
23390         * tests/test-mbsncasecmp.c: Likewise.
23391         * tests/test-mbspbrk.c: Likewise.
23392         * tests/test-mbspcasecmp.c: Likewise.
23393         * tests/test-mbsrchr.c: Likewise.
23394         * tests/test-mbsspn.c: Likewise.
23395         * tests/test-mbsstr1.c: Likewise.
23396         * tests/test-mbsstr2.c: Likewise.
23397         * tests/test-mbsstr3.c: Likewise.
23398         * tests/test-md5.c: Likewise.
23399         * tests/test-memmem.c: Likewise.
23400         * tests/test-netinet_in.c: Likewise.
23401         * tests/test-open.c: Likewise.
23402         * tests/test-printf-frexp.c: Likewise.
23403         * tests/test-printf-frexpl.c: Likewise.
23404         * tests/test-printf-posix.c: Likewise.
23405         * tests/test-printf-posix.h: Likewise.
23406         * tests/test-rbtree_list.c: Likewise.
23407         * tests/test-rbtree_oset.c: Likewise.
23408         * tests/test-rbtreehash_list.c: Likewise.
23409         * tests/test-read-file.c: Likewise.
23410         * tests/test-rijndael.c: Likewise.
23411         * tests/test-search.c: Likewise.
23412         * tests/test-signbit.c: Likewise.
23413         * tests/test-sleep.c: Likewise.
23414         * tests/test-snprintf-posix.c: Likewise.
23415         * tests/test-snprintf-posix.h: Likewise.
23416         * tests/test-snprintf.c: Likewise.
23417         * tests/test-sprintf-posix.c: Likewise.
23418         * tests/test-sprintf-posix.h: Likewise.
23419         * tests/test-stat-time.c: Likewise.
23420         * tests/test-stdbool.c: Likewise.
23421         * tests/test-stdint.c: Likewise.
23422         * tests/test-stdio.c: Likewise.
23423         * tests/test-stdlib.c: Likewise.
23424         * tests/test-stpncpy.c: Likewise.
23425         * tests/test-strcasestr.c: Likewise.
23426         * tests/test-striconv.c: Likewise.
23427         * tests/test-striconveh.c: Likewise.
23428         * tests/test-striconveha.c: Likewise.
23429         * tests/test-string.c: Likewise.
23430         * tests/test-sys_select.c: Likewise.
23431         * tests/test-sys_socket.c: Likewise.
23432         * tests/test-sys_stat.c: Likewise.
23433         * tests/test-sys_time.c: Likewise.
23434         * tests/test-sysexits.c: Likewise.
23435         * tests/test-time.c: Likewise.
23436         * tests/test-tls.c: Likewise.
23437         * tests/test-trunc.c: Likewise.
23438         * tests/test-truncf.c: Likewise.
23439         * tests/test-truncl.c: Likewise.
23440         * tests/test-unistd.c: Likewise.
23441         * tests/test-vasnprintf-posix.c: Likewise.
23442         * tests/test-vasnprintf-posix2.c: Likewise.
23443         * tests/test-vasnprintf.c: Likewise.
23444         * tests/test-vasprintf-posix.c: Likewise.
23445         * tests/test-vasprintf.c: Likewise.
23446         * tests/test-verify.c: Likewise.
23447         * tests/test-vfprintf-posix.c: Likewise.
23448         * tests/test-vprintf-posix.c: Likewise.
23449         * tests/test-vsnprintf-posix.c: Likewise.
23450         * tests/test-vsnprintf.c: Likewise.
23451         * tests/test-vsprintf-posix.c: Likewise.
23452         * tests/test-wchar.c: Likewise.
23453         * tests/test-wctype.c: Likewise.
23454         * tests/test-wcwidth.c: Likewise.
23455         * tests/test-xstrtol.c: Likewise.
23456         * tests/test-xvasprintf.c: Likewise.
23457         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23458         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23459         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23460         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23461         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23462         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23463         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23464         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23465         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23466         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23467         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23468         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23469         * tests/uniname/test-uninames.c: Likewise.
23470         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23471         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
23472         * tests/unistdio/test-u16-printf1.h: Likewise.
23473         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23474         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23475         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23476         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23477         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23478         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23479         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23480         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
23481         * tests/unistdio/test-u32-printf1.h: Likewise.
23482         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23483         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23484         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23485         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23486         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23487         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23488         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23489         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
23490         * tests/unistdio/test-u8-printf1.h: Likewise.
23491         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23492         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23493         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23494         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23495         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23496         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23497         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23498         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
23499         * tests/unistdio/test-ulc-printf1.h: Likewise.
23500         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23501         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23502         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23503         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23504         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23505         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23506         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23507         * tests/uniwidth/test-u16-width.c: Likewise.
23508         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23509         * tests/uniwidth/test-u32-width.c: Likewise.
23510         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23511         * tests/uniwidth/test-u8-width.c: Likewise.
23512         * tests/uniwidth/test-uc_width.c: Likewise.
23513         * config/srclist-update: Likewise.
23514         (fixlicense): Update to GPLv3+.
23515
23516         Change copyright notice from LGPLv2.1+ to LGPLv3+.
23517         * tests/test-tsearch.c: Change copyright notice.
23518
23519         Change copyright notice from LGPLv2.0+ to LGPLv3+.
23520         * lib/c-strcaseeq.h: Change copyright notice.
23521         * lib/streq.h: Likewise.
23522         * lib/uniconv.h: Likewise.
23523         * lib/uniconv/u-conv-from-enc.h: Likewise.
23524         * lib/uniconv/u-conv-to-enc.h: Likewise.
23525         * lib/uniconv/u-strconv-from-enc.h: Likewise.
23526         * lib/uniconv/u-strconv-to-enc.h: Likewise.
23527         * lib/uniconv/u16-conv-from-enc.c: Likewise.
23528         * lib/uniconv/u16-conv-to-enc.c: Likewise.
23529         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
23530         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
23531         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
23532         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
23533         * lib/uniconv/u32-conv-from-enc.c: Likewise.
23534         * lib/uniconv/u32-conv-to-enc.c: Likewise.
23535         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
23536         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
23537         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
23538         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
23539         * lib/uniconv/u8-conv-from-enc.c: Likewise.
23540         * lib/uniconv/u8-conv-to-enc.c: Likewise.
23541         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
23542         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
23543         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
23544         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
23545         * lib/uniname.h: Likewise.
23546         * lib/uniname/uniname.c: Likewise.
23547         * lib/unistdio.h: Likewise.
23548         * lib/unistdio/u-asnprintf.h: Likewise.
23549         * lib/unistdio/u-asprintf.h: Likewise.
23550         * lib/unistdio/u-printf-args.c: Likewise.
23551         * lib/unistdio/u-printf-args.h: Likewise.
23552         * lib/unistdio/u-printf-parse.h: Likewise.
23553         * lib/unistdio/u-snprintf.h: Likewise.
23554         * lib/unistdio/u-sprintf.h: Likewise.
23555         * lib/unistdio/u-vasprintf.h: Likewise.
23556         * lib/unistdio/u-vsnprintf.h: Likewise.
23557         * lib/unistdio/u-vsprintf.h: Likewise.
23558         * lib/unistdio/u16-asnprintf.c: Likewise.
23559         * lib/unistdio/u16-asprintf.c: Likewise.
23560         * lib/unistdio/u16-printf-parse.c: Likewise.
23561         * lib/unistdio/u16-snprintf.c: Likewise.
23562         * lib/unistdio/u16-sprintf.c: Likewise.
23563         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
23564         * lib/unistdio/u16-u16-asprintf.c: Likewise.
23565         * lib/unistdio/u16-u16-snprintf.c: Likewise.
23566         * lib/unistdio/u16-u16-sprintf.c: Likewise.
23567         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
23568         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
23569         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
23570         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
23571         * lib/unistdio/u16-vasnprintf.c: Likewise.
23572         * lib/unistdio/u16-vasprintf.c: Likewise.
23573         * lib/unistdio/u16-vsnprintf.c: Likewise.
23574         * lib/unistdio/u16-vsprintf.c: Likewise.
23575         * lib/unistdio/u32-asnprintf.c: Likewise.
23576         * lib/unistdio/u32-asprintf.c: Likewise.
23577         * lib/unistdio/u32-printf-parse.c: Likewise.
23578         * lib/unistdio/u32-snprintf.c: Likewise.
23579         * lib/unistdio/u32-sprintf.c: Likewise.
23580         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
23581         * lib/unistdio/u32-u32-asprintf.c: Likewise.
23582         * lib/unistdio/u32-u32-snprintf.c: Likewise.
23583         * lib/unistdio/u32-u32-sprintf.c: Likewise.
23584         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
23585         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
23586         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
23587         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
23588         * lib/unistdio/u32-vasnprintf.c: Likewise.
23589         * lib/unistdio/u32-vasprintf.c: Likewise.
23590         * lib/unistdio/u32-vsnprintf.c: Likewise.
23591         * lib/unistdio/u32-vsprintf.c: Likewise.
23592         * lib/unistdio/u8-asnprintf.c: Likewise.
23593         * lib/unistdio/u8-asprintf.c: Likewise.
23594         * lib/unistdio/u8-printf-parse.c: Likewise.
23595         * lib/unistdio/u8-snprintf.c: Likewise.
23596         * lib/unistdio/u8-sprintf.c: Likewise.
23597         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
23598         * lib/unistdio/u8-u8-asprintf.c: Likewise.
23599         * lib/unistdio/u8-u8-snprintf.c: Likewise.
23600         * lib/unistdio/u8-u8-sprintf.c: Likewise.
23601         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
23602         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
23603         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
23604         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
23605         * lib/unistdio/u8-vasnprintf.c: Likewise.
23606         * lib/unistdio/u8-vasprintf.c: Likewise.
23607         * lib/unistdio/u8-vsnprintf.c: Likewise.
23608         * lib/unistdio/u8-vsprintf.c: Likewise.
23609         * lib/unistdio/ulc-asnprintf.c: Likewise.
23610         * lib/unistdio/ulc-asprintf.c: Likewise.
23611         * lib/unistdio/ulc-printf-parse.c: Likewise.
23612         * lib/unistdio/ulc-snprintf.c: Likewise.
23613         * lib/unistdio/ulc-sprintf.c: Likewise.
23614         * lib/unistdio/ulc-vasnprintf.c: Likewise.
23615         * lib/unistdio/ulc-vasprintf.c: Likewise.
23616         * lib/unistdio/ulc-vsnprintf.c: Likewise.
23617         * lib/unistdio/ulc-vsprintf.c: Likewise.
23618         * lib/unistr.h: Likewise.
23619         * lib/unistr/u-cpy-alloc.h: Likewise.
23620         * lib/unistr/u-cpy.h: Likewise.
23621         * lib/unistr/u-endswith.h: Likewise.
23622         * lib/unistr/u-move.h: Likewise.
23623         * lib/unistr/u-set.h: Likewise.
23624         * lib/unistr/u-startswith.h: Likewise.
23625         * lib/unistr/u-stpcpy.h: Likewise.
23626         * lib/unistr/u-stpncpy.h: Likewise.
23627         * lib/unistr/u-strcat.h: Likewise.
23628         * lib/unistr/u-strcpy.h: Likewise.
23629         * lib/unistr/u-strcspn.h: Likewise.
23630         * lib/unistr/u-strdup.h: Likewise.
23631         * lib/unistr/u-strlen.h: Likewise.
23632         * lib/unistr/u-strncat.h: Likewise.
23633         * lib/unistr/u-strncpy.h: Likewise.
23634         * lib/unistr/u-strnlen.h: Likewise.
23635         * lib/unistr/u-strpbrk.h: Likewise.
23636         * lib/unistr/u-strspn.h: Likewise.
23637         * lib/unistr/u-strstr.h: Likewise.
23638         * lib/unistr/u-strtok.h: Likewise.
23639         * lib/unistr/u16-check.c: Likewise.
23640         * lib/unistr/u16-chr.c: Likewise.
23641         * lib/unistr/u16-cmp.c: Likewise.
23642         * lib/unistr/u16-cpy-alloc.c: Likewise.
23643         * lib/unistr/u16-cpy.c: Likewise.
23644         * lib/unistr/u16-endswith.c: Likewise.
23645         * lib/unistr/u16-mblen.c: Likewise.
23646         * lib/unistr/u16-mbsnlen.c: Likewise.
23647         * lib/unistr/u16-mbtouc-aux.c: Likewise.
23648         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
23649         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
23650         * lib/unistr/u16-mbtouc.c: Likewise.
23651         * lib/unistr/u16-mbtoucr.c: Likewise.
23652         * lib/unistr/u16-move.c: Likewise.
23653         * lib/unistr/u16-next.c: Likewise.
23654         * lib/unistr/u16-prev.c: Likewise.
23655         * lib/unistr/u16-set.c: Likewise.
23656         * lib/unistr/u16-startswith.c: Likewise.
23657         * lib/unistr/u16-stpcpy.c: Likewise.
23658         * lib/unistr/u16-stpncpy.c: Likewise.
23659         * lib/unistr/u16-strcat.c: Likewise.
23660         * lib/unistr/u16-strchr.c: Likewise.
23661         * lib/unistr/u16-strcmp.c: Likewise.
23662         * lib/unistr/u16-strcpy.c: Likewise.
23663         * lib/unistr/u16-strcspn.c: Likewise.
23664         * lib/unistr/u16-strdup.c: Likewise.
23665         * lib/unistr/u16-strlen.c: Likewise.
23666         * lib/unistr/u16-strmblen.c: Likewise.
23667         * lib/unistr/u16-strmbtouc.c: Likewise.
23668         * lib/unistr/u16-strncat.c: Likewise.
23669         * lib/unistr/u16-strncmp.c: Likewise.
23670         * lib/unistr/u16-strncpy.c: Likewise.
23671         * lib/unistr/u16-strnlen.c: Likewise.
23672         * lib/unistr/u16-strpbrk.c: Likewise.
23673         * lib/unistr/u16-strrchr.c: Likewise.
23674         * lib/unistr/u16-strspn.c: Likewise.
23675         * lib/unistr/u16-strstr.c: Likewise.
23676         * lib/unistr/u16-strtok.c: Likewise.
23677         * lib/unistr/u16-to-u32.c: Likewise.
23678         * lib/unistr/u16-to-u8.c: Likewise.
23679         * lib/unistr/u16-uctomb-aux.c: Likewise.
23680         * lib/unistr/u16-uctomb.c: Likewise.
23681         * lib/unistr/u32-check.c: Likewise.
23682         * lib/unistr/u32-chr.c: Likewise.
23683         * lib/unistr/u32-cmp.c: Likewise.
23684         * lib/unistr/u32-cpy-alloc.c: Likewise.
23685         * lib/unistr/u32-cpy.c: Likewise.
23686         * lib/unistr/u32-endswith.c: Likewise.
23687         * lib/unistr/u32-mblen.c: Likewise.
23688         * lib/unistr/u32-mbsnlen.c: Likewise.
23689         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
23690         * lib/unistr/u32-mbtouc.c: Likewise.
23691         * lib/unistr/u32-mbtoucr.c: Likewise.
23692         * lib/unistr/u32-move.c: Likewise.
23693         * lib/unistr/u32-next.c: Likewise.
23694         * lib/unistr/u32-prev.c: Likewise.
23695         * lib/unistr/u32-set.c: Likewise.
23696         * lib/unistr/u32-startswith.c: Likewise.
23697         * lib/unistr/u32-stpcpy.c: Likewise.
23698         * lib/unistr/u32-stpncpy.c: Likewise.
23699         * lib/unistr/u32-strcat.c: Likewise.
23700         * lib/unistr/u32-strchr.c: Likewise.
23701         * lib/unistr/u32-strcmp.c: Likewise.
23702         * lib/unistr/u32-strcpy.c: Likewise.
23703         * lib/unistr/u32-strcspn.c: Likewise.
23704         * lib/unistr/u32-strdup.c: Likewise.
23705         * lib/unistr/u32-strlen.c: Likewise.
23706         * lib/unistr/u32-strmblen.c: Likewise.
23707         * lib/unistr/u32-strmbtouc.c: Likewise.
23708         * lib/unistr/u32-strncat.c: Likewise.
23709         * lib/unistr/u32-strncmp.c: Likewise.
23710         * lib/unistr/u32-strncpy.c: Likewise.
23711         * lib/unistr/u32-strnlen.c: Likewise.
23712         * lib/unistr/u32-strpbrk.c: Likewise.
23713         * lib/unistr/u32-strrchr.c: Likewise.
23714         * lib/unistr/u32-strspn.c: Likewise.
23715         * lib/unistr/u32-strstr.c: Likewise.
23716         * lib/unistr/u32-strtok.c: Likewise.
23717         * lib/unistr/u32-to-u16.c: Likewise.
23718         * lib/unistr/u32-to-u8.c: Likewise.
23719         * lib/unistr/u32-uctomb.c: Likewise.
23720         * lib/unistr/u8-check.c: Likewise.
23721         * lib/unistr/u8-chr.c: Likewise.
23722         * lib/unistr/u8-cmp.c: Likewise.
23723         * lib/unistr/u8-cpy-alloc.c: Likewise.
23724         * lib/unistr/u8-cpy.c: Likewise.
23725         * lib/unistr/u8-endswith.c: Likewise.
23726         * lib/unistr/u8-mblen.c: Likewise.
23727         * lib/unistr/u8-mbsnlen.c: Likewise.
23728         * lib/unistr/u8-mbtouc-aux.c: Likewise.
23729         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
23730         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
23731         * lib/unistr/u8-mbtouc.c: Likewise.
23732         * lib/unistr/u8-mbtoucr.c: Likewise.
23733         * lib/unistr/u8-move.c: Likewise.
23734         * lib/unistr/u8-next.c: Likewise.
23735         * lib/unistr/u8-prev.c: Likewise.
23736         * lib/unistr/u8-set.c: Likewise.
23737         * lib/unistr/u8-startswith.c: Likewise.
23738         * lib/unistr/u8-stpcpy.c: Likewise.
23739         * lib/unistr/u8-stpncpy.c: Likewise.
23740         * lib/unistr/u8-strcat.c: Likewise.
23741         * lib/unistr/u8-strchr.c: Likewise.
23742         * lib/unistr/u8-strcmp.c: Likewise.
23743         * lib/unistr/u8-strcpy.c: Likewise.
23744         * lib/unistr/u8-strcspn.c: Likewise.
23745         * lib/unistr/u8-strdup.c: Likewise.
23746         * lib/unistr/u8-strlen.c: Likewise.
23747         * lib/unistr/u8-strmblen.c: Likewise.
23748         * lib/unistr/u8-strmbtouc.c: Likewise.
23749         * lib/unistr/u8-strncat.c: Likewise.
23750         * lib/unistr/u8-strncmp.c: Likewise.
23751         * lib/unistr/u8-strncpy.c: Likewise.
23752         * lib/unistr/u8-strnlen.c: Likewise.
23753         * lib/unistr/u8-strpbrk.c: Likewise.
23754         * lib/unistr/u8-strrchr.c: Likewise.
23755         * lib/unistr/u8-strspn.c: Likewise.
23756         * lib/unistr/u8-strstr.c: Likewise.
23757         * lib/unistr/u8-strtok.c: Likewise.
23758         * lib/unistr/u8-to-u16.c: Likewise.
23759         * lib/unistr/u8-to-u32.c: Likewise.
23760         * lib/unistr/u8-uctomb-aux.c: Likewise.
23761         * lib/unistr/u8-uctomb.c: Likewise.
23762         * lib/unitypes.h: Likewise.
23763         * lib/uniwidth.h: Likewise.
23764         * lib/uniwidth/cjk.h: Likewise.
23765         * lib/uniwidth/u16-strwidth.c: Likewise.
23766         * lib/uniwidth/u16-width.c: Likewise.
23767         * lib/uniwidth/u32-strwidth.c: Likewise.
23768         * lib/uniwidth/u32-width.c: Likewise.
23769         * lib/uniwidth/u8-strwidth.c: Likewise.
23770         * lib/uniwidth/u8-width.c: Likewise.
23771         * lib/uniwidth/width.c: Likewise.
23772
23773 2007-10-07  Bruno Haible  <bruno@clisp.org>
23774
23775         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
23776         The file is still under LGPL (see modules/inttypes).
23777
23778 2007-10-06  Bruno Haible  <bruno@clisp.org>
23779
23780         * modules/trunc (Dependencies): Add 'extensions'.
23781         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
23782         Reported by Ben Pfaff <blp@gnu.org>.
23783
23784 2007-10-06  Bruno Haible  <bruno@clisp.org>
23785
23786         * modules/freopen-tests: New file.
23787         * tests/test-freopen.c: New file.
23788
23789         * modules/fopen-tests: New file.
23790         * tests/test-fopen.c: New file.
23791
23792         * modules/fopen: New file.
23793         * lib/fopen.c: New file.
23794         * m4/fopen.m4: New file.
23795         * modules/freopen: New file.
23796         * lib/freopen.c: New file.
23797         * m4/freopen.m4: New file.
23798         * lib/stdio.in.h (fopen, freopen): New declarations.
23799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
23800         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
23801         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
23802         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
23803         * doc/functions/fopen.texi: Mention the 'fopen' module.
23804         * doc/functions/freopen.texi: Mention the 'freopen' module.
23805
23806 2007-10-06  Bruno Haible  <bruno@clisp.org>
23807
23808         * modules/open-tests: New file.
23809         * tests/test-open.c: New file.
23810
23811         * modules/open: New file.
23812         * lib/open.c: New file.
23813         * m4/open.m4: New file.
23814         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
23815         lib/open.c does.
23816         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
23817         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
23818         macros.
23819         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
23820         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
23821         REPLACE_OPEN.
23822         * doc/functions/open.texi: Mention the 'open' module.
23823
23824 2007-10-04  Bruno Haible  <bruno@clisp.org>
23825
23826         * modules/ceill-tests: New file.
23827         * tests/test-ceill.c: New file.
23828
23829         * modules/ceill: New file.
23830         * lib/ceill.c: Replace entire file.
23831         * m4/ceill.m4: New file.
23832         * lib/math.in.h (ceill): Replace declaration.
23833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
23834         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
23835         * doc/functions/ceill.texi: Mention the 'ceill' module.
23836         * modules/mathl (Files): Remove lib/ceill.c.
23837         (Depends-on): Add ceill.
23838
23839 2007-10-04  Bruno Haible  <bruno@clisp.org>
23840
23841         * modules/ceilf-tests: New file.
23842         * tests/test-ceilf.c: New file.
23843
23844         * modules/ceilf: New file.
23845         * lib/ceil.c: New file.
23846         * lib/ceilf.c: New file.
23847         * m4/ceilf.m4: New file.
23848         * lib/math.in.h (ceilf): New declaration.
23849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
23850         HAVE_DECL_CEILF.
23851         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
23852         HAVE_DECL_CEILF.
23853         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
23854
23855 2007-10-04  Bruno Haible  <bruno@clisp.org>
23856
23857         * modules/floorl-tests: New file.
23858         * tests/test-floorl.c: New file.
23859
23860         * modules/floorl: New file.
23861         * lib/floorl.c: Replace entire file.
23862         * m4/floorl.m4: New file.
23863         * lib/math.in.h (floorl): Replace declaration.
23864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
23865         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
23866         * doc/functions/floorl.texi: Mention the 'floorl' module.
23867         * modules/mathl (Files): Remove lib/floorl.c.
23868         (Depends-on): Add floorl.
23869
23870 2007-10-04  Bruno Haible  <bruno@clisp.org>
23871
23872         * modules/floorf-tests: New file.
23873         * tests/test-floorf.c: New file.
23874
23875         * modules/floorf: New file.
23876         * lib/floor.c: New file.
23877         * lib/floorf.c: New file.
23878         * m4/floorf.m4: New file.
23879         * lib/math.in.h (floorf): New declaration.
23880         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
23881         HAVE_DECL_FLOORF.
23882         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
23883         HAVE_DECL_FLOORF.
23884         * doc/functions/floorf.texi: Mention the 'floorf' module.
23885
23886 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
23887             Bruno Haible  <bruno@clisp.org>
23888
23889         Advertise for the Git server instead of the CVS server.
23890         * doc/gnulib-intro.texi (Steady Development): Mention the Git
23891         repository instead of the CVS one.
23892         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
23893         about all VCS systems generically.
23894         * doc/gnulib.texi (Introduction): Capitalize `Git'.
23895
23896 2007-10-04  Bruno Haible  <bruno@clisp.org>
23897
23898         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
23899         means.
23900         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
23901
23902 2007-10-04  Bruno Haible  <bruno@clisp.org>
23903
23904         * modules/truncl-tests: New file.
23905         * tests/test-truncl.c: New file.
23906
23907         * modules/truncl: New file.
23908         * lib/truncl.c: New file.
23909         * m4/truncl.m4: New file.
23910         * lib/math.in.h (truncl): New declaration.
23911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
23912         HAVE_DECL_TRUNCL.
23913         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
23914         HAVE_DECL_TRUNCL.
23915         * doc/functions/truncl.texi: Mention the 'truncl' module.
23916
23917 2007-10-04  Bruno Haible  <bruno@clisp.org>
23918
23919         * modules/truncf-tests: New file.
23920         * tests/test-truncf.c: New file.
23921
23922         * modules/truncf: New file.
23923         * lib/trunc.c: Make paramerizable through USE_* macros.
23924         * lib/truncf.c: New file.
23925         * m4/truncf.m4: New file.
23926         * lib/math.in.h (truncf): New declaration.
23927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
23928         HAVE_DECL_TRUNCF.
23929         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
23930         HAVE_DECL_TRUNCF.
23931         * doc/functions/truncf.texi: Mention the 'truncf' module.
23932
23933 2007-10-03  Bruno Haible  <bruno@clisp.org>
23934
23935         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
23936         augmentation also for tests modules.
23937         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
23938         * modules/atexit-tests (Makefile.am): Likewise.
23939         * modules/binary-io-tests (Makefile.am): Likewise.
23940         * modules/c-strcase-tests (Makefile.am): Likewise.
23941         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
23942         * modules/canonicalize-tests (Makefile.am): Likewise.
23943         * modules/closein-tests (Makefile.am): Likewise.
23944         * modules/fprintf-posix-tests (Makefile.am): Likewise.
23945         * modules/freadahead-tests (Makefile.am): Likewise.
23946         * modules/fseek-tests (Makefile.am): Likewise.
23947         * modules/fseeko-tests (Makefile.am): Likewise.
23948         * modules/ftell-tests (Makefile.am): Likewise.
23949         * modules/ftello-tests (Makefile.am): Likewise.
23950         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
23951         * modules/isnanl-tests (Makefile.am): Likewise.
23952         * modules/lseek-tests (Makefile.am): Likewise.
23953         * modules/mbscasecmp-tests (Makefile.am): Likewise.
23954         * modules/mbscasestr-tests (Makefile.am): Likewise.
23955         * modules/mbschr-tests (Makefile.am): Likewise.
23956         * modules/mbscspn-tests (Makefile.am): Likewise.
23957         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
23958         * modules/mbspbrk-tests (Makefile.am): Likewise.
23959         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
23960         * modules/mbsrchr-tests (Makefile.am): Likewise.
23961         * modules/mbsspn-tests (Makefile.am): Likewise.
23962         * modules/mbsstr-tests (Makefile.am): Likewise.
23963         * modules/printf-posix-tests (Makefile.am): Likewise.
23964         * modules/snprintf-posix-tests (Makefile.am): Likewise.
23965         * modules/sprintf-posix-tests (Makefile.am): Likewise.
23966         * modules/tsearch-tests (Makefile.am): Likewise.
23967         * modules/uniname/uniname-tests (Makefile.am): Likewise.
23968         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
23969         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
23970         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
23971         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
23972         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
23973         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
23974         * modules/vprintf-posix-tests (Makefile.am): Likewise.
23975         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
23976         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
23977         * modules/xstrtoimax-tests (Makefile.am): Likewise.
23978         * modules/xstrtol-tests (Makefile.am): Likewise.
23979         * modules/xstrtoumax-tests (Makefile.am): Likewise.
23980         * modules/yesno-tests (Makefile.am): Likewise.
23981
23982 2007-10-03  Bruno Haible  <bruno@clisp.org>
23983
23984         * modules/trunc-tests: New file.
23985         * tests/test-trunc.c: New file.
23986
23987         * modules/trunc: New file.
23988         * lib/trunc.c: New file.
23989         * m4/trunc.m4: New file.
23990         * lib/math.in.h (trunc): New declaration.
23991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
23992         HAVE_DECL_TRUNC.
23993         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
23994         HAVE_DECL_TRUNC.
23995         * doc/functions/trunc.texi: Mention the 'trunc' module.
23996
23997 2007-10-03  Bruno Haible  <bruno@clisp.org>
23998
23999         * tests/test-fpending.c: New file, mostly copied
24000         from coreutils/lib/t-fpending.c.
24001         * modules/fpending-tests: New file.
24002
24003 2007-10-03  Bruno Haible  <bruno@clisp.org>
24004
24005         Port the stdio extensions to QNX (untested).
24006         * lib/fseterr.c (fseterr): Add support for QNX.
24007         * lib/fbufmode.c (fbufmode): Likewise.
24008         * lib/freadable.c (freadable): Likewise.
24009         * lib/fwritable.c (fwritable): Likewise.
24010         * lib/freading.c (freading): Likewise.
24011         * lib/fwriting.c (fwriting): Likewise.
24012         * lib/freadahead.c (freadahed): Likewise.
24013         * lib/fpurge.c (fpurge): Likewise.
24014         * lib/fseeko.c (rpl_fseeko): Likewise.
24015
24016 2007-10-03  Bruno Haible  <bruno@clisp.org>
24017             Jim Meyering  <jim@meyering.net>
24018             Eric Blake  <ebb9@byu.net>
24019
24020         * doc/relocatable.texi: Use @command instead of @program.
24021
24022 2007-10-02  Jim Meyering  <jim@meyering.net>
24023
24024         Perform one more "_.h" -> ".in.h" substitution.
24025         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
24026         instead of unistd_.h here, too.
24027
24028 2007-10-01  Bruno Haible  <bruno@clisp.org>
24029
24030         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
24031         Needed for the alloca-opt module.
24032
24033 2007-09-30  Bruno Haible  <bruno@clisp.org>
24034
24035         * lib/alloca.in.h: Renamed from lib/alloca_.h.
24036         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
24037         alloca_.h.
24038         * lib/argz.in.h: Renamed from lib/argz_.h.
24039         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
24040         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
24041         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
24042         byteswap_.h.
24043         * lib/dirent.in.h: Renamed from lib/dirent_.h.
24044         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
24045         dirent_.h.
24046         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
24047         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
24048         fcntl_.h.
24049         * lib/float.in.h: Renamed from lib/float_.h.
24050         * modules/float (Files, Makefile.am): Use float.in.h instead of
24051         float_.h.
24052         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
24053         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
24054         fnmatch_.h.
24055         * lib/getopt.in.h: Renamed from lib/getopt_.h.
24056         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
24057         getopt_.h.
24058         * lib/glob.in.h: Renamed from lib/glob_.h.
24059         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
24060         * lib/iconv.in.h: Renamed from lib/iconv_.h.
24061         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
24062         iconv_.h.
24063         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
24064         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
24065         inttypes_.h.
24066         * lib/locale.in.h: Renamed from lib/locale_.h.
24067         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
24068         locale_.h.
24069         * lib/math.in.h: Renamed from lib/math_.h.
24070         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
24071         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
24072         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
24073         of netinet_in_.h. Add dependency.
24074         * lib/poll.in.h: Renamed from lib/poll_.h.
24075         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
24076         * lib/search.in.h: Renamed from lib/search_.h.
24077         * modules/search (Files, Makefile.am): Use search.in.h instead of
24078         search_.h.
24079         * lib/signal.in.h: Renamed from lib/signal_.h.
24080         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
24081         _signal.h.
24082         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
24083         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
24084         stdbool_.h.
24085         * lib/stdint.in.h: Renamed from lib/stdint_.h.
24086         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
24087         stdint_.h.
24088         * lib/stdio.in.h: Renamed from lib/stdio_.h.
24089         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
24090         stdio_.h.
24091         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
24092         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
24093         stdlib_.h.
24094         * lib/string.in.h: Renamed from lib/string_.h.
24095         * modules/string (Files, Makefile.am): Use string.in.h instead of
24096         string_.h.
24097         * doc/gnulib-tool.texi (Initial import): Update.
24098         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
24099         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
24100         of sys_select_.h. Add dependency.
24101         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
24102         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
24103         of sys_socket_.h.
24104         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
24105         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
24106         sys_stat_.h.
24107         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
24108         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
24109         sys_time_.h.
24110         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
24111         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
24112         sysexits_.h.
24113         * lib/time.in.h: Renamed from lib/time_.h.
24114         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
24115         * lib/unistd.in.h: Renamed from lib/unistd_.h.
24116         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
24117         unistd_.h.
24118         * lib/wchar.in.h: Renamed from lib/wchar_.h.
24119         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
24120         wchar_.h.
24121         * lib/wctype.in.h: Renamed from lib/wctype_.h.
24122         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
24123         wctype_.h.
24124         * build-aux/bootstrap (slurp): Update.
24125         * lib/.cppi-disable: Update.
24126
24127 2007-09-30  Bruno Haible  <bruno@clisp.org>
24128
24129         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
24130         Needed on BeOS.
24131
24132 2007-09-30  Bruno Haible  <bruno@clisp.org>
24133
24134         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
24135
24136 2007-09-29  Bruno Haible  <bruno@clisp.org>
24137
24138         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
24139
24140 2007-09-29  Bruno Haible  <bruno@clisp.org>
24141
24142         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
24143         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
24144         * build-aux/install-reloc: Compile also areadlink.c.
24145         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
24146
24147 2007-09-29  Bruno Haible  <bruno@clisp.org>
24148
24149         * gnulib-tool (func_emit_initmacro_done): Indentation.
24150
24151 2007-09-29  Bruno Haible  <bruno@clisp.org>
24152
24153         * README: Add CVS checkout update instructions.
24154         Info from Bob Proulx <bob@proulx.com>.
24155
24156 2007-09-28  Eric Blake  <ebb9@byu.net>
24157
24158         Provide move-if-change.
24159         * build-aux/move-if-change: New file, based on best practice
24160         rather than any canonical upstream location.
24161
24162 2007-09-28  Jim Meyering  <jim@meyering.net>
24163
24164         Fix canonicalize loop-detection corner case.
24165         Do not attempt to stat the symlink values stored via seen_triple.
24166         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
24167         on linux-2.6.18, (but not 2.6.22).
24168         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
24169         triple_compare.  The former compares dev,ino,filename, while the latter
24170         would actually stat dirname(filename) when dev and ino were equal.
24171         * lib/hash-triple.c: Install <string.h>.
24172         (STREQ): Define.
24173         (triple_compare_ino_str): New function.
24174         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
24175
24176 2007-09-28  Eric Blake  <ebb9@byu.net>
24177
24178         Enforce that AC_REPLACE_FUNCS files exist.
24179         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
24180         override check for typos.
24181
24182         Fix test-closein on Solaris 10.
24183         * tests/test-closein.c (main): Don't assume stdin can be inherited
24184         closed on all systems.
24185         * tests/test-closein.sh: Likewise.
24186         Reported by Piotr Tarnowski.
24187
24188 2007-09-28  Jim Meyering  <jim@meyering.net>
24189
24190         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
24191
24192 2007-09-27  Jim Meyering  <jim@meyering.net>
24193
24194         canonicalize: Avoid a false-positive cycle failure.
24195         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
24196         Sort.  Remove cycle-check.
24197         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
24198         not cycle-check.h.
24199         (seen_triple): New function.
24200         (canonicalize_filename_mode): Use it instead of cycle-check.
24201         * tests/test-canonicalize.c: Add a test for this bug.
24202         * tests/test-canonicalize.sh: Set up and run the test.
24203
24204         New module, file-set, from coreutils.
24205         * modules/file-set: Define it.
24206         * lib/file-set.c, lib/file-set.h: Implement.
24207
24208         New module, hash-triple, from coreutils.
24209         * modules/hash-triple: Define it.
24210         * lib/hash-triple.c, lib/hash-triple.h: Implement.
24211
24212 2007-09-25  Eric Blake  <ebb9@byu.net>
24213
24214         Fix strerror on Interix.
24215         * lib/string_.h (strerror): Declare replacement.
24216         * doc/functions/strerror.texi (strerror): Document the Interix
24217         shortcoming.
24218         * modules/string (Makefile.am): Support new hooks.
24219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
24220         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
24221         gl_FUNC_STRERROR_SEPARATE.
24222         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
24223         * lib/strerror.c (rpl_strerror): Provide replacement.
24224         * modules/strerror (Depends-on): Add string.
24225         (configure.ac): Detect use of module.
24226         * tests/test-strerror.c: New file.
24227         * modules/strerror-tests: New test module.
24228         * modules/argp (Depends-on): Add strerror.
24229         * modules/error (Depends-on): Likewise.
24230         Reported by Martin Koeppe.
24231
24232 2007-09-24  Bruno Haible  <bruno@clisp.org>
24233
24234         * README: Update git instructions.
24235
24236 2007-09-24  Eric Blake  <ebb9@byu.net>
24237
24238         Revert fpending breakage from 2007-09-08.
24239         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
24240         __fpending.c.
24241
24242 2007-09-24  Jim Meyering  <jim@meyering.net>
24243
24244         filenamecat.c: Add a test.
24245         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
24246         showing how the function works when DIR is the empty string.
24247
24248 2007-09-21  Simon Josefsson  <simon@josefsson.org>
24249
24250         * tests/test-canonicalize.sh: Turn on executable bit.
24251
24252 2007-09-19  Eric Blake  <ebb9@byu.net>
24253
24254         * README: Update CVS instructions.
24255
24256 2007-09-18  Bruno Haible  <bruno@clisp.org>
24257
24258         * modules/areadlink: New file.
24259         * lib/areadlink.h (areadlink): New declaration.
24260         * lib/areadlink.c: New file, based on lib/xreadlink.c.
24261
24262 2007-09-17  Jim Meyering  <jim@meyering.net>
24263
24264         * lib/savewd.c (ESTALE) [!defined]: Define.
24265         Reported to be required on Interix by Martin Koeppe.
24266
24267 2007-09-17  Bruno Haible  <bruno@clisp.org>
24268
24269         * gnulib-tool (func_version): Use $version.
24270
24271 2007-09-16  Bruno Haible  <bruno@clisp.org>
24272
24273         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
24274         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
24275         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
24276         Reported by Greg Schafer <gschafer@zip.com.au>.
24277
24278 2007-09-15  Bruno Haible  <bruno@clisp.org>
24279
24280         * gnulib-tool (sed): Try a little harder to make bash understand the
24281         alias.
24282         Reported by Bruce Korb <bruce.korb@gmail.com>.
24283
24284 2007-09-13  Eric Blake  <ebb9@byu.net>
24285
24286         * ChangeLog: Remove conflict markers.
24287
24288 2007-09-13  Simon Josefsson  <simon@josefsson.org>
24289
24290         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
24291         Reported by Bruno Haible <bruno@clisp.org>.
24292
24293 2007-09-12  Bruno Haible  <bruno@clisp.org>
24294
24295         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
24296         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
24297         is not defined.
24298
24299 2007-09-12  Eric Blake  <ebb9@byu.net>
24300
24301         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
24302         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
24303         Autoconf definition.
24304         * modules/euidaccess (Depends-on): Add extensions, for
24305         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
24306         * modules/fnmatch (Depends-on): Likewise.
24307         * modules/getaddrinfo (Depends-on): Likewise.
24308         * modules/getdelim (Depends-on): Likewise.
24309         * modules/getline (Depends-on): Likewise.
24310         * modules/getsubopt (Depends-on): Likewise.
24311         * modules/gettext (Depends-on): Likewise.
24312         * modules/group-member (Depends-on): Likewise.
24313         * modules/mbchar (Depends-on): Likewise.
24314         * modules/memmem (Depends-on): Likewise.
24315         * modules/mempcpy (Depends-on): Likewise.
24316         * modules/memrchr (Depends-on): Likewise.
24317         * modules/pagealign_alloc (Depends-on): Likewise.
24318         * modules/readutmp (Depends-on): Likewise.
24319         * modules/stpcpy (Depends-on): Likewise.
24320         * modules/stpncpy (Depends-on): Likewise.
24321         * modules/strchrnul (Depends-on): Likewise.
24322         * modules/strndup (Depends-on): Likewise.
24323         * modules/strsep (Depends-on): Likewise.
24324         * modules/strverscmp (Depends-on): Likewise.
24325         * modules/vasprintf (Depends-on): Likewise.
24326         * modules/wcwidth (Depends-on): Likewise.
24327         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
24328         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
24329         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
24330         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
24331         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24332         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24333         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
24334         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
24335         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
24336         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24337         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24338         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
24339         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
24340         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24341         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
24342         * m4/readutmp.m4 (gl_READUTMP): Likewise.
24343         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24344         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
24345         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24346         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
24347         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
24348         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
24349         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
24350         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
24351         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
24352         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24353         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
24354         so that lock.m4 can be used in gettext without extensions module.
24355
24356 2007-09-11  Bruno Haible  <bruno@clisp.org>
24357
24358         * m4/isc-posix.m4: Remove file.
24359         Suggested by Eric Blake.
24360
24361 2007-09-11  Eric Blake  <ebb9@byu.net>
24362
24363         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
24364
24365 2007-09-10  Bruno Haible  <bruno@clisp.org>
24366
24367         * posix-modules: Fix typo in error message.
24368         Reported by Matt <mkraai@beckman.com>.
24369
24370 2007-09-09  Bruno Haible  <bruno@clisp.org>
24371
24372         * doc/functions/getdelim.texi: Update list of platforms lacking the
24373         function.
24374         * doc/functions/getline.texi: Likewise.
24375
24376 2007-09-09  Jim Meyering  <jim@meyering.net>
24377
24378         * lib/hash.c (hash_initialize): Detect calloc failure.
24379         Reported by Bruno Haible.
24380
24381 2007-09-09  Bruno Haible  <bruno@clisp.org>
24382
24383         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
24384         malloc or realloc fails.
24385
24386 2007-09-09  Bruno Haible  <bruno@clisp.org>
24387
24388         * modules/getcwd (Depends-on): Add malloc-posix.
24389         * modules/glob (Depends-on): Likewise.
24390         * modules/putenv (Depends-on): Likewise.
24391         * modules/strdup (Depends-on): Likewise.
24392         * modules/getdelim (Depends-on): Add realloc-posix.
24393         * modules/read-file (Depends-on): Likewise.
24394
24395 2007-09-09  Bruno Haible  <bruno@clisp.org>
24396
24397         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
24398         (gl_FUNC_MALLOC_POSIX): Require it.
24399         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
24400         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
24401         * modules/realloc (Files): Add m4/malloc.m4.
24402         * modules/calloc (Files): Likewise.
24403
24404 2007-09-09  Bruno Haible  <bruno@clisp.org>
24405
24406         * modules/malloc-posix: New file.
24407         * modules/malloc (Depends-on): Add malloc-posix.
24408         * lib/malloc.c: Include errno.h.
24409         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
24410         and a POSIX-compatible malloc into a single function. Set ENOMEM
24411         when returning NULL.
24412         * m4/malloc.m4: New file.
24413         * doc/functions/malloc.texi: Mention the malloc-posix module.
24414         * lib/stdlib_.h (malloc): New declaration.
24415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24416         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
24417         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
24418         and HAVE_MALLOC_POSIX.
24419
24420 2007-09-09  Bruno Haible  <bruno@clisp.org>
24421
24422         * modules/realloc-posix: New file.
24423         * modules/realloc (Depends-on): Add realloc-posix.
24424         * lib/realloc.c: Include errno.h.
24425         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
24426         and a POSIX-compatible realloc into a single function. Set ENOMEM
24427         when returning NULL.
24428         * m4/realloc.m4: New file.
24429         * doc/functions/realloc.texi: Mention the realloc-posix module.
24430         * lib/stdlib_.h (realloc): New declaration.
24431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24432         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
24433         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
24434         and HAVE_REALLOC_POSIX.
24435
24436 2007-09-09  Bruno Haible  <bruno@clisp.org>
24437
24438         * modules/calloc-posix: New file.
24439         * modules/calloc (Depends-on): Add calloc-posix.
24440         * lib/calloc.c: Include errno.h.
24441         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
24442         and a POSIX-compatible calloc into a single function. Set ENOMEM
24443         when returning NULL.
24444         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
24445         * doc/functions/calloc.texi: Mention the calloc-posix module.
24446         * lib/stdlib_.h (calloc): New declaration.
24447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24448         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
24449         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
24450         and HAVE_CALLOC_POSIX.
24451
24452 2007-09-09  Bruno Haible  <bruno@clisp.org>
24453
24454         Allow for modules to show an arbitrary notice.
24455         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
24456         * gnulib-tool: New option --extract-notice.
24457         (func_usage): Document it.
24458         (sed_extract_prog): Update.
24459         (func_get_notice): New function.
24460         (func_modules_notice): New function.
24461         (func_import, func_create_testdir): Invoke it.
24462         Suggested by Jim Meyering.
24463
24464 2007-09-09  Bruno Haible  <bruno@clisp.org>
24465
24466         * gnulib-tool: New options --verbose, --quiet.
24467         (func_usage): Document them.
24468         (verbose): New variable.
24469         (func_execute_command): New function.
24470         (func_import): Don't show the module list and the file list if
24471         $verbose < 0.
24472         (func_create_testdir): Likewise. Use func_execute_command.
24473         (func_create_megatestdir): Use func_execute_command.
24474
24475 2007-09-08  Bruno Haible  <bruno@clisp.org>
24476
24477         * gnulib-tool (func_import): Prefer rsync over wget when available,
24478         for fetching the PO files.
24479
24480 2007-09-08  Bruno Haible  <bruno@clisp.org>
24481
24482         * posix-modules: New file. Portions copied from gnulib-tool.
24483         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
24484
24485 2007-09-08  Jim Meyering  <jim@meyering.net>
24486
24487         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
24488         * lib/fpending.h: Rename from __fpending.h.
24489         * lib/fpending.c: Rename from __fpending.c.
24490         Include "fpending.h", not "__fpending.h".
24491         * lib/__fpending.h, lib/__fpending.c: Remove files.
24492         * modules/fpending (Files): Reflect new file names.
24493         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
24494
24495 2007-09-08  Bruno Haible  <bruno@clisp.org>
24496
24497         * m4/inttypes-h.m4: Remove stub file.
24498
24499 2007-09-07  Simon Josefsson  <simon@josefsson.org>
24500
24501         * doc/headers/stdint.texi: Discuss #include_next issue.
24502
24503 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
24504
24505         * build-aux/bootstrap: Remove obsolete comment about wget --help.
24506
24507 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24508
24509         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
24510         in variable name.
24511
24512 2007-09-03  Jim Meyering  <jim@meyering.net>
24513
24514         New module: git-version-gen.
24515         * modules/git-version-gen: New file.
24516
24517         Import changes from coreutils for bootstrap script.
24518
24519         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
24520
24521         bootstrap: uses rsync to download the .po files
24522         * build-aux/bootstrap (po_download_command_format): New global.
24523         (download_po_files): Use rsync.
24524         (update_po_files): Don't remove .po files after download,
24525         so future rsync runs can take advantage of the copies.
24526
24527         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
24528
24529         Solve the unnecessary-.po-file-regeneration problem once and for all.
24530         * build-aux/bootstrap (download_po_files): New function, renamed from
24531         get_translations.  Now, downloads, but doesn't update LINGUAS.
24532         (update_po_files): New function.
24533
24534         bootstrap: Ignore more.
24535         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
24536         uniwidth to e.g., lib/.gitignore.
24537         (slurp): Handle the sys_stat_.h -> sys mapping, too.
24538
24539         * build-aux/bootstrap: New setting: vc_ignore.
24540         (insert_sorted_if_absent): Create $file if absent.
24541         Adapt to new, possibly empty, list: $vc_ignore.
24542
24543         bootstrap: generate more ignorable names
24544         * build-aux/bootstrap (slurp): When generating ignorable names,
24545         also map .sin to .sed, .gperf to .c, and .y to .c.
24546
24547 2007-09-03  Jim Meyering  <jim@meyering.net>
24548
24549         * build-aux/git-version-gen: New file, from coreutils.  For details, see
24550         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
24551
24552 2007-09-02  Bruno Haible  <bruno@clisp.org>
24553
24554         Fix mis-recognition of 'mcs' on QNX 6.
24555         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
24556         output contains the string "Mono".
24557         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
24558         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
24559
24560 2007-09-01  Bruno Haible  <bruno@clisp.org>
24561
24562         Fix collision between uniwidth/* and linebreak modules.
24563         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
24564         u32_width): Remove declarations.
24565         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
24566         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
24567         streq3, streq2, streq1, streq0): Remove functions.
24568         (STREQ): Remove macro.
24569         (is_cjk_encoding): Remove function.
24570         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
24571         (uc_width, u8_width, u16_width, u32_width): Remove functions.
24572         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
24573         * NEWS: Document the change.
24574
24575 2007-09-01  Bruno Haible  <bruno@clisp.org>
24576
24577         * lib/streq.h: Add double-inclusion guard.
24578
24579 2007-09-01  Karl Berry  <karl@gnu.org>
24580
24581         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
24582
24583 2007-08-28  Jim Meyering  <jim@meyering.net>
24584
24585         Rename mreadlink_with_size to areadlink_with_size.
24586         * NEWS: Document the change.
24587         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
24588         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
24589         * lib/mreadlink.h: Rename this to...
24590         * lib/areadlink.h: ...this.
24591         * modules/mreadlink-with-size: Rename this to...
24592         * modules/areadlink-with-size: ...this.
24593         * lib/canonicalize.c: Reflect the renaming.
24594         * modules/canonicalize: Likewise.
24595
24596 2007-08-26  Bruno Haible  <bruno@clisp.org>
24597
24598         * gnulib-tool (func_import): When deciding which files to remove,
24599         consider also dangling symbolic links.
24600         Reported by Eric Blake.
24601
24602 2007-08-26  Bruno Haible  <bruno@clisp.org>
24603
24604         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
24605
24606 2007-08-23  Simon Josefsson  <simon@josefsson.org>
24607
24608         * lib/readline.c: Don't include getline.h, the prototype is now
24609         found in stdio.h.
24610
24611 2007-08-23  Jim Meyering  <jim@meyering.net>
24612
24613         Getdelim touchup.
24614         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
24615         around the funlockfile call, since funlockfile never sets errno.
24616         Don't set errno upon failed realloc.
24617
24618 2007-08-22  Eric Blake  <ebb9@byu.net>
24619
24620         Getline touchups.
24621         * lib/getdelim.c (getdelim): Revert regression that required *n to
24622         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
24623         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
24624         getdelim, rather than whether implementation is missing.
24625         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
24626         * lib/stdio_.h (getline): Also declare if replacement is
24627         required.
24628         * doc/functions/getdelim.texi: New file.
24629         * doc/functions/getline.texi: Likewise.
24630         * doc/gnulib.texi (Function Substitutes): Add new files.
24631         Reported by Bruno Haible.
24632
24633 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
24634
24635         * users.txt: Add Guile.
24636
24637 2007-08-22  Eric Blake  <ebb9@byu.net>
24638
24639         * tests/test-getdelim.c (main): Use remove, not unlink.
24640         * tests/test-getline.c (main): Likewise.
24641
24642         Move getline and getdelim into stdio.h, per POSIX 200x.
24643         * modules/getline (Files): Remove getline.h.
24644         (Depends-on): Add stdio.
24645         (configure.ac): Add module indicator.
24646         * modules/getdelim (Files): Remove getdelim.h.
24647         (Depends-on): Add stdio.
24648         (configure.ac): Add module indicator.
24649         * modules/stdio (Makefile.am): Work with new indicators.
24650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24651         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
24652         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24653         * lib/getdelim.h: Delete.
24654         * lib/getline.h: Delete.
24655         * lib/stdio_.h (getdelim, getline): Declare.
24656         * modules/getdelim-tests: New module.
24657         * modules/getline-tests: Likewise.
24658         * tests/test-getdelim.c: New file.
24659         * tests/test-getline.c: Likewise.
24660         * NEWS: Document the change.
24661         * lib/getline.c: Update choice of header.
24662         * lib/csharpcomp.c: Likewise.
24663         * lib/getpass.c: Likewise.
24664         * lib/javacomp.c: Likewise.
24665         * lib/javaversion.c: Likewise.
24666         * lib/yesno.c: Likewise.
24667         * lib/getdelim.c: Likewise.
24668         (getdelim): Set errno on failure, and avoid memory leak.
24669
24670 2007-08-19  Bruno Haible  <bruno@clisp.org>
24671
24672         * modules/closein (Depends-on): Add freadahead.
24673         * lib/closein.c: Include freadahead.h.
24674         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
24675         is zero.
24676
24677 2007-08-19  Bruno Haible  <bruno@clisp.org>
24678
24679         * modules/freadahead-tests: New file.
24680         * tests/test-freadahead.sh: New file.
24681         * tests/test-freadahead.c: New file.
24682
24683         * modules/freadahead: New file.
24684         * lib/freadahead.h: New file.
24685         * lib/freadahead.c: New file.
24686         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
24687         fbufmode, fpurge, freadable, fwritable.
24688
24689 2007-08-19  Eric Blake  <ebb9@byu.net>
24690
24691         Test yesno in combination with closein.
24692         * lib/yesno.c (yesno): Document use of stdin.
24693         * modules/yesno-tests (Files): New module.
24694         * tests/test-yesno.c (main): New file.
24695         * tests/test-yesno.sh: Likewise.
24696
24697 2007-08-19  Bruno Haible  <bruno@clisp.org>
24698
24699         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
24700         * lib/fseeko.c (rpl_fseeko): Likewise.
24701         * lib/fseterr.c (fseterr): Likewise.
24702
24703 2007-08-19  Bruno Haible  <bruno@clisp.org>
24704
24705         * tests/test-lseek.c (main): Disable a test for BeOS.
24706         * doc/functions/lseek.texi: Document the BeOS bug.
24707
24708 2007-08-19  Bruno Haible  <bruno@clisp.org>
24709             Eric Blake  <ebb9@byu.net>
24710
24711         * lib/lseek.c: Include <sys/stat.h>.
24712         (rpl_lseek): Add workaround code also for Unix platforms.
24713         Needed for BeOS.
24714         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
24715         * doc/functions/lseek.texi: Document BeOS definiency.
24716
24717 2007-08-18  Bruno Haible  <bruno@clisp.org>
24718
24719         * modules/fstrcmp-tests: New file.
24720         * tests/test-fstrcmp.c: New file.
24721
24722 2007-08-18  Bruno Haible  <bruno@clisp.org>
24723
24724         * modules/fstrcmp: New file, from GNU gettext with modifications.
24725         * lib/fstrcmp.h: New file, from GNU gettext.
24726         * lib/fstrcmp.c: New file, from GNU gettext.
24727         * MODULES.html.sh (String handling): Add fstrcmp.
24728
24729 2007-08-18  Bruno Haible  <bruno@clisp.org>
24730
24731         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
24732         'bool'.
24733         (diag, compareseq): Remove const from the ctxt argument.
24734         (USE_HEURISTIC): Undefine at the end.
24735
24736 2007-08-18  Jim Meyering  <jim@meyering.net>
24737
24738         New file: lib/idcache.h
24739         * NEWS: Mention the addition.
24740         * modules/idcache (Files): Add lib/idcache.h
24741         * lib/idcache.c: Include "idcache.h".
24742         Don't include <sys/types.h>.
24743         Add a FIXME comment.
24744         Move file-scoped "static" declarations to the top.
24745         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
24746
24747 2007-08-17  Bruno Haible  <bruno@clisp.org>
24748         and Paul Eggert  <eggert@cs.ucla.edu>
24749
24750         * MODULES.html.sh: Add diffseq.
24751         * modules/diffseq: New file.
24752         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
24753         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
24754
24755 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
24756
24757         Import changes from coreutils for bootstrap script.
24758
24759         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
24760
24761         * build-aux/bootstrap (slurp): Work even in environments where
24762         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
24763         current code does not slurp files whose names start with ".", and
24764         this looks like it might be a troublesome area.
24765
24766         2007-07-11  Jim Meyering  <jim@meyering.net>
24767
24768         If there's a GPL vN copyright comment, require that N == 3.
24769
24770         2007-07-08  Jim Meyering  <jim@meyering.net>
24771
24772         Run the coreutils-specific code only if tests/Makefile.am.in exists.
24773         * build-aux/bootstrap (mam_template): Move definition out of loop.
24774
24775         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
24776
24777         * build-aux/bootstrap (symlink_to_dir): Rename function from
24778         symlink_to_gnulib.  Add a directory parameter.  Update all
24779         callers.
24780         (cp_mark_as_generated): Also check for -- and link to -- files in
24781         gl/.
24782
24783         2007-07-08  Jim Meyering  <jim@meyering.net>
24784
24785         Adapt to deeper hierarchy in gnulib.
24786         * build-aux/bootstrap (symlink_to_dir): If the destination
24787         directory doesn't exist, create it. This is required at least for
24788         "lib/uniwidth/cjk.h".
24789
24790         2007-05-15  Jim Meyering  <jim@meyering.net>
24791
24792         * build-aux/bootstrap: Now that generated Makefile.am files
24793         are no longer under version control, they must be created at
24794         bootstrap time.
24795
24796 2007-08-14  Ben Pfaff  <blp@gnu.org>
24797
24798         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
24799
24800 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
24801
24802         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
24803         given the changes below.
24804         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
24805         even on hosts that have padding bits beyond the supported 64.
24806
24807 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24808
24809         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
24810         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
24811         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
24812         depends on it.
24813         (xstrtol_error): Remove.
24814         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
24815         but with a different signature.
24816         (ATTRIBUTE_NORETURN, __attribute__): New macros.
24817         * lib/xstrtol-error.c: Include exitfail.h.
24818         (xstrtol_fatal): New function, with a different signature from the
24819         old xstrtol_error, so that the caller need not worry about passing
24820         in an exit status, or about storage management of the option argument.
24821         (xstrtol_error): Now a static function.  Redo signature to
24822         implement xstrtol_fatal.  Output the correct number of hyphens in
24823         front of the option so that the caller need not worry about
24824         storage management.
24825         (N_): New macro.
24826         (_): Remove; not used now.
24827         * modules/xstrtol: Depend on getopt.
24828         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
24829         of old STRTOL_FATAL_ERROR macro.
24830         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
24831         of test program.
24832         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
24833         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
24834
24835 2007-08-08  Eric Blake  <ebb9@byu.net>
24836
24837         * lib/xstrtol-error.c: Add missing include.
24838
24839         Move xstrtol messages into gnulib domain, when --pobase is used.
24840         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
24841         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
24842         * modules/xstrtol (Files): Distribute new file.
24843         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
24844         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
24845         * tests/test-xstrtol.c: ...into new file.
24846         * tests/test-xstrtoul.c: Also test xstrtoul.
24847         * tests/test-xstrtoimax.c: Also test xstrtoimax.
24848         * tests/test-xstrtoumax.c: Also test xstrtoumax.
24849         * tests/test-xstrtol.sh: Drive the tests.
24850         * tests/test-xstrtoimax.sh: Likewise.
24851         * tests/test-xstrtoumax.sh: Likewise.
24852         * modules/xstrtol-tests: New module.
24853         * modules/xstrtoimax-tests: Likewise.
24854         * modules/xstrtoumax-tests: Likewise.
24855
24856 2007-08-08  Jim Meyering  <jim@meyering.net>
24857
24858         New function: mfile_name_concat.
24859         * lib/filenamecat.c (mfile_name_concat): New function, just like
24860         file_name_concat, but return NULL upon failure rather than exiting
24861         with a diagnostic.
24862         * lib/filenamecat.h: Declare it.
24863
24864 2007-08-07  Bruno Haible  <bruno@clisp.org>
24865
24866         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
24867         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
24868         warning from gcc.
24869         Reported by Eric Blake.
24870
24871 2007-08-07  Simon Josefsson  <simon@josefsson.org>
24872
24873         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
24874         * modules/crypto/arcfour (License): Likewise.
24875         * modules/crypto/des-tests (License): Likewise.
24876         * modules/crypto/gc-arctwo-tests (License): Likewise.
24877         * modules/crypto/gc-des-tests (License): Likewise.
24878         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
24879         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
24880         * modules/crypto/gc-md2-tests (License): Likewise.
24881         * modules/crypto/gc-md4-tests (License): Likewise.
24882         * modules/crypto/gc-md5-tests (License): Likewise.
24883         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
24884         * modules/crypto/gc-rijndael-tests (License): Likewise.
24885         * modules/crypto/gc-sha1-tests (License): Likewise.
24886         * modules/crypto/gc-tests (License): Likewise.
24887         * modules/crypto/hmac-md5 (License): Likewise.
24888         * modules/crypto/hmac-sha1 (License): Likewise.
24889         * modules/crypto/md2-tests (License): Likewise.
24890         * modules/crypto/md4-tests (License): Likewise.
24891         * modules/crypto/md5 (License): Likewise.
24892         * modules/crypto/rijndael (License): Likewise.
24893         * modules/crypto/sha1 (License): Likewise.
24894         * modules/memxor (License): Likewise.
24895
24896 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24897         and Bruno Haible  <bruno@clisp.org>
24898
24899         * NEWS: Describe interface changes to human, xstrtol.
24900         * lib/human.h: Include <xstrtol.h>.
24901         (human_options): Return enum strtol_error, not int.  Remove
24902         bool arg; take int * instead.
24903         * lib/human.c: Don't include "gettext.h".
24904         (_): Remove; no longer used.
24905         Don't include <xstrtol.h>, since human.h does it.
24906         (human_options): Adjust to abovementioned interface changes.
24907         Do not report error to stderr; that's now the caller's
24908         responsibility.
24909         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
24910         interface change.
24911         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
24912         Str, Argument_type_string.  All uses changed.  Put " argument"
24913         in diagnostics to make them clearer.  Change wording of suffix
24914         message for clarity.
24915         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
24916         Argument_type_string.
24917         (STRTOL_FATAL_WARN): Remove; no longer used.
24918         * modules/human (Depends-on): Remove gettext-h.
24919
24920 2007-08-06  Simon Josefsson  <simon@josefsson.org>
24921
24922         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
24923
24924 2007-07-31  Bruno Haible  <bruno@clisp.org>
24925
24926         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
24927         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
24928         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
24929
24930 2007-07-31  Bruno Haible  <bruno@clisp.org>
24931
24932         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
24933         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
24934
24935 2007-07-30  Bruno Haible  <bruno@clisp.org>
24936
24937         * modules/base64 (License): Use the synonymous term "LGPLv2+".
24938         * modules/c-ctype (License): Likewise.
24939         * modules/c-strcase (License): Likewise.
24940         * modules/check-version (License): Likewise.
24941         * modules/iconv (License): Likewise.
24942         * modules/iconv_open (License): Likewise.
24943         * modules/read-file (License): Likewise.
24944         * modules/striconv (License): Likewise.
24945         * modules/strverscmp (License): Likewise.
24946         * modules/vasprintf (License): Likewise.
24947         * modules/crypto/des (License): Likewise.
24948         * modules/crypto/gc (License): Likewise.
24949         * modules/crypto/gc-arcfour (License): Likewise.
24950         * modules/crypto/gc-arctwo (License): Likewise.
24951         * modules/crypto/gc-des (License): Likewise.
24952         * modules/crypto/gc-hmac-md5 (License): Likewise.
24953         * modules/crypto/gc-hmac-sha1 (License): Likewise.
24954         * modules/crypto/gc-md2 (License): Likewise.
24955         * modules/crypto/gc-md4 (License): Likewise.
24956         * modules/crypto/gc-md5 (License): Likewise.
24957         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
24958         * modules/crypto/gc-random (License): Likewise.
24959         * modules/crypto/gc-rijndael (License): Likewise.
24960         * modules/crypto/gc-sha1 (License): Likewise.
24961         * modules/crypto/md2 (License): Likewise.
24962         * modules/crypto/md4 (License): Likewise.
24963
24964 2007-07-30  Jim Meyering  <jim@meyering.net>
24965
24966         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
24967         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
24968         it has valid stat data.  This bug would cause du not to count the
24969         sizes of inaccessible directories.
24970         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
24971         in <http://bugzilla.redhat.com/250077>.
24972
24973 2007-07-25  Peter O'Gorman  <peter@pogma.com>
24974             Bruno Haible  <bruno@clisp.org>
24975
24976         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
24977         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
24978         #include_next, gives a diagnostic about it, but reports no error in
24979         the exit code.
24980         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
24981
24982 2007-07-24  Ben Pfaff  <blp@gnu.org>
24983
24984         Improve name: "count-one-bits" is better than "popcount".
24985         * MODULES.html.sh: Update name.
24986         * lib/popcount.h: Renamed lib/count-one-bits.h.
24987         (popcount): Renamed count_one_bits.
24988         (popcountl): Renamed count_one_bits_l.
24989         (popcountll): Renamed count_one_bits_ll.
24990         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
24991         * modules/popcount: Renamed module/count-one-bits.
24992         * modules/popcount-tests: Renamed module/count-one-bits-tests.
24993         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
24994
24995 2007-07-23  Ben Pfaff  <blp@gnu.org>
24996
24997         * lib/popcount.h (popcount32): Reduce size of constants, to allow
24998         better code generation, and add U to large constants to avoid
24999         warnings, in non-GCC case.
25000         Suggested by Bruno Haible.
25001
25002 2007-07-23  Ben Pfaff  <blp@gnu.org>
25003
25004         * lib/popcount.h: Use verify_true instead of if...abort.
25005         * modules/popcount: Depend on verify module.
25006         Suggested by Jim Meyering.
25007
25008 2007-07-23  Bruno Haible  <bruno@clisp.org>
25009
25010         * gnulib-tool (func_import): Create a .cvsignore file also when the
25011         directory is not yet in CVS but the toplevel directory is. When
25012         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
25013         Reported by Karl Berry.
25014
25015 2007-07-22  Ben Pfaff  <blp@gnu.org>
25016
25017         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
25018         case.
25019         Suggested by Eric Blake.
25020
25021 2007-07-22  Ben Pfaff  <blp@gnu.org>
25022
25023         New module: popcount.
25024         * MODULES.html.sh: Add popcount.
25025         * modules/popcount: New file.
25026         * modules/popcount-tests: New file.
25027         * tests/test-popcount.c: New file.
25028         * lib/popcount.h: New file.
25029         * m4/popcount.m4: New file.
25030
25031 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25032
25033         * build-aux/announce-gen: Update to GPLv3.
25034
25035         * build-aux/config.guess: Update from config.
25036
25037 2007-07-21  Bruno Haible  <bruno@clisp.org>
25038
25039         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
25040         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
25041
25042 2007-07-20  Jim Meyering  <jim@meyering.net>
25043
25044         * check-module: Diagnose a self-dependency.
25045
25046 2007-07-19  Bruno Haible  <bruno@clisp.org>
25047
25048         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
25049         empty.
25050         Reported by Eric Blake.
25051
25052 2007-07-18  Bruno Haible  <bruno@clisp.org>
25053
25054         * gnulib-tool: New options --po-base, --po-domain.
25055         (func_usage): Document them.
25056         (pobase, po_domain): New variables.
25057         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
25058         DEFAULT_TEXT_DOMAIN.
25059         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
25060         (func_import): Consider pobase and po_domain. Create a po/ directory.
25061         (func_create_testdir): Set pobase and po_domain to empty.
25062         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
25063         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
25064
25065 2007-07-18  Bruno Haible  <bruno@clisp.org>
25066
25067         * gnulib-tool (func_get_automake_snippet): Synthesize also an
25068         EXTRA_DIST augmentation for files in build-aux/.
25069
25070 2007-07-16  Bruno Haible  <bruno@clisp.org>
25071
25072         * modules/lseek (License): Use the synonymous term "LGPLv2+".
25073         * modules/getdelim (License): Likewise.
25074
25075 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25076
25077         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
25078         * modules/d-type (License): Likewise.
25079         * modules/extensions (License): Likewise.
25080         * modules/fnmatch (License): Likewise.
25081         * modules/fseeko (License): Likewise.
25082         * modules/getaddrinfo (License): Likewise.
25083         * modules/getline (License): Likewise.
25084         * modules/getlogin_r (License): Likewise.
25085         * modules/getpass (License): Likewise.
25086         * modules/gettimeofday (License): Likewise.
25087         * modules/glob (License): Likewise.
25088         * modules/inet_ntop (License): Likewise.
25089         * modules/malloc (License): Likewise.
25090         * modules/malloca (License): Likewise.
25091         * modules/memmem (License): Likewise.
25092         * modules/mempcpy (License): Likewise.
25093         * modules/memset (License): Likewise.
25094         * modules/minmax (License): Likewise.
25095         * modules/mktime (License): Likewise.
25096         * modules/netinet_in (License): Likewise.
25097         * modules/pathmax (License): Likewise.
25098         * modules/poll (License): Likewise.
25099         * modules/regex (License): Likewise.
25100         * modules/snprintf (License): Likewise.
25101         * modules/stdbool (License): Likewise.
25102         * modules/stdint (License): Likewise.
25103         * modules/stdio (License): Likewise.
25104         * modules/strcase (License): Likewise.
25105         * modules/strcasestr (License): Likewise.
25106         * modules/strdup (License): Likewise.
25107         * modules/string (License): Likewise.
25108         * modules/strndup (License): Likewise.
25109         * modules/strnlen (License): Likewise.
25110         * modules/strpbrk (License): Likewise.
25111         * modules/strptime (License): Likewise.
25112         * modules/strsep (License): Likewise.
25113         * modules/sys_select (License): Likewise.
25114         * modules/sys_socket (License): Likewise.
25115         * modules/sys_stat (License): Likewise.
25116         * modules/sys_time (License): Likewise.
25117         * modules/time (License): Likewise.
25118         * modules/time_r (License): Likewise.
25119         * modules/timegm (License): Likewise.
25120         * modules/unistd (License): Likewise.
25121         * modules/vsnprintf (License): Likewise.
25122         * modules/wctype (License): Likewise.
25123
25124 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25125
25126         * modules/argz (License): LGPLv2+.
25127
25128 2007-07-15  Karl Berry  <karl@gnu.org>
25129
25130         * doc/gnulib.texi: revise node structure per new fdl.texi.
25131
25132 2007-07-14  Bruno Haible  <bruno@clisp.org>
25133
25134         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
25135         the output file.
25136         * lib/uniname/uninames.h: Regenerated.
25137
25138 2007-07-14  Karl Berry  <karl@gnu.org>
25139
25140         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
25141         omitting sectioning and index commands.
25142
25143 2007-07-13  Bruno Haible  <bruno@clisp.org>
25144
25145         New gnulib-tool option --more-symlinks.
25146         * gnulib-tool (func_usage): Document --more-symlinks.
25147         (do_copyrights): New variable.
25148         Recognize option --more-symlinks.
25149         (func_import): Don't add a copyright notice transform to
25150         sed_transform_lib_file if do_copyrights is empty.
25151
25152 2007-07-13  Bruno Haible  <bruno@clisp.org>
25153
25154         * lib/vasnprintf.c (decimal_point_char): Define also if
25155         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
25156         && !NEED_PRINTF_DIRECTIVE_A.
25157         Reported by Clemens Koller <clemens.koller@anagramm.de> via
25158         Gary V. Vaughan <gary@gnu.org>.
25159
25160 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
25161
25162         * lib/inttypes_.h: Undo previous change, since it was fixed
25163         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
25164
25165 2007-07-13  Bruno Haible  <bruno@clisp.org>
25166
25167         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
25168         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
25169
25170 2007-07-13  Jim Meyering  <jim@meyering.net>
25171
25172         df: Don't fail for Tru64's "file-on-file mount".
25173         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
25174         so we fall through and use statfs instead.  Details here:
25175         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
25176         Reported by Albert Chin.
25177
25178 2007-07-13  Bruno Haible  <bruno@clisp.org>
25179
25180         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
25181         * modules/configmake (License): Likewise.
25182         * modules/gettext (License): Likewise.
25183         * modules/gettext-h (License): Likewise.
25184         * modules/include_next (License): Likewise.
25185         * modules/link-warning (License): Likewise.
25186         * modules/localcharset (License): Likewise.
25187         * modules/localename (License): Likewise.
25188         * modules/lock (License): Likewise.
25189         * modules/relocatable-lib-lgpl (License): Likewise.
25190         * modules/size_max (License): Likewise.
25191         * modules/vasnprintf (License): Likewise.
25192         * modules/wchar (License): Likewise.
25193         * modules/xsize (License): Likewise.
25194
25195 2007-07-13  Bruno Haible  <bruno@clisp.org>
25196
25197         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
25198         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
25199
25200 2007-07-12  Bruno Haible  <bruno@clisp.org>
25201
25202         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
25203         in the modules files.
25204
25205 2007-07-11  Karl Berry  <karl@gnu.org>
25206
25207         * MODULES.html.sh (func_module): use
25208          sed -e '\|^'"${includefile}"'$|d'
25209          instead of /.../d, to avoid errors on $includefile's containing /.
25210
25211 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
25212
25213         * gnulib-tool (func_import): Avoid duplication of --avoid
25214         statements
25215         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
25216         names to `_' in variable names.
25217
25218 2007-07-10  Eric Blake  <ebb9@byu.net>
25219
25220         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
25221         * NEWS: Document this change.
25222
25223 2007-07-08  Bruno Haible  <bruno@clisp.org>
25224
25225         Update to Unicode 5.0.
25226         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
25227         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
25228         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
25229         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
25230         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
25231         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
25232         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
25233         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
25234         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
25235         U+10A3F, U+1D242..U+1D244.
25236         (nonspacing_table_ind): Update.
25237         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
25238         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
25239
25240 2007-07-08  Bruno Haible  <bruno@clisp.org>
25241
25242         Update to Unicode 5.0.
25243         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
25244         code transform. Extend the name index field of unicode_name_to_code and
25245         unicode_code_to_name from 16 to 24 bits.
25246         * lib/uniname/uniname.c (unicode_character_name,
25247         unicode_name_character): Add the range 0x12xxx to the code transform.
25248         * lib/uniname/uninames.h: Regenerated.
25249         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
25250
25251 2007-07-07  Bruno Haible  <bruno@clisp.org>
25252
25253         * modules/wcwidth-tests: New file.
25254         * tests/test-wcwidth.c: New file.
25255
25256         Work around MacOS X wcwidth() bug.
25257         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
25258         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
25259         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
25260         original wcwidth in non-UTF-8 locales.
25261         * modules/wcwidth (Depends-on): Add localcharset, streq,
25262         uniwidth/width.
25263         * doc/functions/wcwidth.texi: Update.
25264
25265 2007-07-07  Bruno Haible  <bruno@clisp.org>
25266
25267         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
25268         (wcwidth): New declaration.
25269         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
25270         macros.
25271         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
25272         here. Prepare for creating <wchar.h> unconditionally.
25273         * modules/wchar (Depends-on): Add link-warning.
25274         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
25275         REPLACE_WCWIDTH, and GL_LINK_WARNING.
25276         * lib/wcwidth.h: Remove file.
25277         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
25278         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
25279         * modules/wcwidth (Files): Remove lib/wcwidth.h.
25280         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
25281         (Include): Replace wcwidth.h with <wchar.h>.
25282         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
25283         * lib/mbchar.h: Don't include wcwidth.h.
25284         * lib/mbswidth.c: Likewise.
25285         * NEWS: Mention the change.
25286
25287 2007-07-07  Bruno Haible  <bruno@clisp.org>
25288
25289         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
25290         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
25291         definition with an external declaration.
25292         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
25293         defined as a function. Remove AC_C_INLINE requirement.
25294         * modules/wcwidth (Files): Add lib/wcwidth.c.
25295         (Makefile.am): Remove redundant statement.
25296
25297 2007-07-07  Bruno Haible  <bruno@clisp.org>
25298
25299         * MODULES.html.sh (Unicode string functions): Add the new modules.
25300
25301         * tests/uniwidth/test-u32-strwidth.c: New file.
25302         * modules/uniwidth/u32-strwidth-tests: New file.
25303
25304         * lib/uniwidth/u32-strwidth.c: New file.
25305         * modules/uniwidth/u32-strwidth: New file.
25306
25307         * tests/uniwidth/test-u16-strwidth.c: New file.
25308         * modules/uniwidth/u16-strwidth-tests: New file.
25309
25310         * lib/uniwidth/u16-strwidth.c: New file.
25311         * modules/uniwidth/u16-strwidth: New file.
25312
25313         * tests/uniwidth/test-u8-strwidth.c: New file.
25314         * modules/uniwidth/u8-strwidth-tests: New file.
25315
25316         * lib/uniwidth/u8-strwidth.c: New file.
25317         * modules/uniwidth/u8-strwidth: New file.
25318
25319         * tests/uniwidth/test-u32-width.c: New file.
25320         * modules/uniwidth/u32-width-tests: New file.
25321
25322         * lib/uniwidth/u32-width.c: New file.
25323         * modules/uniwidth/u32-width: New file.
25324
25325         * tests/uniwidth/test-u16-width.c: New file.
25326         * modules/uniwidth/u16-width-tests: New file.
25327
25328         * lib/uniwidth/u16-width.c: New file.
25329         * modules/uniwidth/u16-width: New file.
25330
25331         * tests/uniwidth/test-u8-width.c: New file.
25332         * modules/uniwidth/u8-width-tests: New file.
25333
25334         * lib/uniwidth/u8-width.c: New file.
25335         * modules/uniwidth/u8-width: New file.
25336
25337         * tests/uniwidth/test-uc_width.c: New file.
25338         * modules/uniwidth/width-tests: New file.
25339
25340         * lib/uniwidth/width.c: New file, from GNU libiconv.
25341         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
25342         * modules/uniwidth/width: New file.
25343
25344         * lib/uniwidth.h: New file, from GNU libiconv.
25345         * modules/uniwidth/base: New file.
25346
25347 2007-07-07  Bruno Haible  <bruno@clisp.org>
25348
25349         * lib/uniname.h: New file, from GNU gettext.
25350         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
25351         * lib/uniname/uninames.h: New file, from GNU gettext.
25352         * lib/uniname/uniname.c: New file, from GNU gettext.
25353         * tests/uniname/test-uninames.sh: New file.
25354         * tests/uniname/test-uninames.c: New file, from GNU gettext.
25355         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
25356         * modules/uniname/base: New file.
25357         * modules/uniname/uniname: New file.
25358         * modules/uniname/uniname-tests: New file.
25359         * MODULES.html.sh (Unicode string functions): Add the new modules.
25360
25361 2007-07-06  Bruno Haible  <bruno@clisp.org>
25362
25363         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
25364
25365 2007-07-06  Bruno Haible  <bruno@clisp.org>
25366
25367         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
25368         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
25369         includes <cygwin/sys_time.h> which includes <sys/select.h> which
25370         include <sys/time.h>.
25371         Reported by Eric Blake.
25372
25373 2007-07-06  Eric Blake  <ebb9@byu.net>
25374
25375         Fix testing canonicalize on cygwin.
25376         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
25377         Revert patch from 2007-06-19.
25378         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
25379         canonicalize module is also in use.
25380         * tests/test-canonicalize.c: New file.
25381         * tests/test-canonicalize.sh: Likewise.
25382         * modules/canonicalize-tests: Likewise.
25383
25384 2007-07-06  Jim Meyering  <jim@meyering.net>
25385
25386         * lib/getugroups.c (getugroups): Detect getgrent failure.
25387         Adjust comment to reflect reality: this function may return -1.
25388
25389 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
25390
25391         * build-aux/bootstrap (TP_URL,get_translations): Update to use
25392         the new TP address.
25393         (usage): Fix typo
25394         (gnulib_mk): New variable.
25395
25396 2007-07-05  Jim Meyering  <jim@meyering.net>
25397
25398         Don't let endgrent clobber errno, no matter how improbable.
25399         * lib/getugroups.c (getugroups): Save and restore errno around
25400         endgrent call.
25401
25402         Close the group DB even when failing with 2^31 or more members.
25403         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
25404
25405 2007-07-04  Jim Meyering  <jim@meyering.net>
25406
25407         * lib/getugroups.h: New file.
25408         * lib/getugroups.c: Include "getugroups.h".
25409         Remove uses of "register" keyword.
25410         Move local variable, "cp", down into scope where used.
25411         Give "username" parameter the "const" attribute.
25412         * modules/getugroups (Files): Add lib/getugroups.h
25413
25414 2007-07-04  Karl Berry  <karl@gnu.org>
25415
25416         * MODULES.html.sh (func_all_modules): Complete rename of
25417         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
25418
25419 2007-07-02  Bruno Haible  <bruno@clisp.org>
25420
25421         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
25422         mode, when inttypes.h comes from gnulib.
25423         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
25424
25425 2007-07-02  Simon Josefsson  <simon@josefsson.org>
25426
25427         * NEWS: Mention lgpl module name change.
25428
25429         * modules/lgpl-2.1: Renamed from lgpl.
25430
25431         * NEWS: Mention gpl module name change.
25432
25433         * modules/gpl-3.0: New file, based on gpl-2.0.
25434
25435         * modules/gpl-2.0: Renamed from gpl.
25436
25437         * modules/gpl: Fix filename, doc/gpl.texi is now found at
25438         doc/gpl-2.0.texi.
25439
25440 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
25441
25442         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
25443         #define __STDC_LIMIT_MACROS temporarily while including
25444         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
25445         Problem reported by Joel E. Denny in
25446         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
25447
25448 2007-07-01  Bruno Haible  <bruno@clisp.org>
25449
25450         * lib/unistdio.h: New file.
25451         * lib/unistdio/u-asnprintf.h: New file.
25452         * lib/unistdio/u-asprintf.h: New file.
25453         * lib/unistdio/u-printf-args.c: New file.
25454         * lib/unistdio/u-printf-args.h: New file.
25455         * lib/unistdio/u-printf-parse.h: New file.
25456         * lib/unistdio/u-snprintf.h: New file.
25457         * lib/unistdio/u-sprintf.h: New file.
25458         * lib/unistdio/u-vasprintf.h: New file.
25459         * lib/unistdio/u-vsnprintf.h: New file.
25460         * lib/unistdio/u-vsprintf.h: New file.
25461         * lib/unistdio/ulc-asnprintf.c: New file.
25462         * lib/unistdio/ulc-asprintf.c: New file.
25463         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
25464         * lib/unistdio/ulc-printf-parse.c: New file.
25465         * lib/unistdio/ulc-snprintf.c: New file.
25466         * lib/unistdio/ulc-sprintf.c: New file.
25467         * lib/unistdio/ulc-vasnprintf.c: New file.
25468         * lib/unistdio/ulc-vasprintf.c: New file.
25469         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
25470         * lib/unistdio/ulc-vsnprintf.c: New file.
25471         * lib/unistdio/ulc-vsprintf.c: New file.
25472         * lib/unistdio/u8-asnprintf.c: New file.
25473         * lib/unistdio/u8-asprintf.c: New file.
25474         * lib/unistdio/u8-printf-parse.c: New file.
25475         * lib/unistdio/u8-snprintf.c: New file.
25476         * lib/unistdio/u8-sprintf.c: New file.
25477         * lib/unistdio/u8-vasnprintf.c: New file.
25478         * lib/unistdio/u8-vasprintf.c: New file.
25479         * lib/unistdio/u8-vsnprintf.c: New file.
25480         * lib/unistdio/u8-vsprintf.c: New file.
25481         * lib/unistdio/u8-u8-asnprintf.c: New file.
25482         * lib/unistdio/u8-u8-asprintf.c: New file.
25483         * lib/unistdio/u8-u8-snprintf.c: New file.
25484         * lib/unistdio/u8-u8-sprintf.c: New file.
25485         * lib/unistdio/u8-u8-vasnprintf.c: New file.
25486         * lib/unistdio/u8-u8-vasprintf.c: New file.
25487         * lib/unistdio/u8-u8-vsnprintf.c: New file.
25488         * lib/unistdio/u8-u8-vsprintf.c: New file.
25489         * lib/unistdio/u16-asnprintf.c: New file.
25490         * lib/unistdio/u16-asprintf.c: New file.
25491         * lib/unistdio/u16-printf-parse.c: New file.
25492         * lib/unistdio/u16-snprintf.c: New file.
25493         * lib/unistdio/u16-sprintf.c: New file.
25494         * lib/unistdio/u16-vasnprintf.c: New file.
25495         * lib/unistdio/u16-vasprintf.c: New file.
25496         * lib/unistdio/u16-vsnprintf.c: New file.
25497         * lib/unistdio/u16-vsprintf.c: New file.
25498         * lib/unistdio/u16-u16-asnprintf.c: New file.
25499         * lib/unistdio/u16-u16-asprintf.c: New file.
25500         * lib/unistdio/u16-u16-snprintf.c: New file.
25501         * lib/unistdio/u16-u16-sprintf.c: New file.
25502         * lib/unistdio/u16-u16-vasnprintf.c: New file.
25503         * lib/unistdio/u16-u16-vasprintf.c: New file.
25504         * lib/unistdio/u16-u16-vsnprintf.c: New file.
25505         * lib/unistdio/u16-u16-vsprintf.c: New file.
25506         * lib/unistdio/u32-asnprintf.c: New file.
25507         * lib/unistdio/u32-asprintf.c: New file.
25508         * lib/unistdio/u32-printf-parse.c: New file.
25509         * lib/unistdio/u32-snprintf.c: New file.
25510         * lib/unistdio/u32-sprintf.c: New file.
25511         * lib/unistdio/u32-vasnprintf.c: New file.
25512         * lib/unistdio/u32-vasprintf.c: New file.
25513         * lib/unistdio/u32-vsnprintf.c: New file.
25514         * lib/unistdio/u32-vsprintf.c: New file.
25515         * lib/unistdio/u32-u32-asnprintf.c: New file.
25516         * lib/unistdio/u32-u32-asprintf.c: New file.
25517         * lib/unistdio/u32-u32-snprintf.c: New file.
25518         * lib/unistdio/u32-u32-sprintf.c: New file.
25519         * lib/unistdio/u32-u32-vasnprintf.c: New file.
25520         * lib/unistdio/u32-u32-vasprintf.c: New file.
25521         * lib/unistdio/u32-u32-vsnprintf.c: New file.
25522         * lib/unistdio/u32-u32-vsprintf.c: New file.
25523         * tests/unistdio/test-ulc-asnprintf1.c: New file.
25524         * tests/unistdio/test-ulc-asnprintf1.h: New file.
25525         * tests/unistdio/test-ulc-printf1.h: New file.
25526         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
25527         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
25528         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
25529         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
25530         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
25531         * tests/unistdio/test-ulc-vasprintf1.c: New file.
25532         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
25533         * tests/unistdio/test-ulc-vsprintf1.c: New file.
25534         * tests/unistdio/test-u8-asnprintf1.c: New file.
25535         * tests/unistdio/test-u8-asnprintf1.h: New file.
25536         * tests/unistdio/test-u8-printf1.h: New file.
25537         * tests/unistdio/test-u8-vasnprintf1.c: New file.
25538         * tests/unistdio/test-u8-vasnprintf2.c: New file.
25539         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
25540         * tests/unistdio/test-u8-vasnprintf3.c: New file.
25541         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
25542         * tests/unistdio/test-u8-vasprintf1.c: New file.
25543         * tests/unistdio/test-u8-vsnprintf1.c: New file.
25544         * tests/unistdio/test-u8-vsprintf1.c: New file.
25545         * tests/unistdio/test-u16-asnprintf1.c: New file.
25546         * tests/unistdio/test-u16-asnprintf1.h: New file.
25547         * tests/unistdio/test-u16-printf1.h: New file.
25548         * tests/unistdio/test-u16-vasnprintf1.c: New file.
25549         * tests/unistdio/test-u16-vasnprintf2.c: New file.
25550         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
25551         * tests/unistdio/test-u16-vasnprintf3.c: New file.
25552         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
25553         * tests/unistdio/test-u16-vasprintf1.c: New file.
25554         * tests/unistdio/test-u16-vsnprintf1.c: New file.
25555         * tests/unistdio/test-u16-vsprintf1.c: New file.
25556         * tests/unistdio/test-u32-asnprintf1.c: New file.
25557         * tests/unistdio/test-u32-asnprintf1.h: New file.
25558         * tests/unistdio/test-u32-printf1.h: New file.
25559         * tests/unistdio/test-u32-vasnprintf1.c: New file.
25560         * tests/unistdio/test-u32-vasnprintf2.c: New file.
25561         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
25562         * tests/unistdio/test-u32-vasnprintf3.c: New file.
25563         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
25564         * tests/unistdio/test-u32-vasprintf1.c: New file.
25565         * tests/unistdio/test-u32-vsnprintf1.c: New file.
25566         * tests/unistdio/test-u32-vsprintf1.c: New file.
25567         * modules/unistdio/base: New file.
25568         * modules/unistdio/u-printf-args: New file.
25569         * modules/unistdio/ulc-asnprintf: New file.
25570         * modules/unistdio/ulc-asprintf: New file.
25571         * modules/unistdio/ulc-fprintf: New file.
25572         * modules/unistdio/ulc-printf-parse: New file.
25573         * modules/unistdio/ulc-snprintf: New file.
25574         * modules/unistdio/ulc-sprintf: New file.
25575         * modules/unistdio/ulc-vasnprintf: New file.
25576         * modules/unistdio/ulc-vasprintf: New file.
25577         * modules/unistdio/ulc-vfprintf: New file.
25578         * modules/unistdio/ulc-vsnprintf: New file.
25579         * modules/unistdio/ulc-vsprintf: New file.
25580         * modules/unistdio/u8-asnprintf: New file.
25581         * modules/unistdio/u8-asprintf: New file.
25582         * modules/unistdio/u8-printf-parse: New file.
25583         * modules/unistdio/u8-snprintf: New file.
25584         * modules/unistdio/u8-sprintf: New file.
25585         * modules/unistdio/u8-vasnprintf: New file.
25586         * modules/unistdio/u8-vasprintf: New file.
25587         * modules/unistdio/u8-vsnprintf: New file.
25588         * modules/unistdio/u8-vsprintf: New file.
25589         * modules/unistdio/u8-u8-asnprintf: New file.
25590         * modules/unistdio/u8-u8-asprintf: New file.
25591         * modules/unistdio/u8-u8-snprintf: New file.
25592         * modules/unistdio/u8-u8-sprintf: New file.
25593         * modules/unistdio/u8-u8-vasnprintf: New file.
25594         * modules/unistdio/u8-u8-vasprintf: New file.
25595         * modules/unistdio/u8-u8-vsnprintf: New file.
25596         * modules/unistdio/u8-u8-vsprintf: New file.
25597         * modules/unistdio/u16-asnprintf: New file.
25598         * modules/unistdio/u16-asprintf: New file.
25599         * modules/unistdio/u16-printf-parse: New file.
25600         * modules/unistdio/u16-snprintf: New file.
25601         * modules/unistdio/u16-sprintf: New file.
25602         * modules/unistdio/u16-vasnprintf: New file.
25603         * modules/unistdio/u16-vasprintf: New file.
25604         * modules/unistdio/u16-vsnprintf: New file.
25605         * modules/unistdio/u16-vsprintf: New file.
25606         * modules/unistdio/u16-u16-asnprintf: New file.
25607         * modules/unistdio/u16-u16-asprintf: New file.
25608         * modules/unistdio/u16-u16-snprintf: New file.
25609         * modules/unistdio/u16-u16-sprintf: New file.
25610         * modules/unistdio/u16-u16-vasnprintf: New file.
25611         * modules/unistdio/u16-u16-vasprintf: New file.
25612         * modules/unistdio/u16-u16-vsnprintf: New file.
25613         * modules/unistdio/u16-u16-vsprintf: New file.
25614         * modules/unistdio/u32-asnprintf: New file.
25615         * modules/unistdio/u32-asprintf: New file.
25616         * modules/unistdio/u32-printf-parse: New file.
25617         * modules/unistdio/u32-snprintf: New file.
25618         * modules/unistdio/u32-sprintf: New file.
25619         * modules/unistdio/u32-vasnprintf: New file.
25620         * modules/unistdio/u32-vasprintf: New file.
25621         * modules/unistdio/u32-vsnprintf: New file.
25622         * modules/unistdio/u32-vsprintf: New file.
25623         * modules/unistdio/u32-u32-asnprintf: New file.
25624         * modules/unistdio/u32-u32-asprintf: New file.
25625         * modules/unistdio/u32-u32-snprintf: New file.
25626         * modules/unistdio/u32-u32-sprintf: New file.
25627         * modules/unistdio/u32-u32-vasnprintf: New file.
25628         * modules/unistdio/u32-u32-vasprintf: New file.
25629         * modules/unistdio/u32-u32-vsnprintf: New file.
25630         * modules/unistdio/u32-u32-vsprintf: New file.
25631         * modules/unistdio/ulc-asnprintf-tests: New file.
25632         * modules/unistdio/ulc-vasnprintf-tests: New file.
25633         * modules/unistdio/ulc-vasprintf-tests: New file.
25634         * modules/unistdio/ulc-vsnprintf-tests: New file.
25635         * modules/unistdio/ulc-vsprintf-tests: New file.
25636         * modules/unistdio/u8-asnprintf-tests: New file.
25637         * modules/unistdio/u8-vasnprintf-tests: New file.
25638         * modules/unistdio/u8-vasprintf-tests: New file.
25639         * modules/unistdio/u8-vsnprintf-tests: New file.
25640         * modules/unistdio/u8-vsprintf-tests: New file.
25641         * modules/unistdio/u16-asnprintf-tests: New file.
25642         * modules/unistdio/u16-vasnprintf-tests: New file.
25643         * modules/unistdio/u16-vasprintf-tests: New file.
25644         * modules/unistdio/u16-vsnprintf-tests: New file.
25645         * modules/unistdio/u16-vsprintf-tests: New file.
25646         * modules/unistdio/u32-asnprintf-tests: New file.
25647         * modules/unistdio/u32-vasnprintf-tests: New file.
25648         * modules/unistdio/u32-vasprintf-tests: New file.
25649         * modules/unistdio/u32-vsnprintf-tests: New file.
25650         * modules/unistdio/u32-vsprintf-tests: New file.
25651         * MODULES.html.sh (Unicode string functions): Add the new modules.
25652
25653 2007-07-01  Bruno Haible  <bruno@clisp.org>
25654
25655         * lib/sprintf.c (sprintf): Limit the available length estimation,
25656         to avoid address wraparound.
25657         * lib/vsprintf.c (vsprintf): Likewise.
25658         * modules/sprintf-posix (Dependencies): Add stdint.
25659         * modules/vsprintf-posix (Dependencies): Likewise.
25660
25661 2007-07-01  Bruno Haible  <bruno@clisp.org>
25662
25663         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
25664         Windows PATH as well. Conservative double-quoting. Comments.
25665
25666 2007-07-01  Bruno Haible  <bruno@clisp.org>
25667             Eric Blake  <ebb9@byu.net>
25668             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25669
25670         * gnulib-tool (self_abspathname): Fix algorithm to cope with
25671         empty components in $PATH, denoting '.'.
25672
25673 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25674
25675         * gnulib-tool: Fix indentation.
25676         (func_create_megatestdir): Likewise.
25677         Report by Bruno Haible.
25678
25679 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25680
25681         Sync from Automake.
25682         * build-aux/gnupload: Fix shell portability issues with for loops.
25683         Report by Karl Berry.
25684
25685 2007-06-29  Simon Josefsson  <simon@josefsson.org>
25686
25687         * build-aux/maint.mk (POURL): Use translationproject.org.
25688
25689 2007-06-27  Simon Josefsson  <simon@josefsson.org>
25690             Bruno Haible  <bruno@clisp.org>
25691
25692         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
25693         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
25694         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
25695         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
25696         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
25697
25698 2007-06-27  Bruno Haible  <bruno@clisp.org>
25699
25700         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
25701         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
25702
25703 2007-06-26  Karl Berry  <karl@gnu.org>
25704
25705         * MODULES.html.sh: remove xreadlink-with-size.
25706
25707 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25708
25709         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
25710         method that I hope also handles the double-include problem noted
25711         by Bruno Haible in
25712         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
25713
25714 2007-06-23  Bruno Haible  <bruno@clisp.org>
25715
25716         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25717         Don't let the 'mostlyclean' target fail if the last subdirectory could
25718         not be removed.
25719         Reported by Karl Berry.
25720
25721 2007-06-23  Bruno Haible  <bruno@clisp.org>
25722
25723         * gnulib-tool (echo): Add a speedier workaround for ksh.
25724         * tests/test-echo.sh: Likewise.
25725
25726 2007-06-23  Bruno Haible  <bruno@clisp.org>
25727
25728         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
25729         * tests/test-echo.sh: Likewise.
25730
25731 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25732
25733         * gnulib-tool (IFS): Initialize early, so we don't set it to
25734         empty later.
25735         (self_abspathname): Rewrite algorithm to set it, reindent.
25736         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25737         (func_create_megatestdir): Merge some sed scripts.
25738
25739 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25740
25741         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
25742         exposed by Sun Studio 11 cc on Solaris 8.
25743
25744 2007-06-22  Bruno Haible  <bruno@clisp.org>
25745
25746         * gnulib-tool (echo): Ensure the echo primitive does not interpret
25747         backslashes.
25748         * tests/test-echo.sh: New file.
25749
25750 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25751
25752         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
25753         simplify `sed_replace_build_aux' scripts, they are portable but
25754         echoing them with `echo' is not.
25755         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
25756
25757 2007-06-21  Karl Berry  <karl@gnu.org>
25758
25759         * config/srclist.txt: guess we can't handle the licenses via
25760         srclist at the moment.
25761
25762 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25763
25764         * MODULES.html.sh: Add include_next.
25765         * modules/include_next: New file.
25766
25767 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
25768
25769         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
25770         INCLUDE_NEXT.
25771         (gl_CHECK_NEXT_HEADERS): New macro.
25772         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
25773         the obsolescent gl_ABSOLUTE_HEADER.
25774         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
25775         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
25776         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25777         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25778         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25779         * m4/math_h.m4 (gl_MATH_H): Likewise.
25780         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
25781         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25782         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
25783         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25784         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
25785         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
25786         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
25787         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25788         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25789         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
25790         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
25791         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25792         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
25793         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25794         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25795         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25796         * m4/inttypes.m4 (gl_INTTYPES_H): Define
25797         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
25798         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
25799         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
25800         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
25801         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
25802         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
25803         * lib/float_.h: Likewise.
25804         * lib/inttypes_.h: Likewise.
25805         * lib/math_.h: Likewise.
25806         * lib/search_.h: Likewise.
25807         * lib/signal_.h: Likewise.
25808         * lib/stdint_.h: Likewise.
25809         * lib/stdio_.h: Likewise.
25810         * lib/stdlib_.h: Likewise.
25811         * lib/string_.h: Likewise.
25812         * lib/sys_stat_.h: Likewise.
25813         * lib/sys_time_.h: Likewise.
25814         * lib/time_.h: Likewise.
25815         * lib/unistd_.h: Likewise.
25816         * lib/wchar_.h: Likewise.
25817         * lib/wctype_.h: Likewise.
25818         * lib/dirent_.h: Likewise.
25819         * lib/iconv_.h: Likewise.
25820         * lib/locale_.h: Likewise.
25821         * lib/netinet_in_.h: Likewise.
25822         * lib/sys_select_.h: Likewise.
25823         * lib/sys_socket_.h: Likewise.
25824         * lib/sysexits_.h: Likewise.
25825         * modules/fcntl (Depends-on): Depend on include_next, not
25826         absolute_header.
25827         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
25828         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
25829         * modules/fchdir: Likewise.
25830         * modules/float: Likewise.
25831         * modules/iconv_open: Likewise.
25832         * modules/inttypes: Likewise.
25833         * modules/locale: Likewise.
25834         * modules/math: Likewise.
25835         * modules/netinet_in: Likewise.
25836         * modules/search: Likewise.
25837         * modules/signal: Likewise.
25838         * modules/stdint: Likewise.
25839         * modules/stdio: Likewise.
25840         * modules/stdlib: Likewise.
25841         * modules/string: Likewise.
25842         * modules/sys_select: Likewise.
25843         * modules/sys_socket: Likewise.
25844         * modules/sys_stat: Likewise.
25845         * modules/sys_time: Likewise.
25846         * modules/sysexits: Likewise.
25847         * modules/time: Likewise.
25848         * modules/unistd: Likewise.
25849         * modules/wchar: Likewise.
25850         * modules/wctype: Likewise.
25851         * modules/sys_stat: Change maintainer to "all".
25852         * modules/unistd: Likewise.
25853
25854 2007-06-20  Karl Berry  <karl@gnu.org>
25855
25856         * config/srclist.txt: track www changes in license files.
25857
25858 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
25859
25860         * build-aux/bootstrap: Remove stray dot.
25861         Make sure build_aux settings are honored when linking
25862         gnulib_extra_files.
25863
25864 2007-06-19  Eric Blake  <ebb9@byu.net>
25865
25866         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
25867         Allow compilation on cygwin.
25868
25869 2007-06-19  Jim Meyering  <jim@meyering.net>
25870
25871         xreadlink-with-size: Remove module.  No longer used.
25872         Ex-callers now use xreadlink or mreadlink-with-size.
25873         * modules/xreadlink-with-size: Remove module.
25874         * lib/xreadlink-with-size.c: Remove file.
25875         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
25876         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
25877         just before the function definition *is* accurate.
25878
25879         Eliminate one way canonicalize_filename_mode could exit.
25880         * lib/canonicalize.c (canonicalize_filename_mode):
25881         Use mreadlink_with_size, not xreadlink_with_size.
25882
25883 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25884
25885         Detect porting problems to FreeBSD/arm, which has time_t wider than
25886         long int.  Original problem reported for GNU diff by Xin Li in
25887         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
25888         * modules/getdate (Depends-on): Add intprops, verify.
25889         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
25890         is an integer type no wider than long int.
25891
25892 2007-06-18  Jim Meyering  <jim@meyering.net>
25893
25894         New module: mreadlink-with-size.
25895         * MODULES.html.sh: Add mreadlink-with-size.
25896         * modules/mreadlink-with-size: New module
25897         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
25898         not xreadlink-with-size.
25899         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
25900
25901 2007-06-16  Bruno Haible  <bruno@clisp.org>
25902
25903         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
25904         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
25905         Reported by Gary V. Vaughan <gary@gnu.org>.
25906
25907 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25908
25909         Revamp lchown so that it lives in unistd.h where it belongs.
25910         * lib/lchown.h: Remove.
25911         * lib/dirchownmod.c: Don't include lib/lchown.h.
25912         * lib/fchownat.c: Likewise.
25913         * lib/openat.c: Likewise.
25914         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
25915         does not follow symlinks.
25916         (EOPNOTSUPP): Define if not defined.
25917         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
25918         is defined to 0.
25919         (lchown): New decl.
25920         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
25921         Do not check for lchown decl.
25922         Set REPLACE_LCHOWN.
25923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
25924         REPLACE_LCHOWN.
25925         * modules/chown: Make it clear it follows symlinks.
25926         * modules/lchown: Make it clear it doesn't follow symlinks.
25927         (Files): Remove lib/lchown.h
25928         (Depends-on): Add unistd.
25929         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
25930         (Include): Include <unistd.h>, not "lchown.h".
25931         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
25932         REPLACE_LCHOWN.
25933
25934 2007-06-15  Jim Meyering  <jim@meyering.net>
25935
25936         Change license (GPL to LGPL) of fsusage and dependents.
25937         * modules/fsusage (License): Change to LGPL.
25938         * modules/full-read (License): Likewise.
25939         * modules/full-write (License): Likewise.
25940         * modules/safe-read (License): Likewise.
25941         * modules/safe-write (License): Likewise.
25942
25943 2007-06-14  Ben Pfaff  <blp@gnu.org>
25944
25945         Missing part of allocsa -> malloca transition.
25946         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
25947         gl_MALLOCA.
25948
25949 2007-06-12  Bruno Haible  <bruno@clisp.org>
25950
25951         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
25952         to ia64, x86_64, i386.
25953         Reported by Eric Blake.
25954
25955 2007-06-12  Bruno Haible  <bruno@clisp.org>
25956
25957         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
25958         cross-compiling to x86_64.
25959
25960 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25961
25962         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
25963         glitch reported by Ralf Wildenhues in
25964         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
25965
25966         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
25967         Vin Shelton.
25968
25969 2007-06-11  Bruno Haible  <bruno@clisp.org>
25970
25971         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
25972         replacement string.
25973         Reported by Eric Blake.
25974
25975 2007-06-10  Bruno Haible  <bruno@clisp.org>
25976
25977         Prepare vasnprintf code for use with Unicode strings.
25978         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
25979         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
25980         TYPE_U32_STRING.
25981         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
25982         a_u32_string variants.
25983         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
25984         * lib/printf-args.c: Don't include config.h and the specification
25985         header if PRINTF_FETCHARGS is already defined.
25986         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
25987         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
25988         TYPE_U16_STRING, TYPE_U32_STRING.
25989         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
25990         u16_directive, u16_directives, u32_directive, u32_directives): New
25991         types.
25992         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
25993         New declarations.
25994         * lib/printf-parse.c: Don't include config.h and the specification
25995         header if PRINTF_PARSE is already defined. Eliminate the set of
25996         parameters for WIDE_CHAR_VERSION; the user of this file must provide
25997         them now. Include c-ctype.h.
25998         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
25999         directive and CHAR_T_ONLY_ASCII.
26000         * lib/vasnprintf.c: Don't include config.h and the specification header
26001         if VASNPRINTF is already defined.
26002         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
26003         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
26004         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
26005         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
26006         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
26007         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
26008         code accordingly.
26009         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
26010         pad_ourselves also in this case, with the 'c' and 's' directives, and
26011         with a different notion of "width".
26012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
26013
26014 2007-06-10  Bruno Haible  <bruno@clisp.org>
26015
26016         * modules/unistr/u32-mbsnlen: New file.
26017         * lib/unistr/u32-mbsnlen.c: New file.
26018
26019         * modules/unistr/u16-mbsnlen: New file.
26020         * lib/unistr/u16-mbsnlen.c: New file.
26021
26022         * modules/unistr/u8-mbsnlen: New file.
26023         * lib/unistr/u8-mbsnlen.c: New file.
26024
26025         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
26026         declarations.
26027
26028 2007-06-10  Bruno Haible  <bruno@clisp.org>
26029
26030         * lib/string_.h (mbsnlen): New declaration.
26031         * lib/mbsnlen.c: New file.
26032         * m4/mbsnlen.m4: New file.
26033         * modules/mbsnlen: New file.
26034         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
26035         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
26036         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
26037
26038 2007-06-10  Bruno Haible  <bruno@clisp.org>
26039
26040         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
26041
26042 2007-06-10  Bruno Haible  <bruno@clisp.org>
26043
26044         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
26045         * lib/mbuiter.h: Likewise.
26046
26047 2007-06-10  Bruno Haible  <bruno@clisp.org>
26048
26049         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
26050         declaration.
26051
26052 2007-06-10  Karl Berry  <karl@gnu.org>
26053
26054         * config/srclist.txt: remove gettext entries, Bruno prefers
26055         to update individually.
26056
26057 2007-06-10  Bruno Haible  <bruno@clisp.org>
26058
26059         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
26060         'maxlen'. Ensure only length + width bytes are allocated, not
26061         length + 1 + width.
26062
26063 2007-06-09  Bruno Haible  <bruno@clisp.org>
26064
26065         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
26066         (CHAR_T): Remove macro.
26067         (VASNPRINTF): Update.
26068
26069 2007-06-09  Bruno Haible  <bruno@clisp.org>
26070
26071         * MODULES.html.sh (Unicode string functions): Add the new modules.
26072
26073         * modules/uniconv/u32-conv-to-enc: New file.
26074         * lib/uniconv/u32-conv-to-enc.c: New file.
26075         * modules/uniconv/u32-conv-to-enc-tests: New file.
26076         * tests/uniconv/test-u32-conv-to-enc.c: New file.
26077
26078         * modules/uniconv/u16-conv-to-enc: New file.
26079         * lib/uniconv/u16-conv-to-enc.c: New file.
26080         * lib/uniconv/u-conv-to-enc.h: New file.
26081         * modules/uniconv/u16-conv-to-enc-tests: New file.
26082         * tests/uniconv/test-u16-conv-to-enc.c: New file.
26083
26084         * modules/uniconv/u8-conv-to-enc: New file.
26085         * lib/uniconv/u8-conv-to-enc.c: New file.
26086         * modules/uniconv/u8-conv-to-enc-tests: New file.
26087         * tests/uniconv/test-u8-conv-to-enc.c: New file.
26088
26089         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26090         u32_conv_to_encoding): New declarations.
26091
26092 2007-06-09  Bruno Haible  <bruno@clisp.org>
26093
26094         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
26095
26096 2007-06-09  Bruno Haible  <bruno@clisp.org>
26097
26098         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
26099         * modules/malloca: Renamed from modules/allocsa, updated.
26100         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
26101         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
26102         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
26103         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
26104         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
26105         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
26106         * modules/xmalloca: Renamed from modules/xallocsa, updated.
26107         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
26108         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
26109         * modules/c-strcasestr (Depends-on): Update.
26110         * lib/c-strcasestr.c: Update.
26111         * modules/c-strstr (Depends-on): Update.
26112         * lib/c-strstr.c: Update.
26113         * modules/canonicalize-lgpl (Depends-on): Update.
26114         * lib/canonicalize-lgpl.c: Update.
26115         * modules/clean-temp (Depends-on): Update.
26116         * lib/clean-temp.c: Update.
26117         * modules/csharpcomp (Depends-on): Update.
26118         * lib/csharpcomp.c: Update.
26119         * modules/csharpexec (Depends-on): Update.
26120         * lib/csharpexec.c: Update.
26121         * modules/javacomp (Depends-on): Update.
26122         * lib/javacomp.c: Update.
26123         * modules/javaexec (Depends-on): Update.
26124         * lib/javaexec.c: Update.
26125         * modules/mbscasestr (Depends-on): Update.
26126         * lib/mbscasestr.c: Update.
26127         * modules/mbsstr (Depends-on): Update.
26128         * lib/mbsstr.c: Update.
26129         * modules/setenv (Depends-on): Update.
26130         * lib/setenv.c: Update.
26131         * modules/strcasestr (Depends-on): Update.
26132         * lib/strcasestr.c: Update.
26133         * modules/striconveha (Depends-on): Update.
26134         * lib/striconveha.c: Update.
26135         * modules/relocatable-prog-wrapper (Files): Update.
26136         * lib/relocwrapper.c: Update.
26137         * build-aux/install-reloc: Update.
26138         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
26139
26140 2007-06-08  Bruno Haible  <bruno@clisp.org>
26141
26142         Port to uClibc.
26143         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
26144         * lib/fpurge.c (fpurge): Likewise.
26145         * lib/freading.c (freading): Likewise.
26146         * lib/fseeko.c (rpl_fseeko): Likewise.
26147         * lib/fseterr.c (fseterr): Likewise.
26148         * lib/fwriting.c (fwriting): Likewise.
26149         * tests/test-fflush.c (main): Avoid a failure on uClibc.
26150
26151 2007-06-08  Bruno Haible  <bruno@clisp.org>
26152
26153         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
26154         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
26155         * modules/gettext (Files): Add m4/intlmacosx.m4.
26156
26157 2007-06-07  Bruno Haible  <bruno@clisp.org>
26158
26159         * modules/localename-tests: New file.
26160         * tests/test-localename.c: New file.
26161
26162         New module 'localename'.
26163         * lib/localename.h: New file.
26164         * lib/localename.c: New file, from GNU gettext.
26165         * m4/localename.m4: New file.
26166         * modules/localename: New file.
26167
26168 2007-06-07  Bruno Haible  <bruno@clisp.org>
26169
26170         Work around the lack of <wchar.h> on some builds of uClibc.
26171         * doc/headers/wchar.texi: Update.
26172         * lib/wchar_.h: Include <wchar.h> only if it exists.
26173         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
26174         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
26175         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
26176         doesn't exist.
26177         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
26178         * modules/mbfile (Depends-on): Add wchar.
26179         * modules/mbiter (Depends-on): Likewise.
26180         * modules/mbuiter (Depends-on): Likewise.
26181         Reported by Simon Josefsson.
26182
26183 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
26184
26185         Work around problem reported by Steven M. Schweda in
26186         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
26187         Tru64 5.1B with the Compaq compiler environment installed declares
26188         an 'isblank' function but does not define it in the C library.
26189         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
26190         * lib/regex_internal.h (isblank): Likewise.
26191         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
26192         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
26193
26194 2007-06-05  Bruno Haible  <bruno@clisp.org>
26195
26196         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
26197         ia64.
26198         * modules/printf-safe: New file.
26199         * modules/fprintf-posix (Depends-on): Add printf-safe.
26200         * modules/printf-posix (Depends-on): Likewise.
26201         * modules/snprintf-posix (Depends-on): Likewise.
26202         * modules/sprintf-posix (Depends-on): Likewise.
26203         * modules/vasnprintf-posix (Depends-on): Likewise.
26204         * modules/vasprintf-posix (Depends-on): Likewise.
26205         * modules/vfprintf-posix (Depends-on): Likewise.
26206         * modules/vprintf-posix (Depends-on): Likewise.
26207         * modules/vsnprintf-posix (Depends-on): Likewise.
26208         * modules/vsprintf-posix (Depends-on): Likewise.
26209         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
26210         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
26211         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
26212         "no" on i386, x86_64, ia64.
26213         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
26214         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26215         on i386, x86_64, ia64.
26216         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
26217         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26218         on i386, x86_64, ia64.
26219         * tests/test-vasnprintf-posix.c: Include float.h.
26220         (LDBL80_WORDS): New macro.
26221         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26222         on i386, x86_64, ia64.
26223         * tests/test-vasprintf-posix.c: Include float.h.
26224         (LDBL80_WORDS): New macro.
26225         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26226         on i386, x86_64, ia64.
26227         * tests/test-snprintf-posix.c: Include float.h.
26228         * tests/test-sprintf-posix.c: Likewise.
26229         * tests/test-vsnprintf-posix.c: Likewise.
26230         * tests/test-vsprintf-posix.c: Likewise.
26231
26232 2007-06-05  Bruno Haible  <bruno@clisp.org>
26233
26234         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
26235         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
26236         non-IEEE numbers on i386, x86_64, ia64.
26237         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
26238         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
26239         * tests/test-isnanl.h: Include float.h.
26240         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
26241
26242 2007-06-05  Bruno Haible  <bruno@clisp.org>
26243
26244         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
26245         also the %a / %A. Handle the %a / %A code before this extra handling.
26246
26247 2007-06-05  Bruno Haible  <bruno@clisp.org>
26248
26249         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
26250         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
26251
26252 2007-06-05  Bruno Haible  <bruno@clisp.org>
26253
26254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
26255         typo in variable name.
26256
26257 2007-06-05  Eric Blake  <ebb9@byu.net>
26258
26259         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
26260         Reported by Simon Josefsson.
26261
26262 2007-06-04  Bruno Haible  <bruno@clisp.org>
26263
26264         Avoid test failures on some PowerPC platforms.
26265         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
26266         Define differently for PowerPC.
26267         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
26268         Reported by Gary V. Vaughan <gary@gnu.org>.
26269
26270 2007-06-02  Bruno Haible  <bruno@clisp.org>
26271
26272         Fix test-stdint failure on FreeBSD/ia64.
26273         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
26274         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
26275         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
26276         * doc/headers/stdint.texi: Update.
26277
26278 2007-06-01  Bruno Haible  <bruno@clisp.org>
26279
26280         * tests/test-binary-io.c (main): Pass a third argument to open().
26281         Reported by Gary V. Vaughan <gary@gnu.org>.
26282
26283 2007-06-01  Bruno Haible  <bruno@clisp.org>
26284
26285         * doc/functions/frexpl.texi: Update for mingw.
26286
26287 2007-06-01  Bruno Haible  <bruno@clisp.org>
26288
26289         * tests/test-lseek.c (main): Disable test of errno for invalid third
26290         argument.
26291         * doc/functions/lseek.texi: Update.
26292         Reported by Gary V. Vaughan <gary@gnu.org>.
26293
26294 2007-05-28  Bruno Haible  <bruno@clisp.org>
26295
26296         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
26297
26298 2007-05-31  Eric Blake  <ebb9@byu.net>
26299
26300         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
26301         cross compiling.
26302
26303 2007-05-30  Eric Blake  <ebb9@byu.net>
26304         and Bruno Haible  <bruno@clisp.org>
26305
26306         Work around mingw test failures exposed by m4-1.4.9b.
26307         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
26308         * tests/test-unistd.c: Disable uid_t and git_t tests for the
26309         moment.
26310
26311 2007-05-30  Bruno Haible  <bruno@clisp.org>
26312
26313         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
26314         assuming that they are closed. Needed on HP-UX 11.
26315
26316 2007-05-29  Bruno Haible  <bruno@clisp.org>
26317
26318         Fix a problem with #include_next.
26319         * lib/dirent_.h: Split the double-inclusion guard.
26320         * lib/fcntl_.h: Likewise.
26321         * lib/float_.h: Likewise.
26322         * lib/iconv_.h: Likewise.
26323         * lib/inttypes_.h: Likewise.
26324         * lib/locale_.h: Likewise.
26325         * lib/math_.h: Likewise.
26326         * lib/netinet_in_.h: Likewise.
26327         * lib/search_.h: Likewise.
26328         * lib/signal_.h: Likewise.
26329         * lib/stdint_.h: Likewise.
26330         * lib/stdio_.h: Likewise.
26331         * lib/stdlib_.h: Likewise.
26332         * lib/string_.h: Likewise.
26333         * lib/sys_select_.h: Likewise.
26334         * lib/sys_socket_.h: Likewise.
26335         * lib/sys_stat_.h: Likewise.
26336         * lib/sys_time_.h: Likewise.
26337         * lib/sysexits_.h: Likewise.
26338         * lib/time_.h: Likewise.
26339         * lib/unistd_.h: Likewise.
26340         * lib/wchar_.h: Likewise.
26341         * lib/wctype_.h: Likewise.
26342
26343 2007-05-29  Bruno Haible  <bruno@clisp.org>
26344
26345         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
26346         for the moment.
26347
26348 2007-05-29  Bruno Haible  <bruno@clisp.org>
26349
26350         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
26351         invocation.
26352         Reported by Eric Blake.
26353
26354 2007-05-29  Bruno Haible  <bruno@clisp.org>
26355
26356         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
26357         compiling case.
26358
26359 2007-05-29  Eric Blake  <ebb9@byu.net>
26360             Bruno Haible  <bruno@clisp.org>
26361
26362         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
26363         cross compiles.
26364
26365 2007-05-28  Eric Blake  <ebb9@byu.net>
26366
26367         * modules/closein-tests (test_closein_LDADD): Support test on
26368         cygwin with libtool.
26369
26370 2007-05-28  Bruno Haible  <bruno@clisp.org>
26371
26372         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
26373         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26374         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26375         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26376         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26377         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26378         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26379         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26380         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26381
26382 2007-05-28  Eric Blake  <ebb9@byu.net>
26383
26384         Unconditionally include <config.h> in unit tests.
26385         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
26386         * tests/test-allocsa.c, tests/test-arcfour.c,
26387         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
26388         tests/test-array_list.c, tests/test-array_oset.c,
26389         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
26390         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
26391         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
26392         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
26393         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
26394         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
26395         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
26396         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
26397         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
26398         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
26399         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
26400         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
26401         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
26402         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
26403         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
26404         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
26405         test-md5.c, test-memmem.c, test-printf-posix.c,
26406         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
26407         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
26408         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
26409         test-strcasestr.c, test-striconv.c, test-striconveh.c,
26410         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
26411         test-vasnprintf-posix2.c, test-vasnprintf.c,
26412         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
26413         test-vfprintf-posix.c, test-vprintf-posix.c,
26414         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
26415         test-xvasprintf.c: Likewise.
26416
26417 2007-05-28  Bruno Haible  <bruno@clisp.org>
26418
26419         * gnulib-tool (func_import): Remember the --with-tests command-line
26420         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
26421         Reported by Eric Blake.
26422
26423 2007-05-28  Bruno Haible  <bruno@clisp.org>
26424
26425         * modules/ftell-tests: New file.
26426         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
26427         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
26428
26429         * lib/ftell.c: New file.
26430         * modules/ftell: New file.
26431         * m4/ftell.m4: New file.
26432         * doc/functions/ftell.texi: Update.
26433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
26434         REPLACE_FTELL.
26435         * lib/stdio_.h (rpl_ftell): New declaration.
26436         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
26437         REPLACE_FTELL.
26438
26439 2007-05-28  Eric Blake  <ebb9@byu.net>
26440
26441         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
26442
26443 2007-05-28  Bruno Haible  <bruno@clisp.org>
26444
26445         * modules/fseek-tests: New file.
26446         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
26447         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
26448
26449         * lib/fseek.c: New file.
26450         * modules/fseek: New file.
26451         * m4/fseek.m4: New file.
26452         * doc/functions/fseek.texi: Update.
26453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
26454         REPLACE_FSEEK.
26455         * lib/stdio_.h (rpl_fseek): New declaration.
26456         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
26457         REPLACE_FSEEK.
26458
26459 2007-05-28  Bruno Haible  <bruno@clisp.org>
26460
26461         * lib/stdio_.h (fflush): More comments.
26462
26463 2007-05-28  Bruno Haible  <bruno@clisp.org>
26464
26465         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
26466         runtime test.
26467
26468 2007-05-28  Eric Blake  <ebb9@byu.net>
26469
26470         Improve lseek module.
26471         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
26472         * lib/unistd_.h (lseek): Scale back link warning message.
26473         * tests/test-lseek.c: Beef up test.
26474         * tests/test-lseek.sh: Exercise more facets of lseek.
26475         Reported by Bruno Haible.
26476
26477 2007-05-28  Bruno Haible  <bruno@clisp.org>
26478
26479         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
26480         to define.
26481
26482 2007-05-27  Bruno Haible  <bruno@clisp.org>
26483
26484         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
26485
26486 2007-05-27  Bruno Haible  <bruno@clisp.org>
26487
26488         * modules/openmp: New file.
26489         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
26490         Noah Misch.
26491
26492 2007-05-26  Bruno Haible  <bruno@clisp.org>
26493
26494         * modules/chdir-long (Depends-on): Add fchdir.
26495         * modules/chdir-safer (Depends-on): Likewise.
26496         * modules/fts (Depends-on): Likewise.
26497         * modules/fts-lgpl (Depends-on): Likewise.
26498         * modules/openat (Depends-on): Likewise.
26499         * modules/savewd (Depends-on): Likewise.
26500
26501 2007-05-24  Eric Blake  <ebb9@byu.net>
26502
26503         Fix lseek on mingw.
26504         * modules/lseek: New module.
26505         * m4/lseek.m4: New file.
26506         * lib/lseek.c: New file.
26507         * modules/lseek-tests: New file.
26508         * tests/test-lseek.c: New file.
26509         * tests/test-lseek.sh: New file.
26510         * MODULES.html.sh: Document lseek module.
26511         * modules/fflush (Depends-on): Add lseek, fseeko.
26512         * modules/fseeko (Depends-on): Likewise.
26513         * modules/ftello (Depends-on): Likewise.
26514         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
26515         broken.
26516         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
26517         broken.
26518         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
26519         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
26520         * lib/ftello.c (rpl_ftello): Likewise.
26521         * tests/test-fseeko.c (main): Test this.
26522         * tests/test-fseeko.sh: Likewise.
26523         * tests/test-ftello.c (main): Likewise.
26524         * tests/test-ftello.sh: Likewise.
26525         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
26526         implies replacing fseek.
26527         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
26528         HAVE_FTELLO.
26529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
26530         * modules/unistd (Makefile.am): Likewise.
26531         * lib/unistd_.h (lseek): Declare a replacement.
26532         * doc/functions/lseek.texi (lseek): Document this fix.
26533         * doc/functions/fseek.texi (fseek): Likewise.
26534         * doc/functions/ftell.texi (ftell): Likewise.
26535
26536 2007-05-24  Bruno Haible  <bruno@clisp.org>
26537
26538         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
26539         in the printed representation of a NaN.
26540         * tests/test-vasprintf-posix.c (test_function): Likewise.
26541         * tests/test-snprintf-posix.h (test_function): Likewise.
26542         * tests/test-sprintf-posix.h (test_function): Likewise.
26543         Reported by Eric Blake.
26544
26545 2007-05-23  Eric Blake  <ebb9@byu.net>
26546
26547         Fix fseeko/ftello on cygwin 1.5.24.
26548         * doc/functions/fseeko.texi (fseeko): Document the fix.
26549         * doc/functions/ftello.texi (ftello): Document the fix.
26550         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
26551         * doc/functions/stdout.text (stdout): New file.
26552         * doc/functions/stderr.text (stderr): New file.
26553         * doc/gnulib.texi (Function Substitutes): Use new files.
26554         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
26555         prior to 1.7.0.
26556         * tests/test-ftello.c (main): Likewise for ftello.
26557         * tests/test-fseeko.sh: New file.
26558         * tests/test-ftello.sh: New file.
26559         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
26560         with seekable stdin.
26561         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
26562         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
26563         (gl_REPLACE_FSEEKO): New macro.
26564         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
26565         * modules/fseeko (Files): Distribute fseeko.c.
26566         * modules/ftello (Files): Distribute ftello.c.
26567         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
26568         mode.
26569         * lib/ftello.c (rpl_ftello): New file.
26570         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
26571         fseeko, ftello.
26572         (gl_STDIN_LARGE_OFFSET): New macro.
26573         * modules/stdio (Makefile.am): Perform the replacement.
26574         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
26575
26576 2007-05-23  Bruno Haible  <bruno@clisp.org>
26577
26578         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
26579         GNULIB_POSIXCHECK is defined.
26580
26581 2007-05-21  Bruno Haible  <bruno@clisp.org>
26582
26583         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
26584         Check also the output for NaN arguments. When cross-compiling, guess
26585         no on IRIX.
26586         * lib/vasnprintf.c: Update comments.
26587         * tests/test-vasnprintf-posix.c (strisnan): New function.
26588         (test_function): Use it.
26589         * tests/test-vasprintf-posix.c (strisnan): New function.
26590         (test_function): Use it.
26591         * tests/test-snprintf-posix.h (strisnan): New function.
26592         (test_function): Use it.
26593         * tests/test-sprintf-posix.h (strisnan): New function.
26594         (test_function): Use it.
26595         Reported by Eric Blake.
26596
26597 2007-05-20  Bruno Haible  <bruno@clisp.org>
26598
26599         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
26600         numbers that fails on BeOS.
26601         * doc/functions/frexpl.texi: Update.
26602
26603 2007-05-20  Jim Meyering  <jim@meyering.net>
26604
26605         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
26606         forced upon us by glibc-2.6.
26607
26608 2007-05-20  Bruno Haible  <bruno@clisp.org>
26609
26610         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
26611         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
26612         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
26613         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
26614         NEED_PRINTF_INFINITE.
26615         (is_infinitel): New function.
26616         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
26617         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
26618         gl_PREREQ_VASNPRINTF_INFINITE.
26619         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
26620         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26621         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
26622         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
26623         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
26624         gl_PREREQ_VASNPRINTF_INFINITE.
26625         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26626         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26627         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26628         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26629         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26630         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26631         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26632         * doc/functions/fprintf.texi: Update.
26633         * doc/functions/printf.texi: Update.
26634         * doc/functions/snprintf.texi: Update.
26635         * doc/functions/sprintf.texi: Update.
26636         * doc/functions/vfprintf.texi: Update.
26637         * doc/functions/vprintf.texi: Update.
26638         * doc/functions/vsnprintf.texi: Update.
26639         * doc/functions/vsprintf.texi: Update.
26640
26641 2007-05-20  Bruno Haible  <bruno@clisp.org>
26642
26643         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
26644         was not found in libc.
26645         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26646
26647 2007-05-20  Bruno Haible  <bruno@clisp.org>
26648
26649         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26650         printed as "-nan" instead of "nan".
26651         * tests/test-vasprintf-posix.c (test_function): Likewise.
26652         * tests/test-snprintf-posix.h (test_function): Likewise.
26653         * tests/test-sprintf-posix.h (test_function): Likewise.
26654         Needed for HP-UX 11.
26655
26656 2007-05-20  Jim Meyering  <jim@meyering.net>
26657
26658         Fix buggy test for the fchownat-deref bug.
26659         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
26660         symlink required for the run-test.  Without it, this test would
26661         always declare that fchownat doesn't work, and client code would
26662         unnecessarily use the replacement function with fixed libc.
26663         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
26664         Reported by Greg Schafer.
26665
26666 2007-05-19  Bruno Haible  <bruno@clisp.org>
26667
26668         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
26669         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
26670         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
26671         Needed for IRIX 6.5 and Solaris 2.5.1.
26672
26673 2007-05-19  Bruno Haible  <bruno@clisp.org>
26674
26675         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
26676         (test_function): Skip tests involving -0.0 on platforms where
26677         -0.0 = 0.0.
26678         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
26679         (test_function): Skip tests involving -0.0 on platforms where
26680         -0.0 = 0.0.
26681         * tests/test-snprintf-posix.h (have_minus_zero): New function.
26682         (test_function): Skip tests involving -0.0 on platforms where
26683         -0.0 = 0.0.
26684         * tests/test-sprintf-posix.h (have_minus_zero): New function.
26685         (test_function): Skip tests involving -0.0 on platforms where
26686         -0.0 = 0.0.
26687         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
26688         tests.
26689         * tests/test-printf-posix.h (test_function): Likewise.
26690         * tests/test-printf-posix.output: Remove all -0.0 related results.
26691         Needed for IRIX 6.5.
26692
26693 2007-05-19  Bruno Haible  <bruno@clisp.org>
26694
26695         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26696         printed as "nan0x7fffffff" instead of "nan".
26697         * tests/test-vasprintf-posix.c (test_function): Likewise.
26698         * tests/test-snprintf-posix.h (test_function): Likewise.
26699         * tests/test-sprintf-posix.h (test_function): Likewise.
26700         * tests/test-fprintf-posix.h (NaN): Remove macro.
26701         (test_function): Remove all NaN related tests.
26702         * tests/test-printf-posix.h (NaN): Remove macro.
26703         (test_function): Remove all NaN related tests.
26704         * tests/test-printf-posix.output: Remove all NaN related results.
26705         Needed for IRIX 6.5.
26706
26707 2007-05-19  Bruno Haible  <bruno@clisp.org>
26708
26709         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
26710         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26711
26712 2007-05-19  Bruno Haible  <bruno@clisp.org>
26713
26714         * lib/float_.h: New file.
26715         * m4/float_h.m4: New file.
26716         * modules/float: New file.
26717         * modules/isnanl (Dependencies): Add float.
26718         * modules/isnanl-nolibm (Dependencies): Likewise.
26719         * modules/mathl (Dependencies): Likewise.
26720         * modules/printf-frexpl (Dependencies): Likewise.
26721         * modules/signbit (Dependencies): Likewise.
26722         * modules/vasnprintf (Dependencies): Likewise.
26723         * doc/headers/float.texi: Update.
26724
26725 2007-05-19  Jim Meyering  <jim@meyering.net>
26726
26727         * lib/utimens.c (gl_futimens): Rename from futimens,
26728         now that glibc-2.6 declares futimens.
26729         * lib/utimens.h: Likewise.
26730
26731 2007-05-19  Bruno Haible  <bruno@clisp.org>
26732
26733         Avoid test failures on mingw.
26734         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
26735         * tests/test-printf-posix.sh: Likewise.
26736         * tests/test-vfprintf-posix.sh: Likewise.
26737         * tests/test-vprintf-posix.sh: Likewise.
26738
26739 2007-05-19  Bruno Haible  <bruno@clisp.org>
26740
26741         Fix *printf result for NaN, Inf, -0.0 on mingw.
26742         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
26743         * lib/vasnprintf.c: Include math.h and isnan.h.
26744         (is_infinite_or_zero): New function.
26745         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
26746         values in the %f, %F, %e, %E, %g, %G directives.
26747         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
26748         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26749         gl_PRINTF_INFINITE and test its result. Invoke
26750         gl_PREREQ_VASNPRINTF_INFINITE.
26751         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26752         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26753         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26754         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26755         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26756         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26757         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26758         * doc/functions/fprintf.texi: Update.
26759         * doc/functions/printf.texi: Update.
26760         * doc/functions/snprintf.texi: Update.
26761         * doc/functions/sprintf.texi: Update.
26762         * doc/functions/vfprintf.texi: Update.
26763         * doc/functions/vprintf.texi: Update.
26764         * doc/functions/vsnprintf.texi: Update.
26765         * doc/functions/vsprintf.texi: Update.
26766
26767 2007-05-19  Bruno Haible  <bruno@clisp.org>
26768
26769         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
26770         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
26771         Instead of multiplying with 10^k, set extra_zeroes to k.
26772         (scale10_round_long_double): Remove function.
26773
26774 2007-05-18  Bruno Haible  <bruno@clisp.org>
26775
26776         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
26777         introduced on 2007-05-06.
26778
26779 2007-05-18  Bruno Haible  <bruno@clisp.org>
26780
26781         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
26782         %g directives.
26783         * tests/test-vasprintf-posix.c (test_function): Likewise.
26784         * tests/test-snprintf-posix.h (test_function): Likewise.
26785         * tests/test-sprintf-posix.h (test_function): Likewise.
26786
26787 2007-05-18  Bruno Haible  <bruno@clisp.org>
26788
26789         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
26790         (strmatch): New function.
26791         (test_function): Test the %f directive on numbers of various exponents.
26792         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
26793         (strmatch): New function.
26794         (test_function): Test the %f directive on numbers of various exponents.
26795         * tests/test-snprintf-posix.h (strmatch): New function.
26796         (test_function): Test the %f directive on numbers of various exponents.
26797         * tests/test-sprintf-posix.h (strmatch): New function.
26798         (test_function): Test the %f directive on numbers of various exponents.
26799         * tests/test-snprintf-posix.c (SIZEOF): New macro.
26800         * tests/test-sprintf-posix.c (SIZEOF): New macro.
26801         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
26802         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
26803
26804 2007-05-18  Bruno Haible  <bruno@clisp.org>
26805
26806         Add support for 'long double' number output.
26807         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
26808         * lib/vasnprintf.c: Include math.h and float+.h.
26809         (mp_limb_t): New type.
26810         (GMP_LIMB_BITS): New macro.
26811         (mp_twolimb_t): New type.
26812         (GMP_TWOLIMB_BITS): New macro.
26813         (mpn_t): New type.
26814         (multiply, divide, convert_to_decimal, decode_long_double,
26815         scale10_round_long_double, scale10_round_decimal_long_double,
26816         floorlog10l): New functions.
26817         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
26818         for the %f, %F, %e, %E, %g, %G directives.
26819         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
26820         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26821         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
26822         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
26823         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26824         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26826         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26827         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26828         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26830         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
26831         * modules/snprintf-posix (Depends-on): Likewise.
26832         * modules/sprintf-posix (Depends-on): Likewise.
26833         * modules/vasnprintf-posix (Depends-on): Likewise.
26834         * modules/vasprintf-posix (Depends-on): Likewise.
26835         * modules/vfprintf-posix (Depends-on): Likewise.
26836         * modules/vsnprintf-posix (Depends-on): Likewise.
26837         * modules/vsprintf-posix (Depends-on): Likewise.
26838         * modules/vasnprintf (Files): Add lib/float+.h.
26839         * doc/functions/fprintf.texi: Update.
26840         * doc/functions/printf.texi: Update.
26841         * doc/functions/snprintf.texi: Update.
26842         * doc/functions/sprintf.texi: Update.
26843         * doc/functions/vfprintf.texi: Update.
26844         * doc/functions/vprintf.texi: Update.
26845         * doc/functions/vsnprintf.texi: Update.
26846         * doc/functions/vsprintf.texi: Update.
26847
26848 2007-05-18  Bruno Haible  <bruno@clisp.org>
26849
26850         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
26851
26852 2007-05-18  Bruno Haible  <bruno@clisp.org>
26853
26854         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
26855         for printing 64-bit integers. Needed for mingw.
26856
26857 2007-05-18  Bruno Haible  <bruno@clisp.org>
26858
26859         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
26860         gl_FUNC_FREXPL_WORKS.
26861         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
26862
26863 2007-05-18  Bruno Haible  <bruno@clisp.org>
26864
26865         * modules/frexpl-nolibm-tests: New file.
26866
26867         * modules/frexpl-nolibm: New file.
26868         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
26869
26870 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
26871
26872         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
26873         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
26874         GCC 4.2, which otherwise issues a lot of warnings.
26875         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
26876         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
26877         Likewise.
26878         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
26879         * modules/iconv_open (iconv.h): Likewise.
26880         * modules/locale (locale.h): Likewise.
26881         * modules/netinet_in (netinet/in.h): Likewise.
26882         * modules/sys_select (sys_select.h): Likewise.
26883         * modules/sys_socket (sys/socket.h): Likewise.
26884         * modules/sys_stat (sys/stat.h): Likewise.
26885         * modules/sysexits (sysexits.h): Likewise.
26886         * modules/unistd (unistd.h): Likewise.
26887
26888 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26889
26890         * modules/closein-tests (Makefile.am): Distribute
26891         `test-closein.sh'.
26892
26893 2007-05-17  Bruno Haible  <bruno@clisp.org>
26894
26895         * tests/test-printf-posix.output: Renamed from
26896         tests/test-fprintf-posix.out.
26897         * modules/fprintf-posix-tests: Update.
26898         * modules/printf-posix-tests: Update.
26899         * modules/vfprintf-posix-tests: Update.
26900         * modules/vprintf-posix-tests: Update.
26901         * tests/test-fprintf-posix.sh: Update.
26902         * tests/test-printf-posix.sh: Update.
26903         * tests/test-vfprintf-posix.sh: Update.
26904         * tests/test-vprintf-posix.sh: Update.
26905         Reported by Ralf Wildenhues.
26906
26907 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
26908
26909         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
26910         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
26911         GCC 4.2, which otherwise issues a lot of warnings.
26912         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
26913         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
26914         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
26915         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
26916         it should no longer be needed.
26917         * lib/string_.h: Likewise.
26918         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
26919         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
26920         * modules/inttypes (inttypes.h): Likewise.
26921         * modules/math (math.h): Likewise.
26922         * modules/search (search.h): Likewise.
26923         * modules/signal (signal.h): Likewise.
26924         * modules/stdint (stdint.h): Likewise.
26925         * modules/stdio (stdio.h): Likewise.
26926         * modules/stdlib (stdlib.h): Likewise.
26927         * modules/string (string.h): Likewise.
26928         * modules/sys_time (sys/time.h): Likewise.
26929         * modules/time (time.h): Likewise.
26930         * modules/wchar (wchar.h): Likewise.
26931         * modules/wctype (wtype.h): Likewise.
26932
26933 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26934
26935         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
26936
26937 2007-05-13  Bruno Haible  <bruno@clisp.org>
26938
26939         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
26940         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26941         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
26942         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
26943         (gl_PREREQ_STRTOK_R): Don't require it here.
26944
26945 2007-05-13  Bruno Haible  <bruno@clisp.org>
26946
26947         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
26948         when used in C++ mode.
26949
26950 2007-05-12  Bruno Haible  <bruno@clisp.org>
26951
26952         * lib/linebuffer.h: Tweak doc.
26953         * lib/linebuffer.c: Likewise.
26954
26955 2007-05-12  James Youngman  <jay@gnu.org>
26956
26957         * lib/linebuffer.c (readlinebuffer_delim): New function,
26958         like readlinebuffer, but use a caller-specified delimiter.
26959         (readlinebuffer): Just call readlinebuffer_delim with '\n'
26960         as the delimiter.
26961         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
26962
26963 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26964
26965         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
26966         * modules/openat (Files): Remove openat-die.c.
26967         (Depends-on): Add openat-die.
26968         * modules/openat-die: New module.
26969
26970 2007-05-06  Bruno Haible  <bruno@clisp.org>
26971
26972         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
26973         Update with info about Cygwin.
26974         * doc/functions/fprintf.texi: Update.
26975         * doc/functions/printf.texi: Update.
26976         * doc/functions/snprintf.texi: Update.
26977         * doc/functions/sprintf.texi: Update.
26978         * doc/functions/vfprintf.texi: Update.
26979         * doc/functions/vprintf.texi: Update.
26980         * doc/functions/vsnprintf.texi: Update.
26981         * doc/functions/vsprintf.texi: Update.
26982         Reported by Eric Blake.
26983
26984 2007-05-06  Bruno Haible  <bruno@clisp.org>
26985
26986         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
26987         padding ourselves for the floating-point directives.
26988         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
26989         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
26990         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26991         gl_PRINTF_FLAG_ZERO and test its result. Invoke
26992         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
26993         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26994         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
26995         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26996         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26997         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26998         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26999         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27000         * tests/test-snprintf-posix.h (test_function): Also check the width
27001         and some flags in the %f directive.
27002         * tests/test-sprintf-posix.h (test_function): Likewise.
27003         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27004         * tests/test-vasprintf-posix.c (test_function): Likewise.
27005         * doc/functions/fprintf.texi: Update.
27006         * doc/functions/printf.texi: Update.
27007         * doc/functions/snprintf.texi: Update.
27008         * doc/functions/sprintf.texi: Update.
27009         * doc/functions/vfprintf.texi: Update.
27010         * doc/functions/vprintf.texi: Update.
27011         * doc/functions/vsnprintf.texi: Update.
27012         * doc/functions/vsprintf.texi: Update.
27013
27014 2007-05-06  Bruno Haible  <bruno@clisp.org>
27015
27016         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
27017         pass the ' flag character to sprintf or snprintf.
27018         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
27019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
27020         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27021         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
27022         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
27023         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27024         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
27025         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27027         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27028         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27030         * tests/test-snprintf-posix.h (test_function): Also check the grouping
27031         flag.
27032         * tests/test-sprintf-posix.h (test_function): Likewise.
27033         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27034         * tests/test-vasprintf-posix.c (test_function): Likewise.
27035         * doc/functions/fprintf.texi: Update.
27036         * doc/functions/printf.texi: Update.
27037         * doc/functions/snprintf.texi: Update.
27038         * doc/functions/sprintf.texi: Update.
27039         * doc/functions/vfprintf.texi: Update.
27040         * doc/functions/vprintf.texi: Update.
27041         * doc/functions/vsnprintf.texi: Update.
27042         * doc/functions/vsprintf.texi: Update.
27043
27044 2007-05-01  Bruno Haible  <bruno@clisp.org>
27045
27046         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
27047
27048 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
27049
27050         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
27051         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
27052
27053 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
27054
27055         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
27056         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
27057         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
27058
27059 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
27060
27061         * lib/argp-help.c (struct hol_entry): New member `ord'.
27062         (HOL_ENTRY_PTRCMP): Use ord for comparison
27063         (hol_sort): Initialize ord.
27064
27065 2007-05-01  Bruno Haible  <bruno@clisp.org>
27066
27067         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
27068         Reported by Eric Blake.
27069         * doc/gnulib.texi (Function Substitutes): Update.
27070
27071 2007-05-01  Bruno Haible  <bruno@clisp.org>
27072
27073         * doc/functions.texi: Remove file, now redundant through
27074         doc/functions/*.texi.
27075
27076 2007-05-01  Bruno Haible  <bruno@clisp.org>
27077
27078         * modules/argp (Depends-on): Add sleep.
27079
27080 2007-05-01  Bruno Haible  <bruno@clisp.org>
27081
27082         * modules/sleep-tests: New file.
27083         * tests/test-sleep.c: New file.
27084
27085         * modules/sleep: New file.
27086         * lib/sleep.c: New file.
27087         * m4/sleep.m4: New file.
27088         * lib/unistd_.h (sleep): New declaration.
27089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
27090         HAVE_SLEEP.
27091         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
27092         * doc/functions/sleep.texi: Document the sleep module.
27093
27094 2007-05-01  Bruno Haible  <bruno@clisp.org>
27095
27096         * lib/sigprocmask.h: Remove file.
27097         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
27098         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
27099         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
27100         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
27101         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
27102         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
27103         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
27104         HAVE_SIGSET_T as a shell variable.
27105         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
27106         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
27107         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
27108         (Depends-on): Add signal. Remove verify.
27109         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
27110         (Include): Mention <signal.h> instead of sigprocmask.h.
27111         * NEWS: Mention the change.
27112         * lib/fatal-signal.c: Don't include sigprocmask.h.
27113
27114 2007-05-01  Bruno Haible  <bruno@clisp.org>
27115
27116         * modules/signal: New file.
27117         * lib/signal_.h: New file.
27118         * m4/signal_h.m4: New file.
27119
27120 2007-05-01  Bruno Haible  <bruno@clisp.org>
27121
27122         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
27123         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
27124         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
27125         HAVE_WCTYPE_CTMP_BUG into wctype.h.
27126
27127 2007-05-01  Bruno Haible  <bruno@clisp.org>
27128
27129         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
27130         configure time.
27131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
27132         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
27133         * modules/sys_stat (Makefile.am): Substitute their values into
27134         sys/stat.h.
27135
27136 2007-05-01  Bruno Haible  <bruno@clisp.org>
27137
27138         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
27139         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
27140         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
27141
27142 2007-05-01  Bruno Haible  <bruno@clisp.org>
27143
27144         * doc/header/assert.texi: Undo last change: don't mention the gnulib
27145         'assert' module here.
27146
27147 2007-05-01  Bruno Haible  <bruno@clisp.org>
27148
27149         * doc/functions/*.texi: New files.
27150         * doc/functions/google-ranking.txt: New file.
27151         * doc/gnulib.texi (Function Substitutes): New chapter.
27152         (ctime, inet_ntoa): Remove sections.
27153         * doc/ctime.texi: Remove file.
27154         * doc/inet_ntoa.texi: Remove file.
27155         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
27156         dependencies.
27157         (%.info): New rule, specifying a --reference-limit.
27158
27159 2007-05-01  Bruno Haible  <bruno@clisp.org>
27160
27161         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
27162
27163 2007-05-01  Bruno Haible  <bruno@clisp.org>
27164
27165         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
27166         the portability of 'mkdir' to mingw systems.
27167
27168 2007-05-01  Bruno Haible  <bruno@clisp.org>
27169
27170         * doc/headers/google-ranking.txt: New file.
27171
27172 2007-04-30  Eric Blake  <ebb9@byu.net>
27173
27174         Prefer fseeko to fseek.
27175         * modules/getpass (Depends-on): Add fseeko.
27176         * lib/getpass.c (getpass): Use fseeko, not fseek.
27177
27178 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
27179
27180         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
27181         assumes the sorting is stable, while most qsort implementations
27182         are not.  Use argument addresses to ensure they never compare as
27183         equal.
27184
27185         * tests/test-argp-2.sh (usage-indent test): Fix output
27186         (func_compare): Restore diff options
27187         * tests/test-argp.c: Restore #include "progname.h"
27188
27189 2007-04-29  Bruno Haible  <bruno@clisp.org>
27190
27191         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
27192         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27193         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
27194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27195         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
27196         (configure.ac): Define CHECK_SNPRINTF_POSIX.
27197         (TESTS, check_PROGRAMS): Add test-snprintf.
27198         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
27199         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
27200         (TESTS, check_PROGRAMS): Add test-vsnprintf.
27201         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
27202         assertions that fail on HP-UX, OSF/1, or IRIX.
27203         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
27204
27205 2007-04-29  Bruno Haible  <bruno@clisp.org>
27206
27207         * MODULES.html.sh (posix_functions): Remove 'contents'.
27208
27209 2007-04-29  Karl Berry  <karl@gnu.org>
27210
27211         * config/srclist.txt (gendocs_template_min): new entry.
27212
27213 2007-04-29  Bruno Haible  <bruno@clisp.org>
27214
27215         Work around fpurge bug on BSD systems.
27216         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
27217         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
27218         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
27219         fpurge to rpl_fpurge if the system already has this function.
27220         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
27221         the case where the system already has this function. Correct invariants
27222         on BSD systems.
27223         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
27224         BSD systems.
27225
27226 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27227
27228         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
27229         proposed by Sven Verdoolaege.
27230
27231         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
27232         options.
27233         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
27234         (usage and help tests): Update
27235
27236 2007-04-29  Bruno Haible  <bruno@clisp.org>
27237
27238         * tests/test-fflush.c (main): Use a file of size 17, not 10.
27239         Print more information in case of failure. Disable a test on BeOS.
27240
27241 2007-04-29  Bruno Haible  <bruno@clisp.org>
27242
27243         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
27244         This helps debugging on systems on which no gdb is available.
27245
27246 2007-04-29  Bruno Haible  <bruno@clisp.org>
27247
27248         * lib/freading.h: Improve comments.
27249         * lib/fwriting.h: Likewise.
27250         * tests/test-freading.c (main): Don't check freading immediately after
27251         repositioning. Needed for glibc.
27252
27253 2007-04-29  Bruno Haible  <bruno@clisp.org>
27254
27255         * lib/freading.c (freading): Trivial simplification.
27256
27257 2007-04-28  Bruno Haible  <bruno@clisp.org>
27258
27259         * tests/test-fwriting.c (main): Also test the interaction between
27260         fflush and fwriting.
27261         * modules/fwriting-tests (Depends-on): Add fflush.
27262
27263         * tests/test-freading.c (main): Also test the interaction between
27264         fflush and freading.
27265         * modules/freading-tests (Depends-on): Add fflush.
27266
27267 2007-04-28  Bruno Haible  <bruno@clisp.org>
27268
27269         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
27270         fseeko and ftello.
27271         Suggested by Eric Blake.
27272
27273 2007-04-28  Jim Meyering  <jim@meyering.net>
27274
27275         Avoid false-negative in gl_STDINT_H's C99 conformance test.
27276         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
27277         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
27278
27279 2007-04-27  Eric Blake  <ebb9@byu.net>
27280
27281         * doc/headers/assert.texi (assert.h): Document assert module use.
27282
27283 2007-04-27  Bruno Haible  <bruno@clisp.org>
27284
27285         * doc/headers/*.texi: New files.
27286         * doc/gnulib.texi (Header File Substitutes): New chapter.
27287         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
27288         dependencies.
27289         (standards.info ,standards.html, standards.dvi): Update dependencies.
27290         (mostlyclean, clean): New targets.
27291
27292 2007-04-27  Bruno Haible  <bruno@clisp.org>
27293
27294         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
27295         * modules/sysexits (Files, Makefile.am): Update.
27296
27297         * lib/sys_socket_.h: Renamed from lib/socket_.h.
27298         * modules/sys_socket (Files, Makefile.am): Update.
27299
27300         * lib/sys_stat_.h: Renamed from lib/stat_.h.
27301         * modules/sys_stat (Files, Makefile.am): Update.
27302
27303 2007-04-27  Eric Blake  <ebb9@byu.net>
27304
27305         * lib/freading.h: Improve comments.
27306         * lib/fwriting.h: Likewise.
27307         * lib/fflush.c: Likewise.
27308
27309         Fix closein for mingw.
27310         * modules/closein-tests: Add tests for closein.
27311         * tests/test-closein.c: New file.
27312         * tests/test-closein.sh: Likewise.
27313         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
27314         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
27315
27316 2007-04-27  Bruno Haible  <bruno@clisp.org>
27317
27318         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
27319         version is < 6.
27320         * lib/math_.h [__DECC]: Likewise.
27321         * lib/stdio_.h [__DECC]: Likewise.
27322         * lib/stdlib_.h [__DECC]: Likewise.
27323         * lib/string_.h [__DECC]: Likewise.
27324         * lib/time_.h [__DECC]: Likewise.
27325         * lib/wchar_.h [__DECC]: Likewise.
27326         * lib/wctype_.h [__DECC]: Likewise.
27327
27328 2007-04-27  Bruno Haible  <bruno@clisp.org>
27329
27330         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
27331
27332 2007-04-27  Bruno Haible  <bruno@clisp.org>
27333
27334         * lib/fflush.c: Add comments.
27335         * modules/fpurge-tests (Depends-on): Add fflush.
27336         * modules/freadable-tests (Depends-on): Likewise.
27337         * modules/fwritable-tests (Depends-on): Likewise.
27338
27339 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
27340
27341         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
27342         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
27343         Report by Bruno Haible <bruno@clisp.org>.
27344
27345 2007-04-26  Eric Blake  <ebb9@byu.net>
27346
27347         Fix fflush on mingw.
27348         * modules/fflush (Depends-on): Add freading.
27349         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
27350         but unread data.
27351
27352 2007-04-26  Eric Blake  <ebb9@byu.net>
27353         and Bruno Haible  <bruno@clisp.org>
27354
27355         Implement freading and fwriting.
27356         * lib/freading.c: New file.
27357         * lib/freading.h: Likewise.
27358         * m4/freading.m4: Likewise.
27359         * modules/freading: Likewise.
27360         * modules/freading-tests: Likewise.
27361         * tests/test-freading.c: Likewise.
27362         * lib/fwriting.c: New file.
27363         * lib/fwriting.h: Likewise.
27364         * m4/fwriting.m4: Likewise.
27365         * modules/fwriting: Likewise.
27366         * modules/fwriting-tests: Likewise.
27367         * tests/test-fwriting.c: Likewise.
27368         * MODULES.html.sh (File stream based Input/Output): Mention them.
27369
27370 2007-04-26  Bruno Haible  <bruno@clisp.org>
27371
27372         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
27373         'long' when we assume it.
27374         Suggested by Eric Blake.
27375
27376 2007-04-26  Bruno Haible  <bruno@clisp.org>
27377
27378         Ensure fseeko, ftello are declared on glibc systems.
27379         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
27380         * modules/fseeko (configure.ac-early): Likewise.
27381         * modules/ftello (configure.ac-early): Likewise.
27382         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
27383         AC_FUNC_FSEEKO for this.
27384         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
27385         (gl_CHECK_FSEEKO): Remove macro.
27386
27387 2007-04-26  Bruno Haible  <bruno@clisp.org>
27388
27389         * tests/test-fflush.c (main): Also check the ftell result after
27390         fflush and fseek/fseeko.
27391         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
27392         file descriptor position cache in the stream.
27393         * lib/fseeko.c (rpl_fseeko): Likewise.
27394
27395 2007-04-26  Bruno Haible  <bruno@clisp.org>
27396
27397         * modules/fflush-tests (Depends-on): Add fseeko.
27398
27399 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
27400             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27401
27402         * lib/argz_.h: ensure error_t definition is obtained in same
27403         mechanism system argz.h would have.
27404         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
27405         argz facilities are known bad.  Err on the side of caution if
27406         cross-compiling.
27407
27408 2007-04-25  Eric Blake  <ebb9@byu.net>
27409
27410         * lib/fpurge.c (includes): Use stdlib.h for free.
27411         * tests/test-fflush.c (main): Also test fflush-fseeko.
27412
27413 2007-04-25  Bruno Haible  <bruno@clisp.org>
27414
27415         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
27416         * lib/fseeko.c: New file.
27417         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
27418         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
27419         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
27420         gl_FUNC_FSEEKO.
27421         (gl_FUNC_FSEEKO): Invoke it.
27422         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
27423         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
27424         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
27425
27426 2007-04-25  Bruno Haible  <bruno@clisp.org>
27427
27428         * modules/fflush (Depends-on): Add ftello.
27429
27430 2007-04-25  Bruno Haible  <bruno@clisp.org>
27431
27432         * modules/ftello-tests: New file.
27433         * tests/test-ftello.c: New file.
27434
27435         * modules/ftello: New file.
27436         * m4/ftello.m4: New file.
27437         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
27438         HAVE_FTELLO.
27439         * lib/stdio_.h (ftello): New declaration.
27440         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
27441         HAVE_FTELLO.
27442
27443 2007-04-25  Bruno Haible  <bruno@clisp.org>
27444
27445         * modules/fseeko-tests: New file.
27446         * tests/test-fseeko.c: New file.
27447
27448         * modules/fseeko: New file.
27449         * m4/fseeko.m4: New file.
27450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
27451         HAVE_FSEEKO.
27452         * lib/stdio_.h (fseeko): New declaration.
27453         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
27454         HAVE_FSEEKO.
27455
27456 2007-04-25  Bruno Haible  <bruno@clisp.org>
27457
27458         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
27459
27460 2007-04-25  Bruno Haible  <bruno@clisp.org>
27461
27462         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
27463         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
27464         * tests/test-unistd.c: Likewise.
27465         * tests/test-fcntl.c: Likewise.
27466
27467 2007-04-23  Eric Blake  <ebb9@byu.net>
27468
27469         * lib/fflush.c: Fix missing include.
27470         Reported by Bruno Haible.
27471
27472 2007-04-23  Bruno Haible  <bruno@clisp.org>
27473
27474         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
27475         Reported by Eric Blake.
27476
27477 2007-04-23  Bruno Haible  <bruno@clisp.org>
27478
27479         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
27480
27481 2007-04-23  Bruno Haible  <bruno@clisp.org>
27482
27483         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
27484
27485 2007-04-23  Bruno Haible  <bruno@clisp.org>
27486
27487         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
27488         Needed on HP-UX 11.
27489
27490 2007-04-16  Eric Blake  <ebb9@byu.net>
27491
27492         Make fflush rely on fpurge.
27493         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
27494         open coding all variants.
27495         * modules/fflush (Depends-on): Add fpurge and unistd.
27496         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
27497         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
27498
27499         Fix --with-tests compilation on cygwin.
27500         * modules/argmatch-tests (Makefile.am): List gnulib library first
27501         in LDADD.
27502         * modules/argp-tests (Makefile.am): Likewise.
27503         * modules/array-list-tests (Makefile.am): Likewise.
27504         * modules/array-oset-tests (Makefile.am): Likewise.
27505         * modules/avltree-list-tests (Makefile.am): Likewise.
27506         * modules/avltree-oset-tests (Makefile.am): Likewise.
27507         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27508         * modules/carray-list-tests (Makefile.am): Likewise.
27509         * modules/dirname-tests (Makefile.am): Likewise.
27510         * modules/frexp-tests (Makefile.am): Likewise.
27511         * modules/isnanl-tests (Makefile.am): Likewise.
27512         * modules/linked-list-tests (Makefile.am): Likewise.
27513         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27514         * modules/lock-tests (Makefile.am): Likewise.
27515         * modules/rbtree-list-tests (Makefile.am): Likewise.
27516         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27517         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27518         * modules/tls-tests (Makefile.am): Likewise.
27519         * modules/tsearch-tests (Makefile.am): Likewise.
27520         * modules/xvasprintf-tests (Makefile.am): Likewise.
27521
27522         Fix fpurge for cygwin.
27523         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
27524         value.
27525         * modules/fpurge-tests (Depends-on): Clean up trash.
27526
27527 2007-04-16  Simon Josefsson  <simon@josefsson.org>
27528
27529         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
27530
27531         * m4/autobuild.m4: Re-indent.
27532
27533 2007-04-13  Bruno Haible  <bruno@clisp.org>
27534
27535         * modules/fpurge-tests: New file.
27536         * tests/test-fpurge.c: New file.
27537
27538         * modules/fpurge: New file.
27539         * lib/fpurge.h: New file.
27540         * lib/fpurge.c: New file.
27541         * m4/fpurge.m4: New file.
27542
27543 2007-04-13  Bruno Haible  <bruno@clisp.org>
27544
27545         * modules/fbufmode-tests: New file.
27546         * tests/test-fbufmode.c: New file.
27547
27548         * modules/fbufmode: New file.
27549         * lib/fbufmode.h: New file.
27550         * lib/fbufmode.c: New file.
27551         * m4/fbufmode.m4: New file.
27552
27553 2007-04-13  Bruno Haible  <bruno@clisp.org>
27554
27555         * modules/fwritable-tests: New file.
27556         * tests/test-fwritable.c: New file.
27557
27558         * modules/fwritable: New file.
27559         * lib/fwritable.h: New file.
27560         * lib/fwritable.c: New file.
27561         * m4/fwritable.m4: New file.
27562
27563 2007-04-13  Bruno Haible  <bruno@clisp.org>
27564
27565         * modules/freadable-tests: New file.
27566         * tests/test-freadable.c: New file.
27567
27568         * modules/freadable: New file.
27569         * lib/freadable.h: New file.
27570         * lib/freadable.c: New file.
27571         * m4/freadable.m4: New file.
27572
27573 2007-04-13  Bruno Haible  <bruno@clisp.org>
27574
27575         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
27576         MOSTLYCLEANFILES.
27577
27578 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27579
27580         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
27581         gzip bootstrap.conf to avoid dragging in i18n machinery.
27582         (gnulib_tool_option): Use it.
27583
27584 2007-04-13  Bruno Haible  <bruno@clisp.org>
27585
27586         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
27587         %F directives.
27588         * tests/test-vasprintf-posix.c (test_function): Likewise.
27589         * tests/test-snprintf-posix.h (test_function): Likewise.
27590         * tests/test-sprintf-posix.h (test_function): Likewise.
27591         * tests/test-fprintf-posix.h (test_function): Likewise.
27592         * tests/test-printf-posix.h (test_function): Likewise.
27593         * tests/test-fprintf-posix.out: Likewise.
27594
27595 2007-04-13  Bruno Haible  <bruno@clisp.org>
27596
27597         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
27598         * modules/tls-tests (configure.ac): Likewise.
27599         Reported by Arto C. Nirkko <anirkko@insel.ch>.
27600
27601 2007-04-13  Bruno Haible  <bruno@clisp.org>
27602
27603         * lib/tls.c (glthread_tls_get): Fix return type.
27604         Patch by Arto C. Nirkko <anirkko@insel.ch>.
27605
27606 2007-04-12  Eric Blake  <ebb9@byu.net>
27607
27608         * modules/gettime (Depends-on): Remove gettime.
27609         Reported by Dmitry V. Levin.
27610
27611 2007-04-12  Bruno Haible  <bruno@clisp.org>
27612
27613         * modules/fflush (Include): Mention <stdio.h>.
27614         * modules/strtoimax (Include): Mention <inttypes.h>.
27615         * modules/strtoumax (Include): Likewise.
27616
27617 2007-04-12  Eric Blake  <ebb9@byu.net>
27618
27619         * .cvsignore: New file.
27620         * .gitignore: Likewise.
27621
27622 2007-04-12  Bruno Haible  <bruno@clisp.org>
27623
27624         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
27625         not before, since $(LDADD) often contains libgnu.a.
27626         * modules/striconv-tests (test_striconv_LDADD): Likewise.
27627         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
27628         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
27629         Needed on Cygwin.
27630
27631 2007-04-12  Eric Blake  <ebb9@byu.net>
27632
27633         Work around glibc's failure to flush stdin on fclose.
27634         * lib/closein.c (close_stdin): Flush stdin before closing.
27635
27636         Work around glibc's failure to reset seekable stdin on exit.
27637         * modules/closein: New module.
27638         * lib/closein.c: New file.
27639         * lib/closein.h: Likewise.
27640         * m4/closein.m4: Likewise.
27641         * MODULES.html.sh (File stream based Input/Output): Document it.
27642
27643 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27644
27645         * gnulib-tool: Rename generated 'autobuild' script to
27646         'do-autobuild' in --create-megatestdir output.
27647
27648         * doc/gnulib.texi (Build robot for gnulib): Fix.
27649
27650 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27651
27652         * modules/sysexits (Depends-on): Add absolute-header.
27653
27654 2007-04-12  Eric Blake  <ebb9@byu.net>
27655
27656         No need to preserve errno on success.
27657         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
27658         Reported by Bruno Haible.
27659
27660 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27661
27662         * MODULES.html.sh (Support for maintaining and releasing
27663         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
27664
27665 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27666
27667         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
27668
27669 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27670
27671         * modules/autobuild: New module.
27672
27673         * m4/autobuild.m4: New file.
27674
27675 2007-04-11  Bruno Haible  <bruno@clisp.org>
27676
27677         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
27678         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
27679         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
27680         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
27681         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27682         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27683         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27684         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27685         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27686         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27687         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
27688         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27689         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27690         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
27691         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27692         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
27694         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27695         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27696         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
27697         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27698         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
27700         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27701         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27702         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
27703         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27704         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27705         Reported by Eric Blake.
27706
27707 2007-04-11  Bruno Haible  <bruno@clisp.org>
27708
27709         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
27710
27711 2007-04-10  Bruno Haible  <bruno@clisp.org>
27712
27713         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
27714         for NaN and Infinity. Needed on FreeBSD 6.1.
27715         * tests/test-vasnprintf-posix.c (test_function): Undo last change
27716         regarding results for "%010a" of Infinity and NaN.
27717         * tests/test-vasprintf-posix.c (test_function): Likewise.
27718         * tests/test-snprintf-posix.h (test_function): Likewise.
27719         * tests/test-sprintf-posix.h (test_function): Likewise.
27720         * tests/test-fprintf-posix.h (test_function): Likewise.
27721         * tests/test-printf-posix.h (test_function): Likewise.
27722         * tests/test-fprintf-posix.out: Likewise.
27723
27724 2007-04-10  Bruno Haible  <bruno@clisp.org>
27725
27726         * modules/locale-tests: New file.
27727         * tests/test-locale.c: New file.
27728
27729         * modules/locale: New file.
27730         * lib/locale_.h: New file.
27731         * m4/locale_h.m4: New file.
27732
27733 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
27734             Bruno Haible  <bruno@clisp.org>
27735
27736         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
27737         be determined, test for availability of the copysignf, copysign,
27738         copysignl functions.
27739         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
27740         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
27741         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
27742
27743 2007-04-09  Eric Blake  <ebb9@byu.net>
27744
27745         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
27746         * modules/stdio (Makefile.am): Support fflush.
27747         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27748         * modules/fflush: New file.
27749         * lib/fflush.c: Likewise.
27750         * m4/fflush.m4: Likewise.
27751         * modules/fflush-tests: New test.
27752         * tests/test-fflush.c: Likewise.
27753         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
27754
27755 2007-04-06  Bruno Haible  <bruno@clisp.org>
27756
27757         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
27758         (VASNPRINTF): Use signbit for faster determination whether to print a
27759         minus sign.
27760         * modules/vasnprintf (Files): Remove lib/float+.h.
27761         * modules/fprintf-posix (Depends-on): Add signbit.
27762         * modules/snprintf-posix (Depends-on): Likewise.
27763         * modules/sprintf-posix (Depends-on): Likewise.
27764         * modules/vasnprintf-posix (Depends-on): Likewise.
27765         * modules/vasprintf-posix (Depends-on): Likewise.
27766         * modules/vfprintf-posix (Depends-on): Likewise.
27767         * modules/vsnprintf-posix (Depends-on): Likewise.
27768         * modules/vsprintf-posix (Depends-on): Likewise.
27769
27770 2007-04-06  Bruno Haible  <bruno@clisp.org>
27771
27772         * tests/test-frexp.c (main): Test also the sign bit of zero results.
27773         * tests/test-frexpl.c (main): Likewise.
27774         * tests/test-ldexpl.c (main): Likewise.
27775         * modules/frexp-tests (Depends-on): Add signbit.
27776         * modules/frexpl-tests (Depdends-on): Likewise.
27777         * modules/ldexpl-tests (Depdends-on): Likewise.
27778
27779 2007-04-06  Bruno Haible  <bruno@clisp.org>
27780
27781         * modules/signbit-tests: New file.
27782         * tests/test-signbit.c: New file.
27783
27784         * modules/signbit: New file.
27785         * lib/signbitf.c: New file.
27786         * lib/signbitd.c: New file.
27787         * lib/signbitl.c: New file.
27788         * m4/signbit.m4: New file.
27789         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
27790         (signbit): New macro.
27791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
27792         REPLACE_SIGNBIT.
27793         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
27794         REPLACE_FREXPL into math.h.
27795
27796 2007-04-06  Bruno Haible  <bruno@clisp.org>
27797
27798         * modules/isnanf-nolibm-tests: New file.
27799         * tests/test-isnanf.c: New file.
27800
27801         * modules/isnanf-nolibm: New file.
27802         * lib/isnanf.h: New file.
27803         * lib/isnanf.c: New file.
27804         * lib/isnan.c: Consider the USE_FLOAT macro.
27805         * m4/isnanf.m4: New file.
27806
27807 2007-04-06  Bruno Haible  <bruno@clisp.org>
27808
27809         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
27810         (Link): New section.
27811
27812         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
27813
27814 2007-04-06  Bruno Haible  <bruno@clisp.org>
27815
27816         Assume the 'long double' type.
27817         * m4/longdouble.m4: Remove file.
27818         * config/srclist.txt: Don't mention longdouble.m4.
27819         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
27820         * lib/float+.h: Likewise.
27821         * lib/frexp.c: Likewise.
27822         * lib/printf-args.h: Likewise.
27823         * lib/printf-args.c: Likewise.
27824         * lib/printf-frexp.c: Likewise.
27825         * lib/printf-parse.c: Likewise.
27826         * lib/vasnprintf.c: Likewise.
27827         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
27828         * m4/intl.m4: Likewise.
27829         * m4/isnanl.m4: Likewise.
27830         * m4/printf.m4: Likewise.
27831         * m4/printf-frexpl.m4: Likewise.
27832         * m4/vasnprintf.m4: Likewise.
27833         * modules/allocsa (Files): Remove m4/longdouble.m4.
27834         * modules/gettext (Files): Likewise.
27835         * modules/relocatable-prog-wrapper (Files): Likewise.
27836         * modules/vasnprintf (Files): Likewise.
27837         * modules/isnanl (Files): Likewise.
27838         (Include): Simplify.
27839         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
27840         (Include): Simplify.
27841         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
27842         (Include): Simplify.
27843         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
27844         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27845         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
27846         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27847         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
27848         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27849         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
27850         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27851         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
27852         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27853         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
27854         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27855         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
27856         * tests/test-isnanl.c: Likewise.
27857         * tests/test-snprintf-posix.h: Likewise.
27858         * tests/test-sprintf-posix.h: Likewise.
27859         * tests/test-vasnprintf-posix.c: Likewise.
27860         * tests/test-vasnprintf-posix2.c: Likewise.
27861         * tests/test-vasprintf-posix.c: Likewise.
27862
27863 2007-04-06  Bruno Haible  <bruno@clisp.org>
27864
27865         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
27866         * lib/math_.h [__DECC]: Include the overridden include file through
27867         #include_next, outside the double-inclusion guard.
27868         * lib/stdio_.h [__DECC]: Likewise.
27869         * lib/stdlib_.h [__DECC]: Likewise.
27870         * lib/string_.h [__DECC]: Likewise.
27871         * lib/time_.h [__DECC]: Likewise.
27872         * lib/wchar_.h [__DECC]: Likewise.
27873         * lib/wctype_.h [__DECC]: Likewise.
27874         * lib/inttypes_.h [__DECC]: Likewise.
27875         Reported by Albert Chin <china@thewrittenword.com> in
27876         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
27877
27878 2007-04-04  Eric Blake  <ebb9@byu.net>
27879
27880         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
27881         1.5.x.
27882
27883 2007-04-04  Bruno Haible  <bruno@clisp.org>
27884
27885         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
27886         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
27887
27888 2007-04-04  Bruno Haible  <bruno@clisp.org>
27889
27890         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
27891         results for "%010a" of Infinity and NaN.
27892         * tests/test-vasprintf-posix.c (test_function): Likewise.
27893         * tests/test-snprintf-posix.h (test_function): Likewise.
27894         * tests/test-sprintf-posix.h (test_function): Likewise.
27895         * tests/test-fprintf-posix.h (test_function): Remove these tests.
27896         * tests/test-printf-posix.h (test_function): Likewise.
27897         * tests/test-fprintf-posix.out: Update.
27898         Needed for FreeBSD 6.1.
27899
27900 2007-04-04  Bruno Haible  <bruno@clisp.org>
27901
27902         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
27903         directly used by the gnulib modules nor by gnulib-tool.
27904
27905 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
27906
27907         * DEPENDENCIES: Give overall description of version dependency
27908         desirability.  Use more-typical names for apps.
27909         Add shell, coreutils, diffutils, grep, tar, gzip.
27910
27911 2007-04-04  Simon Josefsson  <simon@josefsson.org>
27912
27913         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
27914
27915 2007-04-04  Karl Berry  <karl@gnu.org>
27916
27917         * MODULES.html.sh (func_module): missing '.
27918
27919 2007-04-03  Bruno Haible  <bruno@clisp.org>
27920
27921         * modules/argmatch-tests (Makefile.am): New variable
27922         test_argmatch_LDADD.
27923         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
27924         * modules/array-list-tests (Makefile.am): New variable
27925         test_array_list_LDADD.
27926         * modules/array-oset-tests (Makefile.am): New variable
27927         test_array_oset_LDADD.
27928         * modules/avltree-list-tests (Makefile.am): New variable
27929         test_avltree_list_LDADD.
27930         * modules/avltree-oset-tests (Makefile.am): New variable
27931         test_avltree_oset_LDADD.
27932         * modules/avltreehash-list-tests (Makefile.am): New variable
27933         test_avltreehash_list_LDADD.
27934         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
27935         test_canonicalize_lgpl_LDADD.
27936         * modules/carray-list-tests (Makefile.am): New variable
27937         test_carray_list_LDADD.
27938         * modules/dirname-tests (Makefile.am): New variable
27939         test_dirname_LDADD.
27940         * modules/linked-list-tests (Makefile.am): New variable
27941         test_linked_list_LDADD.
27942         * modules/linkedhash-list-tests (Makefile.am): New variable
27943         test_linkedhash_list_LDADD.
27944         * modules/rbtree-list-tests (Makefile.am): New variable
27945         test_rbtree_list_LDADD.
27946         * modules/rbtree-oset-tests (Makefile.am): New variable
27947         test_rbtree_oset_LDADD.
27948         * modules/rbtreehash-list-tests (Makefile.am): New variable
27949         test_rbtreehash_list_LDADD.
27950         * modules/xvasprintf-tests (Makefile.am): New variable
27951         test_xvasprintf_LDADD.
27952         Reported by Eric Blake.
27953
27954 2007-04-03  Eric Blake  <ebb9@byu.net>
27955
27956         * DEPENDENCIES: Weaken m4 requirements.
27957
27958 2007-04-03  Bruno Haible  <bruno@clisp.org>
27959
27960         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
27961         * modules/isnanl-tests (configure.ac): Likewise.
27962
27963 2007-04-03  Ben Pfaff  <blp@gnu.org>
27964
27965         * modules/iconv_open: Add $(srcdir)/ to source directory
27966         references in Makefile fragments that call gperf, to fix VPATH
27967         builds.
27968
27969 2007-04-03  Bruno Haible  <bruno@clisp.org>
27970
27971         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
27972         * lib/ldexpl.c: Undo last change.
27973
27974 2007-04-03  Bruno Haible  <bruno@clisp.org>
27975
27976         * modules/printf-frexpl (Depends-on): Undo last change.
27977         (Files): Add m4/ldexpl.m4.
27978
27979 2007-04-03  Bruno Haible  <bruno@clisp.org>
27980
27981         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
27982         * modules/isnanl (Link): New section.
27983
27984         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
27985         * modules/frexp (Link): New section.
27986
27987         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
27988         * modules/frexpl (Link): New section.
27989
27990         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
27991         * modules/ldexpl (Link): New section.
27992
27993 2007-04-03  Bruno Haible  <bruno@clisp.org>
27994
27995         * modules/TEMPLATE-EXTENDED: New file.
27996         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
27997
27998 2007-04-03  Bruno Haible  <bruno@clisp.org>
27999
28000         * DEPENDENCIES: New file.
28001         Suggested by Simon Josefsson.
28002
28003 2007-04-03  Bruno Haible  <bruno@clisp.org>
28004
28005         * doc/gnulib.texi: Escape @.
28006
28007 2007-04-03  James Youngman  <jay@gnu.org>
28008         and Paul Eggert  <eggert@cs.ucla.edu>
28009
28010         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
28011         birthtime on all systems that have birthtime, not just those which
28012         use st_birthtimensec rather than st_birthtim.  Putting zero in
28013         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
28014         that the birth time is not available for files on an NFS mount.
28015
28016 2007-04-03  Simon Josefsson  <simon@josefsson.org>
28017
28018         * modules/memxor: Move back from crypto/, suggested by Bruno.
28019         * modules/crypto/hmac-sha1: Fix memxor dependency.
28020
28021         * modules/crypto/gc: Moved from ../.
28022
28023 2007-04-02  Eric Blake  <ebb9@byu.net>
28024
28025         * lib/ldexpl.c (includes): Avoid libm.
28026
28027         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
28028
28029 2007-04-02  Bruno Haible  <bruno@clisp.org>
28030
28031         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
28032         on IRIX.
28033
28034 2007-04-02  Bruno Haible  <bruno@clisp.org>
28035
28036         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
28037         x86 or x86_64 platforms running MacOS X.
28038         Reported by Ryan Schmidt <@ryandesign.com>.
28039
28040 2007-04-02  Bruno Haible  <bruno@clisp.org>
28041
28042         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
28043         i386.
28044
28045 2007-04-01  Simon Josefsson  <simon@josefsson.org>
28046
28047         * modules/crypto/arcfour: Moved from ../.
28048         * modules/crypto/arcfour-tests: Moved from ../.
28049         * modules/crypto/arctwo: Moved from ../.
28050         * modules/crypto/arctwo-tests: Moved from ../.
28051         * modules/crypto/des: Moved from ../.
28052         * modules/crypto/des-tests: Moved from ../.
28053         * modules/crypto/gc-arcfour: Moved from ../.
28054         * modules/crypto/gc-arcfour-tests: Moved from ../.
28055         * modules/crypto/gc-arctwo: Moved from ../.
28056         * modules/crypto/gc-arctwo-tests: Moved from ../.
28057         * modules/crypto/gc-des: Moved from ../.
28058         * modules/crypto/gc-des-tests: Moved from ../.
28059         * modules/crypto/gc-hmac-md5: Moved from ../.
28060         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
28061         * modules/crypto/gc-hmac-sha1: Moved from ../.
28062         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
28063         * modules/crypto/gc-md2: Moved from ../.
28064         * modules/crypto/gc-md2-tests: Moved from ../.
28065         * modules/crypto/gc-md4: Moved from ../.
28066         * modules/crypto/gc-md4-tests: Moved from ../.
28067         * modules/crypto/gc-md5: Moved from ../.
28068         * modules/crypto/gc-md5-tests: Moved from ../.
28069         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
28070         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
28071         * modules/crypto/gc-random: Moved from ../.
28072         * modules/crypto/gc-rijndael: Moved from ../.
28073         * modules/crypto/gc-rijndael-tests: Moved from ../.
28074         * modules/crypto/gc-sha1: Moved from ../.
28075         * modules/crypto/gc-sha1-tests: Moved from ../.
28076         * modules/crypto/gc-tests: Moved from ../.
28077         * modules/crypto/hmac-md5: Moved from ../.
28078         * modules/crypto/hmac-md5-tests: Moved from ../.
28079         * modules/crypto/hmac-sha1: Moved from ../.
28080         * modules/crypto/hmac-sha1-tests: Moved from ../.
28081         * modules/crypto/md2: Moved from ../.
28082         * modules/crypto/md2-tests: Moved from ../.
28083         * modules/crypto/md4: Moved from ../.
28084         * modules/crypto/md4-tests: Moved from ../.
28085         * modules/crypto/md5: Moved from ../.
28086         * modules/crypto/md5-tests: Moved from ../.
28087         * modules/crypto/memxor: Moved from ../.
28088         * modules/crypto/rijndael: Moved from ../.
28089         * modules/crypto/rijndael-tests: Moved from ../.
28090         * modules/crypto/sha1: Moved from ../.
28091
28092 2007-03-30  James Youngman  <jay@gnu.org>
28093
28094         * tests/test-stat-time.c (prepare_test): use chmod() rather than
28095         rename() to change the ctime of a file (because ctime is unaffected
28096         by rename on jfs2 on AIX 5.1).
28097         (main): Start by doing cleanup, in case a previous run failed leaving
28098         test files behind.
28099
28100 2007-03-31  Bruno Haible  <bruno@clisp.org>
28101
28102         Support old proprietary implementations of iconv.
28103         * modules/iconv_open: New file.
28104         * lib/iconv_.h: New file.
28105         * m4/iconv_h.m4: New file.
28106         * lib/iconv_open.c: New file.
28107         * lib/iconv_open-aix.gperf: New file.
28108         * lib/iconv_open-hpux.gperf: New file.
28109         * lib/iconv_open-irix.gperf: New file.
28110         * lib/iconv_open-osf.gperf: New file.
28111         * m4/iconv_open.m4: New file.
28112         * modules/linebreak (Depends-on): Add iconv_open.
28113         * modules/striconv (Depends-on): Likewise.
28114         * modules/striconveh (Depends-on): Likewise.
28115         * modules/unicodeio (Depends-on): Likewise.
28116         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
28117         (iconv_t)(-1).
28118         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
28119         conversion if cd is (iconv_t)(-1).
28120         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
28121         is not possible.
28122
28123 2007-03-31  Bruno Haible  <bruno@clisp.org>
28124
28125         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
28126         work on Solaris either. Protect also second use of "autodetect_jp".
28127
28128 2007-03-31  Bruno Haible  <bruno@clisp.org>
28129
28130         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
28131         the function is not present.
28132
28133 2007-03-31  Bruno Haible  <bruno@clisp.org>
28134
28135         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
28136         the function is not present.
28137
28138 2007-03-31  Bruno Haible  <bruno@clisp.org>
28139
28140         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
28141         a bug in HP-UX iconv_open().
28142
28143 2007-03-31  Bruno Haible  <bruno@clisp.org>
28144
28145         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
28146         (Mathematics <math.h>): New section, add fpieee.
28147         (Input/output <stdio.h>): Add fseterr.
28148         (Mathematics <math.h>): New section, add printf-frexp.
28149         (Container data structures): Add sublist.
28150         (Core language properties): Add fpucw, inline.
28151         (Functions for greatest-width integer types <inttypes.h>): Add
28152         imaxabs, imaxdiv, inttypes.
28153         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
28154         isnanl-nolibm, ldexp.
28155         (Mathematics <math.h>): New section, add printf-frexpl.
28156         (Support for systems lacking POSIX:2001): Add fprintf-posix,
28157         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
28158         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
28159         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
28160         (Unicode string functions): Add unistr/u*-mbtoucr.
28161         (Java): Add javacomp-script, javaexec-script.
28162         (C#): Add csharpcomp-script, csharpexec-script.
28163         (Support for building libraries and executables): Add havelib,
28164         relocatable-*.
28165         (Support for maintaining and releasing projects): Renamed from
28166         'Support for maintaining and release projects'. Add announce-gen.
28167
28168 2007-03-31  Bruno Haible  <bruno@clisp.org>
28169
28170         * README: Talk primarily about git.
28171         (git and CVS): Renamed from CVS.
28172         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
28173         gnulib is available through git.
28174         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
28175
28176 2007-03-30  Bruno Haible  <bruno@clisp.org>
28177
28178         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
28179         * lib/poll_.h: Likewise.
28180         * lib/stat_.h: Likewise.
28181         * lib/sys_time_.h: Likewise.
28182         * lib/sysexit_.h: Likewise.
28183         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
28184         * lib/stdbool_.h: Likewise.
28185         * lib/byteswap_.h: Add double-inclusion guard.
28186
28187 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
28188
28189         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
28190
28191 2007-03-30  Karl Berry  <karl@gnu.org>
28192
28193         * config/srclist-update: double space after USA in the license
28194         substitution, since that's how it's usually (?) written.
28195
28196 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
28197
28198         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
28199         reported by Bruno Haible.
28200
28201 2007-03-29  Bruno Haible  <bruno@clisp.org>
28202
28203         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
28204         a bug in AIX iconv().
28205
28206 2007-03-29  Bruno Haible  <bruno@clisp.org>
28207
28208         * modules/ldexpl-tests: New file.
28209         * tests/test-ldexpl.c: New file.
28210
28211 2007-03-29  Bruno Haible  <bruno@clisp.org>
28212
28213         * lib/ldexpl.c: Include fpucw.h.
28214         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
28215         multiplication.
28216         * modules/ldexpl (Depends-on): Add fpucw.
28217
28218 2007-03-29  Bruno Haible  <bruno@clisp.org>
28219
28220         * modules/ldexpl: New file.
28221         * m4/ldexpl.m4: New file.
28222         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
28223         set.
28224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
28225         REPLACE_LDEXPL.
28226         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
28227         REPLACE_LDEXPL.
28228         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
28229         gl_FUNC_LDEXPL_WORKS.
28230         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
28231         * modules/mathl (Files): Remove lib/ldexpl.c.
28232         (Depends-on): Add ldexpl.
28233
28234 2007-03-29  Bruno Haible  <bruno@clisp.org>
28235
28236         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
28237
28238 2007-03-29  Bruno Haible  <bruno@clisp.org>
28239
28240         * tests/test-striconveh.c (main): Don't assume that a direct conversion
28241         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
28242         and possibly also HP-UX.
28243         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
28244         work on AIX, IRIX, HP-UX, OSF/1.
28245         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
28246         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
28247         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
28248         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
28249         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
28250         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
28251
28252 2007-03-29  Bruno Haible  <bruno@clisp.org>
28253
28254         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
28255
28256 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
28257
28258         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
28259         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
28260
28261 2007-03-29  Eric Blake  <ebb9@byu.net>
28262
28263         * lib/acl-internal.h: Remove redundant include.
28264         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
28265         Cygwin when a file is locked.
28266
28267 2007-03-29  Bruno Haible  <bruno@clisp.org>
28268
28269         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
28270         file.
28271         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
28272
28273 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
28274
28275         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
28276         try to remove a parent directory if the child couldn't be removed
28277         (except for the first rmdir, which could fail because the child
28278         doesn't exist).  Problem reported by Jeff Blaine in
28279         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
28280
28281 2007-03-28  Bruno Haible  <bruno@clisp.org>
28282
28283         * lib/striconveh.c (utf8conv_carefully): New function.
28284         (mem_cd_iconveh_internal): Invoke it.
28285
28286 2007-03-28  Bruno Haible  <bruno@clisp.org>
28287
28288         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
28289         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
28290         input.
28291         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
28292         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
28293         unistr/u8-uctomb.
28294
28295 2007-03-28  Bruno Haible  <bruno@clisp.org>
28296
28297         * modules/unistr/u8-mbtoucr: New file.
28298         * lib/unistr/u8-mbtoucr.c: New file.
28299         * modules/unistr/u16-mbtoucr: New file.
28300         * lib/unistr/u16-mbtoucr.c: New file.
28301         * modules/unistr/u16-mbtoucr: New file.
28302         * lib/unistr/u16-mbtoucr.c: New file.
28303         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
28304
28305 2007-03-27  Simon Josefsson  <simon@josefsson.org>
28306             Bruno Haible  <bruno@clisp.org>
28307
28308         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
28309         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
28310         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
28311
28312         * m4/stdio_h.m4: Add stubs for vasprintf too.
28313
28314         * modules/stdio: Support vasprintf in sed command.
28315
28316         * modules/vasprintf: Depend on stdio for prototypes.  Remove
28317         vasprintf.h.  Add stdio module indicator.
28318
28319         * lib/stdio_.h: Declare asprintf and vasprintf, based on
28320         vasprintf.h.
28321
28322         * lib/vasprintf.h: File removed.
28323
28324         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
28325         * lib/vasprintf.c: Ditto.
28326         * lib/xvasprintf.c: Ditto.
28327         * tests/test-vasprintf-posix.c: Ditto.
28328         * tests/test-vasprintf.c: Ditto.
28329
28330 2007-03-27  Bruno Haible  <bruno@clisp.org>
28331
28332         Make vasnprintf multithread-safe.
28333         * lib/vasnprintf.c (decimal_point_char): New function.
28334         (VASNPRINTF): Use it.
28335         Suggested by Simon Josefsson.
28336
28337 2007-03-27  Eric Blake  <ebb9@byu.net>
28338
28339         Support sub-second birthtime on cygwin.
28340         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
28341         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
28342         (get_stat_birthtime): Also work with st_birthtim.
28343
28344 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
28345
28346         * lib/stat-time.h (USE_BIRTHTIME): Remove.
28347         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
28348         (get_stat_birthtime_ns): Do not try to use "spare" fields.
28349         (get_stat_birthtime_ns): Simplify compile-time tests.
28350         (get_stat_birthtime): Change the API to look like
28351         get_stat_mtime etc., except return a negative tv_nsec on error.
28352         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
28353         Don't check for "spare" fields.
28354         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
28355         or for struct stat.st_birthtime, as these tests aren't used.
28356         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
28357
28358 2007-03-27  Bruno Haible  <bruno@clisp.org>
28359
28360         * lib/stat-time.h: Include <sys/stat.h>.
28361
28362 2007-03-27  James Youngman  <jay@gnu.org>
28363
28364         * lib/stat-time.h (get_stat_birthtime): New function for
28365           retrieving st_birthtime as provided by UFS2 (hence *BSD).
28366         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
28367           and its variants.
28368         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
28369         * modules/stat-time-test: New file.
28370         * tests/test-stat-time.c: New test, devised by Bruno Haible.
28371
28372 2007-03-26  Bruno Haible  <bruno@clisp.org>
28373
28374         Better support of signalling NaNs.
28375         * lib/atanl.c: Include isnanl.h.
28376         (atanl): Perform test for NaN at the beginning of the function and
28377         through a call to isnanl.
28378         * lib/cosl.c: Include isnanl.h.
28379         (cosl): Perform test for NaN at the beginning of the function and
28380         through a call to isnanl.
28381         * lib/ldexpl.c: Include isnanl.h.
28382         (ldexpl): Perform test for NaN through a call to isnanl.
28383         * lib/logl.c: Include isnanl.h.
28384         (logl): Perform test for NaN at the beginning of the function and
28385         through a call to isnanl.
28386         * lib/sinl.c: Include isnanl.h.
28387         (sinl): Perform test for NaN at the beginning of the function and
28388         through a call to isnanl.
28389         * lib/sqrtl.c: Include isnanl.h.
28390         (sqrtl): Perform test for NaN at the beginning of the function and
28391         through a call to isnanl.
28392         * lib/tanl.c: Include isnanl.h.
28393         (tanl): Perform test for NaN at the beginning of the function and
28394         through a call to isnanl.
28395         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
28396         * modules/mathl (Depends-on): Add isnanl.
28397
28398 2007-03-26  Eric Blake  <ebb9@byu.net>
28399
28400         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
28401         regression in logic sense of previous patch.
28402
28403 2007-03-26  Bruno Haible  <bruno@clisp.org>
28404
28405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
28406         unportable shell command "if ! ...".
28407         Reported by Ralf Wildenhues.
28408
28409 2007-03-25  Bruno Haible  <bruno@clisp.org>
28410
28411         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
28412         <sysexits.h> file, and only add EX_CONFIG.
28413         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
28414         absolute file name and whether it is sufficient. Substitute also
28415         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
28416         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
28417         ABSOLUTE_SYSEXITS_H into sysexits.h.
28418
28419 2007-03-25  Bruno Haible  <bruno@clisp.org>
28420
28421         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
28422         hints is NULL.
28423
28424 2007-03-25  Bruno Haible  <bruno@clisp.org>
28425
28426         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
28427         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
28428
28429 2007-03-25  Bruno Haible  <bruno@clisp.org>
28430
28431         * lib/vasnprintf.c: Include langinfo.h.
28432         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
28433         multithread-safe.
28434         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
28435         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
28436         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28438         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28439         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28440         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28441         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
28442         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28443         Reported by Simon Josefsson.
28444
28445 2007-03-25  Bruno Haible  <bruno@clisp.org>
28446
28447         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
28448         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
28449         * modules/vasnprintf (Depends-on): Add stdint.
28450
28451 2007-03-25  Bruno Haible  <bruno@clisp.org>
28452
28453         * modules/fpieee: New file.
28454         * m4/fpieee.m4: New file.
28455         * modules/isnan-nolibm (Depends-on): Add fpieee.
28456         * modules/isnanl-nolibm (Depends-on): Add fpieee.
28457         * modules/isnanl (Depends-on): Add fpieee.
28458
28459 2007-03-25  Bruno Haible  <bruno@clisp.org>
28460
28461         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
28462
28463 2007-03-25  Bruno Haible  <bruno@clisp.org>
28464
28465         Avoid test failures on IRIX 6.5.
28466         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
28467         (main): Use it.
28468         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
28469         macros.
28470         (main): Use them.
28471
28472 2007-03-25  Bruno Haible  <bruno@clisp.org>
28473
28474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
28475         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
28476         exists but doesn't work.
28477         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
28478         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
28479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
28480         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
28481
28482 2007-03-25  Bruno Haible  <bruno@clisp.org>
28483
28484         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
28485         returns inf. Needed on IRIX 6.5.
28486
28487 2007-03-25  Bruno Haible  <bruno@clisp.org>
28488
28489         * tests/test-frexpl.c: Include isnanl-nolibm.h.
28490         (main): Use isnanl instead of x != x idiom.
28491         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
28492
28493         * tests/test-frexp.c: Include isnan.h.
28494         (main): Use isnan instead of x != x idiom.
28495         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
28496
28497 2007-03-25  Bruno Haible  <bruno@clisp.org>
28498
28499         * tests/test-frexp.c (NaN): New function/macro.
28500         (main): Use it instead of 0.0 / 0.0.
28501         * tests/test-isnan.c (NaN): New function/macro.
28502         (main): Use it instead of 0.0 / 0.0.
28503         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
28504         (test_function): Use it instead of 0.0 / 0.0.
28505         * tests/test-vasprintf-posix.c (NaN): New function/macro.
28506         (test_function): Use it instead of 0.0 / 0.0.
28507         * tests/test-snprintf-posix.h (NaN): New function/macro.
28508         (test_function): Use it instead of 0.0 / 0.0.
28509         * tests/test-sprintf-posix.h (NaN): New function/macro.
28510         (test_function): Use it instead of 0.0 / 0.0.
28511         * tests/test-fprintf-posix.h (NaN): New function/macro.
28512         (test_function): Use it instead of 0.0 / 0.0.
28513         * tests/test-printf-posix.h (NaN): New function/macro.
28514         (test_function): Use it instead of 0.0 / 0.0.
28515
28516         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
28517
28518 2007-03-25  Bruno Haible  <bruno@clisp.org>
28519
28520         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
28521
28522 2007-03-25  Bruno Haible  <bruno@clisp.org>
28523
28524         * lib/regexec.c (merge_state_with_log): Make static.
28525
28526 2007-03-25  Bruno Haible  <bruno@clisp.org>
28527
28528         * lib/trigl.c (kernel_rem_pio2): Make static.
28529
28530 2007-03-25  Bruno Haible  <bruno@clisp.org>
28531
28532         * lib/sincosl.c (sincosl_table): Make static.
28533
28534 2007-03-25  Bruno Haible  <bruno@clisp.org>
28535
28536         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
28537         if the compiler does not support C99.
28538
28539 2007-03-25  Bruno Haible  <bruno@clisp.org>
28540
28541         * modules/time (Makefile.am): Ensure all rule action lines start with a
28542         tab.
28543
28544 2007-03-24  Bruno Haible  <bruno@clisp.org>
28545
28546         * modules/tsearch-tests: New file.
28547         * tests/test-tsearch.sh: New file.
28548         * tests/test-tsearch.c: New file, mostly copied from glibc.
28549
28550         * modules/search-tests: New file.
28551         * tests/test-search.c: New file.
28552
28553         * modules/search: New file.
28554         * lib/search_.h: New file, incorporating lib/tsearch.h.
28555         * m4/search_h.m4: New file.
28556         * lib/tsearch.h: Remove file.
28557         * lib/tsearch.c: Include search.h instead of tsearch.h.
28558         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
28559         HAVE_TSEARCH.
28560         * modules/tsearch (Files): Remove lib/tsearch.h.
28561         (Depends-on): Add search.
28562         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
28563         (Include): Change tsearch.h into search.h.
28564
28565 2007-03-24  Bruno Haible  <bruno@clisp.org>
28566
28567         * modules/fpucw: New file.
28568         * lib/fpucw.h: New file.
28569         * lib/frexp.c: Include fpucw.h.
28570         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28571         (FUNC): Use them.
28572         * lib/printf-frexp.c: Include fpucw.h.
28573         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28574         (FUNC): Use them.
28575         * lib/vasnprintf.c: Include fpucw.h.
28576         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
28577         'long double' calculations.
28578         * tests/test-frexpl.c: Include fpucw.h.
28579         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28580         * tests/test-printf-frexpl.c: Include fpucw.h.
28581         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28582         * modules/frexpl (Depends-on): Add fpucw.
28583         * modules/printf-frexpl (Depends-on): Likewise.
28584         * modules/fprintf-posix (Depends-on): Likewise.
28585         * modules/snprintf-posix (Depends-on): Likewise.
28586         * modules/sprintf-posix (Depends-on): Likewise.
28587         * modules/vasnprintf-posix (Depends-on): Likewise.
28588         * modules/vasprintf-posix (Depends-on): Likewise.
28589         * modules/vfprintf-posix (Depends-on): Likewise.
28590         * modules/vsnprintf-posix (Depends-on): Likewise.
28591         * modules/vsprintf-posix (Depends-on): Likewise.
28592         * modules/frexpl-tests (Depends-on): Likewise.
28593         * modules/printf-frexpl-tests (Depends-on): Likewise.
28594
28595 2007-03-24  Bruno Haible  <bruno@clisp.org>
28596
28597         * lib/float+.h: New file.
28598         * lib/isnan.c: Include float+.h.
28599         (SIZE): New macro.
28600         (FUNC): Compare only SIZE bytes of the value.
28601         * lib/vasnprintf.c: Include float+.h.
28602         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
28603         SIZEOF_LDBL or SIZEOF_DBL bytes.
28604         * modules/isnan-nolibm (Files): Add lib/float+.h.
28605         * modules/isnanl-nolibm (Files): Add lib/float+.h.
28606         * modules/isnanl (Files): Add lib/float+.h.
28607         * modules/vasnprintf (Files): Add lib/float+.h.
28608
28609 2007-03-24  Bruno Haible  <bruno@clisp.org>
28610
28611         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
28612         include isnanl-nolibm.h.
28613
28614 2007-03-24  Bruno Haible  <bruno@clisp.org>
28615
28616         * tests/test-read-file.c (main): Don't produce spurious output for
28617         expected situations. Make the test fail if it encountered unexpected
28618         results.
28619
28620 2007-03-24  Bruno Haible  <bruno@clisp.org>
28621
28622         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
28623         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
28624
28625 2007-03-24  Bruno Haible  <bruno@clisp.org>
28626
28627         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
28628
28629 2007-03-24  Bruno Haible  <bruno@clisp.org>
28630
28631         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
28632         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
28633
28634         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
28635         * modules/utf8-ucs4: Turn into a symbolic link to module
28636         unistr/u8-mbtouc.
28637
28638         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
28639         utf8-ucs4-unsafe.
28640         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
28641         unistr/u8-mbtouc-unsafe.
28642
28643         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
28644         * modules/utf16-ucs4: Turn into a symbolic link to module
28645         unistr/u16-mbtouc.
28646
28647         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
28648         utf16-ucs4-unsafe.
28649         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
28650         unistr/u16-mbtouc-unsafe.
28651
28652         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
28653         * modules/ucs4-utf8: Turn into a symbolic link to module
28654         unistr/u8-ubtomb.
28655
28656         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
28657         * modules/ucs4-utf16: Turn into a symbolic link to module
28658         unistr/u16-ubtomb.
28659
28660 2007-03-24  Bruno Haible  <bruno@clisp.org>
28661
28662         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
28663         Enable the function only if HAVE_INLINE.
28664         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
28665         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28666         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
28667         Enable the function only if HAVE_INLINE.
28668         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
28669         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28670         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
28671         Enable the function only if HAVE_INLINE.
28672         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
28673         Enable the function only if HAVE_INLINE.
28674         * modules/utf8-ucs4: Update.
28675         * modules/utf8-ucs4-unsafe: Update.
28676         * modules/utf16-ucs4: Update.
28677         * modules/utf16-ucs4-unsafe: Update.
28678         * modules/ucs4-utf8: Update.
28679         * modules/ucs4-utf16: Update.
28680
28681 2007-03-24  Bruno Haible  <bruno@clisp.org>
28682
28683         * lib/utf8-ucs4.h: Remove file.
28684         * lib/utf8-ucs4-unsafe.h: Remove file.
28685         * lib/utf16-ucs4.h: Remove file.
28686         * lib/utf16-ucs4-unsafe.h: Remove file.
28687         * lib/ucs4-utf8.h: Remove file.
28688         * lib/ucs4-utf16.h: Remove file.
28689         * lib/unistr.h: Include their previous contents.
28690         * m4/utf-ucs4.m4: Remove file.
28691         * m4/ucs4-utf.m4: Remove file.
28692         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
28693         (Depends-on): Add unistr/base.
28694         (configure.ac): Remove gl_UTF_UCS4.
28695         (Makefile.am): Update.
28696         (Include): Change to unistr.h.
28697         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
28698         (Depends-on): Add unistr/base.
28699         (configure.ac): Remove gl_UTF_UCS4.
28700         (Makefile.am): Update.
28701         (Include): Change to unistr.h.
28702         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
28703         (Depends-on): Add unistr/base.
28704         (configure.ac): Remove gl_UTF_UCS4.
28705         (Makefile.am): Update.
28706         (Include): Change to unistr.h.
28707         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
28708         (Depends-on): Add unistr/base.
28709         (configure.ac): Remove gl_UTF_UCS4.
28710         (Makefile.am): Update.
28711         (Include): Change to unistr.h.
28712         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
28713         (Depends-on): Add unistr/base.
28714         (configure.ac): Remove gl_UCS4_UTF.
28715         (Makefile.am): Update.
28716         (Include): Change to unistr.h.
28717         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
28718         (Depends-on): Add unistr/base.
28719         (configure.ac): Remove gl_UCS4_UTF.
28720         (Makefile.am): Update.
28721         (Include): Change to unistr.h.
28722         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
28723         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
28724         utf8-ucs4-unsafe.h.
28725         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
28726         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
28727         utf16-ucs4-unsafe.h.
28728         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
28729         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
28730         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
28731         * lib/unistr/u8-strchr.c: Likewise.
28732         * lib/unistr/u8-strrchr.c: Likewise.
28733         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
28734         * lib/unistr/u16-strchr.c: Likewise.
28735         * lib/unistr/u16-strrchr.c: Likewise.
28736         * lib/striconveh.c: Update.
28737         * lib/linebreak.c: Update.
28738
28739 2007-03-24  Bruno Haible  <bruno@clisp.org>
28740
28741         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
28742         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
28743
28744 2007-03-22  Bruno Haible  <bruno@clisp.org>
28745
28746         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
28747
28748 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
28749
28750         * MODULES.html.sh (File system functions): New module write-any-file.
28751         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
28752         * m4/write-any-file.m4: New files.
28753
28754 2007-03-23  Eric Blake  <ebb9@byu.net>
28755
28756         * gnulib-tool: Rearrange space-tab sequences, since some editors
28757         like to eat them.
28758
28759 2007-03-23  Eric Blake  <ebb9@byu.net>
28760
28761         * lib/version-etc.c (version_etc_va): Update license wording to
28762         be more concise.  Recommended by Richard Stallman.
28763
28764 2007-03-22  Bruno Haible  <bruno@clisp.org>
28765
28766         * lib/poll.c (MSG_PEEK): New fallback definition.
28767
28768 2007-03-22  Bruno Haible  <bruno@clisp.org>
28769
28770         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
28771         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
28772         (main): Update.
28773         Fixes a compilation error on BeOS.
28774
28775 2007-03-22  Bruno Haible  <bruno@clisp.org>
28776
28777         * modules/frexpl-tests: New file.
28778         * tests/test-frexpl.c: New file.
28779
28780         * modules/frexpl: New file.
28781         * m4/frexpl.m4: New file.
28782         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
28783         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
28784         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
28785         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
28786         (Depends-on): Add frexpl. Remove isnanl-nolibm.
28787         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
28788
28789 2007-03-22  Bruno Haible  <bruno@clisp.org>
28790
28791         * lib/frexpl.c: Share code with lib/frexp.c.
28792         * modules/mathl (Files): Add lib/frexp.c.
28793         (Depends-on): Add isnanl-nolibm.
28794
28795 2007-03-22  Bruno Haible  <bruno@clisp.org>
28796
28797         * modules/printf-frexp (Files): Add m4/frexp.m4.
28798         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
28799         only if the found frexp function actually works.
28800
28801 2007-03-22  Bruno Haible  <bruno@clisp.org>
28802
28803         * lib/frexp.c: Remove older implementation that uses divisions.
28804
28805 2007-03-21  Bruno Haible  <bruno@clisp.org>
28806
28807         * modules/frexp-tests: New file.
28808         * tests/test-frexp.c: New file.
28809
28810         * modules/frexp: New file.
28811         * lib/frexp.c: New file.
28812         * m4/frexp.m4: New file.
28813         * lib/math_.h (frexp): New declaration.
28814         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
28815         REPLACE_FREXP.
28816         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
28817
28818 2007-03-21  Bruno Haible  <bruno@clisp.org>
28819
28820         * modules/isnanl-tests: New file.
28821         * tests/test-isnanl.c: New file.
28822
28823         * modules/isnanl: New file.
28824         * lib/isnanl.h: New file.
28825         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
28826         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
28827         gl_FUNC_ISNANL_WORKS.
28828         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
28829         New macros.
28830
28831 2007-03-21  Bruno Haible  <bruno@clisp.org>
28832
28833         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
28834         lib/isnanl.h.
28835         (Include): Update.
28836         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
28837         * lib/vasnprintf.c: Update.
28838         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
28839         tests/test-isnanl.h, remove tests/test-isnanl.c.
28840         (Makefile.am): Update.
28841         * tests/test-isnanl-nolibm.c: New file.
28842         * tests/test-isnanl.h: New file.
28843         * tests/test-isnanl.c: Remove file.
28844
28845 2007-03-21  Jim Meyering  <jim@meyering.net>
28846
28847         When trying to open ".", treat ESTALE like EACCES.
28848         * lib/savewd.c (savewd_save): Resort to forking not just upon
28849         failure with EACCES, but also when errno is ESTALE.
28850
28851 2007-03-20  Bruno Haible  <bruno@clisp.org>
28852
28853         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
28854         Needed on AIX 5.1. Reported by Matthew Woehlke.
28855
28856 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28857
28858         Suggestions by Bruno Haible:
28859         * lib/acl-internal.h: Include "gettext.h" rather than rolling
28860         our own.
28861         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
28862         * modules/acl (Depends-on): Add gettext.
28863
28864 2007-03-19  Bruno Haible  <bruno@clisp.org>
28865
28866         * modules/iconvme: Remove file.
28867         * lib/iconvme.h: Remove file.
28868         * lib/iconvme.c: Remove file.
28869         * m4/iconvme.m4: Remove file.
28870
28871 2007-03-19  Bruno Haible  <bruno@clisp.org>
28872
28873         * doc/relocatable-maint.texi: Break long shell script line.
28874         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
28875
28876 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28877
28878         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
28879         handle file_has_acl.
28880         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
28881         * lib/acl.c: Move header inclusions and related macro defns into
28882         lib/acl-internal.h.
28883         (S_ISLNK): Remove defn, since that's now done for us.
28884         (file_has_acl): Move to lib/file-has-acl.c.
28885         Call acl_trivial if available.  This is the crucial part of the fix.
28886         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
28887         shared within the library.  Rewrite a bit, partly to make it compatible
28888         with the GNU coding style.
28889         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
28890         Remove unnecessary double-quotes.
28891         Don't test for acl_to_text; the build will catch that.
28892         Replace acl_entries if it doesn't exist and it is needed.
28893         Check for -lsec and acl_trivial (as used on Solaris 10).
28894         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
28895         lib/file-has-acl.c.
28896         (Depends-on): Add sys_stat, for S_ISLNK.
28897
28898 2007-03-19  Ben Pfaff  <blp@gnu.org>
28899
28900         * doc/gnulib.texi: Fix typos.
28901         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
28902
28903 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28904
28905         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
28906         If size is zero here, buf must be zero.
28907
28908 2007-03-19  Simon Josefsson  <simon@josefsson.org>
28909
28910         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
28911         <bruno@clisp.org>.
28912
28913 2007-03-18  Bruno Haible  <bruno@clisp.org>
28914
28915         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
28916         Suggested by Eric Blake.
28917
28918 2007-03-18  Ben Pfaff  <blp@gnu.org>
28919
28920         * doc/relocatable.texi: Recommend using as prefix a directory
28921         that does not exist and will never be created.  Based on
28922         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
28923         and others.
28924
28925 2007-03-17  Bruno Haible  <bruno@clisp.org>
28926
28927         * lib/fchownat.c: Include lchown.h.
28928
28929 2007-03-17  Bruno Haible  <bruno@clisp.org>
28930
28931         Fix endless loop when the given allocated size was > INT_MAX.
28932         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
28933         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
28934         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
28935         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
28936         * lib/sprintf.c (sprintf): Likewise.
28937
28938 2007-03-17  Bruno Haible  <bruno@clisp.org>
28939
28940         * tests/test-argp-2.sh (func_compare): Output a context diff.
28941
28942 2007-03-17  Bruno Haible  <bruno@clisp.org>
28943
28944         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
28945         locale's decimal-point character.
28946
28947 2007-03-17  Bruno Haible  <bruno@clisp.org>
28948
28949         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
28950         before comparing it. Needed because on some platforms (e.g. x86) a
28951         'long double' occupies less bytes than sizeof (long double).
28952
28953 2007-03-17  Bruno Haible  <bruno@clisp.org>
28954
28955         * tests/test-crc.c (main): Make printf statements 64-bit clean.
28956         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
28957         * tests/test-getaddrinfo.c (simple): Likewise.
28958         * tests/test-read-file.c (main): Likewise.
28959
28960 2007-03-17  Bruno Haible  <bruno@clisp.org>
28961
28962         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
28963
28964 2007-03-17  Bruno Haible  <bruno@clisp.org>
28965
28966         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
28967         unused variable.
28968
28969 2007-03-17  Bruno Haible  <bruno@clisp.org>
28970
28971         * tests/test-c-strcasecmp.c: Include c-strcase.h.
28972         * tests/test-c-strncasecmp.c: Likewise.
28973
28974 2007-03-17  Bruno Haible  <bruno@clisp.org>
28975
28976         * modules/stdlib (Depends-on): Add unistd.
28977         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
28978         Needed for MacOS X 10.3.
28979
28980 2007-03-17  Bruno Haible  <bruno@clisp.org>
28981
28982         * lib/unistr/u-strdup.h: Include <stdlib.h>.
28983
28984 2007-03-17  Bruno Haible  <bruno@clisp.org>
28985
28986         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
28987
28988 2007-03-17  Bruno Haible  <bruno@clisp.org>
28989
28990         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
28991         to reflect files copied from gnulib (with or without modifications).
28992         Suggested by Jim Meyering.
28993
28994 2007-03-17  Eric Blake  <ebb9@byu.net>
28995
28996         * NEWS: Document stdlib change from 2007-02-18.
28997
28998 2007-03-17  Jim Meyering  <jim@meyering.net>
28999
29000         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
29001         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
29002         someone uses a name containing shell meta-characters.
29003         Reported by Alfred M. Szmidt.
29004
29005         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
29006
29007 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
29008
29009         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
29010         and copy gettext configuration files only if configure.ac contains
29011         a use of AM_GNU_GETTEXT_VERSION.
29012
29013 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
29014
29015         * build-aux/bootstrap (gnulib_name): New variable.
29016         (gnulib_tool_options): Use it.
29017
29018 2007-03-13  Simon Josefsson  <simon@josefsson.org>
29019
29020         * tests/test-des.c: Use new namespace.
29021
29022 2007-03-15  Bruno Haible  <bruno@clisp.org>
29023
29024         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
29025         Reported by James Youngman <jay@gnu.org>.
29026
29027 2007-03-15  Bruno Haible  <bruno@clisp.org>
29028
29029         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
29030         declared prototype. Needed with cc on OSF/1 5.1.
29031
29032 2007-03-15  Bruno Haible  <bruno@clisp.org>
29033
29034         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
29035         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
29036         (struct gl_list_implementation): Add dispose_fn argument to the
29037         'create_empty', 'create' methods.
29038         (struct gl_list_impl_base): Add field 'dispose_fn'.
29039         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
29040         argument.
29041         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
29042         dispose_fn argument.
29043         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
29044         dispose_fn on the dropped values.
29045         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
29046         dispose_fn argument.
29047         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
29048         dropped values.
29049         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
29050         (gl_tree_remove_node): Call dispose_fn on the dropped value.
29051         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
29052         (gl_tree_remove_node): Call dispose_fn on the dropped value.
29053         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
29054         argument.
29055         (gl_tree_list_free): Call dispose_fn on the dropped values.
29056         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
29057         the dropped values.
29058         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
29059         Add dispose_fn argument.
29060         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
29061         Call dispose_fn on the dropped values.
29062         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
29063         Add dispose_fn argument.
29064         (gl_sublist_create): Initialize the 'dispose_fn' field.
29065         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
29066         * tests/test-array_list.c (main): Update.
29067         * tests/test-carray_list.c (main): Update.
29068         * tests/test-avltree_list.c (main): Update.
29069         * tests/test-rbtree_list.c (main): Update.
29070         * tests/test-avltreehash_list.c (main): Update.
29071         * tests/test-rbtreehash_list.c (main): Update.
29072         * tests/test-linked_list.c (main): Update.
29073         * tests/test-linkedhash_list.c (main): Update.
29074         * tests/test-array_oset.c (main): Update.
29075
29076 2007-03-15  Bruno Haible  <bruno@clisp.org>
29077
29078         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
29079         (gl_oset_create_empty): Add dispose_fn argument.
29080         (struct gl_oset_implementation): Add dispose_fn argument to
29081         'create_empty' method.
29082         (struct gl_oset_impl_base): Add dispose_fn field.
29083         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
29084         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
29085         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
29086         values.
29087         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
29088         (gl_tree_oset_free): Call dispose_fn on the dropped values.
29089         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
29090         dropped value.
29091         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
29092         dropped value.
29093         * tests/test-array_oset.c (main): Update.
29094         * tests/test-avltree_oset.c (main): Update.
29095         * tests/test-rbtree_oset.c (main): Update.
29096         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
29097
29098 2007-03-13  Bruno Haible  <bruno@clisp.org>
29099
29100         * tests/test-stdbool.c (i): Update after last patch.
29101
29102 2007-03-12  Bruno Haible  <bruno@clisp.org>
29103
29104         * lib/quotearg.c: Include <wctype.h> early, before the definition of
29105         the iswprint macro. Needed on Solaris 2.5.1.
29106
29107 2007-03-12  Bruno Haible  <bruno@clisp.org>
29108
29109         * tests/test-printf-frexp.c (main): Declare x as volatile.
29110
29111 2007-03-12  Simon Josefsson  <simon@josefsson.org>
29112
29113         * doc/gnulib.texi (Build robot for gnulib): New section.
29114
29115 2007-03-12  Jim Meyering  <jim@meyering.net>
29116
29117         * build-aux/bootstrap: New file.
29118         * build-aux/bootstrap.conf: New file, from coreutils.
29119
29120 2007-03-11  Bruno Haible  <bruno@clisp.org>
29121
29122         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
29123
29124 2007-03-12  Simon Josefsson  <simon@josefsson.org>
29125
29126         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
29127         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
29128         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
29129
29130 2007-03-11  Bruno Haible  <bruno@clisp.org>
29131
29132         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
29133         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
29134
29135 2007-03-11  Bruno Haible  <bruno@clisp.org>
29136
29137         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
29138         formula. Needed for SunPRO C 5.0.
29139
29140 2007-03-11  Bruno Haible  <bruno@clisp.org>
29141
29142         * modules/long-options (Depends-on): Add getopt.
29143
29144 2007-03-11  Bruno Haible  <bruno@clisp.org>
29145
29146         * modules/modechange (Depends-on): Add stdbool.
29147
29148 2007-03-11  Bruno Haible  <bruno@clisp.org>
29149
29150         * modules/i-ring (Depends-on): Add stdbool.
29151
29152 2007-03-11  Bruno Haible  <bruno@clisp.org>
29153
29154         * modules/gc-des (Depends-on): Add stdbool.
29155
29156 2007-03-11  Bruno Haible  <bruno@clisp.org>
29157
29158         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
29159
29160 2007-03-11  Bruno Haible  <bruno@clisp.org>
29161
29162         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
29163
29164 2007-03-11  Bruno Haible  <bruno@clisp.org>
29165
29166         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
29167
29168 2007-03-11  Bruno Haible  <bruno@clisp.org>
29169
29170         * lib/vasnprintf.c (sprintf): Undefine.
29171
29172 2007-03-11  Bruno Haible  <bruno@clisp.org>
29173
29174         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
29175         initializers in SunPRO C and Compaq C compilers.
29176
29177 2007-03-11  Bruno Haible  <bruno@clisp.org>
29178
29179         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
29180         decrementing code ANSI C compliant.
29181
29182 2007-03-11  Bruno Haible  <bruno@clisp.org>
29183
29184         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
29185         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
29186
29187 2007-03-11  Bruno Haible  <bruno@clisp.org>
29188
29189         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
29190         <stdbool.h> substitute doesn't pass.
29191
29192 2007-03-11  Bruno Haible  <bruno@clisp.org>
29193
29194         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
29195
29196 2007-03-11  Bruno Haible  <bruno@clisp.org>
29197
29198         * gnulib-tool (func_create_megatestdir): Create also an autobuild
29199         script, for submission to autobuild.josefsson.org.
29200
29201 2007-03-10  Bruno Haible  <bruno@clisp.org>
29202
29203         * modules/canonicalize-lgpl-tests: New file.
29204         * tests/test-canonicalize-lgpl.sh: New file.
29205         * tests/test-canonicalize-lgpl.c: New file.
29206
29207         * modules/c-strcase-tests: New file.
29208         * tests/test-c-strcase.sh: New file.
29209         * tests/test-c-strcasecmp.c: New file.
29210         * tests/test-c-strncasecmp.c: New file.
29211
29212         * modules/atexit-tests: New file.
29213         * tests/test-atexit.sh: New file.
29214         * tests/test-atexit.c: New file.
29215
29216 2007-03-10  Bruno Haible  <bruno@clisp.org>
29217
29218         * tests/test-binary-io.sh: Use temporary filenames that are not so
29219         likely to clash with those of other tests (in a parallel make).
29220         * tests/test-binary-io.c: Likewise.
29221
29222 2007-03-10  Bruno Haible  <bruno@clisp.org>
29223
29224         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
29225         fallback; use #error instead.
29226         Suggested by Simon Josefsson.
29227
29228 2007-03-10  Bruno Haible  <bruno@clisp.org>
29229
29230         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
29231         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
29232         first and the last.
29233
29234 2007-03-10  Bruno Haible  <bruno@clisp.org>
29235
29236         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
29237
29238 2007-03-10  Bruno Haible  <bruno@clisp.org>
29239
29240         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
29241         "make distcheck".
29242         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
29243         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
29244         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
29245
29246 2007-03-10  Bruno Haible  <bruno@clisp.org>
29247
29248         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
29249         variable.
29250         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
29251         variable.
29252
29253 2007-03-09  Eric Blake  <ebb9@byu.net>
29254         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
29255
29256         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
29257         types are not being provided by gnulib.
29258         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
29259         types are supported.
29260
29261 2007-03-10  Bruno Haible  <bruno@clisp.org>
29262
29263         * lib/stdio_.h (__attribute__): New macro.
29264         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
29265         vsprintf): Specify __attribute__ __format__ for GCC.
29266         Suggested by Eric Blake.
29267
29268 2007-03-09  Bruno Haible  <bruno@clisp.org>
29269
29270         * modules/printf-posix-tests: New file.
29271         * tests/test-printf-posix.sh: New file.
29272         * tests/test-printf-posix.c: New file.
29273
29274         * modules/printf-posix: New file.
29275         * lib/printf.c: New file.
29276         * m4/printf-posix-rpl.m4: New file.
29277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
29278         REPLACE_PRINTF.
29279         * lib/stdio_.h (printf): New declaration.
29280         (format, __format__, ____printf____, ____scanf____, ____strftime____,
29281         ____strfmon____): New macros.
29282         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
29283         REPLACE_PRINTF.
29284
29285 2007-03-09  Bruno Haible  <bruno@clisp.org>
29286
29287         * tests/test-vasnprintf-posix2.sh: New file.
29288         * tests/test-vasnprintf-posix2.c: New file.
29289         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
29290         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29291         (Makefile.am): Activate test-vasnprintf-posix2.sh.
29292
29293         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
29294         a locale dependent decimal point, rather than always '.'.
29295
29296 2007-03-09  Eric Blake  <ebb9@byu.net>
29297
29298         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
29299         spite of platforms like Tandem/NSK that define it to -1.
29300
29301 2007-03-08  Bruno Haible  <bruno@clisp.org>
29302
29303         * modules/vprintf-posix-tests: New file.
29304         * tests/test-vprintf-posix.sh: New file.
29305         * tests/test-vprintf-posix.c: New file.
29306         * tests/test-printf-posix.h: New file.
29307
29308         * modules/vprintf-posix: New file.
29309         * lib/vprintf.c: New file.
29310         * m4/vprintf-posix.m4: New file.
29311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
29312         REPLACE_VPRINTF.
29313         * lib/stdio_.h (vprintf): New declaration.
29314         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
29315         REPLACE_VPRINTF.
29316
29317 2007-03-08  Bruno Haible  <bruno@clisp.org>
29318
29319         * modules/fprintf-posix-tests: New file.
29320         * tests/test-fprintf-posix.sh: New file.
29321         * tests/test-fprintf-posix.c: New file.
29322
29323         * modules/fprintf-posix: New file.
29324         * lib/fprintf.c: New file.
29325         * m4/fprintf-posix.m4: New file.
29326         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
29327         REPLACE_FPRINTF.
29328         * lib/stdio_.h (fprintf): New declaration.
29329         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
29330         REPLACE_FPRINTF.
29331
29332 2007-03-08  Bruno Haible  <bruno@clisp.org>
29333
29334         * modules/vfprintf-posix-tests: New file.
29335         * tests/test-vfprintf-posix.sh: New file.
29336         * tests/test-vfprintf-posix.c: New file.
29337         * tests/test-fprintf-posix.h: New file.
29338         * tests/test-fprintf-posix.out: New file.
29339
29340         * modules/vfprintf-posix: New file.
29341         * lib/vfprintf.c: New file.
29342         * m4/vfprintf-posix.m4: New file.
29343         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
29344         REPLACE_VFPRINTF.
29345         * lib/stdio_.h (vfprintf): New declaration.
29346         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
29347         REPLACE_VFPRINTF.
29348
29349 2007-03-08  Bruno Haible  <bruno@clisp.org>
29350
29351         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
29352
29353 2007-03-08  Bruno Haible  <bruno@clisp.org>
29354
29355         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
29356         instead of 'expr' invocations.
29357         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29358         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29359         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29360         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29361         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29362         Suggested by Paul Eggert.
29363
29364 2007-03-08  Bruno Haible  <bruno@clisp.org>
29365
29366         * modules/fseterr-tests: New file.
29367         * tests/test-fseterr.c: New file.
29368
29369         * modules/fseterr: New file.
29370         * lib/fseterr.h: New file.
29371         * lib/fseterr.c: New file.
29372
29373 2007-03-08  Bruno Haible  <bruno@clisp.org>
29374
29375         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
29376         * lib/getopt_.h: Likewise.
29377         * lib/mbswidth.h: Likewise.
29378         * lib/setenv.h: Likewise.
29379         * lib/vasnprintf.h: Likewise.
29380         * lib/vasprintf.h: Likewise.
29381         * lib/verror.h: Likewise.
29382         * lib/xsetenv.h: Likewise.
29383         * lib/xvasprintf.h: Likewise.
29384
29385 2007-03-08  Jim Meyering  <jim@meyering.net>
29386
29387         * users.txt: Add parted.
29388
29389         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
29390
29391 2007-03-07  Bruno Haible  <bruno@clisp.org>
29392
29393         * m4/printf.m4: Make the shell script snippets copy&pastable.
29394
29395 2007-03-02  Bruno Haible  <bruno@clisp.org>
29396
29397         * lib/netinet_in_.h: New file.
29398         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
29399         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
29400         * modules/netinet_in (Files): Add lib/netinet_in_.h.
29401         (Depends-on): Add absolute-header.
29402         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
29403         into netinet/in.h.
29404
29405 2007-03-03  Bruno Haible  <bruno@clisp.org>
29406
29407         * lib/sys_select_.h: New file.
29408         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
29409         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
29410         * modules/sys_select (Files): Add lib/sys_select_.h.
29411         (Depends-on): Add absolute-header.
29412         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
29413         into sys/select.h.
29414
29415 2007-03-02  Bruno Haible  <bruno@clisp.org>
29416
29417         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
29418         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
29419         values.
29420         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
29421         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
29422         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
29423         * modules/sys_socket (Depends-on): Add absolute-header.
29424         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
29425         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
29426         (Include): Remove requirement of inclusion of <sys/types.h>.
29427
29428 2007-03-02  Bruno Haible  <bruno@clisp.org>
29429
29430         * lib/byteswap_.h (bswap_32): Fix formula.
29431
29432 2007-03-06  Bruno Haible  <bruno@clisp.org>
29433
29434         * modules/sprintf-posix-tests: New file.
29435         * tests/test-sprintf-posix.c: New file.
29436
29437         * modules/sprintf-posix: New file.
29438         * lib/sprintf.c: New file.
29439         * m4/sprintf-posix.m4: New file.
29440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
29441         REPLACE_SPRINTF.
29442         * lib/stdio_.h (sprintf): New declaration.
29443         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
29444         REPLACE_SPRINTF.
29445
29446 2007-03-06  Bruno Haible  <bruno@clisp.org>
29447
29448         * modules/vsprintf-posix-tests: New file.
29449         * tests/test-vsprintf-posix.c: New file.
29450         * tests/test-sprintf-posix.h: New file.
29451
29452         * modules/vsprintf-posix: New file.
29453         * lib/vsprintf.c: New file.
29454         * m4/vsprintf-posix.m4: New file.
29455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
29456         REPLACE_VSPRINTF.
29457         * lib/stdio_.h (vsprintf): New declaration.
29458         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
29459         REPLACE_VSPRINTF.
29460
29461 2007-03-06  Bruno Haible  <bruno@clisp.org>
29462
29463         * modules/vsnprintf (Depend-on): Remove minmax.
29464
29465 2007-03-06  Bruno Haible  <bruno@clisp.org>
29466
29467         * modules/snprintf-posix-tests: New file.
29468         * tests/test-snprintf-posix.c: New file.
29469
29470         * modules/snprintf-posix: New file.
29471         * m4/snprintf-posix.m4: New file.
29472         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
29473         gl_FUNC_SNPRINTF.
29474         (gl_FUNC_SNPRINTF): Invoke it.
29475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
29476         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
29477         is set.
29478         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
29479
29480 2007-03-06  Bruno Haible  <bruno@clisp.org>
29481
29482         * modules/vsnprintf-posix-tests: New file.
29483         * tests/test-vsnprintf-posix.c: New file.
29484         * tests/test-snprintf-posix.h: New file.
29485
29486         * modules/vsnprintf-posix: New file.
29487         * m4/vsnprintf-posix.m4: New file.
29488         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
29489         gl_FUNC_VSNPRINTF.
29490         (gl_FUNC_VSNPRINTF): Invoke it.
29491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
29492         * lib/stdio_.h (vsnprintf): Define as a replacement if
29493         REPLACE_VSNPRINTF is set.
29494         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
29495
29496 2007-03-06  Bruno Haible  <bruno@clisp.org>
29497
29498         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
29499         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
29500
29501 2007-03-06  Bruno Haible  <bruno@clisp.org>
29502
29503         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
29504         (asinl): Declare also if HAVE_DECL_ASINL is set.
29505         (atanl): Declare also if HAVE_DECL_ATANL is set.
29506         (ceill): Declare also if HAVE_DECL_CEILL is set.
29507         (cosl): Declare also if HAVE_DECL_COSL is set.
29508         (expl): Declare also if HAVE_DECL_EXPL is set.
29509         (floorl): Declare also if HAVE_DECL_FLOORL is set.
29510         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
29511         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
29512         (logl): Declare also if HAVE_DECL_LOGL is set.
29513         (sinl): Declare also if HAVE_DECL_SINL is set.
29514         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
29515         (tanl): Declare also if HAVE_DECL_TANL is set.
29516         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
29517         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
29518         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
29519         declaration of frexpl, ldexpl.
29520         * modules/printf-frexpl (Depends-on): Add math.
29521         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
29522
29523 2007-03-05  Bruno Haible  <bruno@clisp.org>
29524
29525         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
29526         frexpl and ldexpl are declared.
29527         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
29528
29529 2007-03-05  Bruno Haible  <bruno@clisp.org>
29530
29531         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
29532         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
29533
29534 2007-03-05  Bruno Haible  <bruno@clisp.org>
29535
29536         * lib/stdio_.h: Include <stddef.h>.
29537
29538 2007-03-05  Bruno Haible  <bruno@clisp.org>
29539
29540         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
29541
29542 2007-03-05  Bruno Haible  <bruno@clisp.org>
29543
29544         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
29545         NetBSD 4, from Ralf Wildenhues.
29546
29547 2007-03-04  Bruno Haible  <bruno@clisp.org>
29548
29549         * lib/vasprintf.h: Update #if logic for the case when the functions
29550         exist but are overridden.
29551
29552 2007-03-04  Bruno Haible  <bruno@clisp.org>
29553
29554         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
29555         implementations: glibc-2.4 and MacOS X 10.3.
29556         * tests/test-vasnprintf-posix.c (test_function): Test also the case
29557         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
29558         * tests/test-vasprintf-posix.c (test_function): Likewise.
29559
29560 2007-03-04  Bruno Haible  <bruno@clisp.org>
29561
29562         * modules/vasprintf-posix-tests: New file.
29563         * tests/test-vasprintf-posix.c: New file.
29564
29565         * modules/vasprintf-posix: New file.
29566         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
29567         defined.
29568         * m4/vasprintf-posix.m4: New file.
29569         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
29570         gl_FUNC_VASPRINTF.
29571         (gl_FUNC_VASPRINTF): Invoke it.
29572         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
29573         here.
29574         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
29575
29576 2007-03-04  Bruno Haible  <bruno@clisp.org>
29577
29578         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
29579         REPLACE_GETTIMEOFDAY.
29580         * modules/sys_time (Makefile.am): Likewise.
29581         * m4/sys_time_h.m4: Likewise.
29582         * m4/gettimeofday.m4: Likewise.
29583
29584 2007-03-04  Bruno Haible  <bruno@clisp.org>
29585
29586         * modules/vasnprintf-posix-tests: New file.
29587         * tests/test-vasnprintf-posix.c: New file.
29588
29589         * modules/vasnprintf-posix: New file.
29590         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
29591         printf-frexpl.h.
29592         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
29593         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
29594         REPLACE_VASNPRINTF is defined.
29595         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
29596         gl_FUNC_VASNPRINTF.
29597         (gl_FUNC_VASNPRINTF): Invoke it.
29598         * m4/vasnprintf-posix.m4: New file.
29599         * m4/printf.m4: New file.
29600
29601 2007-03-04  Bruno Haible  <bruno@clisp.org>
29602
29603         Compile progreloc.c only if --enable-relocatable is specified.
29604         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
29605         if --enable-relocatable was specified.
29606         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
29607         lib_SOURCES.
29608
29609 2007-03-04  Jim Meyering  <jim@meyering.net>
29610
29611         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
29612         Use it consistently, rather than enumerating errno constants.
29613
29614 2007-03-04  Bruno Haible  <bruno@clisp.org>
29615
29616         * modules/xvasprintf-tests: New file.
29617         * tests/test-xvasprintf.c: New file.
29618
29619         * modules/vasprintf-tests: New file.
29620         * tests/test-vasprintf.c: New file.
29621
29622         * modules/vasnprintf-tests: New file.
29623         * tests/test-vasnprintf.c: New file.
29624
29625         * modules/vsnprintf-tests: New file.
29626         * tests/test-vsnprintf.c: New file.
29627
29628         * modules/snprintf-tests: New file.
29629         * tests/test-snprintf.c: New file.
29630
29631 2007-03-04  Bruno Haible  <bruno@clisp.org>
29632
29633         Compile relocatable.c only if --enable-relocatable is specified.
29634         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
29635         gl_RELOCATABLE_LIBRARY.
29636         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
29637         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
29638         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
29639         gl_RELOCATABLE_LIBRARY.
29640         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
29641         (Makefile.am): Remove lib_SOURCES.
29642         * modules/relocatable-lib-lgpl (configure.ac): Invoke
29643         gl_RELOCATABLE_LIBRARY.
29644         (Makefile.am): Remove lib_SOURCES.
29645         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
29646         always.
29647         * modules/relocatable-prog-wrapper (configure.ac): Invoke
29648         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
29649
29650 2007-03-04  Bruno Haible  <bruno@clisp.org>
29651
29652         * modules/argmatch-tests: New file.
29653         * tests/test-argmatch.c: New file.
29654
29655         * tests/test-allocsa.c (main): Halve the number of loop runs.
29656
29657         * modules/alloca-opt-tests: New file.
29658         * tests/test-alloca-opt.c: New file.
29659
29660 2007-03-04  Jim Meyering  <jim@meyering.net>
29661
29662         Work around difference between Linux ACLs and Solaris 10 ZFS.
29663         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
29664         for EINVAL.
29665
29666 2007-03-03  Bruno Haible  <bruno@clisp.org>
29667
29668         * modules/relocatable-prog (Depends-on): Add back progreloc's
29669         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
29670
29671 2007-03-03  Bruno Haible  <bruno@clisp.org>
29672
29673         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
29674         * modules/relocatable-lib: New file.
29675
29676 2007-03-03  Bruno Haible  <bruno@clisp.org>
29677
29678         * modules/relocatable-prog: Renamed from modules/relocatable.
29679         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
29680
29681 2007-03-03  Bruno Haible  <bruno@clisp.org>
29682
29683         * modules/relocatable-script (Files): Add doc/relocatable.texi,
29684         m4/relocatable-lib.m4.
29685         (Depends-on): Remove 'relocatable'.
29686         (configure.ac): Add gl_RELOCATABLE_NOP.
29687
29688 2007-03-03  Bruno Haible  <bruno@clisp.org>
29689
29690         * modules/relocatable-prog-wrapper: New file.
29691         * modules/relocatable (Depends-on): Add it. Remove all other
29692         dependencies except progname.
29693         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
29694
29695         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
29696         (gl_FUNC_STRERROR): Nop.
29697         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
29698
29699         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
29700         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
29701
29702         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
29703         (gl_FUNC_READLINK): Update.
29704
29705         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
29706
29707 2007-03-03  Bruno Haible  <bruno@clisp.org>
29708
29709         * lib/xreadlink.c: Include <unistd.h> unconditionally.
29710         * modules/xreadlink (Depends-on): Add unistd.
29711         * modules/xreadlink-with-size (Depends-on): Likewise.
29712
29713 2007-03-03  Bruno Haible  <bruno@clisp.org>
29714
29715         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
29716         extracted from gt_FUNC_SETENV.
29717         (gt_FUNC_SETENV): Remove macro.
29718         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
29719         remove gt_FUNC_SETENV.
29720
29721 2007-03-03  Bruno Haible  <bruno@clisp.org>
29722
29723         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
29724         ENABLE_RELOCATABLE here.
29725         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
29726
29727 2007-03-03  Bruno Haible  <bruno@clisp.org>
29728
29729         * modules/rbtreehash-list-tests (Depends-on): Add progname.
29730         * tests/test-rbtreehash_list.c: Include progname.h.
29731         (main): Call set_program_name.
29732
29733         * modules/rbtree-oset-tests (Depends-on): Add progname.
29734         * tests/test-rbtree_oset.c: Include progname.h.
29735         (main): Call set_program_name.
29736
29737         * modules/rbtree-list-tests (Depends-on): Add progname.
29738         * tests/test-rbtree_list.c: Include progname.h.
29739         (main): Call set_program_name.
29740
29741         * modules/linked-list-tests (Depends-on): Add progname.
29742         * tests/test-linked_list.c: Include progname.h.
29743         (main): Call set_program_name.
29744
29745 2007-03-03  Bruno Haible  <bruno@clisp.org>
29746
29747         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
29748         All uses of __restrict changed to _Restrict_.
29749         * lib/glob_.h (__restrict): Remove macro.
29750
29751 2007-03-02  Bruno Haible  <bruno@clisp.org>
29752
29753         * modules/gettext (configure.ac): Require gettext infrastructure
29754         from version 0.16.1.
29755
29756 2007-03-02  Bruno Haible  <bruno@clisp.org>
29757
29758         * modules/linkedhash-list-tests (Depends-on): Add progname.
29759         * tests/test-linkedhash_list.c: Include progname.h.
29760         (main): Call set_program_name.
29761
29762         * modules/carray-list-tests (Depends-on): Add progname.
29763         * tests/test-carray_list.c: Include progname.h.
29764         (main): Call set_program_name.
29765
29766         * modules/avltreehash-list-tests (Depends-on): Add progname.
29767         * tests/test-avltreehash_list.c: Include progname.h.
29768         (main): Call set_program_name.
29769
29770         * modules/avltree-oset-tests (Depends-on): Add progname.
29771         * tests/test-avltree_oset.c: Include progname.h.
29772         (main): Call set_program_name.
29773
29774         * modules/avltree-list-tests (Depends-on): Add progname.
29775         * tests/test-avltree_list.c: Include progname.h.
29776         (main): Call set_program_name.
29777
29778         * modules/array-oset-tests (Depends-on): Add progname.
29779         * tests/test-array_oset.c: Include progname.h.
29780         (main): Call set_program_name.
29781
29782         * modules/array-list-tests (Depends-on): Add progname.
29783         * tests/test-array_list.c: Include progname.h.
29784         (main): Call set_program_name.
29785
29786         * modules/argp-tests (Depends-on): Add progname.
29787         * tests/test-argp.c: Include argp.h first. Include progname.h.
29788         (main): Call set_program_name.
29789
29790 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29791
29792         * doc/gnulib-tool.texi (Initial import): Reword description of
29793         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
29794         limited effect even if defined after the first system include.
29795
29796 2007-03-01  Bruno Haible  <bruno@clisp.org>
29797
29798         * build-aux/config.libpath: Update to libtool-1.5.22.
29799         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29800
29801 2007-03-01  Bruno Haible  <bruno@clisp.org>
29802
29803         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
29804         foo_CFLAGS.
29805         Reported by Ralf Wildenhues.
29806
29807 2007-03-01  Bruno Haible  <bruno@clisp.org>
29808
29809         * build-aux/install-reloc: Remove object files left over by some
29810         compilers.
29811         Reported by Ralf Wildenhues.
29812
29813 2007-03-01  Bruno Haible  <bruno@clisp.org>
29814
29815         * build-aux/install-reloc: Break long lines.
29816
29817 2007-03-01  Bruno Haible  <bruno@clisp.org>
29818
29819         * doc/relocatable.texi: Document that it may not work on OpenBSD.
29820         Reported by Ralf Wildenhues.
29821
29822 2007-03-01  Bruno Haible  <bruno@clisp.org>
29823
29824         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
29825         include ordering constraints.
29826
29827 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
29828
29829         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
29830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
29831         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
29832         as another example.
29833         * lib/time_.h: Fix misspelling.
29834         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
29835         Require gl_HEADER_TIME_H_DEFAULTS.
29836         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
29837         * m4/time_r.m4 (gl_TIME_R): Likewise.
29838         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
29839
29840 2007-03-01  Bruno Haible  <bruno@clisp.org>
29841
29842         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
29843         * m4/utimens.m4 (gl_UTIMENS): Likewise.
29844
29845 2007-03-01  Jim Meyering  <jim@meyering.net>
29846
29847         * modules/xreadlink (Maintainer): Add my name.
29848         * modules/xreadlink-with-size (Depends-on): Alphabetize.
29849
29850 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
29851             Bruno Haible  <bruno@clisp.org>
29852
29853         * build-aux/install-reloc: Compile also c-ctype.c.
29854         * build-aux/relocatable.sh.in: New file.
29855         * doc/relocatable.texi: New file.
29856         * doc/relocatable-maint.texi: New file.
29857         * doc/gnulib.texi: Include relocatable-maint.texi.
29858         * lib/progreloc.c: Include unistd.h unconditionally.
29859         * lib/relocwrapper.c: Include unistd.h unconditionally.
29860         Include c-ctype.h.
29861         (add_dotbin): Use c_tolower.
29862         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
29863         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
29864         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
29865         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
29866         to m4/relocatable-lib.m4.
29867         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
29868         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
29869         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
29870         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
29871         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
29872         * modules/relocatable: New file.
29873         * modules/relocatable-lib: New file.
29874         * modules/relocatable-script: New file.
29875
29876 2007-02-28  Bruno Haible  <bruno@clisp.org>
29877
29878         Import --enable-relocatable infrastructure.
29879         * build-aux/config.libpath: New file, from GNU gettext.
29880         * build-aux/install-reloc: New file, from GNU gettext.
29881         * build-aux/reloc-ldflags: New file, from GNU gettext.
29882         * lib/relocatable.h: New file, from GNU gettext.
29883         * lib/relocatable.c: New file, from GNU gettext.
29884         * lib/relocwrapper.c: New file, from GNU gettext.
29885         * m4/relocatable.m4: New file, from GNU gettext.
29886
29887 2007-02-28  Bruno Haible  <bruno@clisp.org>
29888
29889         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
29890
29891         * modules/xreadlink: New file, from GNU gettext with modifications.
29892         * lib/xreadlink.c: New file, from GNU gettext.
29893         * lib/xreadlink.h: Add comments.
29894         (xreadlink): New declaration.
29895
29896         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
29897         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
29898         lib/xreadlink-with-size.c.
29899         (configure.ac): Remove gl_XREADLINK invocation.
29900         (Makefile.am): Augment lib_SOURCES.
29901         * m4/xreadlink.m4: Remove file.
29902         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
29903         (xreadlink_with_size): Renamed from xreadink.
29904         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
29905         * modules/canonicalize (Depends-on): Replace xreadlink with
29906         xreadlink-with-size.
29907         * lib/canonicalize.c (canonicalize_filename_mode): Update.
29908
29909 2007-02-25  Jim Meyering  <jim@meyering.net>
29910
29911         * build-aux/announce-gen: When complaining about excess arguments,
29912         list them.
29913
29914 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
29915
29916         * README: Document signed integer overflow situation more
29917         accurately.
29918
29919 2007-02-25  Bruno Haible  <bruno@clisp.org>
29920
29921         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
29922         'a' or 'A' conversion.
29923
29924 2007-02-25  Bruno Haible  <bruno@clisp.org>
29925
29926         * modules/filename: Renamed from modules/pathname.
29927         (Files): Replace lib/pathname.h with lib/filename.h. Replace
29928         lib/concatpath.c with lib/concat-filename.c.
29929         (Makefile.am): Update.
29930         (Include): Replace pathname.h with filename.h.
29931         * lib/filename.h: Renamed from lib/pathname.h.
29932         (concatenated_filename): Renamed from concatenated_pathname.
29933         * lib/concat-filename.c: Renamed from lib/concatpath.c.
29934         (concatenated_filename): Renamed from concatenated_pathname.
29935         * lib/findprog.c: Include filename.h instead of pathname.h.
29936         (find_in_path): Update.
29937         * lib/javacomp.c: Include filename.h instead of pathname.h.
29938         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
29939         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
29940         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
29941         is_oldgcj_14_13_usable, is_javac_usable): Update.
29942         * lib/javaexec.c: Include filename.h instead of pathname.h.
29943         (execute_java_class): Update.
29944         * modules/findprog: Update.
29945         * modules/javacomp: Update.
29946         * modules/javaexec: Update.
29947         * MODULES.html.sh (File system functions): Add 'filename', remove
29948         'pathname'.
29949
29950 2007-02-25  Bruno Haible  <bruno@clisp.org>
29951
29952         * modules/printf-frexpl-tests: New file.
29953         * tests/test-printf-frexpl.c: New file.
29954
29955         * modules/printf-frexpl: New file.
29956         * lib/printf-frexpl.h: New file.
29957         * lib/printf-frexpl.c: New file.
29958         * m4/printf-frexpl.m4: New file.
29959
29960 2007-02-25  Bruno Haible  <bruno@clisp.org>
29961
29962         * modules/printf-frexp-tests: New file.
29963         * tests/test-printf-frexp.c: New file.
29964
29965         * modules/printf-frexp: New file.
29966         * lib/printf-frexp.h: New file.
29967         * lib/printf-frexp.c: New file.
29968         * m4/printf-frexp.m4: New file.
29969
29970 2007-02-25  Bruno Haible  <bruno@clisp.org>
29971
29972         Assume automake >= 1.10 for the tests.
29973         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
29974         * modules/arctwo-tests: Likewise.
29975         * modules/argp-tests: Likewise.
29976         * modules/avltree-list-tests: Likewise.
29977         * modules/avltree-oset-tests: Likewise.
29978         * modules/avltreehash-list-tests: Likewise.
29979         * modules/carray-list-tests: Likewise.
29980         * modules/crc-tests: Likewise.
29981         * modules/des-tests: Likewise.
29982         * modules/gc-arcfour-tests: Likewise.
29983         * modules/gc-arctwo-tests: Likewise.
29984         * modules/gc-des-tests: Likewise.
29985         * modules/gc-hmac-md5-tests: Likewise.
29986         * modules/gc-hmac-sha1-tests: Likewise.
29987         * modules/gc-md2-tests: Likewise.
29988         * modules/gc-md4-tests: Likewise.
29989         * modules/gc-md5-tests: Likewise.
29990         * modules/gc-pbkdf2-sha1-tests: Likewise.
29991         * modules/gc-rijndael-tests: Likewise.
29992         * modules/gc-sha1-tests: Likewise.
29993         * modules/gc-tests: Likewise.
29994         * modules/getaddrinfo-tests: Likewise.
29995         * modules/hmac-md5-tests: Likewise.
29996         * modules/hmac-sha1-tests: Likewise.
29997         * modules/linked-list-tests: Likewise.
29998         * modules/linkedhash-list-tests: Likewise.
29999         * modules/lock-tests: Likewise.
30000         * modules/md2-tests: Likewise.
30001         * modules/md4-tests: Likewise.
30002         * modules/md5-tests: Likewise.
30003         * modules/rbtree-list-tests: Likewise.
30004         * modules/rbtree-oset-tests: Likewise.
30005         * modules/rbtreehash-list-tests: Likewise.
30006         * modules/read-file-tests: Likewise.
30007         * modules/rijndael-tests: Likewise.
30008         * modules/stdint-tests: Likewise.
30009         * modules/tls-tests: Likewise.
30010
30011 2007-02-24  Bruno Haible  <bruno@clisp.org>
30012
30013         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
30014         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
30015         function; instead check whether isnan with a double argument links.
30016         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
30017         function; instead check whether isnan with a 'long double' argument
30018         links.
30019         Reported by Eric Blake <ebb9@byu.net>.
30020
30021 2007-02-24  Bruno Haible  <bruno@clisp.org>
30022
30023         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
30024         defined.
30025         * lib/isnanl.c: Remove all code. Just include isnan.c.
30026         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
30027
30028 2007-02-25  Jim Meyering  <jim@meyering.net>
30029
30030         Avoid conflicting types for 'unsetenv' on FreeBSD.
30031         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
30032         conflicting with FreeBSD's (5.0 and 6.1) function declaration
30033         in stdlib.h.
30034
30035 2007-02-24  Bruno Haible  <bruno@clisp.org>
30036
30037         * modules/isnanl-nolibm-tests: New file.
30038         * tests/test-isnanl.c: New file.
30039
30040         * modules/isnanl-nolibm: New file.
30041         * lib/isnanl.h: New file.
30042         * lib/isnanl.c: New file.
30043         * m4/isnanl.m4: New file.
30044
30045 2007-02-24  Bruno Haible  <bruno@clisp.org>
30046
30047         * modules/isnan-nolibm-tests: New file.
30048         * tests/test-isnan.c: New file.
30049
30050         * modules/isnan-nolibm: New file.
30051         * lib/isnan.h: New file.
30052         * lib/isnan.c: New file.
30053         * m4/isnan.m4: New file.
30054
30055 2007-02-24  Bruno Haible  <bruno@clisp.org>
30056
30057         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
30058         assume that an exponent fits in 20 bits.
30059
30060 2007-02-24  Jim Meyering  <jim@meyering.net>
30061
30062         * m4/regex.m4: Update the description of the configure-time option,
30063         --without-included-regex, to state accurately what the defaults are,
30064         and perhaps to give people an idea why using this option is risky.
30065
30066 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30067
30068         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
30069         loops on small arguments.  This attempts to avoid the problem
30070         Bruno Haible reported for AIX 4.3.2 in
30071         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
30072
30073 2007-02-23  Bruno Haible  <bruno@clisp.org>
30074
30075         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
30076         Needed for help2man.
30077
30078 2007-02-23  Karl Berry  <karl@gnu.org>
30079
30080         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
30081         exists, foo.h should be cvs-ignored, not committed.
30082
30083 2007-02-23  Eric Blake  <ebb9@byu.net>
30084
30085         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
30086         * lib/stat-time.h (includes): Likewise.
30087         * lib/utimecmp.c (includes): Likewise.
30088         * lib/utimens.h (includes): Likewise.
30089         * lib/getdate.y (includes): Also include "timespec.h" for use
30090         internal to the module.
30091         * modules/utimens (Depends-on): Revert yesterday's patch.
30092         * modules/nanosleep (Depends-on): Add missing dependency.
30093
30094 2007-02-22  Bruno Haible  <bruno@clisp.org>
30095
30096         * lib/glob.c: Don't include getlogin_r.h.
30097
30098 2007-02-22  Jim Meyering  <jim@meyering.net>
30099
30100         * modules/utimens (Depends-on): Add timespec, required for
30101         utimens.h's inclusion of timespec.h.
30102
30103 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30104
30105         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
30106         long unreadable paths in GNU/Linux.  Problem reported by Andreas
30107         Schwab in
30108         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
30109         I'll try to think of a better way to fix the Solaris problem.
30110
30111         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
30112         like glibc; on Solaris 10, it fails with errno == EINVAL.
30113         POSIX says the behavior is unspecified if the first argument is NULL,
30114         so play it safe and never pass NULL to the system getcwd.
30115
30116 2007-02-21  Jim Meyering  <jim@meyering.net>
30117
30118         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
30119         of gettimeofday.  It would conflict with the one now always
30120         provided via sys_time_.h.  Reported by Matthew Woehlke, as
30121         an IRIX 6.5 build failure.
30122
30123 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30124
30125         Minor fixups to port to Solaris 10 with Sun C 5.8.
30126         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
30127         * modules/getcwd (Depends-on): Add dirfd.
30128         * lib/putenv.c (putenv): #undef it.
30129         (rpl_putenv): New decl.
30130         (malloc, free): Include <stdlib.h> rather than prototyping separately.
30131
30132 2007-02-20  Bruno Haible  <bruno@clisp.org>
30133
30134         * modules/stdio-tests: New file.
30135         * tests/test-stdio.c: New file.
30136
30137         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
30138         (Depends-on): Add stdio.
30139         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30140         (Include): Use <stdio.h> instead of vsnprintf.h.
30141         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
30142         HAVE_DECL_VSNPRINTF.
30143         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
30144
30145         * modules/snprintf (Files): Remove lib/snprintf.h.
30146         (Depends-on): Add stdio.
30147         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30148         (Include): Use <stdio.h> instead of snprintf.h.
30149         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
30150         HAVE_DECL_SNPRINTF.
30151         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
30152         * lib/getaddrinfo.c: Likewise.
30153
30154         * modules/stdio: New file.
30155         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
30156         * lib/snprintf.h: Remove file.
30157         * lib/vsnprintf.h: Remove file.
30158         * lib/.cppi-disable: Remove snprintf.h.
30159         * m4/stdio_h.m4: New file.
30160         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
30161
30162 2007-02-20  Jim Meyering  <jim@meyering.net>
30163
30164         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
30165         used by e.g., mingw.  From Bruno Haible.
30166
30167 2007-02-19  Bruno Haible  <bruno@clisp.org>
30168
30169         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
30170         warnings.
30171         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30172
30173 2007-02-19  Bruno Haible  <bruno@clisp.org>
30174
30175         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
30176         from mingw users.
30177
30178 2007-02-19  Bruno Haible  <bruno@clisp.org>
30179
30180         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
30181         warnings.
30182         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
30183
30184 2007-02-19  Jim Meyering  <jim@meyering.net>
30185
30186         Don't use FD after a successful "fdopendir (fd)".
30187         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
30188         Reset it by calling dirfd on the just-obtained DIR*.
30189
30190         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
30191         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
30192
30193 2007-02-18  Bruno Haible  <bruno@clisp.org>
30194
30195         * lib/readlink.c: Include <unistd.h>.
30196         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
30197         HAVE_READLINK.
30198         * modules/readlink (Depends-on): Add unistd.
30199         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30200         (Include): Add <unistd.h>.
30201
30202         * lib/getlogin_r.h: Remove file.
30203         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
30204         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
30205         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
30206         HAVE_DECL_GETLOGIN_R.
30207         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
30208         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30209         (Include): Use <unistd.h> instead of getlogin_r.h.
30210
30211         * lib/getcwd.h: Remove file.
30212         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
30213         * lib/xgetcwd.c: Likewise.
30214         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
30215         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
30216         * modules/getcwd (Files): Remove lib/getcwd.h.
30217         (Depends-on): Add unistd.
30218         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30219         (Include): Use <unistd.h> instad of getcwd.h.
30220
30221         * lib/ftruncate.c: Include <unistd.h> first.
30222         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
30223         Set HAVE_FTRUNCATE.
30224         * modules/ftruncate (Depends-on): Add unistd.
30225         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30226
30227         * lib/fchdir.c: Include <unistd.h> first.
30228         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
30229         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
30230         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
30231         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30232         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
30233
30234         * lib/dup2.c: Include <unistd.h> first.
30235         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
30236         HAVE_DUP2.
30237         * modules/dup2 (Depends-on): Add unistd.
30238         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30239
30240         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
30241         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
30242         REPLACE_CHOWN. Don't define chown as a macro here.
30243         * modules/chown (Depends-on): Add unistd.
30244         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30245
30246         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
30247         Add definition for GL_LINK_WARNING.
30248         (chown, dup2): New declarations.
30249         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
30250         link warning.
30251         (ftruncate): New declaration.
30252         (getcwd): New declaration, taken from old getcwd.h.
30253         (getlogin_r): New declaration, taken from old getlogin_r.h.
30254         (readlink): New declaration.
30255         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
30256         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
30257         (gl_PREREQ_UNISTD): Remove macro.
30258         (gl_UNISTD_MODULE_INDICATOR): New macro.
30259         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
30260         many new variables. Don't set UNISTD_H.
30261         * modules/unistd (Description): Change.
30262         (Depends-on): Add link-warning.
30263         (configure.ac): Update.
30264         (Makefile.am): Create unistd.h always. Substitute many new variables
30265         into it.
30266
30267 2007-02-18  Bruno Haible  <bruno@clisp.org>
30268
30269         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
30270         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
30271         HAVE_GETSUBOPT.
30272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
30273         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
30274         * lib/getsubopt.h: Remove file.
30275         * modules/getsubopt (Files): Remove lib/getsubopt.h.
30276         (Depends-on): Add stdlib.
30277         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30278         (Includes): Use <stdlib.h> instead of getsubopt.h.
30279         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
30280         Set HAVE_GETSUBOPT.
30281         * lib/getsubopt.c: Don't include getsubopt.h.
30282
30283 2007-02-18  Bruno Haible  <bruno@clisp.org>
30284
30285         * modules/fchdir (Depends-on): Add dup2.
30286
30287 2007-02-18  Bruno Haible  <bruno@clisp.org>
30288
30289         * lib/stdlib_.h: Handle glibc's special invocation convention
30290         specially.
30291
30292 2007-02-18  Bruno Haible  <bruno@clisp.org>
30293
30294         * modules/stdlib-tests: New file.
30295         * tests/test-stdlib.c: New file.
30296
30297         * modules/mkstemp (Files): Remove lib/mkstemp.h.
30298         (Depends-on): Add stdlib.
30299         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30300         (Includes): Use <stdlib.h> instead of mkstemp.h.
30301         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
30302         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
30303         * lib/mkstemp.c: Don't include mkstemp.h.
30304         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
30305         * lib/stdlib--.h: Don't include mkstemp.h.
30306
30307         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
30308         (Depends-on): Add stdlib.
30309         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30310         (Includes): Use <stdlib.h> instead of mkdtemp.h.
30311         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
30312         HAVE_MKDTEMP.
30313         * lib/mkdtemp.c: Don't include mkdtemp.h.
30314         * lib/clean-temp.c: Don't include mkdtemp.h.
30315
30316         * modules/exit (Files): Remove lib/exit.h.
30317         (Depends-on): Add stdlib.
30318         (Makefile.am): Remove lib_SOURCES.
30319         (Include): Use <stdlib.h> instead of exit.h.
30320         * lib/argmatch.c: Don't include exit.h.
30321         * lib/execute.c: Likewise.
30322         * lib/pagealign_alloc.c: Likewise.
30323         * lib/pipe.c: Likewise.
30324         * lib/wait-process.c: Likewise.
30325         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
30326         * lib/exitfail.c: Likewise.
30327         * lib/savewd.c: Likewise.
30328         * lib/xsetenv.c: Likewise.
30329
30330         * modules/stdlib: New file.
30331         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
30332         and extra comments about mkstemp().
30333         * lib/exit.h: Remove file.
30334         * lib/mkdtemp.h: Remove file.
30335         * lib/mkstemp.h: Remove file.
30336         * m4/stdlib_h.m4: New file.
30337         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
30338
30339 2007-02-18  Bruno Haible  <bruno@clisp.org>
30340
30341         * modules/math-tests: New file.
30342         * tests/test-math.c: New file.
30343
30344         * modules/math: New file.
30345         * modules/mathl (Files): Remove lib/mathl.h.
30346         (Depends-on): Add math.
30347         (Makefile.am): Don't mention mathl.h.
30348         (Include): Use <math.h> instead of mathl.h.
30349         * lib/math_.h: New file.
30350         * lib/mathl.h: Remove file.
30351         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
30352         mathl.h.
30353         * lib/asinl.c: Likewise.
30354         * lib/atanl.c: Likewise.
30355         * lib/ceill.c: Likewise.
30356         * lib/cosl.c: Likewise.
30357         * lib/expl.c: Likewise.
30358         * lib/floorl.c: Likewise.
30359         * lib/frexpl.c: Likewise.
30360         * lib/ldexpl.c: Likewise.
30361         * lib/logl.c: Likewise.
30362         * lib/sincosl.c: Likewise.
30363         * lib/sinl.c: Likewise.
30364         * lib/sqrtl.c: Likewise.
30365         * lib/tanl.c: Likewise.
30366         * lib/trigl.c: Likewise.
30367         * m4/math_h.m4: New file.
30368         * MODULES.html.sh (Mathematics): Add math.
30369
30370 2007-02-17  Bruno Haible  <bruno@clisp.org>
30371
30372         * modules/wctype-tests: New file.
30373         * tests/test-wctype.c: New file.
30374
30375         * modules/wchar-tests: New file.
30376         * tests/test-wchar.c: New file.
30377
30378         * modules/unistd-tests: New file.
30379         * tests/test-unistd.c: New file.
30380
30381         * modules/time-tests: New file.
30382         * tests/test-time.c: New file.
30383
30384         * modules/sysexits-tests: New file.
30385         * tests/test-sysexits.c: New file.
30386
30387         * modules/sys_time-tests: New file.
30388         * tests/test-sys_time.c: New file.
30389
30390         * modules/sys_stat-tests: New file.
30391         * tests/test-sys_stat.c: New file.
30392
30393         * modules/sys_socket-tests: New file.
30394         * tests/test-sys_socket.c: New file.
30395
30396         * modules/sys_select-tests: New file.
30397         * tests/test-sys_select.c: New file.
30398
30399         * modules/string-tests: New file.
30400         * tests/test-string.c: New file.
30401
30402         * modules/stdbool-tests: New file.
30403         * tests/test-stdbool.c: New file.
30404
30405         * modules/netinet_in-tests: New file.
30406         * tests/test-netinet_in.c: New file.
30407
30408         * modules/inttypes-tests: New file.
30409         * tests/test-inttypes.c: New file.
30410
30411         * modules/fcntl-tests: New file.
30412         * tests/test-fcntl.c: New file.
30413
30414         * modules/byteswap-tests: New file.
30415         * tests/test-byteswap.c: New file.
30416
30417         * modules/arpa_inet-tests: New file.
30418         * tests/test-arpa_inet.c: New file.
30419
30420 2007-02-17  Bruno Haible  <bruno@clisp.org>
30421
30422         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
30423         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
30424         if the corresponding module is not enabled. Emit link warnings if
30425         the function is used nevertheless.
30426         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
30427         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
30428         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
30429         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
30430         * modules/inttypes (Depends-on): Add link-warning.
30431         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30432         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
30433         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
30434         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
30435         * modules/imaxdiv (configure.ac): Likewise.
30436         * modules/strtoimax (configure.ac): Likewise.
30437         * modules/strtoumax (configure.ac): Likewise.
30438
30439 2007-02-17  Bruno Haible  <bruno@clisp.org>
30440
30441         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
30442         gl_STRING_MODULE_INDICATOR_DEFAULTS.
30443         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
30444         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
30445
30446 2007-02-17  Bruno Haible  <bruno@clisp.org>
30447
30448         * modules/link-warning: New file.
30449         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
30450         * lib/string_.h (GL_LINK_WARNING): Remove definition.
30451         * modules/string (Depends-on): Add link-warning.
30452         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30453         string.h.
30454         * MODULES.html.sh (Support for building libraries and executables): Add
30455         link-warning.
30456
30457 2007-02-17  Bruno Haible  <bruno@clisp.org>
30458
30459         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
30460         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
30461         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
30462         long lines.
30463
30464 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
30465             Bruno Haible  <bruno@clisp.org>
30466
30467         * modules/tmpfile: New file.
30468         * lib/tmpfile.c: New file.
30469         * m4/tmpfile.m4: New file.
30470         * MODULES.html.sh (func_all_modules): New section "Input/output".
30471
30472 2007-02-15  Bruno Haible  <bruno@clisp.org>
30473
30474         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
30475         (supports_delete_on_close): New function.
30476         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
30477
30478 2007-02-14  Bruno Haible  <bruno@clisp.org>
30479
30480         * modules/mbspcasecmp-tests: New file.
30481         * tests/test-mbspcasecmp.sh: New file.
30482         * tests/test-mbspcasecmp.c: New file.
30483
30484         New module mbspcasecmp.
30485         * modules/mbspcasecmp: New file.
30486         * lib/mbspcasecmp.c: New file.
30487         * lib/string_.h (strncasecmp): Change warning message.
30488         (mbspcasecmp): New declaration.
30489         * m4/mbspcasecmp.m4: New file.
30490         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30491         GNULIB_MBSPCASECMP.
30492         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
30493         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
30494
30495 2007-02-14  Bruno Haible  <bruno@clisp.org>
30496
30497         * modules/mbsncasecmp-tests: New file.
30498         * tests/test-mbsncasecmp.sh: New file.
30499         * tests/test-mbsncasecmp.c: New file.
30500
30501         New module mbsncasecmp.
30502         * modules/mbsncasecmp: New file.
30503         * lib/mbsncasecmp.c: New file.
30504         * lib/string_.h (mbsncasecmp): New declaration.
30505         * m4/mbsncasecmp.m4: New file.
30506         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30507         GNULIB_MBSNCASECMP.
30508         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
30509         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
30510
30511 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
30512
30513         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
30514         Verify that it doesn't overlap with our flags.
30515         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
30516         do not have the desired effect in multibyte locales; instead, use
30517         mbscasecmp.
30518         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
30519         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
30520         we don't require GNU fnmatch ourselves (if our users require it, they
30521         should do so explicitly).
30522
30523         Fix regex code so it doesn't rely on strcasecmp.
30524         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
30525         Otherwise, include gnulib's langinfo.h.
30526         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
30527         undesirable behavior in non-C locales.  Instead, rely on localecharset.
30528         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
30529         * modules/regex (FILES): Remove m4/codeset.m4.
30530         (Depends-on): Add localcharset.  Remove strcase.
30531
30532 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30533
30534         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
30535         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
30536
30537 2007-02-13  Bruno Haible  <bruno@clisp.org>
30538
30539         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
30540         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30541
30542 2007-02-12  Bruno Haible  <bruno@clisp.org>
30543
30544         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30545         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
30546         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
30547         time warning rather than a link error.
30548
30549 2007-02-12  Bruno Haible  <bruno@clisp.org>
30550
30551         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
30552         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30553         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30554
30555 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30556
30557         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
30558         args, not 2.
30559
30560 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30561
30562         New module 'time', so that apps can include <time.h> as per
30563         POSIX and GNU instead of separate include files like time_r.h
30564         and timegm.h.  This implementation tries out a simpler approach
30565         for replacing decls in standard include files (as compared to
30566         the string module), somewhat as an experiment.
30567
30568         * config/srclist.txt: Comment out mktime.c for now.
30569         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
30570         since it doesn't apply any more.  Use generic wording instead.
30571         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
30572         'time'.
30573         * lib/time_.h, m4/time_h.m4, modules/time: New files.
30574         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
30575         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
30576         Don't include <sys/types.h>; no longer needed since we assume C89.
30577         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
30578         * lib/strftime.c: Likewise.
30579         * lib/time_r.c: Likewise.
30580         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
30581         * lib/nanosleep.c: Include <time.h> first, to check interface.
30582         * lib/strptime.c: Likewise.
30583         * lib/time_r.c: Likewise.
30584         * lib/timegm.c: Likewise.
30585         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
30586         needed.
30587         * lib/timegm.c: Don't include timegm.h; no longer needed.
30588         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
30589         time.h now handles any problems in that area.
30590         (struct timespec, nanosleep): Remove; time.h now arranges for these.
30591         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
30592         that time.h defines struct timespec.
30593         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
30594         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
30595         handles that.
30596         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
30597         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
30598         needed.  Set REPLACE_LOCALTIME.
30599         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
30600         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
30601         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
30602         nanosleep; time_h.m4 now does that.  Don't require
30603         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
30604         module handles this now.
30605         * modules/getdate (Depends-on): Remove timespec.  Add time.
30606         * modules/nanosleep (Depends-on): Likewise.
30607         * modules/stat-time (Depends-on): Likewise.
30608         * modules/nanosleep (Include): Include time.h, not timespec.h.
30609         * modules/strptime (Files): Remove lib/strptime.h.
30610         (Depends-on): Add extensions, time.
30611         (Include): Include time.h, not strptime.h.
30612         * modules/time_r (Files): Remove lib/time_r.h.
30613         (Depends-on): Add time.
30614         (Include): Include time.h, not time_r.h.
30615         * modules/timegm: Likewise.
30616         * modules/timespec (Description): Now does timespec-related decls
30617         of our own, instead of struct timespec itself.
30618         (Depends-on): Add time; remove extensions.
30619         (Maintainer): Add self.
30620         * modules/utimecmp (Depends-on): Add time; remove timespec.
30621         * modules/utimens (Depends-on): Likewise.
30622         * modules/xnanosleep (Depends-on): Likewise.
30623
30624 2007-02-11  Bruno Haible  <bruno@clisp.org>
30625
30626         * lib/c-strstr.c: Include allocsa.h.
30627         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30628         * lib/c-strcasestr.c: Include allocsa.h.
30629         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30630         * lib/strcasestr.c: Include allocsa.h.
30631         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30632         * lib/mbsstr.c: Include allocsa.h.
30633         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30634         allocsa/freesa instead of malloc/free.
30635         * lib/mbscasestr.c: Include allocsa.h.
30636         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30637         allocsa/freesa instead of malloc/free.
30638         * modules/c-strstr (Depends-on): Add allocsa.
30639         * modules/c-strcasestr (Depends-on): Likewise.
30640         * modules/strcasestr (Depends-on): Likewise.
30641         * modules/mbsstr (Depends-on): Likewise.
30642         * modules/mbscasestr (Depends-on): Likewise.
30643
30644 2007-02-11  Bruno Haible  <bruno@clisp.org>
30645
30646         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
30647
30648         * modules/mbsspn-tests: New file.
30649         * tests/test-mbsspn.sh: New file.
30650         * tests/test-mbsspn.c: New file.
30651
30652 2007-02-11  Bruno Haible  <bruno@clisp.org>
30653
30654         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
30655
30656         * modules/mbspbrk-tests: New file.
30657         * tests/test-mbspbrk.sh: New file.
30658         * tests/test-mbspbrk.c: New file.
30659
30660 2007-02-11  Bruno Haible  <bruno@clisp.org>
30661
30662         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
30663         unneeded cast.
30664
30665         * modules/mbscspn-tests: New file.
30666         * tests/test-mbscspn.sh: New file.
30667         * tests/test-mbscspn.c: New file.
30668
30669 2007-02-11  Bruno Haible  <bruno@clisp.org>
30670
30671         * modules/mbscasecmp-tests: New file.
30672         * tests/test-mbscasecmp.sh: New file.
30673         * tests/test-mbscasecmp.c: New file.
30674
30675 2007-02-11  Bruno Haible  <bruno@clisp.org>
30676
30677         Ensure O(n) worst-case complexity of mbscasestr.
30678         * lib/mbscasestr.c: Include stdbool.h.
30679         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30680         functions.
30681         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
30682         the bookkeeping indicates that it's worth it.
30683         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
30684
30685         * modules/mbscasestr-tests: New file.
30686         * tests/test-mbscasestr1.c: New file.
30687         * tests/test-mbscasestr2.sh: New file.
30688         * tests/test-mbscasestr2.c: New file.
30689         * tests/test-mbscasestr3.sh: New file.
30690         * tests/test-mbscasestr3.c: New file.
30691         * tests/test-mbscasestr4.sh: New file.
30692         * tests/test-mbscasestr4.c: New file.
30693         * m4/locale-tr.m4: New file.
30694
30695 2007-02-11  Bruno Haible  <bruno@clisp.org>
30696
30697         Ensure O(n) worst-case complexity of mbsstr.
30698         * lib/mbsstr.c: Include stdbool.h.
30699         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30700         functions.
30701         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
30702         bookkeeping indicates that it's worth it.
30703         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
30704
30705         * modules/mbsstr-tests: New file.
30706         * tests/test-mbsstr1.c: New file.
30707         * tests/test-mbsstr2.sh: New file.
30708         * tests/test-mbsstr2.c: New file.
30709         * tests/test-mbsstr3.sh: New file.
30710         * tests/test-mbsstr3.c: New file.
30711         * m4/locale-fr.m4: New file.
30712
30713 2007-02-11  Bruno Haible  <bruno@clisp.org>
30714
30715         * lib/mbsrchr.c (mbsrchr): Fix bug.
30716
30717         * modules/mbsrchr-tests: New file.
30718         * tests/test-mbsrchr.sh: New file.
30719         * tests/test-mbsrchr.c: New file.
30720
30721 2007-02-11  Bruno Haible  <bruno@clisp.org>
30722
30723         * lib/mbschr.c (mbschr): Fix bug.
30724
30725         * modules/mbschr-tests: New file.
30726         * tests/test-mbschr.sh: New file.
30727         * tests/test-mbschr.c: New file.
30728         * m4/locale-zh.m4: New file.
30729
30730 2007-02-11  Bruno Haible  <bruno@clisp.org>
30731
30732         Support for copying multibyte string iterators.
30733         * lib/mbiter.h: Include <string.h>.
30734         (mbiter_multi_copy): New function.
30735         (mbi_copy): New macro.
30736         * lib/mbuiter.h: Include <string.h>.
30737         (mbuiter_multi_copy): New function.
30738         (mbui_copy): New macro.
30739
30740 2007-02-11  Bruno Haible  <bruno@clisp.org>
30741
30742         New module mbslen.
30743         * modules/mbslen: New file.
30744         * lib/mbslen.c: New file.
30745         * lib/string_.h (mbslen): New declaration.
30746         * m4/mbslen.m4: New file.
30747         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30748         GNULIB_MBSLEN.
30749         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
30750         * MODULES.html.sh (Internationalization functions): Add mbslen.
30751
30752 2007-02-11  Bruno Haible  <bruno@clisp.org>
30753
30754         Ensure O(n) worst-case complexity of strcasestr substitute.
30755         * lib/strcasestr.c: Include stdbool.h.
30756         (knuth_morris_pratt): New function.
30757         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30758         bookkeeping indicates that it's worth it.
30759         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
30760
30761         * modules/strcasestr-tests: New file.
30762         * tests/test-strcasestr.c: New file.
30763
30764 2007-02-11  Bruno Haible  <bruno@clisp.org>
30765
30766         Ensure O(n) worst-case complexity of c_strcasestr.
30767         * lib/c-strcasestr.c: Include stdbool.h, string.h.
30768         (knuth_morris_pratt): New function.
30769         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
30770         the bookkeeping indicates that it's worth it.
30771         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
30772
30773         * modules/c-strcasestr-tests: New file.
30774         * tests/test-c-strcasestr.c: New file.
30775
30776 2007-02-11  Bruno Haible  <bruno@clisp.org>
30777
30778         Ensure O(n) worst-case complexity of c_strstr.
30779         * lib/c-strstr.c: Include stdbool.h, string.h.
30780         (knuth_morris_pratt): New function.
30781         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30782         bookkeeping indicates that it's worth it.
30783         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
30784
30785         * lib/c-strstr.c: Complete rewrite for maintainability.
30786
30787         * modules/c-strstr-tests: New file.
30788         * tests/test-c-strstr.c: New file.
30789
30790 2007-02-11  Bruno Haible  <bruno@clisp.org>
30791
30792         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
30793         5.2.1 and earlier, whereby \055 was treated just like the range
30794         delimiter '-'.
30795         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
30796
30797 2007-02-08  Bruno Haible  <bruno@clisp.org>
30798
30799         * modules/regex (Depends-on): Add stdbool.
30800         Reported by Dalibor Topic <robilad@kaffe.org>.
30801
30802 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30803
30804         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
30805         Prefer returning from main to exiting from it.
30806         Remove unnecessary parens after sizeof.
30807
30808 2007-02-05  Bruno Haible  <bruno@clisp.org>
30809
30810         New module mbssep.
30811         * modules/mbssep: New file.
30812         * lib/mbssep.c: New file.
30813         * lib/string_.h (strsep): Add a conditional link warning.
30814         (mbssep): New declaration.
30815         * m4/mbssep.m4: New file.
30816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30817         GNULIB_MBSSEP.
30818         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
30819         * MODULES.html.sh (Internationalization functions): Add mbssep.
30820
30821 2007-02-05  Bruno Haible  <bruno@clisp.org>
30822
30823         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
30824         Optimize search in case of 1 delimiter.
30825
30826 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
30827
30828         * lib/acl.h: Include sys/types.h before sys/acl.h.
30829
30830 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
30831
30832         Merge upstream fix for glibc bugzilla #3957:
30833
30834         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
30835
30836         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
30837         bit for RE_HAT_LISTS_NOT_NEWLINE.
30838         (build_charclass_op): Remove bogus comment.
30839
30840 2007-02-05  Simon Josefsson  <simon@josefsson.org>
30841
30842         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
30843
30844 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
30845
30846         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
30847         * lib/memmem.c [!defined _LIBC]: Include config.h.
30848
30849 2007-02-04  Bruno Haible  <bruno@clisp.org>
30850
30851         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
30852         warning message.
30853
30854 2007-02-04  Bruno Haible  <bruno@clisp.org>
30855
30856         New module mbstok_r.
30857         * modules/mbstok_r: New file.
30858         * lib/mbstok_r.c: New file.
30859         * lib/string_.h (strtok_r): Change argument names to match the
30860         comments. Add a conditional link warning.
30861         (mbstok_r): New declaration.
30862         * m4/mbstok_r.m4: New file.
30863         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30864         GNULIB_MBSTOK_R.
30865         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
30866         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
30867
30868 2007-02-04  Bruno Haible  <bruno@clisp.org>
30869
30870         New module mbsspn.
30871         * modules/mbsspn: New file.
30872         * lib/mbsspn.c: New file.
30873         * lib/string_.h (strspn): Add a conditional link warning.
30874         (mbsspn): New declaration.
30875         * m4/mbsspn.m4: New file.
30876         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30877         GNULIB_MBSSPN.
30878         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
30879         * MODULES.html.sh (Internationalization functions): Add mbsspn.
30880
30881 2007-02-04  Bruno Haible  <bruno@clisp.org>
30882
30883         New module mbspbrk.
30884         * modules/mbspbrk: New file.
30885         * lib/mbspbrk.c: New file.
30886         * lib/string_.h (strpbrk): Add a conditional link warning.
30887         (mbspbrk): New declaration.
30888         * m4/mbspbrk.m4: New file.
30889         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30890         GNULIB_MBSPBRK.
30891         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
30892         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
30893
30894 2007-02-04  Bruno Haible  <bruno@clisp.org>
30895
30896         New module mbscspn.
30897         * modules/mbscspn: New file.
30898         * lib/mbscspn.c: New file.
30899         * lib/string_.h (strcspn): Add a conditional link warning.
30900         (mbscspn): New declaration.
30901         * m4/mbscspn.m4: New file.
30902         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30903         GNULIB_MBSCSPN.
30904         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
30905         * MODULES.html.sh (Internationalization functions): Add mbscspn.
30906
30907 2007-02-04  Bruno Haible  <bruno@clisp.org>
30908
30909         New module mbscasestr, reduced goal of strcasestr.
30910         * modules/mbscasestr: New file.
30911         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
30912         (mbscasestr): Renamed from strcasestr.
30913         * lib/strcasestr.c: Don't include mbuiter.h.
30914         (strcasestr): Remove support for multibyte locales.
30915         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
30916         Change the conditional link warning.
30917         (mbscasestr): New declaration.
30918         * m4/mbscasestr.m4: New file.
30919         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
30920         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
30921         REPLACE_STRCASESTR.
30922         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
30923         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30924         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
30925         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
30926         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
30927         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
30928         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
30929         (Depends-on): Remove mbuiter.
30930         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
30931
30932 2007-02-04  Bruno Haible  <bruno@clisp.org>
30933
30934         Simplify handling of strncasecmp.
30935         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
30936         the conditional link warning.
30937         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30938         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
30939         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
30940         * modules/strcase (configure.ac): Don't invoke
30941         gl_STRING_MODULE_INDICATOR.
30942         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
30943
30944 2007-02-04  Bruno Haible  <bruno@clisp.org>
30945
30946         New module mbscasecmp, reduced goal of strcasecmp.
30947         * modules/mbscasecmp: New file.
30948         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
30949         (mbscasecmp): Renamed from strcasecmp.
30950         * lib/strcasecmp.c: Don't include mbuiter.h.
30951         (strcasecmp): Remove support for multibyte locales.
30952         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
30953         Change the conditional link warning.
30954         (mbscasecmp): New declaration.
30955         * m4/mbscasecmp.m4: New file.
30956         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
30957         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
30958         REPLACE_STRCASECMP.
30959         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
30960         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30961         GNULIB_MBSCASECMP.
30962         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
30963         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
30964         * modules/strcase (Files): Remove m4/mbrtowc.m4.
30965         (Depends-on): Remove mbuiter.
30966         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
30967
30968 2007-02-04  Bruno Haible  <bruno@clisp.org>
30969
30970         New module mbsstr. Remove module strstr.
30971         * modules/mbsstr: New file.
30972         * modules/strstr: Remove file.
30973         * lib/mbsstr.c: Renamed from lib/strstr.c.
30974         (mbsstr): Renamed from strstr.
30975         * lib/string_.h (strstr): Remove declaration. Change the conditional
30976         link warning.
30977         (mbsstr): New declaration.
30978         * m4/mbsstr.m4: New file.
30979         * m4/strstr.m4: Remove file.
30980         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30981         REPLACE_STRSTR.
30982         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
30983         Don't initialize GNULIB_STRSTR.
30984         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
30985         substitute GNULIB_STRSTR and REPLACE_STRSTR.
30986         * MODULES.html.sh (Internationalization functions): Add mbsstr.
30987         (Support for systems lacking ANSI C 89): Remove strstr.
30988
30989 2007-02-04  Bruno Haible  <bruno@clisp.org>
30990
30991         New module mbsrchr.
30992         * modules/mbsrchr: New file.
30993         * lib/mbsrchr.c: New file.
30994         * lib/string_.h (strrchr): Add a conditional link warning.
30995         (mbsrchr): New declaration.
30996         * m4/mbsrchr.m4: New file.
30997         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30998         GNULIB_MBSRCHR.
30999         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
31000         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
31001
31002 2007-02-04  Bruno Haible  <bruno@clisp.org>
31003
31004         New module mbschr.
31005         * modules/mbschr: New file.
31006         * lib/mbschr.c: New file.
31007         * lib/string_.h (strchr): Add a conditional link warning.
31008         (mbschr): New declaration.
31009         * m4/mbschr.m4: New file.
31010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31011         GNULIB_MBSCHR.
31012         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
31013         * MODULES.html.sh (Internationalization functions): Add mbschr.
31014
31015 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
31016
31017         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
31018
31019         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
31020
31021 2007-02-04  Bruno Haible  <bruno@clisp.org>
31022
31023         New module description section 'configure.ac-early'.
31024         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
31025         (func_get_autoconf_early_snippet): New function.
31026         (func_import, func_create_testdir): Use it. Remove special cases for
31027         modules 'extensions' and 'lock'.
31028         * modules/extensions (configure.ac-early): Require
31029         gl_USE_SYSTEM_EXTENSIONS.
31030         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
31031
31032 2007-02-04  Bruno Haible  <bruno@clisp.org>
31033
31034         Make use of gcj-4.3's -fsource and -ftarget option.
31035         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
31036         and if so try the options -fsource and -ftarget.
31037         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
31038         source_version, ftarget_option, target_version arguments.
31039         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
31040         (is_envjavac_oldgcj_14_14_usable): Renamed from
31041         is_envjavac_gcj_14_14_usable.
31042         (is_envjavac_oldgcj_14_13_usable): Renamed from
31043         is_envjavac_gcj_14_13_usable.
31044         (is_gcj_present): Update.
31045         (is_gcj_43, is_gcj43_usable): New functions.
31046         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
31047         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
31048         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
31049         try the options -fsource and -ftarget.
31050
31051 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31052
31053         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
31054         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
31055         larger value.
31056
31057 2007-02-03  Jim Meyering  <jim@meyering.net>
31058
31059         Give tools a better chance to allocate space for very large buffers.
31060         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
31061
31062         Make pwd and readlink work also when run with an unreadable parent dir
31063         on systems with openat support.
31064         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
31065         provided getcwd function, even when we have openat support.
31066         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
31067
31068 2007-02-02  Bruno Haible  <bruno@clisp.org>
31069
31070         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
31071         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
31072         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
31073         portability problems if one of these functions is only used on specific
31074         platforms.
31075         Reported by Paul Eggert.
31076
31077 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31078
31079         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
31080         is causing more trouble than it's curing.
31081         * lib/regex_internal.h (__mempcpy): Remove.
31082         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
31083         (and make the code a tad smaller to boot).
31084         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
31085
31086 2007-02-02  Jim Meyering  <jim@meyering.net>
31087
31088         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
31089         section, not in the Makefile.am: one.
31090
31091 2007-02-02  Eric Blake  <ebb9@byu.net>
31092
31093         * lib/strchrnul.c: Always include config.h first.
31094
31095         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
31096         gnulib strstr is not necessary here.
31097
31098 2007-02-02  Simon Josefsson  <simon@josefsson.org>
31099
31100         * m4/socklen.m4: Fix typo.
31101
31102 2007-02-02  Eric Blake  <ebb9@byu.net>
31103
31104         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
31105         * modules/netinet_in (Makefile.am): Likewise.
31106
31107 2007-02-01  Bruno Haible  <bruno@clisp.org>
31108
31109         * lib/string_.h (GL_LINK_WARNING): New macro.
31110         (strcasecmp, strstr, strcasestr): If provided by the system,
31111         conditionally define as a macro that leads to a warning instead of to
31112         an error.
31113         (strncasecmp): Conditionally define as a macro that leads to a warning.
31114
31115 2007-02-01  Karl Berry  <karl@gnu.org>
31116
31117         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
31118
31119 2007-02-01  Bruno Haible  <bruno@clisp.org>
31120
31121         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
31122         renamings.
31123
31124 2007-02-01  Eric Blake  <ebb9@byu.net>
31125
31126         * modules/regex (Depends-on): Revert dependence on mempcpy.
31127         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
31128         module's definition of mempcpy.
31129         Reported by Paul Eggert.
31130
31131 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
31132
31133         * lib/string_.h: If the gnulib module XYZ is not present, undefine
31134         the symbol XYZ before redefining it.  This fixes a problem with
31135         programs that don't use XYZ, when compiled on systems that define
31136         XYZ to something else.
31137
31138 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
31139
31140         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
31141         occurs when "mkdir -m foo" creates a setgid directory that is (1)
31142         writeable to group or other and (2) is intended to have a special
31143         mode bit that is set or cleared.  In such a case, the directory
31144         should be neither group- nor other-writeable until the special
31145         mode bits are right.
31146
31147 2007-01-31  Eric Blake  <ebb9@byu.net>
31148
31149         * modules/mountlist (Depends-on): Add strstr.
31150
31151         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
31152         bug.
31153         * modules/string (Makefile.am): Remove redundant replacement.
31154         * modules/regex (Depends-on): Add mempcpy.
31155
31156 2007-01-31  Bruno Haible  <bruno@clisp.org>
31157
31158         New module description field 'Link'.
31159         * gnulib-tool (func_usage): Document --extract-link-directive.
31160         (sed_extract_prog): Recognize 'Link' directive.
31161         (func_get_link_directive): New function.
31162         (func_import): Show summary of link directives.
31163         Handle --extract-link-directive option.
31164         * modules/acl (Link): New section.
31165         * modules/clock-time (Link): New section.
31166         * modules/euidaccess (Link): New section.
31167         * modules/gettext (Link): New section.
31168         * modules/iconv (Link): New section.
31169         * modules/lock (Link): New section.
31170         * modules/nanosleep (Link): New section.
31171         * modules/readline (Link): New section.
31172
31173 2007-01-27  Bruno Haible  <bruno@clisp.org>
31174
31175         Enforce the use of gnulib modules for unportable <string.h> functions.
31176         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
31177         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
31178         (gl_HEADER_STRING_H_BODY): Require it.
31179         * lib/string_.h: If the gnulib module XYZ is not present, redefine
31180         the symbol XYZ to one that gives a link error.
31181         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
31182         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
31183         * modules/mempcpy (configure.ac): Likewise.
31184         * modules/memrchr (configure.ac): Likewise.
31185         * modules/stpcpy (configure.ac): Likewise.
31186         * modules/stpncpy (configure.ac): Likewise.
31187         * modules/strcase (configure.ac): Likewise.
31188         * modules/strcasestr (configure.ac): Likewise.
31189         * modules/strchrnul (configure.ac): Likewise.
31190         * modules/strdup (configure.ac): Likewise.
31191         * modules/strndup (configure.ac): Likewise.
31192         * modules/strnlen (configure.ac): Likewise.
31193         * modules/strpbrk (configure.ac): Likewise.
31194         * modules/strsep (configure.ac): Likewise.
31195         * modules/strstr (configure.ac): Likewise.
31196         * modules/strtok_r (configure.ac): Likewise.
31197
31198 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
31199
31200         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
31201
31202 2007-01-30  Jim Meyering  <jim@meyering.net>
31203
31204         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
31205
31206 2007-01-29  Bruno Haible  <bruno@clisp.org>
31207
31208         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
31209         * lib/execute.c: Likewise.
31210         * lib/pipe.c: Likewise.
31211         * lib/printf-args.h: Likewise.
31212         * lib/printf-args.c: Likewise.
31213         * lib/printf-parse.c: Likewise.
31214         * lib/vasnprintf.c: Likewise.
31215
31216 2007-01-29  Eric Blake  <ebb9@byu.net>
31217
31218         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
31219         declaration.
31220
31221 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
31222
31223         * lib/strptime.h (strptime): Use 'restrict' for args where
31224         POSIX requires this.
31225         * lib/strptime.c (strptime): Likewise.
31226         Change license notice from LGPL to GPL, since gnulib-tool will
31227         change this as needed.
31228         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
31229         defined.
31230         Include "strptime.h" first, to check interface.
31231         Do not #undef _LIBC and _NL_CURRENT.
31232         Do not include <stdlib.h>; no longer needed.
31233         Include "time_r.h" and declare ptime_locale_status
31234         only if _LIBC is not defined.
31235         (__P): Remove unused macro.
31236         (match_string): Bring back glibc version, but use it only if _LIBC
31237         is defined.
31238         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
31239         Remove unnecessary assertion and abort() call.
31240         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
31241         * m4/strptime.m4: Fix serial number comment.
31242         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
31243         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
31244         (Depends-on): Add time_r.
31245
31246 2007-01-29  Bruno Haible  <bruno@clisp.org>
31247
31248         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31249         strptime.
31250         * modules/strptime (Depends-on): Add stdbool.
31251         * lib/strptime.h: Include <time.h> always. Add comments.
31252
31253 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31254
31255         * modules/strptime: New file.
31256         * lib/strptime.h: New file.
31257         * lib/strptime.c: New file.
31258         * m4/strptime.m4: New file.
31259
31260 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
31261
31262         * MODULES.html.sh: New module mpsort.
31263         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
31264
31265         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
31266         a circularity problem with HP-UX ia64 reported by Bob Proulx in
31267         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
31268         All uses changed.
31269         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
31270         All uses changed.
31271         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
31272         to _Restrict_.
31273         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
31274         the parameter matches the prototype.
31275
31276 2007-01-28  Jim Meyering  <jim@meyering.net>
31277
31278         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
31279         sys/time.h here, reverting that part of the previous patch:
31280         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
31281
31282 2007-01-28  Bruno Haible  <bruno@clisp.org>
31283
31284         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
31285         value of $(SYS_TIME_H).
31286         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
31287         remove it conditionally, too. [added by Jim Meyering]
31288         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
31289         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
31290         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
31291         GETTIMEOFDAY_REPLACEMENT to 1.
31292
31293 2007-01-28  Bruno Haible  <bruno@clisp.org>
31294
31295         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
31296         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
31297         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
31298         Set UNISTD_H instead of UNISTD_H2.
31299         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
31300
31301 2007-01-28  Bruno Haible  <bruno@clisp.org>
31302
31303         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
31304         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
31305
31306 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31307
31308         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
31309         (func_create_testdir): Ensure C locale for `grep' and `tr'
31310         character ranges.
31311         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
31312         ACLOCAL_AMFLAGS parsing state machine.
31313
31314 2007-01-27  Bruno Haible  <bruno@clisp.org>
31315
31316         * modules/unistr/base: Update.
31317
31318 2007-01-27  Bruno Haible  <bruno@clisp.org>
31319
31320         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
31321         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
31322         * modules/unistr/u32-mbtouc-unsafe: Renamed from
31323         modules/unistr/u32-mbtouc.
31324         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
31325         * lib/unistr.h: Update.
31326         * lib/linebreak.c: Update.
31327         * modules/unistr/u32-mbtouc: Renamed from
31328         modules/unistr/u32-mbtouc-safe.
31329         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
31330         * lib/unistr.h: Update.
31331         * lib/unistr/u32-to-u8.c: Update.
31332         * lib/unistr/u32-to-u16.c: Update.
31333
31334 2007-01-27  Bruno Haible  <bruno@clisp.org>
31335
31336         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
31337         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
31338         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
31339         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
31340         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
31341         * modules/unistr/u16-mbtouc-unsafe: Renamed from
31342         modules/unistr/u16-mbtouc.
31343         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
31344         * lib/unistr.h: Update.
31345         * lib/linebreak.c: Update.
31346         * modules/linebreak: Update.
31347         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
31348         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
31349         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
31350         * modules/unistr/u16-mbtouc: Renamed from
31351         modules/unistr/u16-mbtouc-safe.
31352         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
31353         * lib/unistr.h: Update.
31354         * lib/unistr/u16-to-u8.c: Update.
31355         * modules/unistr/u16-to-u8: Update.
31356         * lib/unistr/u16-to-u32.c: Update.
31357         * modules/unistr/u16-to-u32: Update.
31358
31359 2007-01-27  Bruno Haible  <bruno@clisp.org>
31360
31361         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
31362         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
31363         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
31364         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
31365         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
31366         * modules/unistr/u8-mbtouc-unsafe: Renamed from
31367         modules/unistr/u8-mbtouc.
31368         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
31369         * lib/unistr.h: Update.
31370         * lib/striconveh.c: Update.
31371         * modules/striconveh: Update.
31372         * lib/linebreak.c: Update.
31373         * modules/linebreak: Update.
31374         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
31375         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
31376         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
31377         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
31378         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
31379         * lib/unistr.h: Update.
31380         * lib/striconveh.c: Update.
31381         * modules/striconveh: Update.
31382         * lib/unistr/u8-to-u16.c: Update.
31383         * modules/unistr/u8-to-u16: Update.
31384         * lib/unistr/u8-to-u32.c: Update.
31385         * modules/unistr/u8-to-u32: Update.
31386
31387 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31388
31389         Sync from Libtool.
31390         * lib/argz.c: Do not include strings.h nor memory.h, include
31391         string.h unconditionally.  Patch by Simon Josefsson.
31392
31393 2007-01-27  Bruno Haible  <bruno@clisp.org>
31394
31395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
31396         from gl_HEADER_STRING_H_BODY.
31397         (gl_HEADER_STRING_H_BODY): Require it.
31398         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
31399         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
31400         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
31401         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
31402         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31403         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
31404         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31405         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
31406         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
31407         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
31408         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
31409         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
31410         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
31411         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31412         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
31413
31414 2007-01-27  Bruno Haible  <bruno@clisp.org>
31415
31416         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
31417         check_PROGRAMS into noinst_PROGRAMS.
31418         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
31419         check_PROGRAMS in this case.
31420         (func_import): Set for_test to false.
31421         (func_create_testdir): Set for_test to true.
31422
31423 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
31424             Bruno Haible  <bruno@clisp.org>
31425
31426         * modules/strcasestr (Files): Remove lib/strcasestr.h.
31427         (Depends-on): Add string.
31428         (Includes): Use <string.h> instead of strcasestr.h.
31429         * modules/string (Makefile.am): Also substitute the value of
31430         REPLACE_STRCASESTR.
31431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
31432         assume strcasestr is declared in <string.h> not <strings.h>. Also
31433         set REPLACE_STRCASESTR.
31434         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
31435         REPLACE_STRCASESTR.
31436         * lib/strcasestr.h: Remove file.
31437         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
31438         * lib/string_.h (strcasestr): New declaration.
31439
31440 2007-01-27  Bruno Haible  <bruno@clisp.org>
31441
31442         * lib/string_.h: Use 'extern'.
31443
31444 2007-01-27  Jim Meyering  <jim@meyering.net>
31445
31446         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
31447         of set-but-not-used local, "q".
31448
31449         * lib/mempcpy.c: Include <config.h> before <string.h>.
31450         This fixes a compilation error on HP-UX, due to the system's
31451         "restrict"-using mempcpy prototype.
31452
31453 2007-01-26  Bruno Haible  <bruno@clisp.org>
31454
31455         Small optimization.
31456         * lib/javacomp.c: Include c-strstr.h.
31457          (is_envjavac_gcj): Use c_strstr instead of strstr.
31458         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
31459
31460 2007-01-26  Bruno Haible  <bruno@clisp.org>
31461
31462         * MODULES.html.sh (Unicode string functions): Add the new modules.
31463
31464         * modules/uniconv/u32-strconv-to-locale: New file.
31465         * lib/uniconv/u32-strconv-to-locale.c: New file.
31466
31467         * modules/uniconv/u16-strconv-to-locale: New file.
31468         * lib/uniconv/u16-strconv-to-locale.c: New file.
31469
31470         * modules/uniconv/u8-strconv-to-locale: New file.
31471         * lib/uniconv/u8-strconv-to-locale.c: New file.
31472
31473         * modules/uniconv/u32-strconv-from-locale: New file.
31474         * lib/uniconv/u32-strconv-from-locale.c: New file.
31475
31476         * modules/uniconv/u16-strconv-from-locale: New file.
31477         * lib/uniconv/u16-strconv-from-locale.c: New file.
31478
31479         * modules/uniconv/u8-strconv-from-locale: New file.
31480         * lib/uniconv/u8-strconv-from-locale.c: New file.
31481
31482         * modules/uniconv/u32-strconv-to-enc: New file.
31483         * lib/uniconv/u32-strconv-to-enc.c: New file.
31484         * modules/uniconv/u32-strconv-to-enc-tests: New file.
31485         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
31486
31487         * modules/uniconv/u16-strconv-to-enc: New file.
31488         * lib/uniconv/u16-strconv-to-enc.c: New file.
31489         * lib/uniconv/u-strconv-to-enc.h: New file.
31490         * modules/uniconv/u16-strconv-to-enc-tests: New file.
31491         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
31492
31493         * modules/uniconv/u8-strconv-to-enc: New file.
31494         * lib/uniconv/u8-strconv-to-enc.c: New file.
31495         * modules/uniconv/u8-strconv-to-enc-tests: New file.
31496         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
31497
31498         * modules/uniconv/u32-strconv-from-enc: New file.
31499         * lib/uniconv/u32-strconv-from-enc.c: New file.
31500         * modules/uniconv/u32-strconv-from-enc-tests: New file.
31501         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
31502
31503         * modules/uniconv/u16-strconv-from-enc: New file.
31504         * lib/uniconv/u16-strconv-from-enc.c: New file.
31505         * modules/uniconv/u16-strconv-from-enc-tests: New file.
31506         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
31507
31508         * modules/uniconv/u8-strconv-from-enc: New file.
31509         * lib/uniconv/u8-strconv-from-enc.c: New file.
31510         * lib/uniconv/u-strconv-from-enc.h: New file.
31511         * modules/uniconv/u8-strconv-from-enc-tests: New file.
31512         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
31513
31514         * modules/uniconv/u32-conv-from-enc: New file.
31515         * lib/uniconv/u32-conv-from-enc.c: New file.
31516         * modules/uniconv/u32-conv-from-enc-tests: New file.
31517         * tests/uniconv/test-u32-conv-from-enc.c: New file.
31518
31519         * modules/uniconv/u16-conv-from-enc: New file.
31520         * lib/uniconv/u16-conv-from-enc.c: New file.
31521         * lib/uniconv/u-conv-from-enc.h: New file.
31522         * modules/uniconv/u16-conv-from-enc-tests: New file.
31523         * tests/uniconv/test-u16-conv-from-enc.c: New file.
31524
31525         * modules/uniconv/u8-conv-from-enc: New file.
31526         * lib/uniconv/u8-conv-from-enc.c: New file.
31527         * modules/uniconv/u8-conv-from-enc-tests: New file.
31528         * tests/uniconv/test-u8-conv-from-enc.c: New file.
31529
31530         * modules/uniconv/base: New file.
31531         * lib/uniconv.h: New file.
31532
31533 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
31534
31535         * doc/gnulib-tool.texi (Initial import): Update to match current
31536         behavior with strdup module.
31537         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
31538         * lib/memmem.h: Remove; all uses removed.  This is now done
31539         by <string.h>.
31540         * lib/mempcpy.h: Likewise.
31541         * lib/memrchr.h: Likewise.
31542         * lib/stpcpy.h: Likewise.
31543         * lib/stpncpy.h: Likewise.
31544         * lib/strcase.h: Likewise.
31545         * lib/strchrnul.h: Likewise.
31546         * lib/strdup.h: Likewise.
31547         * lib/strndup.h: Likewise.
31548         * lib/strnlen.h: Likewise.
31549         * lib/strpbrk.h: Likewise.
31550         * lib/strsep.h: Likewise.
31551         * lib/strstr.h: Likewise.
31552         * lib/strtok_r.h: Likewise.
31553         * lib/string_.h: New file.
31554         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
31555         Rely on <string.h> instead.
31556         * lib/canon-host.c: Likewise.
31557         * lib/chdir-long.c: Likewise.
31558         * lib/concatpath.c: Likewise.
31559         * lib/exclude.c: Likewise.
31560         * lib/fchdir.c: Likewise.
31561         * lib/getaddrinfo.c: Likewise.
31562         * lib/getcwd.c: Likewise.
31563         * lib/getsubopt.c: Likewise.
31564         * lib/glob.c: Likewise.
31565         * lib/hard-locale.c: Likewise.
31566         * lib/iconvme.c: Likewise.
31567         * lib/javacomp.c: Likewise.
31568         * lib/mempcpy.c: Likewise.
31569         * lib/memrchr.c: Likewise.
31570         * lib/regex_internal.h: Likewise.
31571         * lib/stpncpy.c: Likewise.
31572         * lib/strcasecmp.c: Likewise.
31573         * lib/strchrnul.c: Likewise.
31574         * lib/strdup.c: Likewise.
31575         * lib/striconv.c: Likewise.
31576         * lib/striconveh.c: Likewise.
31577         * lib/striconveha.c: Likewise.
31578         * lib/strncasecmp.c: Likewise.
31579         * lib/strndup.c: Likewise.
31580         * lib/strnlen.c: Likewise.
31581         * lib/strsep.c: Likewise.
31582         * lib/strstr.c: Likewise.
31583         * lib/strtok_r.c: Likewise.
31584         * lib/userspec.c: Likewise.
31585         * lib/w32spawn.h: Likewise.
31586         * lib/xstrndup.c: Likewise.
31587         * lib/mountlist.c (strstr): Remove decl.
31588         * m4/string_h.m4: New file.
31589         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
31590         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
31591         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
31592         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
31593         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
31594         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
31595         Set REPLACE_STRCASECMP if necessary.
31596         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
31597         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
31598         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
31599         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
31600         HAVE_DECL_STRDUP if necessary.
31601         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
31602         since gl_FUNC_STRNDUP does that now.
31603         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
31604         Check for decl here...
31605         (gl_PREREQ_STRNLEN): ... not here.
31606         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
31607         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
31608         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
31609         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
31610         necessary.
31611         * modules/string: New file.
31612         * modules/memmem (Files): Remove special-purpose include file.
31613         (Depends-on): Add string.
31614         (Include): Include <string.h>, not the removed file.
31615         * modules/mempcpy: Likewise.
31616         * modules/memrchr: Likewise.
31617         * modules/stpcpy: Likewise.
31618         * modules/stpncpy: Likewise.
31619         * modules/strcase: Likewise.
31620         * modules/strchrnul: Likewise.
31621         * modules/strdup: Likewise.
31622         * modules/strndup: Likewise.
31623         * modules/strnlen: Likewise.
31624         * modules/strpbrk: Likewise.
31625         * modules/strsep: Likewise.
31626         * modules/strstr: Likewise.
31627         * modules/strtok_r: Likewise.
31628         * tests/test-dirname.c: Don't include "strdup.h", since
31629         <string.h> now suffices.
31630         * tests/test-memmem.c: Don't include "memmem.h", since
31631         <string.h> now suffices.
31632
31633 2007-01-25  Bruno Haible  <bruno@clisp.org>
31634
31635         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
31636         *resultp is 0.
31637
31638         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
31639         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
31640         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
31641         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
31642
31643         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
31644         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
31645         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
31646         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
31647         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
31648         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
31649
31650 2007-01-24  Bruno Haible  <bruno@clisp.org>
31651
31652         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
31653         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
31654         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
31655         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
31656         gl_FUNC_FTS_CORE.
31657         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
31658         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
31659         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31660         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
31661         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
31662         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
31663         gl_FUNC_FCHOWNAT.
31664         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
31665         gl_FUNC_STRFTIME.
31666         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
31667         Reported by Ralf Wildenhues.
31668
31669 2007-01-24  Bruno Haible  <bruno@clisp.org>
31670
31671         Drop AC_REQUIRE calls that are redundant with the module dependencies.
31672         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
31673         gl_GETADDRINFO.
31674         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
31675         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
31676         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
31677
31678 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
31679
31680         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
31681         Don't use 'exit'; just return from 'main'.
31682         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
31683
31684         * lib/fnmatch_.h: Readjust white space and comments to match
31685         glibc, to avoid spurious diffs.
31686
31687 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31688
31689         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
31690         2004-12-01 change by Jakub Jelinek, since this code won't compile
31691         if !LIBC.  Problem reported by Bob Proulx.
31692
31693 2007-01-23  Bruno Haible  <bruno@clisp.org>
31694
31695         * lib/striconveh.c: Include c-strcaseeq.h.
31696         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
31697         * modules/striconveh (Depends-on): Add c-strcaseeq.
31698
31699 2007-01-23  Bruno Haible  <bruno@clisp.org>
31700
31701         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
31702
31703         * modules/c-strcaseeq: New file.
31704         * lib/c-strcaseeq.h: New file.
31705
31706         * modules/streq: New file.
31707         * lib/streq.h: New file.
31708
31709 2007-01-23  Bruno Haible  <bruno@clisp.org>
31710
31711         * modules/striconveha-tests: New file.
31712         * tests/test-striconveha.c: New file.
31713
31714         * lib/striconveha.h: Include <stdbool.h>.
31715         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
31716         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
31717         (mem_iconveha_notranslit): Renamed from mem_iconveha.
31718         (mem_iconveha): New function.
31719         (str_iconveha_notranslit): Renamed from str_iconveha.
31720         (str_iconveha): New function.
31721         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
31722         c-strcase.
31723
31724 2007-01-23  Bruno Haible  <bruno@clisp.org>
31725
31726         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
31727         encodings without forgiving before trying any encoding with handler.
31728         (str_iconveha): Try all encodings without forgiving before trying any
31729         encoding with handler.
31730
31731 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31732
31733         Import the following changes from libc.
31734
31735         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
31736
31737         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
31738
31739         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
31740
31741         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
31742         normal_bracket label.
31743
31744         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
31745
31746         [BZ #361]
31747         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
31748         to normal_bracket after fetching the next character.
31749
31750 2007-01-22  Bruno Haible  <bruno@clisp.org>
31751
31752         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
31753         argument.
31754         * lib/striconveh.c (iconv_carefully_1): New function.
31755         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
31756         argument.
31757         (str_cd_iconveh): Update.
31758         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
31759         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
31760         * tests/test-striconveh.c (MAGIC): New macro.
31761         (new_offsets): New function.
31762         (main): Test call with and without offsets.
31763
31764 2007-01-22  Bruno Haible  <bruno@clisp.org>
31765
31766         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
31767         * modules/sys_select (Makefile.am): Likewise.
31768         * modules/sys_socket (Makefile.am): Likewise.
31769         * modules/sys_time (Makefile.am): Likewise.
31770
31771 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
31772
31773         * modules/gettimeofday (License): Change from GPL to LGPL, since
31774         gettimeofday is a library function.
31775
31776 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31777
31778         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
31779
31780 2007-01-21  Bruno Haible  <bruno@clisp.org>
31781
31782         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
31783
31784 2007-01-21  Bruno Haible  <bruno@clisp.org>
31785
31786         * modules/striconveha: New file.
31787         * lib/striconveha.h: New file.
31788         * lib/striconveha.c: New file.
31789         * MODULES.html.sh (Internationalization functions): Add striconveha.
31790         * lib/striconv.c (str_iconv): Optimize the case of an empty input
31791         string.
31792         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
31793
31794 2007-01-21  Bruno Haible  <bruno@clisp.org>
31795
31796         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
31797         * lib/striconveh.c (str_iconveh): Likewise.
31798
31799 2007-01-21  Bruno Haible  <bruno@clisp.org>
31800
31801         * lib/striconveh.h (mem_iconveh): New declaration.
31802         * lib/striconveh.c (mem_iconveh): New function.
31803         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
31804
31805 2007-01-21  Bruno Haible  <bruno@clisp.org>
31806
31807         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
31808
31809         * lib/striconveh.h (mem_cd_iconveh): Change specification.
31810         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
31811         original result buffer.
31812         (str_cd_iconveh): Update.
31813         * tests/test-striconveh.c (main): Update.
31814
31815         * lib/striconv.h (mem_cd_iconv): Change specification.
31816         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
31817         result buffer.
31818         (str_cd_iconv): Update.
31819         * tests/test-striconv.c (main): Update.
31820
31821 2007-01-21  Bruno Haible  <bruno@clisp.org>
31822
31823         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
31824
31825 2007-01-20  Jim Meyering  <jim@meyering.net>
31826
31827         * lib/userspec.c (parse_with_separator): If a user or group string
31828         starts with "+", skip the corresponding name-to-ID look-up, since
31829         such a look-up must fail: user and group names may not include "+".
31830
31831 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
31832
31833         * lib/poll.c: Include sys/time.h and time.h unconditionally,
31834         since we now assume the sys_time module.
31835         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
31836         check for sys/time.h; no longer needed.
31837         * modules/poll (Depends-on): Depend on sys_time.
31838
31839 2007-01-18  Bruno Haible  <bruno@clisp.org>
31840
31841         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
31842         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
31843
31844         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
31845         gettimeofday.
31846
31847         * tests/test-gettimeofday.c: Include <time.h>.
31848         (dummy): Remove variable.
31849
31850         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
31851         gl_HEADER_SYS_TIME_H.
31852         (gl_HEADER_SYS_TIME_H): New macro.
31853
31854         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
31855         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31856         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
31857         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
31858         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31859         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
31860         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
31861         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31862         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
31863         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
31864         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31865
31866         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
31867         last change; it caused a compilation error when cross-compiling to
31868         Cygwin.
31869
31870 2007-01-18  Jim Meyering  <jim@meyering.net>
31871
31872         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
31873         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
31874         than the race-prone "test -d sys || mkdir sys".
31875         (configure.ac): Use AC_PROG_MKDIR_P.
31876         * modules/sys_select: Likewise.
31877         * modules/sys_socket: Likewise.
31878         * modules/sys_time: Likewise.
31879
31880 2007-01-18  Eric Blake  <ebb9@byu.net>
31881
31882         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
31883         replace gettimeofday.
31884         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
31885         name, to avoid infinite recursion.
31886
31887 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
31888
31889         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
31890         module sys_time.
31891         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
31892         assume timespec.h defines struct timeval.
31893         * lib/settime.c: Likewise.
31894         * lib/utimens.c: Likewise.
31895         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
31896         since we now assume the gettimeofday module.
31897         * lib/tempname.c (__gen_tempname): Likewise.
31898         * lib/gettimeofday.h: Remove.
31899         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
31900         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
31901         Include <time.h>, for 'time()'.
31902         (localtime_buffer_addr): Also use this workaround if
31903         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
31904         to simplify the uses.  All uses changed.
31905         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
31906         that #undef is inside {}, and 'const' follows type name consistently.
31907         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
31908         (gettimeofday): Do not use the maximum possible value for
31909         tv->tv_usec, since that might break usages other than ls.c.
31910         Instead, we'll leave ls.c alone.  This undoes today's patch
31911         by Bruno.  Add a compile-time warning for 1s-clock resolution;
31912         we've never observed the problem but might as well keep the
31913         canary.
31914         * lib/nanosleep.c: Include timespec.h first, for interface check.
31915         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
31916         now assume the sys_time module.
31917         * lib/tempname.c: Likewise.
31918         * lib/timespec.h: Likewise.
31919         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
31920         needed.
31921         * lib/strftime.c: Likewise.
31922         * lib/timespec.h: Likewise.
31923         * lib/posixtm.c: Include posixtm.h first, for interface check.
31924         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
31925         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
31926         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
31927         * lib/sys_time_.h: New file.
31928         * lib/timespec.h (struct timespec): Use long int, not long.
31929         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
31930         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
31931         Remove obsolescent call to AC_HEADER_TIME.
31932         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
31933         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31934         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
31935         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
31936         Likewise.
31937         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
31938         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
31939         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
31940         into the sys_time module.  Check for gettimeofday just once.
31941         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
31942         for gettimeofday signature to just check the signature.  Merely
31943         compile it, since linking doesn't test signature.  Improve test for
31944         whether gettimeofday.o is actually needed.
31945         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
31946         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
31947         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
31948         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31949         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
31950         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
31951         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
31952         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
31953         than worrying about sys/time.h.
31954         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
31955         Don't bother worrying about TIME_WITH_SYS_TIME.
31956         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
31957         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
31958         * m4/sys_time_h.m4: New file.
31959         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
31960         Don't include sys/time.h.  Return from main rather than exiting.
31961         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
31962         all uses changed.
31963         * modules/gethrxtime (Depends-on): Add sys_time.
31964         * modules/gettime (Depends-on): Likewise.
31965         * modules/gettimeofday (Depends-on): Likewise.
31966         * modules/nanosleep (Depends-on): Likewise.
31967         * modules/settime (Depends-on): Likewise.
31968         * modules/tempname (Depends-on): Likewise.
31969         * modules/utimens (Depends-on): Likewise.
31970         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
31971         (Include:) Change back to <sys/time.h>.
31972         (Maintainer:) Add self.
31973         * modules/sys_time: New file.
31974         * modules/tempname (Depends-on): Add gettimeofday.
31975         * tests/test-gettimeofday.c: Include <sys/time.h>
31976         rather than gettimeofday.h.
31977
31978 2007-01-17  Bruno Haible  <bruno@clisp.org>
31979
31980         * gnulib-tool (func_get_license): Revert last patch. Instead, let
31981         the license default to GPL.
31982         (func_create_testdir): Don't complain if a module is LGPL and its
31983         tests module depends on GPLed modules.
31984
31985 2007-01-17  Bruno Haible  <bruno@clisp.org>
31986
31987         * lib/gettimeofday.c (gettimeofday): Add code for the case
31988         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
31989         maximum possible value for tv->tv_usec, rather than the minimum one.
31990
31991 2005-10-08  Martin Lambers  <marlam@marlam.de>
31992 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31993 2007-01-16  Bruno Haible  <bruno@clisp.org>
31994
31995         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
31996         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
31997         gl_FUNC_GETTIMEOFDAY.
31998         (Include): Add gettimeofday.h.
31999         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
32000         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
32001         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
32002         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
32003         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
32004         * lib/gettimeofday.h: New file.
32005         * lib/gettimeofday.c: Include <sys/timeb.h>.
32006         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
32007         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32008         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
32009         fall back on time().
32010
32011         * tests/test-gettimeofday.c: New file.
32012         * modules/gettimeofday-tests: New file.
32013
32014 2007-01-16  Eric Blake  <ebb9@byu.net>
32015
32016         * modules/fnmatch (Depends-on): Depend on wchar.
32017         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
32018         * m4/fnmatch.m4: Likewise.
32019         * modules/mbchar (Makefile.am): Assume <wchar.h>.
32020         * m4/mbchar.m4: Likewise.
32021         * modules/mbswidth (Depends-on): Depend on wchar.
32022         * lib/mbswidth.c: Assume <wchar.h>.
32023         * m4/mbswidth.m4: Likewise.
32024         * modules/quotearg (Depends-on): Depend on wchar.
32025         * lib/quotearg.c: Assume <wchar.h>.
32026         * m4/quotearg.m4: Likewise.
32027         * modules/regex (Depends-on): Depend on wchar.
32028         * lib/regex_internal.h: Assume <wchar.h>.
32029         * m4/regex.m4: Likewise.
32030         * modules/stdint (Depends-on): Depend on wchar.
32031         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
32032         * m4/stdint.m4: Likewise.
32033         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
32034         * modules/strftime (Depends-on): Depend on wchar.
32035         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
32036         * modules/strtol (Depends-on): Depend on wchar.
32037         * lib/strtol.c: Assume <wchar.h>.
32038         * modules/wcwidth (Depends-on): Depend on wchar.
32039         * lib/wcwidth.h: Assume <wchar.h>.
32040         * m4/wcwidth.m4: Likewise.
32041
32042 2007-01-16  Bruno Haible  <bruno@clisp.org>
32043
32044         * modules/csharpexec-script: New, created from...
32045         * modules/csharpexec: ... this.
32046
32047 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
32048
32049         * modules/javaexec-script: New, created from...
32050         * modules/javaexec: ... this.
32051
32052 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32053
32054         * modules/poll (Dependencies): Add sys_select.
32055
32056 2007-01-15  Jim Meyering  <jim@meyering.net>
32057
32058         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
32059         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
32060         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
32061         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
32062
32063 2007-01-15  Bruno Haible  <bruno@clisp.org>
32064
32065         * modules/striconveh: New file.
32066         * lib/striconveh.h: New file.
32067         * lib/striconveh.c: New file.
32068         * MODULES.html.sh (Internationalization functions): Add striconveh.
32069
32070         * modules/striconveh-tests: New file.
32071         * tests/test-striconveh.c: New file.
32072
32073 2007-01-15  Bruno Haible  <bruno@clisp.org>
32074
32075         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
32076         not from GNU libiconv or GNU libc.
32077
32078 2007-01-15  Bruno Haible  <bruno@clisp.org>
32079
32080         * doc/gnulib-intro.texi (Copyright): Explain the different license
32081         terms for module descriptions, autoconf macros, tests, documentation.
32082
32083 2007-01-14  Bruno Haible  <bruno@clisp.org>
32084
32085         * modules/striconv-tests: New file.
32086         * tests/test-striconv.c: New file.
32087
32088 2007-01-14  Bruno Haible  <bruno@clisp.org>
32089
32090         * modules/iconv-tests: New file.
32091         * tests/test-iconv.c: New file.
32092
32093 2007-01-14  Bruno Haible  <bruno@clisp.org>
32094
32095         * gnulib-tool (func_get_license): For test modules, use the license of
32096         the main module.
32097
32098 2007-01-14  Bruno Haible  <bruno@clisp.org>
32099
32100         * modules/iconv (Include): Clarify that <iconv.h> can only be included
32101         if iconv is found to exist.
32102
32103 2007-01-14  Bruno Haible  <bruno@clisp.org>
32104
32105         * modules/c-ctype-tests: New file.
32106         * tests/test-c-ctype.c: New file.
32107
32108 2007-01-14  Bruno Haible  <bruno@clisp.org>
32109
32110         * modules/binary-io-tests: New file.
32111         * tests/test-binary-io.sh: New file.
32112         * tests/test-binary-io.c: New file.
32113
32114 2007-01-14  Bruno Haible  <bruno@clisp.org>
32115
32116         * modules/array-oset-tests: New file.
32117         * tests/test-array_oset.c: New file.
32118
32119 2007-01-14  Bruno Haible  <bruno@clisp.org>
32120
32121         * modules/array-list-tests: New file.
32122         * tests/test-array_list.c: New file.
32123
32124 2007-01-14  Bruno Haible  <bruno@clisp.org>
32125
32126         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
32127         and make.
32128         Reported by Simon Josefsson in
32129         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
32130
32131 2007-01-14  Bruno Haible  <bruno@clisp.org>
32132
32133         * modules/allocsa-tests: New file.
32134         * tests/test-allocsa.c: New file.
32135
32136 2007-01-14  Bruno Haible  <bruno@clisp.org>
32137
32138         * modules/fchdir (Depends-on): Add absolute-header.
32139         * modules/unistd (Depends-on): Likewise.
32140
32141 2006-12-30  Bruno Haible  <bruno@clisp.org>
32142
32143         * modules/fchdir: New file.
32144         * modules/unistd (Files): Add lib/unistd_.h.
32145         (Makefile.am): Generate unistd.h from unistd_.h.
32146         * lib/fchdir.c: New file.
32147         * lib/dirent_.h: New file.
32148         * lib/unistd_.h: New file.
32149         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
32150         * m4/fchdir.m4: New file.
32151         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
32152         (gl_HEADER_UNISTD): Invoke it.
32153         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
32154         function.
32155         * lib/backupfile.c (opendir, closedir): Undefine.
32156         * lib/chown.c (open, close): Undefine.
32157         * lib/clean-temp.c (open, close): Undefine.
32158         * lib/copy-file.c (open, close): Undefine.
32159         * lib/execute.c (open, close): Undefine.
32160         * lib/fsusage.c (open, close): Undefine.
32161         * lib/gc-gnulib.c (open, close): Undefine.
32162         * lib/getcwd.c (opendir, closedir): Undefine.
32163         * lib/glob.c (opendir, closedir): Undefine.
32164         * lib/javacomp.c (open, close): Undefine.
32165         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
32166         * lib/openat-proc.c (open, close): Undefine.
32167         * lib/pagealign_alloc.c (open, close): Undefine.
32168         * lib/pipe.c (open, close): Undefine.
32169         * lib/progreloc.c (open, close): Undefine.
32170         * lib/savedir.c (opendir, closedir): Undefine.
32171         * lib/utime.c (open, close): Undefine.
32172         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
32173
32174 2007-01-10  Bruno Haible  <bruno@clisp.org>
32175
32176         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
32177
32178 2007-01-12  Eric Blake  <ebb9@byu.net>
32179
32180         Provide a robust <wchar.h>.  Further simplifications are now
32181         possible in other modules, but not included here.
32182         * modules/wchar: New module.
32183         * m4/wchar.m4: New file.
32184         * lib/wchar_.h: Likewise.
32185         * modules/mbchar (Depends-on): Depend on wchar, as the first use
32186         of the new module.
32187         * MODULES.html.sh (Extended multibyte and wide character utilities):
32188         New section.
32189
32190 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
32191
32192         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
32193         to a reasonable default for memory allocation.
32194         (xreadlink): Don't allocate a huge buffer, to work around a buggy
32195         file system that reports garbage st_size values for symlinks.
32196         Problem reported by Liyang Hu.
32197
32198 2007-01-11  Simon Josefsson  <simon@josefsson.org>
32199
32200         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
32201         Emacs .#* auto-save files).
32202
32203 2007-01-11  Bruno Haible  <bruno@clisp.org>
32204
32205         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
32206         directory.
32207
32208 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
32209
32210         Use @...@ consistently in lib/wctype_.h.
32211         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
32212         on it being set to 1 or 0.
32213         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
32214         go back to AC_SUBSTing it.
32215         * modules/wctype (Makefile.am): Undo previous change.
32216
32217 2007-01-10  Eric Blake  <ebb9@byu.net>
32218
32219         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
32220         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
32221         * modules/wctype (Makefile.am): Likewise.
32222         Reported by Chris McGuire.
32223
32224 2007-01-10  Jim Meyering  <jim@meyering.net>
32225
32226         fts.c: a small readability/maintainability improvement
32227         * lib/fts.c (fts_read): Make this code slightly more readable and
32228         maintainable by hoisting the "sp->fts_cur = p" assignments to
32229         immediately follow the statements that set P.  Derived from
32230         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
32231
32232 2007-01-10  Eric Blake  <ebb9@byu.net>
32233
32234         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
32235         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
32236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32237         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32238         Reported by Chris McGuire.
32239
32240 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32241
32242         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
32243         in sed script.
32244
32245 2007-01-09  Bruno Haible  <bruno@clisp.org>
32246
32247         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
32248         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
32249         variables.
32250         (func_module): Use them.
32251
32252 2007-01-09  Bruno Haible  <bruno@clisp.org>
32253
32254         * modules/unistr/base: New file.
32255         * lib/unistr.h: New file.
32256
32257         * modules/unistr/u8-to-u16: New file.
32258         * lib/unistr/u8-to-u16.c: New file.
32259
32260         * modules/unistr/u8-to-u32: New file.
32261         * lib/unistr/u8-to-u32.c: New file.
32262
32263         * modules/unistr/u16-to-u8: New file.
32264         * lib/unistr/u16-to-u8.c: New file.
32265
32266         * modules/unistr/u16-to-u32: New file.
32267         * lib/unistr/u16-to-u32.c: New file.
32268
32269         * modules/unistr/u32-to-u8: New file.
32270         * lib/unistr/u32-to-u8.c: New file.
32271
32272         * modules/unistr/u32-to-u16: New file.
32273         * lib/unistr/u32-to-u16.c: New file.
32274
32275         * modules/unistr/u8-check: New file.
32276         * modules/unistr/u16-check: New file.
32277         * modules/unistr/u32-check: New file.
32278         * lib/unistr/u8-check.c: New file.
32279         * lib/unistr/u16-check.c: New file.
32280         * lib/unistr/u32-check.c: New file.
32281
32282         * modules/unistr/u8-chr: New file.
32283         * modules/unistr/u16-chr: New file.
32284         * modules/unistr/u32-chr: New file.
32285         * lib/unistr/u8-chr.c: New file.
32286         * lib/unistr/u16-chr.c: New file.
32287         * lib/unistr/u32-chr.c: New file.
32288
32289         * modules/unistr/u8-cmp: New file.
32290         * modules/unistr/u16-cmp: New file.
32291         * modules/unistr/u32-cmp: New file.
32292         * lib/unistr/u8-cmp.c: New file.
32293         * lib/unistr/u16-cmp.c: New file.
32294         * lib/unistr/u32-cmp.c: New file.
32295
32296         * modules/unistr/u8-cpy: New file.
32297         * modules/unistr/u16-cpy: New file.
32298         * modules/unistr/u32-cpy: New file.
32299         * lib/unistr/u8-cpy.c: New file.
32300         * lib/unistr/u16-cpy.c: New file.
32301         * lib/unistr/u32-cpy.c: New file.
32302         * lib/unistr/u-cpy.h: New file.
32303
32304         * modules/unistr/u8-cpy-alloc: New file.
32305         * modules/unistr/u16-cpy-alloc: New file.
32306         * modules/unistr/u32-cpy-alloc: New file.
32307         * lib/unistr/u8-cpy-alloc.c: New file.
32308         * lib/unistr/u16-cpy-alloc.c: New file.
32309         * lib/unistr/u32-cpy-alloc.c: New file.
32310         * lib/unistr/u-cpy-alloc.h: New file.
32311
32312         * modules/unistr/u8-endswith: New file.
32313         * modules/unistr/u16-endswith: New file.
32314         * modules/unistr/u32-endswith: New file.
32315         * lib/unistr/u8-endswith.c: New file.
32316         * lib/unistr/u16-endswith.c: New file.
32317         * lib/unistr/u32-endswith.c: New file.
32318         * lib/unistr/u-endswith.h: New file.
32319
32320         * modules/unistr/u8-mblen: New file.
32321         * modules/unistr/u16-mblen: New file.
32322         * modules/unistr/u32-mblen: New file.
32323         * lib/unistr/u8-mblen.c: New file.
32324         * lib/unistr/u16-mblen.c: New file.
32325         * lib/unistr/u32-mblen.c: New file.
32326
32327         * modules/unistr/u8-mbtouc: New file.
32328         * modules/unistr/u16-mbtouc: New file.
32329         * modules/unistr/u32-mbtouc: New file.
32330         * lib/unistr/u8-mbtouc.c: New file.
32331         * lib/unistr/u16-mbtouc.c: New file.
32332         * lib/unistr/u32-mbtouc.c: New file.
32333
32334         * modules/unistr/u8-mbtouc-safe: New file.
32335         * modules/unistr/u16-mbtouc-safe: New file.
32336         * modules/unistr/u32-mbtouc-safe: New file.
32337         * lib/unistr/u8-mbtouc-safe.c: New file.
32338         * lib/unistr/u16-mbtouc-safe.c: New file.
32339         * lib/unistr/u32-mbtouc-safe.c: New file.
32340
32341         * modules/unistr/u8-move: New file.
32342         * modules/unistr/u16-move: New file.
32343         * modules/unistr/u32-move: New file.
32344         * lib/unistr/u8-move.c: New file.
32345         * lib/unistr/u16-move.c: New file.
32346         * lib/unistr/u32-move.c: New file.
32347         * lib/unistr/u-move.h: New file.
32348
32349         * modules/unistr/u8-next: New file.
32350         * modules/unistr/u16-next: New file.
32351         * modules/unistr/u32-next: New file.
32352         * lib/unistr/u8-next.c: New file.
32353         * lib/unistr/u16-next.c: New file.
32354         * lib/unistr/u32-next.c: New file.
32355
32356         * modules/unistr/u8-prev: New file.
32357         * modules/unistr/u16-prev: New file.
32358         * modules/unistr/u32-prev: New file.
32359         * lib/unistr/u8-prev.c: New file.
32360         * lib/unistr/u16-prev.c: New file.
32361         * lib/unistr/u32-prev.c: New file.
32362
32363         * modules/unistr/u8-set: New file.
32364         * modules/unistr/u16-set: New file.
32365         * modules/unistr/u32-set: New file.
32366         * lib/unistr/u8-set.c: New file.
32367         * lib/unistr/u16-set.c: New file.
32368         * lib/unistr/u32-set.c: New file.
32369         * lib/unistr/u-set.h: New file.
32370
32371         * modules/unistr/u8-startswith: New file.
32372         * modules/unistr/u16-startswith: New file.
32373         * modules/unistr/u32-startswith: New file.
32374         * lib/unistr/u8-startswith.c: New file.
32375         * lib/unistr/u16-startswith.c: New file.
32376         * lib/unistr/u32-startswith.c: New file.
32377         * lib/unistr/u-startswith.h: New file.
32378
32379         * modules/unistr/u8-stpcpy: New file.
32380         * modules/unistr/u16-stpcpy: New file.
32381         * modules/unistr/u32-stpcpy: New file.
32382         * lib/unistr/u8-stpcpy.c: New file.
32383         * lib/unistr/u16-stpcpy.c: New file.
32384         * lib/unistr/u32-stpcpy.c: New file.
32385         * lib/unistr/u-stpcpy.h: New file.
32386
32387         * modules/unistr/u8-stpncpy: New file.
32388         * modules/unistr/u16-stpncpy: New file.
32389         * modules/unistr/u32-stpncpy: New file.
32390         * lib/unistr/u8-stpncpy.c: New file.
32391         * lib/unistr/u16-stpncpy.c: New file.
32392         * lib/unistr/u32-stpncpy.c: New file.
32393         * lib/unistr/u-stpncpy.h: New file.
32394
32395         * modules/unistr/u8-strcat: New file.
32396         * modules/unistr/u16-strcat: New file.
32397         * modules/unistr/u32-strcat: New file.
32398         * lib/unistr/u8-strcat.c: New file.
32399         * lib/unistr/u16-strcat.c: New file.
32400         * lib/unistr/u32-strcat.c: New file.
32401         * lib/unistr/u-strcat.h: New file.
32402
32403         * modules/unistr/u8-strchr: New file.
32404         * modules/unistr/u16-strchr: New file.
32405         * modules/unistr/u32-strchr: New file.
32406         * lib/unistr/u8-strchr.c: New file.
32407         * lib/unistr/u16-strchr.c: New file.
32408         * lib/unistr/u32-strchr.c: New file.
32409
32410         * modules/unistr/u8-strcmp: New file.
32411         * modules/unistr/u16-strcmp: New file.
32412         * modules/unistr/u32-strcmp: New file.
32413         * lib/unistr/u8-strcmp.c: New file.
32414         * lib/unistr/u16-strcmp.c: New file.
32415         * lib/unistr/u32-strcmp.c: New file.
32416
32417         * modules/unistr/u8-strcpy: New file.
32418         * modules/unistr/u16-strcpy: New file.
32419         * modules/unistr/u32-strcpy: New file.
32420         * lib/unistr/u8-strcpy.c: New file.
32421         * lib/unistr/u16-strcpy.c: New file.
32422         * lib/unistr/u32-strcpy.c: New file.
32423         * lib/unistr/u-strcpy.h: New file.
32424
32425         * modules/unistr/u8-strcspn: New file.
32426         * modules/unistr/u16-strcspn: New file.
32427         * modules/unistr/u32-strcspn: New file.
32428         * lib/unistr/u8-strcspn.c: New file.
32429         * lib/unistr/u16-strcspn.c: New file.
32430         * lib/unistr/u32-strcspn.c: New file.
32431         * lib/unistr/u-strcspn.h: New file.
32432
32433         * modules/unistr/u8-strdup: New file.
32434         * modules/unistr/u16-strdup: New file.
32435         * modules/unistr/u32-strdup: New file.
32436         * lib/unistr/u8-strdup.c: New file.
32437         * lib/unistr/u16-strdup.c: New file.
32438         * lib/unistr/u32-strdup.c: New file.
32439         * lib/unistr/u-strdup.h: New file.
32440
32441         * modules/unistr/u8-strlen: New file.
32442         * modules/unistr/u16-strlen: New file.
32443         * modules/unistr/u32-strlen: New file.
32444         * lib/unistr/u8-strlen.c: New file.
32445         * lib/unistr/u16-strlen.c: New file.
32446         * lib/unistr/u32-strlen.c: New file.
32447         * lib/unistr/u-strlen.h: New file.
32448
32449         * modules/unistr/u8-strmblen: New file.
32450         * modules/unistr/u16-strmblen: New file.
32451         * modules/unistr/u32-strmblen: New file.
32452         * lib/unistr/u8-strmblen.c: New file.
32453         * lib/unistr/u16-strmblen.c: New file.
32454         * lib/unistr/u32-strmblen.c: New file.
32455
32456         * modules/unistr/u8-strmbtouc: New file.
32457         * modules/unistr/u16-strmbtouc: New file.
32458         * modules/unistr/u32-strmbtouc: New file.
32459         * lib/unistr/u8-strmbtouc.c: New file.
32460         * lib/unistr/u16-strmbtouc.c: New file.
32461         * lib/unistr/u32-strmbtouc.c: New file.
32462
32463         * modules/unistr/u8-strncat: New file.
32464         * modules/unistr/u16-strncat: New file.
32465         * modules/unistr/u32-strncat: New file.
32466         * lib/unistr/u8-strncat.c: New file.
32467         * lib/unistr/u16-strncat.c: New file.
32468         * lib/unistr/u32-strncat.c: New file.
32469         * lib/unistr/u-strncat.h: New file.
32470
32471         * modules/unistr/u8-strncmp: New file.
32472         * modules/unistr/u16-strncmp: New file.
32473         * modules/unistr/u32-strncmp: New file.
32474         * lib/unistr/u8-strncmp.c: New file.
32475         * lib/unistr/u16-strncmp.c: New file.
32476         * lib/unistr/u32-strncmp.c: New file.
32477
32478         * modules/unistr/u8-strncpy: New file.
32479         * modules/unistr/u16-strncpy: New file.
32480         * modules/unistr/u32-strncpy: New file.
32481         * lib/unistr/u8-strncpy.c: New file.
32482         * lib/unistr/u16-strncpy.c: New file.
32483         * lib/unistr/u32-strncpy.c: New file.
32484         * lib/unistr/u-strncpy.h: New file.
32485
32486         * modules/unistr/u8-strnlen: New file.
32487         * modules/unistr/u16-strnlen: New file.
32488         * modules/unistr/u32-strnlen: New file.
32489         * lib/unistr/u8-strnlen.c: New file.
32490         * lib/unistr/u16-strnlen.c: New file.
32491         * lib/unistr/u32-strnlen.c: New file.
32492         * lib/unistr/u-strnlen.h: New file.
32493
32494         * modules/unistr/u8-strpbrk: New file.
32495         * modules/unistr/u16-strpbrk: New file.
32496         * modules/unistr/u32-strpbrk: New file.
32497         * lib/unistr/u8-strpbrk.c: New file.
32498         * lib/unistr/u16-strpbrk.c: New file.
32499         * lib/unistr/u32-strpbrk.c: New file.
32500         * lib/unistr/u-strpbrk.h: New file.
32501
32502         * modules/unistr/u8-strrchr: New file.
32503         * modules/unistr/u16-strrchr: New file.
32504         * modules/unistr/u32-strrchr: New file.
32505         * lib/unistr/u8-strrchr.c: New file.
32506         * lib/unistr/u16-strrchr.c: New file.
32507         * lib/unistr/u32-strrchr.c: New file.
32508
32509         * modules/unistr/u8-strspn: New file.
32510         * modules/unistr/u16-strspn: New file.
32511         * modules/unistr/u32-strspn: New file.
32512         * lib/unistr/u8-strspn.c: New file.
32513         * lib/unistr/u16-strspn.c: New file.
32514         * lib/unistr/u32-strspn.c: New file.
32515         * lib/unistr/u-strspn.h: New file.
32516
32517         * modules/unistr/u8-strstr: New file.
32518         * modules/unistr/u16-strstr: New file.
32519         * modules/unistr/u32-strstr: New file.
32520         * lib/unistr/u8-strstr.c: New file.
32521         * lib/unistr/u16-strstr.c: New file.
32522         * lib/unistr/u32-strstr.c: New file.
32523         * lib/unistr/u-strstr.h: New file.
32524
32525         * modules/unistr/u8-strtok: New file.
32526         * modules/unistr/u16-strtok: New file.
32527         * modules/unistr/u32-strtok: New file.
32528         * lib/unistr/u8-strtok.c: New file.
32529         * lib/unistr/u16-strtok.c: New file.
32530         * lib/unistr/u32-strtok.c: New file.
32531         * lib/unistr/u-strtok.h: New file.
32532
32533         * modules/unistr/u8-uctomb: New file.
32534         * modules/unistr/u16-uctomb: New file.
32535         * modules/unistr/u32-uctomb: New file.
32536         * lib/unistr/u8-uctomb.c: New file.
32537         * lib/unistr/u16-uctomb.c: New file.
32538         * lib/unistr/u32-uctomb.c: New file.
32539
32540         * MODULES.html.sh (Unicode string functions): Add the new modules.
32541
32542 2007-01-08  Bruno Haible  <bruno@clisp.org>
32543
32544         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
32545         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
32546         subdirectories.
32547
32548 2007-01-08  Karl Berry  <karl@gnu.org>
32549
32550         * doc/error.texi: mention that main() fns must set program_name
32551         when progname is used.
32552
32553 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
32554
32555         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
32556         WCTYPE_H is empty, for the benefit of builds from non-distclean
32557         directories.  Problem reported by Eric Blake in
32558         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
32559
32560 2007-01-08  Bruno Haible  <bruno@clisp.org>
32561
32562         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
32563         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
32564         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
32565         PROVIDE_CANONICALIZE_FILENAME_MODE.
32566         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
32567
32568 2007-01-08  Bruno Haible  <bruno@clisp.org>
32569
32570         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
32571         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
32572         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
32573         * lib/fts.c: Likewise.
32574         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
32575
32576 2006-12-25  Bruno Haible  <bruno@clisp.org>
32577
32578         * modules/utf8-ucs4-safe: New file.
32579         * lib/utf8-ucs4-safe.h: New file.
32580         * lib/unistr/utf8-ucs4-safe.c: New file.
32581
32582         * modules/utf16-ucs4-safe: New file.
32583         * lib/utf16-ucs4-safe.h: New file.
32584         * lib/unistr/utf16-ucs4-safe.c: New file.
32585
32586         * MODULES.html.sh (Unicode string functions): Add the new modules.
32587
32588 2007-01-08  Bruno Haible  <bruno@clisp.org>
32589
32590         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
32591         (Depends-on): Add unitypes.
32592         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32593         (u8_mbtouc_aux): Move out to separate file.
32594         (u8_mbtouc): Use ucs4_t, uint8_t types.
32595         * lib/unistr/utf8-ucs4.c: New file.
32596
32597         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
32598         (Depends-on): Add unitypes.
32599         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32600         (u16_mbtouc_aux): Move out to separate file.
32601         (u16_mbtouc): Use ucs4_t, uint16_t types.
32602         * lib/unistr/utf16-ucs4.c: New file.
32603
32604         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
32605         (Depends-on): Add unitypes.
32606         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
32607         (u8_uctomb_aux): Move out to separate file.
32608         (u8_uctomb): Use ucs4_t, uint8_t types.
32609         * lib/unistr/ucs4-utf8.c: New file.
32610
32611         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
32612         (Depends-on): Add unitypes.
32613         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
32614         (u16_uctomb_aux): Move out to separate file.
32615         (u16_uctomb): Use ucs4_t, uint16_t types.
32616         * lib/unistr/ucs4-utf16.c: New file.
32617
32618 2006-12-25  Bruno Haible  <bruno@clisp.org>
32619
32620         * modules/unitypes: New file.
32621         * lib/unitypes.h: New file.
32622         * MODULES.html.sh (func_all_modules): New section "Unicode string
32623         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
32624         this section. Add unitypes.
32625
32626 2007-01-08  Bruno Haible  <bruno@clisp.org>
32627
32628         Avoid variable names that conflict with those from libtool.
32629         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
32630         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
32631         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
32632         library_names_spec to acl_library_names_spec, hardcode_* to
32633         acl_hardcode_*.
32634         Reported by Ralf Wildenhues.
32635
32636 2007-01-08  Bruno Haible  <bruno@clisp.org>
32637
32638         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
32639         definition.
32640         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
32641         definition.
32642         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
32643         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
32644         definition.
32645         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
32646         definition.
32647         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
32648         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
32649         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
32650         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
32651         definition.
32652         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
32653         definition.
32654         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
32655         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
32656         GC_USE_<algorithm>.
32657         * lib/gc-libgcrypt.c: Likewise.
32658         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
32659         * modules/gc-arctwo (configure.ac): Likewise.
32660         * modules/gc-des (configure.ac): Likewise.
32661         * modules/gc-hmac-md5 (configure.ac): Likewise.
32662         * modules/gc-hmac-sha1 (configure.ac): Likewise.
32663         * modules/gc-md2 (configure.ac): Likewise.
32664         * modules/gc-md4 (configure.ac): Likewise.
32665         * modules/gc-md5 (configure.ac): Likewise.
32666         * modules/gc-random (configure.ac): Likewise.
32667         * modules/gc-rijndael (configure.ac): Likewise.
32668         * modules/gc-sha1 (configure.ac): Likewise.
32669
32670 2007-01-08  Bruno Haible  <bruno@clisp.org>
32671
32672         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
32673         macro definition.
32674         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
32675         definition.
32676         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
32677         definition.
32678         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
32679         * modules/fcntl-safer (configure.ac): Likewise.
32680         * modules/fopen-safer (configure.ac): Likewise.
32681         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
32682         GNULIB_FWRITEERROR macro definition.
32683
32684 2007-01-08  Bruno Haible  <bruno@clisp.org>
32685
32686         * m4/gnulib-common.m4: New file.
32687         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
32688         (func_get_filelist): Add m4/gnulib-common.m4.
32689
32690 2007-01-08  Bruno Haible  <bruno@clisp.org>
32691
32692         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
32693         command.
32694
32695 2007-01-08  Jim Meyering  <jim@meyering.net>
32696
32697         Use a more robust test for a "can't happen" condition.
32698         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
32699         narrowed the st_size value.  Presuming the "can't happen" condition
32700         is true, that narrowing could conceivably convert an invalid st_size
32701         value into a valid one.  Instead, use a change based on Matthew
32702         Woehlke's original patch.
32703
32704         Slight readability improvement: use an assert-like macro
32705         in place of literal "abort ()" uses.
32706         * lib/fts.c (fts_assert): Define.
32707         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
32708         Use this macro instead of a bare 'abort'.
32709
32710 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
32711
32712         Don't worry about using IRIX 5.3's wctype.h broken definitions;
32713         simply work around them.
32714         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
32715         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
32716         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
32717         declaring.
32718         Don't bother to define as macros, since the standard doesn't require it.
32719         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
32720         longer worry about IRIX 5.3.
32721         (HAVE_WCTYPE_CTMP_BUG): Remove.
32722
32723 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32724
32725         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
32726         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
32727         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
32728         Problems reported by Georg Schwarz for IRIX 5.3.
32729
32730         * gnulib-tool (autoconf_minversion): Take the maximum version number
32731         found, not the minimum.  Problem reported by James Youngman.
32732
32733 2007-01-03  Karl Berry  <karl@gnu.org>
32734
32735         * doc/error.texi: new file, explaining interaction with progname.
32736         * doc/gnulib.texi: include it.  Update copyright.
32737
32738 2007-01-03  Simon Josefsson  <simon@josefsson.org>
32739
32740         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
32741         AC_CANONICAL_HOST, to improve autobuild outputs.
32742
32743 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
32744             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
32745
32746         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
32747         sockets, server sockets, and other file descriptors.  Count errors
32748         to compute the return value.  Reorder the code a bit to be easier
32749         to follow.  Don't set event bits that were not requested (except
32750         POLLERR and POLLHUP).
32751
32752 2007-01-01  Bruno Haible  <bruno@clisp.org>
32753
32754         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
32755
32756 2007-01-03  Jim Meyering  <jim@meyering.net>
32757
32758         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
32759
32760 2007-01-02  Bruno Haible  <bruno@clisp.org>
32761
32762         * modules/settime (Include): Require timespec.h.
32763         * modules/nanosleep (Include): Likewise.
32764
32765 2007-01-01  Bruno Haible  <bruno@clisp.org>
32766
32767         * gnulib-tool (func_emit_copyright_notice): Bump year.
32768         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
32769
32770 2007-01-01  Bruno Haible  <bruno@clisp.org>
32771
32772         Improve support for OpenBSD.
32773         * build-aux/config.rpath (libname_spec): Export.
32774         (library_names_spec): New variable. Export.
32775         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
32776         library_names_spec from the config.rpath output. Locate shared library
32777         through the name pattern in library_names_spec.
32778
32779 2007-01-01  Eric Blake  <ebb9@byu.net>
32780
32781         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
32782
32783 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
32784
32785         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
32786         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
32787         assume the C locale, and avoid an "eval" that could cause trouble.
32788         Problem with SORT reported by Bob Proulx.
32789
32790         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
32791         Define.  Trivial patch from Henning Nielsen Lund, originally
32792         sent to bug-grep@gnu.org today.
32793
32794 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
32795
32796         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
32797         struct stat.  Problem reported by Henning Nielsen Lund.
32798         * lib/acl.c: Include acl.h first, to check interface.  Don't
32799         bother to include sys/types.h and sys/stat.h again.
32800
32801 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32802
32803         Import the following change from libc; problem reported by
32804         Sven Verdoolaege.
32805
32806         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
32807
32808         [BZ #1373]
32809         * lib/argp.h: Remove __NTH for __argp_usage inline function.
32810
32811 2006-12-28  Jim Meyering  <jim@meyering.net>
32812
32813         * build-aux/announce-gen: Do not assume that the package
32814         builds any of tar.gz, tar.bz2, and .xdelta files.
32815         Suggestion from Simon Josefsson.
32816
32817 2006-12-28  Simon Josefsson  <simon@josefsson.org>
32818
32819         * modules/announce-gen: New file.
32820
32821 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
32822
32823         * lib/mbchar.h: Just include <wctype.h>; the wctype module
32824         handles its gotchas now.
32825         * lib/mbswidth.c: Likewise.
32826         * lib/wcwidth.h: Likewise.
32827         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
32828         and iswcntrl; the wctype module does this stuff now.
32829         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32830         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32831         * modules/mbchar (Depends-on): Add wctype.
32832         * modules/mbswidth (Depends-on): Likewise.
32833         * modules/wcwidth (Depends-on): Likewise.
32834
32835 2006-12-27  Eric Blake  <ebb9@byu.net>
32836
32837         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
32838         module uses more than what <wctype.h> is required to provide.
32839
32840 2006-12-26  Eric Blake  <ebb9@byu.net>
32841
32842         * gnulib-tool (sed_extract_prog): Avoid space-tab.
32843
32844 2006-12-26  Eric Blake  <ebb9@byu.net>
32845
32846         * modules/absolute-header: New module.
32847         * modules/fcntl (Depends-on): Depend on it.
32848         * modules/inttypes (Depends-on): Likewise.
32849         * modules/stdint (Depends-on): Likewise.
32850         * modules/sys_stat (Depends-on): Likewise.
32851         * modules/wctype (Depends-on): Likewise.
32852         * MODULES.html.sh (Support for building libraries and
32853         executables): Document it.
32854
32855 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
32856
32857         * gnulib-tool (SED): Remove, undoing previous change.
32858         The problem was that it broke coreutils on Solaris, because
32859         "sed --posix" leaked into a makefile.
32860         (sed): New alias, if 'alias' and GNU sed.
32861
32862 2006-12-24  Jim Meyering  <jim@meyering.net>
32863
32864         Work around an fchownat bug in glibc-2.4:
32865         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
32866         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
32867         in spite of the -P option.
32868         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
32869         New macros.
32870         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
32871         * modules/openat (Files): Add lib/fchownat.c.
32872         * lib/openat.c (fchownat): Don't define here.  Move to...
32873         * lib/fchownat.c: ...this new file.
32874
32875 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
32876
32877         Fix bug reported by Bruno Haible in
32878         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
32879         where quotearg.c didn't compile on Mac OS X 10.2 because it
32880         lacks <wchar.h> and wint_t.
32881         * lib/wctype_.h (__wctype_wint_t): New type.
32882         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
32883         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
32884         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
32885         Arg is now of type __wctype_wint_t, not wint_t.
32886         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
32887         substitute HAVE_WINT_T.
32888         * modules/wctype (Files): Add m4/wint_t.m4.
32889         (wctype.h): Substitute HAVE_WINT_T.
32890
32891 2006-12-23  Bruno Haible  <bruno@clisp.org>
32892
32893         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
32894
32895 2006-12-23  Bruno Haible  <bruno@clisp.org>
32896
32897         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
32898         S_ISLNK.
32899         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
32900         mingw.
32901
32902 2006-12-22  Bruno Haible  <bruno@clisp.org>
32903
32904         * lib/copy-file.c: Include acl.h.
32905         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
32906         Close the file descriptors only after being done with copy_acl.
32907         * modules/copy-file (Depends-on): Add acl.
32908
32909 2006-12-22  Bruno Haible  <bruno@clisp.org>
32910
32911         * gnulib-tool (SED): New variable.
32912         Use $SED instead of sed everywhere.
32913
32914 2006-12-22  Bruno Haible  <bruno@clisp.org>
32915
32916         * modules/no-c++: New file.
32917         * m4/no-c++.m4: New file.
32918         * MODULES.html.sh (Support for building libraries and executables):
32919         Add no-c++.
32920
32921 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
32922
32923         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
32924         Include <limits.h>, and use its INT_MAX to rewrite the
32925         j loop so that it does not overflow 'int'.  Problem reported by
32926         Ralf Wildenhues in
32927         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
32928         Play it safe by shifting left by 1 rather than multiplying by 2,
32929         as GCC is less likely to optimize this away when the value
32930         is signed (when it assumes overflow leads to undefined behavior).
32931         Also, don't assume time_t uses two's complement.
32932
32933 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
32934
32935         * MODULES.html.sh: New module wctype.
32936         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
32937         * lib/fnmatch.c: Don't bother to include <wchar.h> before
32938         <wctype.h>, since the new wctype module should fix this.
32939         * lib/quotearg.c: Include <wctype.h> unconditionally, since
32940         the wctype module should arrange for it.
32941         * lib/regex_internal.h: Likewise.
32942         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
32943         since the wctype module should handle this now.
32944         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
32945         * modules/fnmatch (Depends-on): Add wctype.
32946         * modules/quotearg (Depends-on): Likewise.
32947         * modules/regex (Depends-on): Likewise.
32948
32949 2006-12-19  Bruno Haible  <bruno@clisp.org>
32950
32951         * lib/strdup.h [C++]: Wrap definitions in extern "C".
32952         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
32953
32954 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32955
32956         * modules/savewd (Depends-on): Fix dependency on fcntl.
32957
32958 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32959
32960         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
32961         conforms to C99, rather than relying on the user's environment
32962         setting of STDINT_H.
32963
32964 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32965         and Eric Blake  <ebb9@byu.net>
32966
32967         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
32968         This is more consistent with the other defines here.
32969         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
32970         Port to z/OS.  Problem reported by Paul Gilmartin.
32971         Change local vars to use gl_ prefix rather than ac_.
32972         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
32973         with other defines.
32974         * modules/double-slash-root: New module.
32975         * modules/dirname (Files): Remove m4/double-slash-root.m4.
32976         (Depends-on): Add double-slash-root.
32977         * MODULES.html.sh (File system functions): Mention new module.
32978
32979 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
32980
32981         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
32982         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
32983         This is for the benefit of gzip, which doesn't do i18n.
32984
32985 2006-12-12  Jim Meyering  <jim@meyering.net>
32986
32987         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
32988         Reported by Andreas Schwab <schwab@suse.de>.
32989
32990 2006-12-12  Bruno Haible  <bruno@clisp.org>
32991
32992         Merge these changes.
32993         2006-09-05  Bruno Haible  <bruno@clisp.org>
32994         * lib/iconvme.c (iconv_string): No need to save and restore errno when
32995         iconv_alloc succeeded.
32996         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
32997         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
32998         test for " && dest " at the end - dest is always != NULL there. Call
32999         iconv with 4xNULL arguments initially, to reset the state. Call iconv
33000         with 2xNULL arguments, also to flush the state storage. Handle the
33001         IRIX iconv behaviour. Realloc the final result, to throw away unused
33002         memory.
33003
33004 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
33005
33006         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
33007         and fchmodat unconditionally, since glibc 2.4 has them.
33008         Problem reported by Arkadiusz Miskiewicz.
33009
33010 2006-12-10  Bruno Haible  <bruno@clisp.org>
33011
33012         * gnulib-tool (func_import): Show the include files only for those
33013         modules that are copied and specified.
33014         Reported by Karl Berry.
33015
33016 2006-12-08  Jim Meyering  <jim@meyering.net>
33017
33018         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
33019         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
33020
33021         * build-aux/announce-gen: Add two new options, both optional:
33022         --bootstrap-tools=TOOL_LIST
33023               a comma-separated list of tools, e.g.,
33024               autoconf,automake,bison,gnulib
33025         --gnulib-snapshot-date=DATE
33026               if gnulib is in the bootstrap tool list,
33027               then report this as the snapshot date.
33028               If not specified, use the current date/time.
33029               If you specify a date here, be sure it's UTC.
33030
33031 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33032
33033         * tests/test-argp-2.sh: Fix test to match actual output.
33034         (func_compare): Fix sed script to be portable.
33035
33036 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33037
33038         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
33039         workaround for this case.  It is not autoconfigured now; offhand
33040         it's hard to see how to autoconfigure it.
33041
33042 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
33043
33044         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
33045         a directory that is about to be chowned.  Such a directory's
33046         initial file permissions should permit the owner only and this
33047         should not be changed until after the chown, since the group and
33048         other bits would be incorrect if they granted permission before
33049         the chown.
33050
33051         Fix porting problem for iswctype reported by Georg Schwarz in:
33052         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
33053         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
33054         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
33055         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
33056         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33057
33058 2006-12-03  Jim Meyering  <jim@meyering.net>
33059
33060         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
33061         p->fts_statp may not yet be defined.
33062         (fts_read): Instead, set it in the caller, once p->fts_statp is
33063         sure to be defined, and corresponds to a top-level directory.
33064         This bug made du -x fail.  Here's the coreutils test case:
33065         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
33066         Reported by Mike Frysinger.
33067
33068 2006-12-01  Jim Meyering  <jim@meyering.net>
33069
33070         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
33071         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
33072         Reported by Simon Josefsson.
33073
33074 2006-11-30  Jim Meyering  <jim@meyering.net>
33075
33076         * m4/warning.m4: Use the all-permissive copyright notice
33077         recommended by RMS (rather than LGPL).
33078         * m4/vararrays.m4: Likewise.
33079         * m4/flexmember.m4: Likewise.
33080
33081 2006-11-29  Bruno Haible  <bruno@clisp.org>
33082
33083         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33084         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
33085         using +=.
33086         Reported by Simon Josefsson <simon@josefsson.org>.
33087
33088 2006-11-28  James Youngman <jay@gnu.org>
33089
33090         * README: Advise users that they might find the bug-gnulib@gnu.org
33091         and autotools-announce@gnu.org mailing lists useful.
33092
33093 2006-11-28  Bruno Haible  <bruno@clisp.org>
33094
33095         * m4/ptrdiff_max.m4: Remove file.
33096
33097 2006-11-21  Bruno Haible  <bruno@clisp.org>
33098
33099         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
33100         _AC_COMPUTE_INT.
33101         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33102         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
33103         _AC_COMPUTE_INT.
33104         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33105         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
33106         _AC_COMPUTE_INT.
33107         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33108
33109 2006-11-28  Jim Meyering  <jim@meyering.net>
33110
33111         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
33112         warning from "gcc -Wshadow" about shadowing the builtin.
33113
33114 2006-11-27  Bruno Haible  <bruno@clisp.org>
33115
33116         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
33117         _AC_COMPUTE_INT.
33118         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33119
33120 2006-11-27  Bruno Haible  <bruno@clisp.org>
33121             Paul Eggert  <eggert@cs.ucla.edu>
33122
33123         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
33124
33125 2006-11-26  Bruno Haible  <bruno@clisp.org>
33126
33127         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33128         noinst_LTLIBRARIES.
33129
33130 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33131             Bruno Haible  <bruno@clisp.org>
33132
33133         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
33134         if compiling with "gcc -ansi".
33135
33136 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
33137
33138         Fix some incompatibilities with gcc -ansi -pedantic.
33139         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
33140         if compiling pedantically with GCC, unless it's C99 or later.
33141         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
33142         it mishandles gcc -ansi -pedantic as well.
33143         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
33144         if gcc -pedantic.
33145         * lib/regexec.c (check_node_accept_bytes): Don't use auto
33146         initializers for struct if -pedantic, unless it's C99 or later.
33147
33148 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
33149
33150         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
33151         Don't close an fd more than once. Identical atimes indicate
33152         success, not failure.
33153
33154 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
33155
33156         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
33157
33158 2006-11-23  Jim Meyering  <jim@meyering.net>
33159
33160         * build-aux/announce-gen: New file.  From coreutils.
33161
33162 2006-11-22  Jim Meyering  <jim@meyering.net>
33163
33164         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
33165         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
33166         (fts_read): Use a temporary to narrow the overused st_size member
33167         before using it in a switch statement.  Reported by Matthew Woehlke.
33168
33169         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
33170         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33171
33172 2006-11-20  Bruno Haible  <bruno@clisp.org>
33173
33174         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
33175         changequote instead of pairs of brackets.
33176         Reported by Andreas Schwab <schwab@suse.de>.
33177
33178 2006-11-21  Jim Meyering  <jim@meyering.net>
33179
33180         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
33181         so as to remain compatible with older compilers.
33182         Patch from Michael Deutschmann.
33183
33184 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
33185
33186         * MODULES.html.sh (File system functions): Add openat.
33187
33188         * lib/openat.h (rpl_fstatat): New macro, if
33189         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
33190         (fstatat): Define to rpl_fstatat under the same conditions,
33191         unless COMPILING_FSTATAT.
33192         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
33193         seems to have the bug.
33194         * lib/fstatat.c: New file.
33195         * modules/openat (Files): Add it.
33196
33197 2006-11-20  Bruno Haible  <bruno@clisp.org>
33198
33199         * Makefile: New file.
33200
33201 2006-11-20  Jim Meyering  <jim@meyering.net>
33202
33203         The beginnings of syntax-related checks for gnulib.
33204         * lib/Makefile: New file.
33205         * lib/t-idcache: New script.  Ensure that the two halves of
33206         idcache.c stay in sync.
33207
33208         * lib/idcache.c: Adjust comments in user- and group- portions to
33209         be more accurate, and to be consistent with one another.
33210
33211 2006-11-20  Jim Meyering  <jim@meyering.net>
33212
33213         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
33214         continue using the flexible array member (thus, this module performs
33215         half as many malloc calls), with the addition that...
33216         (getgroup, getuser): Consistently record a non-match via an empty
33217         "name" string, and map an empty string match to a NULL return value.
33218         * modules/idcache (Depends-on): Re-add flexmember.
33219
33220         * lib/idcache.c (getuser): Remove all uses of the register keyword.
33221         (getuidbyname, getgroup, getgidbyname): Likewise.
33222
33223         Use cleaner syntax: NULL rather than 0.
33224         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
33225
33226 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
33227
33228         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
33229         It mishandled the case where the group was missing.
33230         Problem reported by Greg Schafer.
33231         * modules/idcache: Likewise.
33232
33233 2006-11-18  Jim Meyering  <jim@meyering.net>
33234
33235         * check-module (%exempt_header): Add exception for some
33236         conditionally-included headers.
33237
33238         * modules/i-ring (Depends-on): Add verify.
33239         (License): Change to LGPL.
33240
33241 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
33242
33243         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
33244         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
33245         and inttostr.h.  Use snprintf rather than uinttostr, so that
33246         LGPLed code doesn't depend on GPLed.
33247
33248 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
33249
33250         * modules/inline (License): Change from GPL to LGPL.
33251
33252 2006-11-17  Jim Meyering  <jim@meyering.net>
33253
33254         * modules/d-type (License): Switch to LGPL.
33255
33256 2006-11-15  Bruno Haible  <bruno@clisp.org>
33257
33258         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
33259
33260 2006-11-15  Eric Blake  <ebb9@byu.net>
33261
33262         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
33263         the module dependency.
33264
33265 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33266             Bruno Haible  <bruno@clisp.org>
33267
33268         * gnulib-tool (func_create_testdir): Add license consistency check.
33269
33270 2006-11-15  Eric Blake  <ebb9@byu.net>
33271
33272         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
33273         random "(cached)" in configure output.
33274
33275 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33276
33277         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
33278         test for conforming inttypes.h is both announced and cached.
33279
33280         * MODULES.html.sh (seen_modules, seen_files): New variables.
33281         (func_module): Rewrite to use a few less gnulib-tool and sed
33282         invocations.  Avoid a couple of quadratic algorithms for ...
33283         (missed_modules, missed_files): ... these, with ...
33284         (func_append, func_tmpdir): ... these new functions, from
33285         gnulib-tool.  Analogously, install traps for cleanup.
33286
33287         * tests/test-gc.c (main): Remove unused variables.
33288         * tests/test-read-file.c: Include stdlib.h, for 'free'.
33289
33290 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
33291
33292         * modules/inttostr (License): Change to LGPL.
33293
33294 2006-11-14  Eric Blake  <ebb9@byu.net>
33295
33296         * modules/tempname (License): Change to LGPL.
33297
33298 2006-11-14  Eric Blake  <ebb9@byu.net>
33299
33300         * doc/functions.texi (Function Portability): *printf functions on
33301         Cygwin now understand all POSIX size specifiers.
33302
33303 2006-11-14  Bruno Haible  <bruno@clisp.org>
33304
33305         * modules/c-ctype (License): Change to LGPL.
33306
33307 2006-11-12  Bruno Haible  <bruno@clisp.org>
33308
33309         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
33310         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
33311         for GNOME libraries, for which the include files are installed in
33312         subdirectories of $prefix/include.
33313
33314 2006-11-12  Bruno Haible  <bruno@clisp.org>
33315
33316         * m4/lib-link.m4: Require at least autoconf-2.54.
33317         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
33318         name to underscores for the --with option.
33319
33320 2006-11-13  Bruno Haible  <bruno@clisp.org>
33321
33322         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
33323         the tests directory.
33324         Reported by Ralf Wildenhues.
33325
33326 2006-11-13  Bruno Haible  <bruno@clisp.org>
33327
33328         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
33329         (func_emit_initmacro_end): Undo the override here.
33330         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
33331         Works around the famous automake error in coreutils.
33332
33333 2006-11-13  Eric Blake  <ebb9@byu.net>
33334
33335         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
33336         element, not its node.
33337
33338 2006-11-12  Bruno Haible  <bruno@clisp.org>
33339
33340         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
33341         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
33342
33343 2006-11-12  Bruno Haible  <bruno@clisp.org>
33344
33345         * gnulib-tool: New option --local-symlink.
33346         (func_usage): Document it.
33347         (lsymbolic): New variable.
33348         (func_import, func_create_testdir): If --symlink was not specified,
33349         test whether --local-symlink was specified and the file comes from
33350         the local_gnulib_dir.
33351
33352 2006-11-12  Bruno Haible  <bruno@clisp.org>
33353
33354         * gnulib-tool (func_ln): New function.
33355         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
33356
33357 2006-11-12  Bruno Haible  <bruno@clisp.org>
33358
33359         Finish support for source files in subdirectories.
33360         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
33361         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
33362         AUTOMAKE_OPTIONS.
33363         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
33364
33365 2006-11-12  Bruno Haible  <bruno@clisp.org>
33366
33367         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33368         EXTRA_lib_SOURCES augmentation.
33369         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
33370
33371 2006-11-12  Jim Meyering  <jim@meyering.net>
33372
33373         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
33374         file descriptors.  This also averts a failure on systems with
33375         native openat support when a traversed directory lacks "x" access.
33376         * lib/fts_.h: Include "i-ring.h"
33377         (struct FTS) [fts_fd_ring]: New member.
33378         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
33379         (FCHDIR): Add parentheses.
33380         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
33381         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
33382         When descending, rather than simply closing the previous
33383         fts_cwd_fd value, push that file descriptor onto the ring.
33384         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
33385         (fts_open): Initialize the new fd_ring member.
33386         (fts_close): Clear the ring.
33387         (fts_safe_changedir): When possible, use our new fd_ring to skip
33388         the diropen and fstat and dev/ino comparison that would normally
33389         accompany a virtual `chdir ("..")'.
33390
33391         * modules/fts (Depends-on): Add i-ring.
33392         * modules/i-ring: New module.
33393         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
33394         * m4/i-ring.m4: New file.
33395
33396 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33397
33398         * gnulib-tool (func_create_testdir): Fix replacement of
33399         `build-aux' in configure.ac.  Run autotools in gltests
33400         subdirectory.
33401         (func_create_testdir, func_create_megatestdir, test): There is
33402         no need for '--force' in most autotool invocations in a new
33403         tree.  Actually fail the whole test if any of the tools, or the
33404         configure or make stages fail.
33405
33406         Sync from Automake.
33407         * build-aux/gnupload: Revert last change.  Add pointer to upload
33408         instructions of the GNU Maintenance Instructions.
33409         Suggestion by Karl Berry.
33410
33411 2006-11-10  Jim Meyering  <jim@meyering.net>
33412
33413         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
33414
33415 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33416
33417         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
33418         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
33419         (bind_textdomain_codeset) [! ENABLE_NLS]:
33420         Evaluate all the arguments.  That way, callers get compatible behavior
33421         if the arguments have side effects.  Also, it avoids some GCC
33422         diagnostics in some cases; Joel E. Denny reported problems when Bison
33423         was configured with --enable-gcc-warnigs.
33424
33425 2006-11-10  Jim Meyering  <jim@meyering.net>
33426
33427         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
33428         relevant options in CFLAGS (like -O, -fno-inline) are taken into
33429         account.
33430
33431 2006-11-10  Jim Meyering  <jim@meyering.net>
33432
33433         * modules/inline: New file/module.
33434         * modules/xalloc (Files): Remove m4/inline.m4.
33435         (Depends-on): Add inline, instead.
33436         * modules/oset: Likewise.
33437         * modules/list: Likewise.
33438
33439 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33440
33441         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
33442         Problem reported by Matthew Woehlke.
33443
33444 2006-11-09  Bruno Haible  <bruno@clisp.org>
33445
33446         * lib/tempname.c (gen_tempname): Remove variant that invokes
33447         __gen_tempname.
33448         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
33449         __gen_tempname.
33450
33451 2006-11-08  Bruno Haible  <bruno@clisp.org>
33452
33453         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
33454         to 'yes' instead of 'cross-compiling'.
33455
33456 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33457
33458         * lib/quotearg.h (quotearg_free): New decl.
33459         * lib/quotearg.c (quotearg_free): New function.
33460         (slot0, nslots, slotvec0, slotvec):
33461         Now file-scope so that quotearg_free can get at them.
33462
33463 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33464
33465         Sync from Automake.
33466         * build-aux/gnupload: Add missing 'gnu' to example URL.
33467         Report by Karl Berry.
33468
33469 2006-11-08  Bruno Haible  <bruno@clisp.org>
33470
33471         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
33472         Suggested by Paul Eggert.
33473
33474 2006-11-08  Jim Meyering  <jim@meyering.net>
33475
33476         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
33477         It's already included if !_LIBC.
33478         (fts_safe_changedir): Add a comment.
33479
33480 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33481
33482         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
33483         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
33484         Matthew Woehlke.
33485
33486         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
33487         definitions up, to avoid colliding with change below.
33488         (static_inline) [HAVE_INLINE]: New macro.
33489         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
33490         Provide extern decls when !HAVE_INLINE.  Do not define unless
33491         static_inline is defined, either by us or by xmalloc.c.  Use
33492         static_inline rather than static inline.
33493         (XCALLOC): Optimize sizeof(T) = 1 case.
33494         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
33495
33496 2006-11-07  Bruno Haible  <bruno@clisp.org>
33497
33498         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
33499         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
33500         AC_C_INLINE.
33501         * modules/xalloc (Files): Add m4/inline.m4.
33502
33503 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33504
33505         * README: Fix typo.
33506         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
33507         (Miscellanous Notes): ...from this.
33508
33509 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33510
33511         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
33512         Mention that offsetof should be used instead of sizeof.
33513         From Bruno Haible.
33514
33515 2006-11-07  Bruno Haible  <bruno@clisp.org>
33516
33517         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
33518
33519 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33520
33521         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33522         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
33523         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33524         (gl_tree_add_before, gl_tree_add_after):
33525         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
33526         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
33527         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33528         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
33529         (gl_linked_add_after, gl_linked_add_at): Likewise.
33530         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
33531         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33532         (gl_tree_add_before, gl_tree_add_after): Likewise.
33533         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
33534         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
33535         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33536
33537 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33538
33539         * lib/gl_oset.h: Use C comment style, not C++ comment style.
33540
33541 2006-11-06  Bruno Haible  <bruno@clisp.org>
33542
33543         * m4/inline.m4: New file.
33544         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
33545         * modules/list (Files): Add m4/inline.m4.
33546         * modules/oset (Files): Likewise.
33547
33548 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33549
33550         * lib/idcache.c: Include <stddef.h>, for offsetof.
33551         (struct userid.name): Change from char * to a flexible array member.
33552         All uses changed.
33553         * modules/idcache (Depends-on): Add flexmember.
33554
33555         * MODULES.html.sh (Core language properties): New module flexmember.
33556         * modules/flexmember, m4/flexmember.m4: New files.
33557
33558         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
33559         inline functions that are identical with the old xnmalloc_inline,
33560         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
33561         that we can avoid some unnecessary integer multiplications and
33562         divisions in the common case where the element size is known at
33563         compile time.
33564         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
33565         needed.
33566         (xnboundedmalloc): Remove.
33567         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
33568         arguments, for consistency with rest of this header.
33569         (xcharalloc): Rewrite using XNMALLOC.
33570         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
33571         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
33572         versions have been moved to lib/xalloc.h and renamed to be the
33573         non-*_inline versions.
33574         (xmalloc, xrealloc): Implement without reference to the xnmalloc
33575         and xnrealloc functions, since those functions are now inline and
33576         now call us.
33577         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
33578         renaming described above.
33579         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
33580         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
33581         captures the dependency in AC_C_INLINE.
33582
33583         New module canonicalize-lgpl, proposed by Charles Wilson in
33584         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
33585         with a few small changes afterwards.
33586         * MODULES.html.sh (File system functions): New module
33587         canonicalize-lgpl.
33588         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
33589         and canonicalize_file_name.
33590         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
33591         * modules/canonicalize-lgpl: New files.
33592
33593 2006-11-05  Bruno Haible  <bruno@clisp.org>
33594
33595         * gnulib-tool (func_import, func_create_testdir): Create directories
33596         also for files in subdirectories of lib/.
33597
33598 2006-11-05  Bruno Haible  <bruno@clisp.org>
33599
33600         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
33601         ANSI C compliant.
33602
33603 2006-11-03  Bruno Haible  <bruno@clisp.org>
33604
33605         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33606         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
33607         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
33608         (xnboundedmalloc): New inline function.
33609         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
33610         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
33611         xmalloc.
33612         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
33613         xmalloc.
33614         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
33615         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
33616         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
33617         xmalloc.
33618         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33619         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
33620         xmalloc.
33621         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
33622         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33623         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
33624         xmalloc.
33625         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33626         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
33627         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33628         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
33629         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
33630         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
33631         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
33632
33633 2006-11-03  Bruno Haible  <bruno@clisp.org>
33634
33635         * lib/c-ctype.h [C++]: Define functions without name mangling.
33636         * lib/fwriteerror.h [C++]: Likewise.
33637         * lib/gcd.h [C++]: Likewise.
33638         * lib/linebreak.h [C++]: Likewise.
33639
33640 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33641
33642         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
33643         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
33644         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
33645         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
33646         Check for functions and headers just once.
33647         Check for declaration of canonicalize_file_name.
33648         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
33649
33650 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33651
33652         * gnulib-tool (func_import): Fix typo in actioncmd.
33653
33654 2006-11-02  Bruno Haible  <bruno@clisp.org>
33655
33656         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
33657         newline sequence in the Makefile.am snippet as a space, like "make"
33658         does.
33659         Reported by Roger Persson <perrog@gmail.com>.
33660
33661 2006-11-01  Bruno Haible  <bruno@clisp.org>
33662
33663         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
33664         already declared in <string.h>.
33665         * lib/strcase.h (strncasecmp): Don't declare it if yes.
33666
33667 2006-11-01  Bruno Haible  <bruno@clisp.org>
33668
33669         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
33670         * lib/strcase.h: Include <string.h>.
33671         (strcasecmp): Define to rpl_strcasecmp here.
33672
33673 2006-11-01  Bruno Haible  <bruno@clisp.org>
33674
33675         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
33676
33677 2006-11-01  Eric Blake  <ebb9@byu.net>
33678
33679         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
33680
33681         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
33682
33683 2006-10-29  Bruno Haible  <bruno@clisp.org>
33684
33685         Make it compile in C++ mode.
33686         * lib/full-write.c (full_rw): Add a cast.
33687
33688 2006-11-01  Bruno Haible  <bruno@clisp.org>
33689
33690         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
33691         be POSIX compliant.
33692         Reported by Roger Persson <perrog@gmail.com>.
33693
33694 2006-11-01  Eric Blake  <ebb9@byu.net>
33695
33696         * lib/getopt_.h: Fix comments.
33697
33698 2006-10-31  Eric Blake  <ebb9@byu.net>
33699
33700         * modules/tmpdir (Depends-on): Add sys_stat.
33701         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
33702         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
33703         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
33704         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
33705         tempname.
33706
33707 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33708
33709         Avoid some C++ diagnostics reported by Bruno Haible.
33710         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
33711         xmalloc.
33712         (quotearg_alloc): Use xcharalloc rather than xmalloc.
33713         (struct slotvec): Move to top level.
33714         (quotearg_n_options): Rewrite to avoid xmalloc.
33715         * lib/xalloc.h (xcharalloc): New function.
33716         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
33717         [defined __cplusplus]: Add function template that provides result
33718         type propagation.  This part of the change is from Bruno Haible.
33719
33720 2006-10-29  Bruno Haible  <bruno@clisp.org>
33721
33722         Make it compile in C++ mode.
33723         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
33724         * lib/strnlen1.c (strnlen1): Cast memchr result.
33725         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
33726         * lib/clean-temp.c (string_equals, string_hash): Add casts.
33727         (create_temp_dir): Rename local variable 'template'.
33728         (compile_csharp_using_sscli): Add cast.
33729         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
33730         * lib/findprog.c (find_in_path): Likewise.
33731         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
33732         * lib/wait-process.c (register_slave_subprocess): Likewise.
33733
33734 2006-10-22  Bruno Haible  <bruno@clisp.org>
33735
33736         * modules/tsearch: New file.
33737         * lib/tsearch.h: New file.
33738         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
33739         * m4/tsearch.m4: New file.
33740         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
33741
33742 2006-10-29  Eric Blake  <ebb9@byu.net>
33743
33744         * lib/arcfour.c: Assume config.h.
33745         * lib/arctwo.c: Likewise.
33746         * lib/base64.c: Likewise.
33747         * lib/check-version.c: Likewise.
33748         * lib/crc.c: Likewise.
33749         * lib/des.c: Likewise.
33750         * lib/gc-gnulib.c: Likewise.
33751         * lib/gc-libgcrypt.c: Likewise.
33752         * lib/gc-pbkdf2-sha1.c: Likewise.
33753         * lib/getaddrinfo.c: Likewise.
33754         * lib/getdelim.c: Likewise.
33755         * lib/getline.c: Likewise.
33756         * lib/hmac-md5.c: Likewise.
33757         * lib/hmac-sha1.c: Likewise.
33758         * lib/iconvme.c: Likewise.
33759         * lib/md2.c: Likewise.
33760         * lib/md4.c: Likewise.
33761         * lib/memxor.c: Likewise.
33762         * lib/read-file.c: Likewise.
33763         * lib/readline.c: Likewise.
33764         * lib/rijndael-alg-fst.c: Likewise.
33765         * lib/rijndael-api-fst.c: Likewise.
33766         * lib/xgetdomainname.c: Likewise.
33767
33768 2006-10-28  Eric Blake  <ebb9@byu.net>
33769
33770         * lib/xstrndup.c: Assume config.h.
33771
33772 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
33773
33774         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
33775         stat-macros.h is now for our own macros, whereas stat_h is for
33776         macros in the <sys/stat.h> name space.
33777         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
33778         (STAT_MACROS_H): Remove.
33779         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
33780         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
33781         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
33782         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
33783         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
33784         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
33785         Move these macros to ...
33786         * lib/stat_.h: here.  Don't include stat-macros.h.
33787         * lib/canonicalize.c: Don't include stat-macros.h.
33788         * lib/chown.c: Likewise.
33789         * lib/euidaccess.c: Likewise.
33790         * lib/file-type.c: Likewise.
33791         * lib/filemode.c: Likewise.
33792         * lib/glob.c: Likewise.
33793         * lib/isapipe.c: Likewise.
33794         * lib/lchown.c: Likewise.
33795         * lib/lstat.c: Likewise.
33796         * lib/mkdir-p.c: Likewise.
33797         * lib/rmdir.c: Likewise.
33798         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
33799         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
33800         unless mkdir isn't declared, to speed up 'configure'.
33801         Always create sys/stat.h, since it's unlikely any real sys/stat.h
33802         would define all the S_* symbols.
33803         * modules/canonicalize (Depends-on):
33804         Depend on sys_stat, not stat-macros.
33805         * modules/chown: Likewise.
33806         * modules/euidaccess: Likewise.
33807         * modules/filemode: Likewise.
33808         * modules/file-type: Likewise.
33809         * modules/glob: Likewise.
33810         * modules/isapipe: Likewise.
33811         * modules/lchown: Likewise.
33812         * modules/lstat: Likewise.
33813         * modules/mkancesdirs: Likewise.
33814         * modules/rmdir: Likewise.
33815         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
33816         * modules/modechange: Likewise.
33817         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
33818         (configure.ac): Remove gl_STAT_MACROS.
33819         * modules/sys_stat (Depends-on): Remove stat-macros.
33820
33821 2006-10-27  Bruno Haible  <bruno@clisp.org>
33822
33823         * m4/signed.m4: Remove file.
33824         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
33825         invocation.
33826         * modules/vasnprintf (Files): Remove m4/signed.m4.
33827
33828 2006-10-27  Bruno Haible  <bruno@clisp.org>
33829
33830         Update to GNU gettext 0.16.
33831         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
33832         m4/inttypes-h.m4, m4/signed.m4.
33833         * m4/gettext.m4: Update to GNU gettext 0.16.
33834         * m4/intl.m4: New file, from GNU gettext.
33835         * m4/intldir.m4: New file, from GNU gettext.
33836         * config/srclist.txt: Update
33837
33838 2006-10-27  Eric Blake  <ebb9@byu.net>
33839
33840         * MODULES.html.sh: Document tempname.
33841         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
33842         dependencies.
33843         (Files): Move lib/tempname.c...
33844         * modules/tempname: ...to this new module.
33845         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
33846         (gl_PREREQ_TEMPNAME): Move...
33847         * m4/tempname.m4: ...to this new file.
33848         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
33849         * modules/sys_stat (Depends-on): Add stat-macros.
33850         * lib/stat_.h (includes): Pick up stat macros.
33851         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
33852         if stat macros are broken.
33853         * lib/tempname.c (includes): No need to include "stat-macros.h".
33854         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
33855         (direxists, __path_search) [!_LIBC]: Don't compile these in
33856         gnulib; the tmpdir module covers that.
33857         * lib/tempname.h: New file.
33858
33859 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
33860
33861         * COPYING: Explain how gnulib-tool converts licence headers.
33862         Almost all wording by Eric Blake.
33863
33864 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
33865
33866         * lib/mbchar.h (is_basic_table): Make read-only.
33867         * lib/mbchar.c (is_basic_table): Likewise.
33868         Reported by John Darrington.
33869
33870 2006-10-25  Bruno Haible  <bruno@clisp.org>
33871
33872         * lib/progname.h (set_program_name): Undefine before defining.
33873
33874 2006-10-25  Bruno Haible  <bruno@clisp.org>
33875
33876         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
33877         false for non-gcc C++ compilers.
33878         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33879
33880 2006-10-24  Bruno Haible  <bruno@clisp.org>
33881
33882         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
33883         iconv implementations like Irix iconv.
33884
33885 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33886
33887         * modules/vararrays: New file.
33888         * m4/vararrays.m4: New file, taken from diffutils.
33889         * MODULES.html.sh: New module vararrays.
33890
33891 2006-10-24  Karl Berry  <karl@gnu.org>
33892
33893         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
33894         Don't call GNU Unix.
33895
33896 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33897
33898         * users.txt: Add Libtool.
33899
33900         Sync from Libtool:
33901
33902         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33903
33904         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
33905         to gnulib's policy of including config.h unconditionally.
33906
33907 2006-10-24  Bruno Haible  <bruno@clisp.org>
33908
33909         * modules/wcwidth (Files): Add m4/wint_t.m4.
33910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
33911         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
33912
33913 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33914
33915         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
33916         to pacify GCC with some -W flags enabled.  Problem reported by
33917         Bruno Haible.
33918
33919 2006-10-24  Jim Meyering  <jim@meyering.net>
33920
33921         * MODULES.html.sh: Remove uinttostr.  It's not a module.
33922         Reported by Karl Berry.
33923
33924 2006-10-23  Bruno Haible  <bruno@clisp.org>
33925
33926         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
33927
33928 2006-10-24  Bruno Haible  <bruno@clisp.org>
33929
33930         * lib/gl_list.h: Use C comment style, not C++ comment style.
33931
33932 2006-10-23  Eric Blake  <ebb9@byu.net>
33933
33934         * lib/getaddrinfo.c (includes): Add missing include.
33935
33936 2006-10-23  Bruno Haible  <bruno@clisp.org>
33937             Paul Eggert  <eggert@cs.ucla.edu>
33938
33939         Ability to rename obstack_free.
33940         * lib/obstack.h (__obstack_free): New macro. Declare instead of
33941         obstack_free.
33942         (obstack_free): Invoke the __obstack_free macro.
33943         * lib/obstack.c (obstack_free): Use __obstack_free macro.
33944
33945 2006-10-23  Bruno Haible  <bruno@clisp.org>
33946             Paul Eggert  <eggert@cs.ucla.edu>
33947
33948         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
33949         __argc, __argv from the declaration. (They are defined as macros on
33950         mingw.)
33951
33952 2006-10-22  Bruno Haible  <bruno@clisp.org>
33953
33954         * doc/gnulib-intro.texi: New file.
33955         * doc/gnulib.texi: Include it.
33956
33957 2006-10-21  Bruno Haible  <bruno@clisp.org>
33958
33959         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
33960         "Introduction", "Miscellanous Notes", "Particular Modules".
33961
33962 2006-10-21  Bruno Haible  <bruno@clisp.org>
33963
33964         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33965         Change mostlyclean-local rule to avoid sh syntax error from bash
33966         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
33967
33968 2006-10-23  Jim Meyering  <jim@meyering.net>
33969
33970         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
33971         in place of snprintf.
33972
33973         * modules/inttostr (Files): Add lib/uinttostr.c.
33974         * lib/uinttostr.c (inttostr): New file/function.
33975         * lib/inttostr.h (uinttostr): Declare.
33976         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
33977         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
33978         Add uinttostr.
33979         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
33980
33981 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
33982
33983         * lib/canonicalize.c (ELOOP): Define if not already defined.
33984         Problem reported by Bruno Haible in
33985         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
33986
33987 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
33988
33989         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
33990         Problem reported by Perry Smith and Ville Laurikari.
33991
33992         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
33993         uses.
33994
33995 2006-10-19  Bruno Haible  <bruno@clisp.org>
33996
33997         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
33998         for mingw.
33999
34000 2006-10-19  Bruno Haible  <bruno@clisp.org>
34001
34002         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
34003         Needed for mingw.
34004
34005 2006-10-19  Bruno Haible  <bruno@clisp.org>
34006
34007         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
34008
34009 2006-10-19  Bruno Haible  <bruno@clisp.org>
34010
34011         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
34012         it.
34013
34014 2006-10-19  Bruno Haible  <bruno@clisp.org>
34015
34016         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
34017         invocation.
34018
34019 2006-10-19  Bruno Haible  <bruno@clisp.org>
34020
34021         * gnulib-tool (func_create_testdir): Don't include ftruncate and
34022         mountlist by default.
34023
34024 2006-10-16  Bruno Haible  <bruno@clisp.org>
34025
34026         * lib/c-strstr.c: Include c-strstr.h.
34027
34028 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
34029
34030         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
34031         in a slash.
34032
34033 2006-10-18  Bruno Haible  <bruno@clisp.org>
34034
34035         * lib/lock.h [C++]: Wrap definitions in extern "C".
34036
34037 2006-10-18  Bruno Haible  <bruno@clisp.org>
34038
34039         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
34040         gl_LIBOBJS list.
34041
34042 2006-10-18  Bruno Haible  <bruno@clisp.org>
34043
34044         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
34045
34046 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
34047
34048         * lib/xstrtol.h: Include gettext.h.
34049         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
34050         Problem reported by Eric Blake.
34051         * modules/xstrtol (Depends-on): Add gettext-h.
34052
34053 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
34054
34055         * lib/strftime.c (advance): New macro.
34056         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
34057         incomplete type, so you can't add 0 to it.  Problem and patch
34058         reported by Eelco Dolstra for dietlibc.
34059
34060 2006-10-18  Jim Meyering  <jim@meyering.net>
34061
34062         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
34063         type for a local, and rename it: s/up/user_proc/.
34064
34065 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
34066
34067         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
34068         READ_UTMP_USER_PROCESS.
34069         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
34070
34071 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
34072
34073         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
34074         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
34075
34076 2006-10-17  Eric Blake  <ebb9@byu.net>
34077
34078         * lib/sigprocmask.c (sigprocmask): Fix typo.
34079
34080         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
34081
34082         * modules/clean-temp (Makefile.am): Don't add to make output...
34083         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
34084         config.h.
34085
34086 2006-10-17  Bruno Haible  <bruno@clisp.org>
34087
34088         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
34089         differently if DEFAULT_TEXT_DOMAIN is set.
34090
34091 2006-10-16  Bruno Haible  <bruno@clisp.org>
34092
34093         * lib/clean-temp.c: Include fwriteerror.h.
34094
34095 2006-10-16  Bruno Haible  <bruno@clisp.org>
34096
34097         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
34098
34099 2006-10-16  Bruno Haible  <bruno@clisp.org>
34100
34101         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
34102         * lib/sigprocmask.h: Include <sys/types.h>.
34103         (sigset_t): Use the system's definition if present.
34104
34105 2006-10-17  Eric Blake  <ebb9@byu.net>
34106
34107         * lib/xvasprintf.c (includes): Assume config.h.
34108         * lib/xasprintf.c (includes): Likewise.
34109
34110 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34111
34112         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
34113         at least as wide as intmax_t.
34114
34115 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
34116
34117         (Imported from Automake.)
34118         * build-aux/gnupload: Update to version 1.1 of directive file.
34119
34120 2006-10-16  Eric Blake  <ebb9@byu.net>
34121
34122         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
34123         match Automake 1.10a.
34124
34125 2006-10-14  Bruno Haible  <bruno@clisp.org>
34126
34127         * modules/sigprocmask: New file.
34128         * lib/sigprocmask.h: New file.
34129         * lib/sigprocmask.c: New file.
34130         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
34131         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
34132         request sigprocmask.o.
34133         (gl_PREREQ_SIGPROCMASK): New macro.
34134         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
34135         (Depends-on): Add sigprocmask.
34136         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
34137         gt_SIGNALBLOCKING. Test for 'raise' only once.
34138         * lib/fatal-signal.c: Include sigprocmask.h.
34139         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
34140         unblock_fatal_signals): Define always.
34141         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34142         sigprocmask.
34143
34144 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34145
34146         Sync from Automake.
34147         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
34148         which incorrectly sets the mode of an existing destination
34149         directory.  In some cases the unpatched install-sh could do the
34150         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
34151         system.  We hope this is rare in practice, but it's clearly worth
34152         fixing.  Problem reported by Alex Unleashed in
34153         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
34154         Also, don't bother to check for -m bugs unless we're using -m;
34155         suggested by Stepan Kasal.
34156
34157 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34158
34159         Sync from Automake.
34160         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
34161         `-c' flag, so they appear at the same position as in %FASTDEP%
34162         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
34163         which ignores unknown options only after the first non-option.
34164         Bug report against M4 by Nelson H. F. Beebe.
34165
34166 2006-10-13  Jim Meyering  <jim@meyering.net>
34167
34168         Fix a bug in yesterday's change.
34169         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
34170         p->fts_statp->st_dev would be used uninitialized.
34171         Ensures that we always call fts_stat on the very first entry.
34172         Miklos Szeredi reported that find -xdev stopped working.
34173
34174 2006-10-12  Bruno Haible  <bruno@clisp.org>
34175
34176         * gnulib-tool (func_get_automake_snippet): Append an automatically
34177         computed EXTRA_DIST augmentation.
34178         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
34179         * modules/alloca-opt (Makefile.am): Likewise.
34180         * modules/allocsa (Makefile.am): Likewise.
34181         * modules/arcfour (Makefile.am): Likewise.
34182         * modules/arctwo (Makefile.am): Likewise.
34183         * modules/argmatch (Makefile.am): Likewise.
34184         * modules/argz (Makefile.am): Likewise.
34185         * modules/atexit (Makefile.am): Likewise.
34186         * modules/backupfile (Makefile.am): Likewise.
34187         * modules/byteswap (Makefile.am): Likewise.
34188         * modules/c-strtod (Makefile.am): Likewise.
34189         * modules/c-strtold (Makefile.am): Likewise.
34190         * modules/calloc (Makefile.am): Likewise.
34191         * modules/canon-host (Makefile.am): Likewise.
34192         * modules/canonicalize (Makefile.am): Likewise.
34193         * modules/chdir-long (Makefile.am): Likewise.
34194         * modules/chdir-safer (Makefile.am): Likewise.
34195         * modules/check-version (Makefile.am): Likewise.
34196         * modules/chown (Makefile.am): Likewise.
34197         * modules/cloexec (Makefile.am): Likewise.
34198         * modules/close-stream (Makefile.am): Likewise.
34199         * modules/closeout (Makefile.am): Likewise.
34200         * modules/crc (Makefile.am): Likewise.
34201         * modules/csharpexec (Makefile.am): Likewise.
34202         * modules/cycle-check (Makefile.am): Likewise.
34203         * modules/des (Makefile.am): Likewise.
34204         * modules/dev-ino (Makefile.am): Likewise.
34205         * modules/dirfd (Makefile.am): Likewise.
34206         * modules/dirname (Makefile.am): Likewise.
34207         * modules/dup2 (Makefile.am): Likewise.
34208         * modules/eealloc (Makefile.am): Likewise.
34209         * modules/error (Makefile.am): Likewise.
34210         * modules/euidaccess (Makefile.am): Likewise.
34211         * modules/exclude (Makefile.am): Likewise.
34212         * modules/exitfail (Makefile.am): Likewise.
34213         * modules/fcntl-safer (Makefile.am): Likewise.
34214         * modules/fcntl (Makefile.am): Likewise.
34215         * modules/file-type (Makefile.am): Likewise.
34216         * modules/fileblocks (Makefile.am): Likewise.
34217         * modules/filemode (Makefile.am): Likewise.
34218         * modules/filenamecat (Makefile.am): Likewise.
34219         * modules/fnmatch (Makefile.am): Likewise.
34220         * modules/fopen-safer (Makefile.am): Likewise.
34221         * modules/fpending (Makefile.am): Likewise.
34222         * modules/fprintftime (Makefile.am): Likewise.
34223         * modules/free (Makefile.am): Likewise.
34224         * modules/fsusage (Makefile.am): Likewise.
34225         * modules/ftruncate (Makefile.am): Likewise.
34226         * modules/fts (Makefile.am): Likewise.
34227         * modules/gc-arcfour (Makefile.am): Likewise.
34228         * modules/gc-des (Makefile.am): Likewise.
34229         * modules/gc-hmac-md5 (Makefile.am): Likewise.
34230         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
34231         * modules/gc-md4 (Makefile.am): Likewise.
34232         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34233         * modules/gc-sha1 (Makefile.am): Likewise.
34234         * modules/gc (Makefile.am): Likewise.
34235         * modules/getaddrinfo (Makefile.am): Likewise.
34236         * modules/getcwd (Makefile.am): Likewise.
34237         * modules/getdelim (Makefile.am): Likewise.
34238         * modules/getdomainname (Makefile.am): Likewise.
34239         * modules/getgroups (Makefile.am): Likewise.
34240         * modules/gethostname (Makefile.am): Likewise.
34241         * modules/gethrxtime (Makefile.am): Likewise.
34242         * modules/getline (Makefile.am): Likewise.
34243         * modules/getloadavg (Makefile.am): Likewise.
34244         * modules/getlogin_r (Makefile.am): Likewise.
34245         * modules/getndelim2 (Makefile.am): Likewise.
34246         * modules/getopt (Makefile.am): Likewise.
34247         * modules/getpagesize (Makefile.am): Likewise.
34248         * modules/getpass-gnu (Makefile.am): Likewise.
34249         * modules/getpass (Makefile.am): Likewise.
34250         * modules/getsubopt (Makefile.am): Likewise.
34251         * modules/gettime (Makefile.am): Likewise.
34252         * modules/gettimeofday (Makefile.am): Likewise.
34253         * modules/getugroups (Makefile.am): Likewise.
34254         * modules/getusershell (Makefile.am): Likewise.
34255         * modules/glob (Makefile.am): Likewise.
34256         * modules/group-member (Makefile.am): Likewise.
34257         * modules/hard-locale (Makefile.am): Likewise.
34258         * modules/hash (Makefile.am): Likewise.
34259         * modules/hmac-md5 (Makefile.am): Likewise.
34260         * modules/hmac-sha1 (Makefile.am): Likewise.
34261         * modules/human (Makefile.am): Likewise.
34262         * modules/idcache (Makefile.am): Likewise.
34263         * modules/imaxabs (Makefile.am): Likewise.
34264         * modules/imaxdiv (Makefile.am): Likewise.
34265         * modules/inet_ntop (Makefile.am): Likewise.
34266         * modules/inet_pton (Makefile.am): Likewise.
34267         * modules/intprops (Makefile.am): Likewise.
34268         * modules/inttostr (Makefile.am): Likewise.
34269         * modules/inttypes (Makefile.am): Likewise.
34270         * modules/isapipe (Makefile.am): Likewise.
34271         * modules/javaversion (Makefile.am): Likewise.
34272         * modules/lchmod (Makefile.am): Likewise.
34273         * modules/lchown (Makefile.am): Likewise.
34274         * modules/localcharset (Makefile.am): Likewise.
34275         * modules/long-options (Makefile.am): Likewise.
34276         * modules/lstat (Makefile.am): Likewise.
34277         * modules/malloc (Makefile.am): Likewise.
34278         * modules/mathl (Makefile.am): Likewise.
34279         * modules/mbchar (Makefile.am): Likewise.
34280         * modules/md2 (Makefile.am): Likewise.
34281         * modules/md4 (Makefile.am): Likewise.
34282         * modules/md5 (Makefile.am): Likewise.
34283         * modules/memcasecmp (Makefile.am): Likewise.
34284         * modules/memchr (Makefile.am): Likewise.
34285         * modules/memcmp (Makefile.am): Likewise.
34286         * modules/memcoll (Makefile.am): Likewise.
34287         * modules/memcpy (Makefile.am): Likewise.
34288         * modules/memmem (Makefile.am): Likewise.
34289         * modules/memmove (Makefile.am): Likewise.
34290         * modules/mempcpy (Makefile.am): Likewise.
34291         * modules/memrchr (Makefile.am): Likewise.
34292         * modules/memset (Makefile.am): Likewise.
34293         * modules/memxor (Makefile.am): Likewise.
34294         * modules/mkancesdirs (Makefile.am): Likewise.
34295         * modules/mkdir-p (Makefile.am): Likewise.
34296         * modules/mkdir (Makefile.am): Likewise.
34297         * modules/mkdtemp (Makefile.am): Likewise.
34298         * modules/mkstemp (Makefile.am): Likewise.
34299         * modules/mktime (Makefile.am): Likewise.
34300         * modules/modechange (Makefile.am): Likewise.
34301         * modules/mountlist (Makefile.am): Likewise.
34302         * modules/nanosleep (Makefile.am): Likewise.
34303         * modules/obstack (Makefile.am): Likewise.
34304         * modules/openat (Makefile.am): Likewise.
34305         * modules/pagealign_alloc (Makefile.am): Likewise.
34306         * modules/pathmax (Makefile.am): Likewise.
34307         * modules/physmem (Makefile.am): Likewise.
34308         * modules/poll (Makefile.am): Likewise.
34309         * modules/posixtm (Makefile.am): Likewise.
34310         * modules/posixver (Makefile.am): Likewise.
34311         * modules/putenv (Makefile.am): Likewise.
34312         * modules/quote (Makefile.am): Likewise.
34313         * modules/quotearg (Makefile.am): Likewise.
34314         * modules/raise (Makefile.am): Likewise.
34315         * modules/read-file (Makefile.am): Likewise.
34316         * modules/readline (Makefile.am): Likewise.
34317         * modules/readlink (Makefile.am): Likewise.
34318         * modules/readtokens (Makefile.am): Likewise.
34319         * modules/readutmp (Makefile.am): Likewise.
34320         * modules/realloc (Makefile.am): Likewise.
34321         * modules/regex (Makefile.am): Likewise.
34322         * modules/rename-dest-slash (Makefile.am): Likewise.
34323         * modules/rename (Makefile.am): Likewise.
34324         * modules/rijndael (Makefile.am): Likewise.
34325         * modules/rmdir (Makefile.am): Likewise.
34326         * modules/rpmatch (Makefile.am): Likewise.
34327         * modules/safe-read (Makefile.am): Likewise.
34328         * modules/safe-write (Makefile.am): Likewise.
34329         * modules/same-inode (Makefile.am): Likewise.
34330         * modules/same (Makefile.am): Likewise.
34331         * modules/save-cwd (Makefile.am): Likewise.
34332         * modules/savedir (Makefile.am): Likewise.
34333         * modules/setenv (Makefile.am): Likewise.
34334         * modules/settime (Makefile.am): Likewise.
34335         * modules/sha1 (Makefile.am): Likewise.
34336         * modules/sig2str (Makefile.am): Likewise.
34337         * modules/snprintf (Makefile.am): Likewise.
34338         * modules/stat-macros (Makefile.am): Likewise.
34339         * modules/stat-time (Makefile.am): Likewise.
34340         * modules/stdbool (Makefile.am): Likewise.
34341         * modules/stdint (Makefile.am): Likewise.
34342         * modules/stdlib-safer (Makefile.am): Likewise.
34343         * modules/stpcpy (Makefile.am): Likewise.
34344         * modules/stpncpy (Makefile.am): Likewise.
34345         * modules/strcase (Makefile.am): Likewise.
34346         * modules/strcasestr (Makefile.am): Likewise.
34347         * modules/strchrnul (Makefile.am): Likewise.
34348         * modules/strcspn (Makefile.am): Likewise.
34349         * modules/strdup (Makefile.am): Likewise.
34350         * modules/strerror (Makefile.am): Likewise.
34351         * modules/strftime (Makefile.am): Likewise.
34352         * modules/strndup (Makefile.am): Likewise.
34353         * modules/strnlen (Makefile.am): Likewise.
34354         * modules/strpbrk (Makefile.am): Likewise.
34355         * modules/strsep (Makefile.am): Likewise.
34356         * modules/strstr (Makefile.am): Likewise.
34357         * modules/strtod (Makefile.am): Likewise.
34358         * modules/strtoimax (Makefile.am): Likewise.
34359         * modules/strtok_r (Makefile.am): Likewise.
34360         * modules/strtol (Makefile.am): Likewise.
34361         * modules/strtoll (Makefile.am): Likewise.
34362         * modules/strtoul (Makefile.am): Likewise.
34363         * modules/strtoull (Makefile.am): Likewise.
34364         * modules/strtoumax (Makefile.am): Likewise.
34365         * modules/strverscmp (Makefile.am): Likewise.
34366         * modules/sys_socket (Makefile.am): Likewise.
34367         * modules/sys_stat (Makefile.am): Likewise.
34368         * modules/sysexits (Makefile.am): Likewise.
34369         * modules/time_r (Makefile.am): Likewise.
34370         * modules/timegm (Makefile.am): Likewise.
34371         * modules/timespec (Makefile.am): Likewise.
34372         * modules/tmpfile-safer (Makefile.am): Likewise.
34373         * modules/trim (Makefile.am): Likewise.
34374         * modules/unistd-safer (Makefile.am): Likewise.
34375         * modules/unlinkdir (Makefile.am): Likewise.
34376         * modules/unlocked-io (Makefile.am): Likewise.
34377         * modules/userspec (Makefile.am): Likewise.
34378         * modules/utime (Makefile.am): Likewise.
34379         * modules/utimecmp (Makefile.am): Likewise.
34380         * modules/utimens (Makefile.am): Likewise.
34381         * modules/vasnprintf (Makefile.am): Likewise.
34382         * modules/vasprintf (Makefile.am): Likewise.
34383         * modules/vsnprintf (Makefile.am): Likewise.
34384         * modules/xalloc (Makefile.am): Likewise.
34385         * modules/xgetcwd (Makefile.am): Likewise.
34386         * modules/xnanosleep (Makefile.am): Likewise.
34387         * modules/xreadlink (Makefile.am): Likewise.
34388         * modules/xstrtod (Makefile.am): Likewise.
34389         * modules/xstrtol (Makefile.am): Likewise.
34390         * modules/xstrtold (Makefile.am): Likewise.
34391         * modules/yesno (Makefile.am): Likewise.
34392         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
34393
34394 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34395
34396         * modules/error (Makefile.am): Distribute files through
34397         EXTRA_DIST, not lib_SOURCES.
34398
34399 2006-10-12  Eric Blake  <ebb9@byu.net>
34400
34401         * modules/error (Makefile.am): Distribute files in /lib.
34402         * modules/obstack (Makefile.am): Likewise.
34403
34404 2006-10-12  Bruno Haible  <bruno@clisp.org>
34405
34406         * modules/acl (Makefile.am): Distribute all files in lib/ through
34407         EXTRA_DIST.
34408         * modules/arcfour (Makefile.am): Likewise.
34409         * modules/arctwo (Makefile.am): Likewise.
34410         * modules/argmatch (Makefile.am): Likewise.
34411         * modules/argz (Makefile.am): Likewise.
34412         * modules/atexit (Makefile.am): Likewise.
34413         * modules/backupfile (Makefile.am): Likewise.
34414         * modules/c-strtod (Makefile.am): Likewise.
34415         * modules/c-strtold (Makefile.am): Likewise.
34416         * modules/calloc (Makefile.am): Likewise.
34417         * modules/canon-host (Makefile.am): Likewise.
34418         * modules/canonicalize (Makefile.am): Likewise.
34419         * modules/chdir-long (Makefile.am): Likewise.
34420         * modules/chdir-safer (Makefile.am): Likewise.
34421         * modules/check-version (Makefile.am): Likewise.
34422         * modules/chown (Makefile.am): Likewise.
34423         * modules/cloexec (Makefile.am): Likewise.
34424         * modules/close-stream (Makefile.am): Likewise.
34425         * modules/closeout (Makefile.am): Likewise.
34426         * modules/crc (Makefile.am): Likewise.
34427         * modules/cycle-check (Makefile.am): Likewise.
34428         * modules/des (Makefile.am): Likewise.
34429         * modules/dirfd (Makefile.am): Likewise.
34430         * modules/dirname (Makefile.am): Likewise.
34431         * modules/dup2 (Makefile.am): Likewise.
34432         * modules/euidaccess (Makefile.am): Likewise.
34433         * modules/exclude (Makefile.am): Likewise.
34434         * modules/exitfail (Makefile.am): Likewise.
34435         * modules/fcntl-safer (Makefile.am): Likewise.
34436         * modules/file-type (Makefile.am): Likewise.
34437         * modules/fileblocks (Makefile.am): Likewise.
34438         * modules/filemode (Makefile.am): Likewise.
34439         * modules/filenamecat (Makefile.am): Likewise.
34440         * modules/fnmatch (Makefile.am): Likewise.
34441         * modules/fopen-safer (Makefile.am): Likewise.
34442         * modules/fpending (Makefile.am): Likewise.
34443         * modules/fprintftime (Makefile.am): Likewise.
34444         * modules/free (Makefile.am): Likewise.
34445         * modules/fsusage (Makefile.am): Likewise.
34446         * modules/ftruncate (Makefile.am): Likewise.
34447         * modules/fts (Makefile.am): Likewise.
34448         * modules/gc (Makefile.am): Likewise.
34449         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34450         * modules/getaddrinfo (Makefile.am): Likewise.
34451         * modules/getcwd (Makefile.am): Likewise.
34452         * modules/getdelim (Makefile.am): Likewise.
34453         * modules/getdomainname (Makefile.am): Likewise.
34454         * modules/getgroups (Makefile.am): Likewise.
34455         * modules/gethostname (Makefile.am): Likewise.
34456         * modules/gethrxtime (Makefile.am): Likewise.
34457         * modules/getline (Makefile.am): Likewise.
34458         * modules/getloadavg (Makefile.am): Likewise.
34459         * modules/getlogin_r (Makefile.am): Likewise.
34460         * modules/getopt (Makefile.am): Likewise.
34461         * modules/getpass (Makefile.am): Likewise.
34462         * modules/getpass-gnu (Makefile.am): Likewise.
34463         * modules/getsubopt (Makefile.am): Likewise.
34464         * modules/gettime (Makefile.am): Likewise.
34465         * modules/gettimeofday (Makefile.am): Likewise.
34466         * modules/getugroups (Makefile.am): Likewise.
34467         * modules/getusershell (Makefile.am): Likewise.
34468         * modules/glob (Makefile.am): Likewise.
34469         * modules/group-member (Makefile.am): Likewise.
34470         * modules/hard-locale (Makefile.am): Likewise.
34471         * modules/hash (Makefile.am): Likewise.
34472         * modules/hmac-md5 (Makefile.am): Likewise.
34473         * modules/hmac-sha1 (Makefile.am): Likewise.
34474         * modules/human (Makefile.am): Likewise.
34475         * modules/idcache (Makefile.am): Likewise.
34476         * modules/imaxabs (Makefile.am): Likewise.
34477         * modules/imaxdiv (Makefile.am): Likewise.
34478         * modules/inet_ntop (Makefile.am): Likewise.
34479         * modules/inet_pton (Makefile.am): Likewise.
34480         * modules/inttostr (Makefile.am): Likewise.
34481         * modules/isapipe (Makefile.am): Likewise.
34482         * modules/lchown (Makefile.am): Likewise.
34483         * modules/long-options (Makefile.am): Likewise.
34484         * modules/lstat (Makefile.am): Likewise.
34485         * modules/malloc (Makefile.am): Likewise.
34486         * modules/mathl (Makefile.am): Likewise.
34487         * modules/mbchar (Makefile.am): Likewise.
34488         * modules/md2 (Makefile.am): Likewise.
34489         * modules/md4 (Makefile.am): Likewise.
34490         * modules/md5 (Makefile.am): Likewise.
34491         * modules/memcasecmp (Makefile.am): Likewise.
34492         * modules/memchr (Makefile.am): Likewise.
34493         * modules/memcmp (Makefile.am): Likewise.
34494         * modules/memcoll (Makefile.am): Likewise.
34495         * modules/memcpy (Makefile.am): Likewise.
34496         * modules/memmem (Makefile.am): Likewise.
34497         * modules/memmove (Makefile.am): Likewise.
34498         * modules/mempcpy (Makefile.am): Likewise.
34499         * modules/memrchr (Makefile.am): Likewise.
34500         * modules/memset (Makefile.am): Likewise.
34501         * modules/memxor (Makefile.am): Likewise.
34502         * modules/mkancesdirs (Makefile.am): Likewise.
34503         * modules/mkdir (Makefile.am): Likewise.
34504         * modules/mkdir-p (Makefile.am): Likewise.
34505         * modules/mkdtemp (Makefile.am): Likewise.
34506         * modules/mkstemp (Makefile.am): Likewise.
34507         * modules/mktime (Makefile.am): Likewise.
34508         * modules/modechange (Makefile.am): Likewise.
34509         * modules/mountlist (Makefile.am): Likewise.
34510         * modules/nanosleep (Makefile.am): Likewise.
34511         * modules/openat (Makefile.am): Likewise.
34512         * modules/pagealign_alloc (Makefile.am): Likewise.
34513         * modules/physmem (Makefile.am): Likewise.
34514         * modules/poll (Makefile.am): Likewise.
34515         * modules/posixtm (Makefile.am): Likewise.
34516         * modules/posixver (Makefile.am): Likewise.
34517         * modules/putenv (Makefile.am): Likewise.
34518         * modules/quote (Makefile.am): Likewise.
34519         * modules/quotearg (Makefile.am): Likewise.
34520         * modules/raise (Makefile.am): Likewise.
34521         * modules/read-file (Makefile.am): Likewise.
34522         * modules/readline (Makefile.am): Likewise.
34523         * modules/readlink (Makefile.am): Likewise.
34524         * modules/readtokens (Makefile.am): Likewise.
34525         * modules/readutmp (Makefile.am): Likewise.
34526         * modules/realloc (Makefile.am): Likewise.
34527         * modules/regex (Makefile.am): Likewise.
34528         * modules/rename (Makefile.am): Likewise.
34529         * modules/rename-dest-slash (Makefile.am): Likewise.
34530         * modules/rijndael (Makefile.am): Likewise.
34531         * modules/rmdir (Makefile.am): Likewise.
34532         * modules/rpmatch (Makefile.am): Likewise.
34533         * modules/safe-read (Makefile.am): Likewise.
34534         * modules/safe-write (Makefile.am): Likewise.
34535         * modules/same (Makefile.am): Likewise.
34536         * modules/save-cwd (Makefile.am): Likewise.
34537         * modules/savedir (Makefile.am): Likewise.
34538         * modules/setenv (Makefile.am): Likewise.
34539         * modules/settime (Makefile.am): Likewise.
34540         * modules/sha1 (Makefile.am): Likewise.
34541         * modules/sig2str (Makefile.am): Likewise.
34542         * modules/snprintf (Makefile.am): Likewise.
34543         * modules/stdlib-safer (Makefile.am): Likewise.
34544         * modules/stpcpy (Makefile.am): Likewise.
34545         * modules/stpncpy (Makefile.am): Likewise.
34546         * modules/strcase (Makefile.am): Likewise.
34547         * modules/strcasestr (Makefile.am): Likewise.
34548         * modules/strchrnul (Makefile.am): Likewise.
34549         * modules/strcspn (Makefile.am): Likewise.
34550         * modules/strdup (Makefile.am): Likewise.
34551         * modules/strerror (Makefile.am): Likewise.
34552         * modules/strftime (Makefile.am): Likewise.
34553         * modules/strndup (Makefile.am): Likewise.
34554         * modules/strnlen (Makefile.am): Likewise.
34555         * modules/strpbrk (Makefile.am): Likewise.
34556         * modules/strsep (Makefile.am): Likewise.
34557         * modules/strstr (Makefile.am): Likewise.
34558         * modules/strtod (Makefile.am): Likewise.
34559         * modules/strtoimax (Makefile.am): Likewise.
34560         * modules/strtok_r (Makefile.am): Likewise.
34561         * modules/strtol (Makefile.am): Likewise.
34562         * modules/strtoll (Makefile.am): Likewise.
34563         * modules/strtoul (Makefile.am): Likewise.
34564         * modules/strtoull (Makefile.am): Likewise.
34565         * modules/strtoumax (Makefile.am): Likewise.
34566         * modules/strverscmp (Makefile.am): Likewise.
34567         * modules/time_r (Makefile.am): Likewise.
34568         * modules/timegm (Makefile.am): Likewise.
34569         * modules/tmpfile-safer (Makefile.am): Likewise.
34570         * modules/unistd-safer (Makefile.am): Likewise.
34571         * modules/unlinkdir (Makefile.am): Likewise.
34572         * modules/userspec (Makefile.am): Likewise.
34573         * modules/utime (Makefile.am): Likewise.
34574         * modules/utimecmp (Makefile.am): Likewise.
34575         * modules/utimens (Makefile.am): Likewise.
34576         * modules/vasnprintf (Makefile.am): Likewise.
34577         * modules/vasprintf (Makefile.am): Likewise.
34578         * modules/vsnprintf (Makefile.am): Likewise.
34579         * modules/xalloc (Makefile.am): Likewise.
34580         * modules/xgetcwd (Makefile.am): Likewise.
34581         * modules/xnanosleep (Makefile.am): Likewise.
34582         * modules/xreadlink (Makefile.am): Likewise.
34583         * modules/xstrtod (Makefile.am): Likewise.
34584         * modules/xstrtol (Makefile.am): Likewise.
34585         * modules/xstrtold (Makefile.am): Likewise.
34586         * modules/yesno (Makefile.am): Likewise.
34587
34588 2006-10-12  Jim Meyering  <jim@meyering.net>
34589
34590         * m4/getloadavg.m4: Revert the change below.
34591
34592         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
34593         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
34594         fail with a symlink, which is what coreutils' ./bootstrap now
34595         creates by default.
34596
34597 2006-10-12  Bruno Haible  <bruno@clisp.org>
34598
34599         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
34600         mingw.
34601         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
34602         MSVC and mingw explicitly.
34603
34604 2006-10-11  Simon Josefsson  <jas@extundo.com>
34605             Bruno Haible  <bruno@clisp.org>
34606
34607         Add support for multiple gnulib-tool invocations in the scope of a
34608         single configure.ac file.
34609         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
34610         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
34611         with the same contents as the _LIBADD variable.
34612         (func_emit_initmacro_start, func_emit_initmacro_end,
34613         func_emit_initmacro_done): New functions.
34614         (func_import, func_create_testdir): Invoke them. Allow the identifiers
34615         gl_LIBOBJS and gl_LTLIBOBJS.
34616
34617 2006-10-11  Bruno Haible  <bruno@clisp.org>
34618
34619         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
34620         (func_create_testdir): Don't create po/Makefile.am, don't invoke
34621         autoreconf. Instead, invoke autopoint explicitly but move back the
34622         *.m4 files from gnulib.
34623
34624 2006-10-11  Bruno Haible  <bruno@clisp.org>
34625
34626         * gnulib-tool (func_usage): Make module names after --create-testdir
34627         optional.
34628         (func_create_testdir): If no module was specified, use nearly all
34629         modules.
34630
34631 2006-10-12  Jim Meyering  <jim@meyering.net>
34632
34633         Big performance improvement for fts-based tools that use FTS_NOSTAT.
34634         Avoid spurious inode-mismatch problems on non-POSIX file systems.
34635         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
34636         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
34637         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
34638         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
34639         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
34640         (fts_set_stat_required): New function.
34641         (fts_open): Defer the calls to fts_stat, if possible or requested.
34642         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
34643         into fts_stat itself.
34644         (fts_read): Perform any required (deferred) fts_stat call.
34645         (fts_build): Likewise, for the directory we're about to open and read.
34646         In the readdir loop, carefully decide whether each entry will require
34647         an eventual call to fts_stat, using dirent.d_type info if available.
34648         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
34649         a command line argument into this function.  Update all callers.
34650         Map a return value of FTS_DOT to FTS_D for a command line argument.
34651         * modules/fts (Depends-on): Add d-type.  Alphabetize.
34652         Thanks to Miklos Szeredi for his tenacity and for the initial
34653         bug report about "find" failing on a FUSE-based file system.
34654
34655         * lib/fts.c (fts_open): Use consistent indentation.
34656
34657 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34658
34659         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
34660         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
34661         reported by Jim Meyering.  All uses of cache variables renamed
34662         to match Autoconf's.
34663         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
34664         the other one.
34665
34666         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
34667         Fix misspelling in diagnostic.
34668
34669 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34670
34671         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
34672         defined.  Problem reported by Matthew Woehlke.
34673
34674         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
34675         Add support for Tandem NonStop R series.
34676         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
34677         Use new macro.
34678
34679         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
34680         (has_trailing_slash): Omit size arg; all callers changed.
34681         Omit 'inline', since it doesn't help performance and we'd
34682         need to configure it.
34683         Don't count //, ///, etc. as having a trailing slash.
34684         As a side effect, this removes a C99ism reported by Matthew Woehlke.
34685         (rpl_rename_dest_slash): On failure, use rename's errno rather
34686         than (in some cases) an incorrect or junk errno.
34687         Simplify code by removing need to compute length; this does
34688         cause it to make two passes instead of one over the file name,
34689         but it's worth it.
34690
34691         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
34692         change, since Autoconf's version may no longer be appropriate now
34693         that we are using CVS Autoconf's version.  Add support for Tandem.
34694
34695 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34696             Bruno Haible  <bruno@clisp.org>
34697
34698         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
34699         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
34700         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
34701         gl_AC_TYPE_LONG_LONG.
34702
34703         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
34704         instead of HAVE_LONG_LONG.
34705         * lib/printf-args.c (printf_fetchargs): Likewise.
34706         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
34707         * lib/vasnprintf.c (VASNPRINTF): Likewise.
34708         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
34709         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
34710         gl_AC_TYPE_LONG_LONG.
34711
34712 2006-10-11  Bruno Haible  <bruno@clisp.org>
34713
34714         * m4/longlong.m4: Add comments.
34715         * m4/ulonglong.m4: Likewise.
34716
34717 2006-10-10  Bruno Haible  <bruno@clisp.org>
34718
34719         Make it possible to #define stpcpy, strdup to aliases.
34720         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
34721         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
34722
34723 2006-10-10  Bruno Haible  <bruno@clisp.org>
34724
34725         Make it possible to #define gcd to an alias.
34726         * lib/gcd.c: Include config.h.
34727
34728 2006-10-10  Bruno Haible  <bruno@clisp.org>
34729
34730         Make it possible to #define c_isascii to an alias.
34731         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
34732         defined. Undefine the macros before defining them, to avoid gcc
34733         warnings.
34734         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
34735         define NO_C_CTYPE_MACROS early.
34736
34737 2006-10-10  Bruno Haible  <bruno@clisp.org>
34738
34739         Make it possible to #define set_program_name to an alias.
34740         * lib/progname.c: Don't undefine set_program_name; instead, undefine
34741         ENABLE_RELOCATABLE early.
34742
34743 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34744
34745         Port to Tandem NSK OSS, which has 64-bit signed int but at most
34746         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
34747         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
34748         More generally, don't assume that 64-bit signed int is available
34749         if unsigned int is, and vice versa.
34750         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
34751         unsigned symbols, not on their signed counterparts.
34752         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
34753         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
34754         (UINT64_C, UINTMAX_C):
34755         Likewise.
34756         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
34757         unsigned counterparts.
34758         (Have_long_long, Unsigned): New macros.
34759         (Int): Renamed from INT.
34760         (strtoimax): Use the new macros.
34761         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
34762         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
34763         * modules/inttypes (inttypes.h): Substitute
34764         HAVE_UNSIGNED_LONG_LONG_INT.
34765         * modules/stdint (stdint.h): Likewise.
34766         (Files): Add m4/ulonglong.m4.
34767
34768 2006-10-10  Bruno Haible  <bruno@clisp.org>
34769
34770         Fix a gcc -Wshadow warning.
34771         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
34772         to 'bucket'.
34773         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
34774         gl_linked_indexof_from_to): Likewise.
34775         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
34776         Likewise.
34777         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
34778         Likewise.
34779         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
34780         Reported by Eric Blake.
34781
34782 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34783
34784         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
34785         for NetBSD.  Problem reported by Bruno Haible.
34786
34787 2006-10-09  Jim Meyering  <jim@meyering.net>
34788
34789         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
34790         Patch from Bruno Haible.
34791
34792 2006-10-09  Jim Meyering  <jim@meyering.net>
34793
34794         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
34795         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
34796         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
34797
34798 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34799
34800         Don't include <config.h> twice; this doesn't work in some cases,
34801         e.g., when config.h has "#define intmax_t long long int" and
34802         we include <config.h>, <inttypes.h>, <config.h> in that order.
34803         Problem reported by Matthew Woehlke in:
34804         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
34805         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
34806         * lib/fts-cycle.c: Don't include config.h.
34807         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
34808         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
34809         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
34810         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
34811         inttypes.h.
34812         * lib/xstrtoumax.c: Likewise.
34813         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
34814         __strtol and the like, so that this module is more like its siblings.
34815         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
34816         Remove; no longer needed now that we assume gnulib inttypes.h.
34817
34818 2006-10-08  Bruno Haible  <bruno@clisp.org>
34819
34820         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
34821         option.
34822
34823 2006-10-07  Jim Meyering  <jim@meyering.net>
34824
34825         * modules/inttypes (inttypes.h): Revert what seems to have been
34826         an inadvertent part of today's change: use "|", not "/" in the
34827         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
34828
34829 2006-10-07  Bruno Haible  <bruno@clisp.org>
34830
34831         * modules/sublist: New file.
34832
34833 2006-10-07  Bruno Haible  <bruno@clisp.org>
34834
34835         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
34836         * modules/argz (argz.h): Likewise.
34837         * modules/arpa_inet (arpa/inet.h): Likewise.
34838         * modules/byteswap (byteswap.h): Likewise.
34839         * modules/configmake (configmake.h): Likewise.
34840         * modules/fcntl (fcntl.h): Likewise.
34841         * modules/fnmatch (fnmatch.h): Likewise.
34842         * modules/getopt (getopt.h): Likewise.
34843         * modules/glob (glob.h): Likewise.
34844         * modules/inttypes (inttypes.h): Likewise.
34845         * modules/netinet_in (netinet/in.h): Likewise.
34846         * modules/poll (poll.h): Likewise.
34847         * modules/stdbool (stdbool.h): Likewise.
34848         * modules/stdint (stdint.h): Likewise.
34849         * modules/sys_select (sys/select.h): Likewise.
34850         * modules/sys_socket (sys/socket.h): Likewise.
34851         * modules/sys_stat (sys/stat.h): Likewise.
34852         * modules/sysexits (sysexits.h): Likewise.
34853         * modules/unistd (unistd.h): Likewise.
34854         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34855         Add a "DO NOT EDIT" comment to the generated file.
34856         (func_import): Likewise for gnulib-comp.m4.
34857
34858 2006-10-07  Bruno Haible  <bruno@clisp.org>
34859
34860         * lib/gl_sublist.h: New file.
34861         * lib/gl_sublist.c: New file.
34862
34863 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34864
34865         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
34866         name (relative to the original working directory) and the file
34867         name component (relative to the temporary working directory).  All
34868         callers changed.
34869         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
34870         * lib/mkdir-p.c (make_dir_parents): Likewise.
34871         * lib/mkdir-p.h (make_dir_parents): Likewise.
34872
34873 2006-10-06  Eric Blake  <ebb9@byu.net>
34874
34875         Define several macros for use by the clean-temp module.
34876         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
34877         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
34878         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
34879
34880         * lib/clean-temp.h (close_stream_temp): New declaration.
34881         * lib/clean-temp.c (includes): Pull in headers according to what
34882         other modules are in use.
34883         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
34884
34885 2006-10-06  Bruno Haible  <bruno@clisp.org>
34886
34887         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
34888         instead of fopen, fwriteerror.
34889
34890 2006-10-06  Bruno Haible  <bruno@clisp.org>
34891
34892         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
34893         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
34894         int.
34895         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
34896         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
34897         Return an error indicator.
34898         Suggested by Eric Blake.
34899
34900 2006-10-06  Bruno Haible  <bruno@clisp.org>
34901
34902         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
34903         Reported by Eric Blake.
34904
34905 2006-10-06  Bruno Haible  <bruno@clisp.org>
34906
34907         * modules/closeout (Description): Mention stderr too.
34908
34909 2006-10-06  Bruno Haible  <bruno@clisp.org>
34910         and Paul Eggert  <eggert@cs.ucla.edu>
34911
34912         * lib/closeout.c (close_stdout): Also close stderr.
34913         * lib/closeout.h: Update comment.
34914
34915 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
34916
34917         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
34918         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
34919         * lib/dirchownmod.c: Include lchown.h.
34920         * lib/lchown.c: Don't include files that lchown.h now includes.
34921         Don't declare chown, since lchown.h now does that.
34922         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
34923         (lchown): Define to rpl_chown if lchown is declared but
34924         does not exist.  Declare using a prototype if lchown is not
34925         declared.  Add a copyright notice.
34926         * lib/mkstemp.h: Include <unistd.h>.
34927         * lib/openat.c: Include lchown.h.
34928
34929         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
34930         we now test for that separately.
34931         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
34932         rather than O_NOFOLLOW, when testing whether it's possible to
34933         avoid a race condition reliably.
34934         * lib/savewd.c (savewd_chdir): Likewise.
34935
34936         Remove macros that are no longer needed now that stdint.h is
34937         reliable.
34938         * lib/fsusage.c (UINTMAX_MAX): Remove.
34939         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
34940         * lib/utimecmp.c (SIZE_MAX): Remove.
34941
34942         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
34943
34944         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
34945         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
34946         O_NOATIME works.
34947
34948 2006-10-05  Bruno Haible  <bruno@clisp.org>
34949
34950         * lib/gl_list.h (gl_sortedlist_search_from_to,
34951         gl_sortedlist_indexof_from_to): New declarations.
34952         (gl_list_implementation): New fields sortedlist_search_from_to,
34953         sortedlist_indexof_from_to.
34954         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
34955         inline functions.
34956         * lib/gl_list.c (gl_sortedlist_search_from_to,
34957         gl_sortedlist_indexof_from_to): New functions.
34958         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
34959         function.
34960         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
34961         (gl_array_sortedlist_search_from_to): New function.
34962         (gl_array_list_implementation): Update.
34963         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
34964         function.
34965         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
34966         (gl_carray_sortedlist_search_from_to): New function.
34967         (gl_carray_list_implementation): Update.
34968         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
34969         gl_linked_sortedlist_indexof_from_to): New functions.
34970         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
34971         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
34972         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
34973         gl_tree_sortedlist_indexof_from_to): New functions.
34974         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
34975         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
34976         Update.
34977         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
34978         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
34979         Update.
34980
34981 2006-10-05  Bruno Haible  <bruno@clisp.org>
34982
34983         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
34984         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
34985         (struct gl_list_implementation): Add fields search_from_to,
34986         indexof_from_to. Remove fields search, indexof.
34987         (gl_list_search): Use the search_from_to method.
34988         (gl_list_search_from, gl_list_search_from_to): New functions.
34989         (gl_list_indexof): Use the indexof_from_to method.
34990         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
34991         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
34992         (gl_list_search_from, gl_list_search_from_to): New functions.
34993         (gl_list_indexof): Use the indexof_from_to method.
34994         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
34995         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
34996         gl_array_indexof. Add start_index, end_index arguments.
34997         (gl_array_search_from_to): Renamed from gl_array_search. Add
34998         start_index, end_index arguments.
34999         (gl_array_remove, gl_array_list_implementation): Update.
35000         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
35001         gl_carray_indexof. Add start_index, end_index arguments.
35002         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
35003         start_index, end_index arguments.
35004         (gl_carray_remove, gl_carray_list_implementation): Update.
35005         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
35006         gl_linked_search. Add start_index, end_index arguments.
35007         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
35008         start_index, end_index arguments.
35009         (gl_linked_remove): Update.
35010         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35011         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35012         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
35013         field to 'size_t'.
35014         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
35015         gl_tree_search. Add start_index, end_index arguments.
35016         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
35017         start_index, end_index arguments.
35018         (gl_tree_remove): Update.
35019         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35020         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35021         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
35022         function.
35023         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
35024         gl_tree_search. Add start_index, end_index arguments.
35025         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
35026         start_index, end_index arguments.
35027         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35028         Update.
35029         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
35030
35031 2006-10-05  Bruno Haible  <bruno@clisp.org>
35032
35033         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
35034
35035         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
35036         fwriteerror_temp): New declarations.
35037         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
35038         (descriptors): New variable.
35039         (cleanup): First, close the descriptors.
35040         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
35041         fclose_temp, fwriteerror_temp): New functions.
35042
35043 2006-10-04  Jim Meyering  <jim@meyering.net>
35044
35045         * lib/fts.c (fts_open): Tiny comment change.
35046
35047 2006-10-04  Bruno Haible  <bruno@clisp.org>
35048
35049         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
35050         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
35051         gl_LOCK_BODY.
35052         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
35053         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
35054         gl_LOCK_EARLY_BODY.
35055         (gl_LOCK): Require gl_LOCK_BODY.
35056
35057 2006-10-04  Bruno Haible  <bruno@clisp.org>
35058
35059         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
35060         (gl_oset_search_atleast): New declaration.
35061         (struct gl_oset_implementation): Add field 'search_atleast'.
35062         (gl_oset_search_atleast): New inline function.
35063         * lib/gl_oset.c (gl_oset_search_atleast): New function.
35064         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
35065         (gl_array_oset_implementation): Update.
35066         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
35067         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
35068         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
35069
35070 2006-10-04  Bruno Haible  <bruno@clisp.org>
35071
35072         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
35073
35074 2006-10-03  Bruno Haible  <bruno@clisp.org>
35075
35076         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
35077         from gl_avltreehash_list_implementation.
35078
35079 2006-10-03  Bruno Haible  <bruno@clisp.org>
35080
35081         * lib/gl_oset.c (gl_oset_add): Fix return type.
35082
35083 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
35084
35085         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
35086
35087 2006-10-02  Eric Blake  <ebb9@byu.net>
35088
35089         * modules/strnlen (Depends-on): Add extensions.
35090
35091 2006-10-02  Eric Blake  <ebb9@byu.net>
35092
35093         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
35094         definition in 2.60+.
35095
35096 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
35097
35098         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
35099         checks.
35100
35101 2006-10-02  Bruno Haible  <bruno@clisp.org>
35102
35103         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
35104         to the AUTOMAKE_OPTIONS.
35105         Reported by Jim Meyering.
35106
35107 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
35108
35109         Work around bug in Solaris 10 /proc file system:
35110         /proc/self/fd/NNN/.. isn't the parent directory of
35111         the directory whose file descriptor is NNN.  This needs to
35112         be worked around at run time, not compile time, since a
35113         program might be built on Solaris 8, where things work, and
35114         run on Solaris 10.
35115         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
35116         to use the following interface instead:
35117         (OPENAT_BUFFER_SIZE): New macro.
35118         (openat_proc_name): New function.
35119         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
35120         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
35121         Likewise.
35122         * lib/openat-proc.c: New file.
35123         * modules/openat (Files): Add lib/openat-proc.c.
35124         (Depends-on): Add same-inode, stdbool.
35125         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
35126
35127 2006-09-29  Bruno Haible  <bruno@clisp.org>
35128
35129         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
35130         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
35131         argument. Set stdout_closed before testing for ferror, not after.
35132         (fwriteerror, fwriteerror_no_ebadf): New functions.
35133
35134 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35135
35136         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
35137
35138 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
35139
35140         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
35141         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
35142
35143 2006-09-28  Jim Meyering  <jim@meyering.net>
35144
35145         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
35146         Include <unistd.h>.
35147
35148 2006-09-28  Bruno Haible  <bruno@clisp.org>
35149
35150         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
35151         * modules/linkedhash-list (Depends-on): Likewise.
35152         * modules/rbtreehash-list (Depends-on): Likewise.
35153
35154 2006-09-28  Bruno Haible  <bruno@clisp.org>
35155
35156         * lib/strndup.h: Simplify the redefinition of strndup.
35157         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
35158         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
35159
35160 2006-09-28  Bruno Haible  <bruno@clisp.org>
35161
35162         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
35163         * lib/gl_linkedhash_list.c: Likewise.
35164         * lib/gl_rbtreehash_list.c: Likewise.
35165
35166 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
35167
35168         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
35169         getaddrinfo.
35170
35171         * lib/__fpending.h: Don't include <stdio_ext.h> unless
35172         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
35173         it causes <stdio_ext.h> to cause a compile-time error.
35174         Problem reported by Nelson H. F. Beebe.
35175         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
35176         of HAVE_DECL___PENDING.
35177
35178         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
35179         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
35180         declaration.
35181
35182 2006-09-27  Jim Meyering  <jim@meyering.net>
35183
35184         This file could end up with a definition for a function
35185         named __strndup, rather than rpl_strndup on a system with
35186         incomplete weak_alias support.
35187         * lib/strndup.c (strndup): Rename from __strndup.
35188         Remove #defines that used to map __strndup to strndup.
35189         Don't use K&R prototypes.
35190         Remove LIBC-related code, since this file is not sync'd with glibc.
35191         * lib/strndup.h: Revamp, accordingly.
35192         * m4/strndup.m4: Modernize.
35193
35194 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
35195
35196         * modules/savewd (Depends-on): Add 'raise'.
35197         * lib/savewd.c: Include <signal.h>, for 'raise'.
35198
35199 2006-09-26  Jim Meyering  <jim@meyering.net>
35200
35201         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
35202         when we detect Darwin 8.7.0's acl_get_file bug.
35203         Rearrange to perform the new (below) run-test while $LIBS
35204         contains any acl-related library.  Set USE_ACL at the end.
35205         (gl_ACL_GET_FILE): New function.
35206
35207 2006-09-26  Eric Blake  <ebb9@byu.net>
35208
35209         * lib/verror.c: Include <config.h> unconditionally.
35210
35211 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
35212
35213         * modules/clock-time (Maintainer): Add self.
35214         * modules/getlogin_r (Depends-on): Add extensions.
35215
35216 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35217
35218         * modules/clock-time: New module.
35219         * modules/nanosleep (Depends-on): Add clock-time.
35220         * modules/gethrxtime (Depends-on): Likewise.
35221         * modules/gettime (Depends-on): Likewise.
35222         * modules/settime (Depends-on): Likewise.
35223
35224         * modules/fts-lgpl: Depend on openat.
35225         * modules/mkancesdirs: Depend on savewd.
35226         * modules/mkdir-p: Likewise.
35227
35228 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35229
35230         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
35231
35232         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
35233         `gl_have_arbitrary_file_name_length_limit' to
35234         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
35235         actually works between configure runs.
35236
35237 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35238             Bruno Haible  <bruno@clisp.org>
35239
35240         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
35241
35242 2006-09-25  Jim Meyering  <jim@meyering.net>
35243
35244         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
35245         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
35246
35247 2006-09-25  Eric Blake  <ebb9@byu.net>
35248
35249         * gnulib-tool (func_import, func_create_testdir): Fix typos in
35250         exec's in 2006-09-18 patch when shuffling fds.
35251
35252 2006-09-25  Bruno Haible  <bruno@clisp.org>
35253
35254         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
35255         Reported by Jim Meyering.
35256
35257 2006-09-24  Jim Meyering  <jim@meyering.net>
35258
35259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
35260         compare a pointer against a literal "0".  That caused failures with
35261         at least HP-UX's hpcc.
35262
35263 2006-09-22  Simon Josefsson  <jas@extundo.com>
35264
35265         * modules/gc-sha1:
35266         * modules/gc-md4:
35267         * modules/gc-hmac-sha1:
35268         * modules/gc-hmac-md5:
35269         * modules/gc-des:
35270         * modules/gc-arcfour: Distribute more files.
35271
35272 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35273
35274         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
35275         (gl_linked_iterator_from_to): Initialize struct completely.
35276         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
35277         (gl_tree_iterator_from_to): Likewise
35278         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
35279         * lib/gl_array_list.c [lint] (gl_array_iterator)
35280         (gl_array_iterator_from_to): Likewise.
35281         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
35282         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
35283         (gl_carray_iterator_from_to): Likewise.
35284
35285         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
35286         * lib/md4.c (md4_process_block): Remove unused variable.
35287         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
35288         parentheses for clarity.
35289
35290 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35291
35292         * modules/bison-i18n (Depends-on): Add gettext.
35293
35294 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35295
35296         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
35297         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35298         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
35299         also add missing comma that caused broken test.
35300         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
35301         stdlib.h, for `abort'.
35302         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
35303         variables.
35304         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
35305         include unistd.h if present, for `rmdir'.
35306         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
35307         variables.
35308         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
35309         in the process include standard headers for prototypes.
35310         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
35311         gets declared on GNU/Linux.
35312         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
35313         unistd.h, for `rmdir'.
35314         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
35315
35316         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
35317         always true.
35318         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
35319
35320         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
35321
35322 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35323
35324         * gnulib-tool (func_version): Create output all at once.  This
35325         may help avoid triggering unnecessary SIGPIPEs, and at any
35326         rate it doesn't hurt.
35327
35328 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35329             Bruno Haible  <bruno@clisp.org>
35330
35331         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
35332         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35333         * m4/signed.m4 (bh_C_SIGNED): Likewise.
35334
35335         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
35336         (gl_FUNC_VASPRINTF): Invoke it.
35337
35338 2006-09-22  Bruno Haible  <bruno@clisp.org>
35339
35340         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
35341         getloadavg.c as first argument.
35342
35343 2006-09-22  Bruno Haible  <bruno@clisp.org>
35344
35345         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
35346         at the beginning of the gl_INIT macro.
35347         * modules/getloadavg (configure.ac): Pass $gl_source_base to
35348         gl_GETLOADAVG.
35349
35350 2006-09-22  Bruno Haible  <bruno@clisp.org>
35351
35352         * gnulib-tool (func_create_megatestdir): Don't include the config-h
35353         module.
35354         Suggested by Ralf Wildenhues.
35355
35356 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
35357
35358         Import this patch from libc:
35359
35360         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
35361
35362         * lib/regex_internal.c (re_string_reconstruct): Handle
35363         offset < pstr->valid_raw_len && pstr->offsets_needed case.
35364         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
35365         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
35366         re_string_context_at.
35367
35368         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
35369         now requires it.
35370         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
35371         gl_REGEX now does it for us.
35372         (gl_REGEX): Add test taken from
35373         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
35374
35375         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
35376         Check that large offsets work.  Modernize Autoconf usages.
35377         Prefer "yes" to mean a good thing rather than a bad.
35378         Don't put "#define mkstemp" in config.h, as this might interfere
35379         with standard system headers that "#define mkstemp mkstemp64".
35380
35381         * modules/mkstemp (Depends-on): Add extensions, so that
35382         mkstemp is visible on some platforms.
35383         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
35384         (Include): Change to "mkstemp.h" from <stdlib.h>.
35385         (Files): Add mkstemp.h.
35386
35387         * lib/mkstemp.h: New file, since some standard headers
35388         #define mkstemp.
35389         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
35390         Include "mkstemp.h".
35391         Make the _LIBC code resemble glibc original more,
35392         e.g., use K&R style.
35393         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
35394         (mkstemp): Remove, since mkstemp.h does this for us.
35395         * lib/stdlib--.h: Include mkstemp.h.
35396
35397         Import this patch from libc:
35398
35399         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
35400
35401         * lib/tempname.c (__gen_tempname): Change attempts_min
35402         into a macro.  Use preprocessor to decide how to initialize
35403         attempts [Coverity CID 67].
35404
35405 2006-09-20  Bruno Haible  <bruno@clisp.org>
35406
35407         * lib/mkdtemp.c: Import from libc.
35408         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
35409                 * sysdeps/posix/tempname.c (__gen_tempname): Change
35410                 attempts_min into a macro.  Use preprocessor to decide how to
35411                 initialize attempts [Coverity CID 67].
35412         2001-11-27  Paul Eggert  <eggert@twinsun.com>
35413                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
35414                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
35415
35416 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35417
35418         * gnulib-tool (func_exit): New function, to allow to pass the
35419         exit status portably through the trap.  Use everywhere.
35420         (--help, --version): Signal a write error.
35421         (trap): catch SIGPIPE, for write errors.
35422         Exit at the end of the trap, with the correct exit status.
35423
35424 2006-09-19  Karl Berry  <karl@gnu.org>
35425
35426         * doc/gnulib.texi: note about the license texinfo files.
35427
35428 2006-09-19  Eric Blake  <ebb9@byu.net>
35429
35430         * gnulib-tool: Avoid space-tab.
35431
35432 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35433
35434         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
35435         that prevented coreutils 6.1 from building.  Problem reported
35436         by Petter Reinholdtsen.
35437
35438 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35439
35440         * gnulib-tool (avoidlist): Fix typo that broke options like
35441         --avoid=lock that are used by coreutils bootstrap.
35442
35443 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
35444
35445         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
35446         more systematically.
35447
35448 2006-09-18  Jim Meyering  <jim@meyering.net>
35449
35450         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
35451
35452 2006-09-18  Bruno Haible  <bruno@clisp.org>
35453
35454         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
35455
35456 2006-09-18  Bruno Haible  <bruno@clisp.org>
35457
35458         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
35459         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
35460         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
35461         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
35462         * m4/gettext.m4: Require autoconf >= 2.52.
35463         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
35464         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
35465         of gl_cv_header_inttypes_h.
35466
35467 2006-09-18  Bruno Haible  <bruno@clisp.org>
35468
35469         * lib/javaversion.c: Include configmake.h.
35470
35471 2006-09-18  Bruno Haible  <bruno@clisp.org>
35472
35473         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
35474         avoid that the while loops be executed in a subshell.
35475
35476 2006-09-18  Bruno Haible  <bruno@clisp.org>
35477
35478         * MODULES.html.sh (func_module): Break long lines.
35479         Suggested by Bruce Korb <bkorb@gnu.org>.
35480
35481 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35482
35483         Speed up by a factor of 1.12.
35484         * gnulib-tool (nl): New variable.
35485         (func_import): Rewrite include directive extraction to only read each
35486         directive once.
35487
35488 2006-09-17  Bruno Haible  <bruno@clisp.org>
35489
35490         * modules/javaversion (Makefile.am): Remove DEFS setting.
35491         (Depends-on): Add configmake, for PKGDATADIR definition.
35492
35493 2006-09-17  Bruno Haible  <bruno@clisp.org>
35494
35495         * gnulib-tool (func_create_testdir): Rewrite all files at once.
35496
35497 2006-09-17  Bruno Haible  <bruno@clisp.org>
35498
35499         * gnulib-tool (func_append): New function, stolen from libtool.m4.
35500         (func_modules_transitive_closure, func_modules_add_dummy,
35501         func_modules_to_filelist, func_import, func_create_testdir,
35502         func_create_megatestdir, ...): Use it wherever possible.
35503         Suggested by Ralf Wildenhues.
35504
35505 2006-09-16  Karl Berry  <karl@gnu.org>
35506
35507         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
35508         to avoid sectioning errors.
35509         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
35510         [ifinfo]: blank line after @center-ed titles.
35511         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
35512         Spell FSF address consistently with others.
35513         (These changes approved by rms.)
35514
35515 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35516
35517         Speed up by a factor of 1.61.
35518         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
35519         already checked module names again.
35520
35521 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35522
35523         Speed up by a factor of 1.13.
35524         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
35525         for new_files, and the input to func_add_or_update.
35526
35527 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35528
35529         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
35530         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
35531
35532 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35533
35534         * modules/mkancesdirs (Depends-on): Add fcntl.
35535         * modules/savewd: New file.
35536         * MODULES.html.sh (File system functions): Add savewd.
35537
35538         * modules/configmake (Makefile.am): Add support for the
35539         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
35540
35541 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35542
35543         * m4/savewd.m4: New file.
35544
35545 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35546
35547         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
35548         (dirchownmod): New arg FD.  All callers changed.
35549         Use FD rather than opening the directory ourself, as opening is
35550         now the caller's responsibility.
35551         * lib/dirchownmod.h: Likewise.
35552         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
35553         hosts that require <sys/types.h> before <sys/stat.h>.  Include
35554         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
35555         (test_dir): Remove.
35556         (mkancesdirs): Return length of prefix of FILE that has already
35557         been made, or -2 if there is a child doing the work.  Redo
35558         algorithm so that it is O(N) rather than O(N**2).  Optimize away
35559         ".", and treat ".." specially since it might stray back into
35560         already-created areas.  Use a subprocess if necessary.  New arg
35561         WD; all users changed.  MAKE_DIR function should now return 1
35562         if it creates a directory that is not readable.  Return -2 if
35563         a child process is spun off.
35564         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
35565         Adjust signature to match code.
35566         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
35567         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
35568         all users changed.
35569         * lib/savewd.c, lib/savewd.h: New files.
35570
35571 2006-09-15  Jim Meyering  <jim@meyering.net>
35572
35573         * modules/rename-dest-slash: New module.
35574         * MODULES.html.sh (posix_compat): Add it here.
35575
35576         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
35577
35578 2006-09-15  Jim Meyering  <jim@meyering.net>
35579
35580         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
35581         file.
35582
35583         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
35584
35585 2006-09-15  Jim Meyering  <jim@meyering.net>
35586
35587         * lib/rename-dest-slash.c (has_trailing_slash): Use
35588         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
35589         (rpl_rename_dest_slash): Perform the cheaper trailing slash
35590         test before testing whether SRC is a directory.
35591         Suggestions from Bruno Haible.
35592
35593         Avoid a warning about an unused variable.
35594         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
35595         into the #ifdef block where it's used.
35596
35597         * lib/rename-dest-slash.c: New file.
35598
35599 2006-09-14  Bruno Haible  <bruno@clisp.org>
35600
35601         * lib/allocsa.c: Include <config.h> unconditionally.
35602         * lib/asnprintf.c: Likewise.
35603         * lib/asprintf.c: Likewise.
35604         * lib/c-strcasecmp.c: Likewise.
35605         * lib/c-strcasestr.c: Likewise.
35606         * lib/c-strncasecmp.c: Likewise.
35607         * lib/c-strstr.c: Likewise.
35608         * lib/classpath.c: Likewise.
35609         * lib/clean-temp.c: Likewise.
35610         * lib/concatpath.c: Likewise.
35611         * lib/copy-file.c: Likewise.
35612         * lib/csharpcomp.c: Likewise.
35613         * lib/csharpexec.c: Likewise.
35614         * lib/execute.c: Likewise.
35615         * lib/fatal-signal.c: Likewise.
35616         * lib/findprog.c: Likewise.
35617         * lib/fwriteerror.c: Likewise.
35618         * lib/gl_array_list.c: Likewise.
35619         * lib/gl_array_oset.c: Likewise.
35620         * lib/gl_avltree_list.c: Likewise.
35621         * lib/gl_avltree_oset.c: Likewise.
35622         * lib/gl_avltreehash_list.c: Likewise.
35623         * lib/gl_carray_list.c: Likewise.
35624         * lib/gl_linked_list.c: Likewise.
35625         * lib/gl_linkedhash_list.c: Likewise.
35626         * lib/gl_list.c: Likewise.
35627         * lib/gl_oset.c: Likewise.
35628         * lib/gl_rbtree_list.c: Likewise.
35629         * lib/gl_rbtree_oset.c: Likewise.
35630         * lib/gl_rbtreehash_list.c: Likewise.
35631         * lib/imaxabs.c: Likewise.
35632         * lib/imaxdiv.c: Likewise.
35633         * lib/javacomp.c: Likewise.
35634         * lib/javaexec.c: Likewise.
35635         * lib/javaversion.c: Likewise.
35636         * lib/linebreak.c: Likewise.
35637         * lib/localcharset.c: Likewise.
35638         * lib/lock.c: Likewise.
35639         * lib/mbchar.c: Likewise.
35640         * lib/mbswidth.c: Likewise.
35641         * lib/mkdtemp.c: Likewise.
35642         * lib/pipe.c: Likewise.
35643         * lib/printf-args.c: Likewise.
35644         * lib/printf-parse.c: Likewise.
35645         * lib/progname.c: Likewise.
35646         * lib/progreloc.c: Likewise.
35647         * lib/readlink.c: Likewise.
35648         * lib/sh-quote.c: Likewise.
35649         * lib/stpcpy.c: Likewise.
35650         * lib/stpncpy.c: Likewise.
35651         * lib/strcasecmp.c: Likewise.
35652         * lib/strcasestr.c: Likewise.
35653         * lib/strcspn.c: Likewise.
35654         * lib/striconv.c: Likewise.
35655         * lib/strncasecmp.c: Likewise.
35656         * lib/strnlen1.c: Likewise.
35657         * lib/strstr.c: Likewise.
35658         * lib/strtok_r.c: Likewise.
35659         * lib/tls.c: Likewise.
35660         * lib/tmpdir.c: Likewise.
35661         * lib/unicodeio.c: Likewise.
35662         * lib/unsetenv.c: Likewise.
35663         * lib/vasnprintf.c: Likewise.
35664         * lib/vasprintf.c: Likewise.
35665         * lib/wait-process.c: Likewise.
35666         * lib/xallocsa.c: Likewise.
35667         * lib/xsetenv.c: Likewise.
35668         * lib/xstriconv.c: Likewise.
35669
35670 2006-09-13  Simon Josefsson  <jas@extundo.com>
35671
35672         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
35673         that internally, suggested by Ralf Wildenhues
35674         <Ralf.Wildenhues@gmx.de>.
35675
35676 2006-09-13  Simon Josefsson  <jas@extundo.com>
35677
35678         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
35679         @LIBOBJS@.
35680         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35681
35682 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
35683
35684         * lib/_fpending.c: Include <config.h> unconditionally, since we no
35685         longer worry about uses that don't define HAVE_CONFIG_H.
35686         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
35687         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
35688         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
35689         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
35690         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
35691         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
35692         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
35693         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
35694         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
35695         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
35696         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
35697         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
35698         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
35699         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
35700         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
35701         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
35702         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
35703         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
35704         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
35705         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
35706         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
35707         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
35708         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
35709         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
35710         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
35711         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
35712         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
35713         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
35714         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
35715         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
35716         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
35717         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
35718         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
35719         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
35720         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
35721         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
35722         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
35723         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
35724         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
35725         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
35726         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
35727         Likewise.
35728
35729 2006-09-13  Eric Blake  <ebb9@byu.net>
35730
35731         * lib/getopt.c: Fix typo in last commit.
35732
35733 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35734
35735         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
35736         dgettext.
35737
35738 2006-09-12  Jim Meyering  <jim@meyering.net>
35739
35740         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
35741         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
35742         Reported by Nelson H. F. Beebe.
35743
35744 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
35745
35746         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
35747         program_invocation_name and program_invocation_short_name are
35748         initialized.
35749         * lib/argp-namefrob.h: Move declarations of program_invocation_name
35750         and program_invocation_short_name to argp.h, so they are visible
35751         to user programs.
35752         * lib/argp.h: Likewise
35753
35754 2006-09-10  Bruno Haible  <bruno@clisp.org>
35755
35756         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
35757         m4/inttypes_h.m4, m4/uintmax_t.m4.
35758
35759 2006-09-10  Bruno Haible  <bruno@clisp.org>
35760
35761         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
35762         gl_AC_TYPE_UINTMAX_T.
35763
35764 2006-09-10  Bruno Haible  <bruno@clisp.org>
35765
35766         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
35767
35768 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
35769
35770         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
35771         convention.  Text proposed by Bruno Haible.
35772         (struct argp_option): Document the use of N_() wrappers.
35773
35774         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
35775         '\v', and translate the two parts separately, instead of feeding
35776         the whole string to gettext.  This allows to exclude
35777         '\v' from the strings visible to the translator by writing doc
35778         strings as N_("..") "\v" N_("..").
35779
35780 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
35781
35782         * config/srclist.txt: Undo latest change; the bug was fixed.
35783
35784 2006-09-09  Bruno Haible  <bruno@clisp.org>
35785
35786         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
35787         assignments if building a library without libtool.
35788         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
35789         in func_emit_lib_Makefile_am.
35790         (func_import): When building a static library libfoo.a, arrange to
35791         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
35792         (func_create_testdir): Likewise.
35793         * modules/gc (configure.ac, Makefile.am): If building statically,
35794         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
35795         * modules/iconvme (configure.ac, Makefile.am): Likewise.
35796         * modules/striconv (configure.ac, Makefile.am): Likewise.
35797         Based on a suggestion by Ralf Wildenhues.
35798
35799 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35800
35801         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
35802         Check for unistd.h too, since Autoconf doesn't assume POSIX.
35803         Also:
35804
35805         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35806         Add year_2050_test to catch glibc bug 2821
35807         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
35808
35809         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35810         Prefer #ifdef to #if.
35811
35812         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
35813         Return from 'main' instead of calling 'exit'.
35814
35815 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35816
35817         * lib/mktime.c (guess_time_tm): Fix bug where mktime
35818         returned the maximum time_t value rather than (time_t) -1.
35819         Problem originally reported by William Bardwell
35820         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
35821
35822         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
35823         Moved to here ...
35824         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
35825         ... from here.
35826
35827 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35828
35829         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
35830         2821 is fixed.
35831
35832 2006-09-08  Jim Meyering  <jim@meyering.net>
35833
35834         Don't make generated files read-only.  That would bother too many
35835         people.  However, do retain the ability to work when targets are
35836         read-only: remove the destination and temporary files before writing
35837         them (when generated via sed or echo), or by using the -f option for
35838         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
35839         * modules/alloca-opt, modules/argz, modules/arpa_inet:
35840         * modules/byteswap, modules/configmake, modules/fcntl:
35841         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
35842         * modules/localcharset, modules/netinet_in, modules/poll:
35843         * modules/stdbool, modules/stdint, modules/sys_select:
35844         * modules/sys_socket, modules/sys_stat, modules/sysexits:
35845
35846 2006-09-08  Jim Meyering  <jim@meyering.net>
35847
35848         Avoid new build failure on FreeBSD 6.0.
35849         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
35850         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
35851         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
35852
35853 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35854
35855         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
35856
35857 2006-09-07  Jim Meyering  <jim@meyering.net>
35858
35859         Fix global typo in last change: use chmod u-w, not chmod u-x.
35860         Spotted by Paul Eggert and Bruce Korb.
35861         * modules/alloca-opt, modules/argz, modules/arpa_inet:
35862         * modules/byteswap, modules/configmake, modules/fcntl:
35863         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
35864         * modules/localcharset, modules/netinet_in, modules/poll:
35865         * modules/stdbool, modules/stdint, modules/sys_select:
35866         * modules/sys_socket, modules/sys_stat, modules/sysexits:
35867
35868 2006-09-06  Jim Meyering  <jim@meyering.net>
35869
35870         Make generated files be read-only.
35871         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
35872         Ensure that each generated file is now read-only.
35873         * modules/argz: Likewise.
35874         * modules/arpa_inet: Likewise.
35875         * modules/byteswap: Likewise.
35876         * modules/configmake: Likewise.
35877         * modules/fcntl: Likewise.
35878         * modules/fnmatch: Likewise.
35879         * modules/getopt: Likewise.
35880         * modules/glob: Likewise.
35881         * modules/inttypes: Likewise.
35882         * modules/netinet_in: Likewise.
35883         * modules/poll: Likewise.
35884         * modules/stdbool: Likewise.
35885         * modules/stdint: Likewise.
35886         * modules/sys_select: Likewise.
35887         * modules/sys_socket: Likewise.
35888         * modules/sys_stat: Likewise.
35889         * modules/sysexits: Likewise.
35890         * modules/localcharset: Same as above, but continue using temporary
35891         file named "t-$@" (why different?) rather than the "$@-t" used
35892         everywhere else.
35893
35894         * modules/sysexits (Makefile.am): Replace literal occurrences
35895         of "sysexit.h" more readable, and more consistent, "$@".
35896
35897 2006-09-06  Bruno Haible  <bruno@clisp.org>
35898
35899         * modules/striconv: New file.
35900         * modules/xstriconv: New file.
35901         * MODULES.html.sh (Internationalization functions): Add striconv,
35902         xstriconv.
35903
35904 2006-09-06  Bruno Haible  <bruno@clisp.org>
35905
35906         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
35907         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
35908         not using libtool correctly.
35909
35910 2006-09-06  Bruno Haible  <bruno@clisp.org>
35911
35912         * lib/striconv.h: New file.
35913         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
35914         iconvstring.c.
35915         * lib/xstriconv.h: New file.
35916         * lib/xstriconv.c: New file.
35917
35918 2006-09-06  Bruno Haible  <bruno@clisp.org>
35919
35920         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
35921         lib_..._LDFLAGS.
35922
35923 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35924
35925         * lib/argz_.h: Sync from Libtool.
35926
35927         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
35928                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
35929
35930         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
35931
35932 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
35933
35934         * modules/trim: New file.
35935
35936 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
35937
35938         * lib/trim.h: New file.
35939         * lib/trim.c: New file.
35940
35941 2006-09-05  Bruno Haible  <bruno@clisp.org>
35942
35943         * MODULES.html.sh (String handling): Add trim.
35944
35945 2006-09-04  Karl Berry  <karl@gnu.org>
35946
35947         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
35948         until next release.
35949
35950 2006-09-03  Bruno Haible  <bruno@clisp.org>
35951
35952         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
35953         correctly.
35954
35955 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35956
35957         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
35958         not gl_GETLOADAVG.  Omit unneeded semicolons.
35959         Problems reported by Ralf Wildenhues in
35960         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
35961         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
35962         at the end, which is the usual gnulib style.
35963
35964         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
35965         of doing all the work ourselves.
35966         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
35967         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
35968
35969 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35970
35971         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
35972         Problem reported by Ralf Wildenhues in
35973         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
35974
35975         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
35976         HAVE_STRUCT_STATFS_F_FSTYPENAME.
35977
35978 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35979
35980         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
35981         yesterday's patch by changing test -n to test -z.
35982
35983 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35984
35985         * modules/getloadavg (Files): Add m4/getloadavg.m4.
35986         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
35987         the former is now obsolescent.
35988
35989         * modules/chdir-long (Depends-on): Add fcntl.
35990
35991 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35992
35993         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
35994         obsolescent, and programs should use gnulib instead.
35995         * m4/getloadavg.m4: New file, with contents taken from Autoconf
35996         but with prefixes changed.
35997
35998 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35999
36000         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
36001         or stdbool.h, because they might not exist while configuring.
36002
36003         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
36004         Don't include unistd.h or limits.h; not needed, since chdir-long.h
36005         does that for us.
36006         (O_DIRECTORY): Remove.
36007
36008 2006-08-31  Eric Blake  <ebb9@byu.net>
36009
36010         * gnulib-tool: Don't let emacs change spaces to TAB.
36011
36012 2006-08-31  Bruno Haible  <bruno@clisp.org>
36013
36014         * gnulib-tool: When calling func_import more than once, do it in a
36015         subshell.
36016         Reported by Eric Blake <ebb9@byu.net>.
36017
36018 2006-08-31  Bruno Haible  <bruno@clisp.org>
36019
36020         * gnulib-tool (nl): Remove variable.
36021         (sed_transform_lib_file): Use more robust test for config-h module.
36022         (func_import): Fix typo in 2006-08-25 patch.
36023
36024 2006-08-31  Bruno Haible  <bruno@clisp.org>
36025
36026         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
36027         specified, augment Makefile.am variables instead of assigning them.
36028
36029 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36030
36031         Work around a bug in both the Linux and SunOS 64-bit kernels:
36032         nanosleep mishandles sleeps for longer than 2**31 seconds.
36033         Problem reported by Frank v Waveren in
36034         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
36035         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
36036         Check for nanosleep bug.
36037         (LIB_NANOSLEEP): Append clock_gettime library if needed.
36038
36039 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36040
36041         Work around a bug in both the Linux and SunOS 64-bit kernels:
36042         nanosleep mishandles sleeps for longer than 2**31 seconds.
36043         Problem reported by Frank v Waveren in
36044         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
36045         * lib/nanosleep.c (BILLION): New constant.
36046         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
36047         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
36048         implementation.
36049
36050 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36051
36052         * modules/nanosleep (Depends-on): Add gettime.
36053
36054 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36055         and Simon Josefsson  <jas@extundo.com>
36056         and Oskar Liljeblad  <oskar@osk.mine.nu>
36057
36058         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
36059         * gnulib-tool (func_import): New license type 'unmodifiable license
36060         text'.
36061         * modules/fdl: Use it.  Longer description.
36062         * module/gpl, module/lgpl: New files.
36063
36064 2006-08-30  Jim Meyering  <jim@meyering.net>
36065
36066         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
36067         shadowing the parameter.
36068
36069 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36070
36071         Sync from Libtool:
36072
36073         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36074
36075         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
36076         sharing with gnulib.  Report by Eric Blake.
36077
36078 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36079
36080         * modules/isapipe: New file.
36081         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
36082
36083 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36084
36085         * modules/configmake (Makefile.am): Add a comment, and omit
36086         the CONFIGMAKE_ prefix from generated macro names.  Suggested
36087         by Bruno Haible.
36088
36089 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36090
36091         * m4/isapipe.m4: New file.
36092
36093 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36094
36095         * lib/isapipe.c, lib/isapipe.h: New files.
36096
36097 2006-08-29  Jim Meyering  <jim@meyering.net>
36098
36099         * modules/configmake (Makefile.am): Make configmake.h depend on
36100         Makefile.  Otherwise, a stale configmake.h could hang around.
36101
36102 2006-08-29  Eric Blake  <ebb9@byu.net>
36103
36104         * lib/error.c (error_at_line, print_errno_message): Match libc, after
36105         resolution of upstream bug 3044.
36106
36107 2006-08-29  Bruno Haible  <bruno@clisp.org>
36108
36109         * modules/localcharset (Depends-on): Add configmake.
36110         (Makefile.am): Remove setting of LIBDIR through DEFS.
36111
36112 2006-08-29  Bruno Haible  <bruno@clisp.org>
36113
36114         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
36115         defined.
36116
36117 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36118
36119         * modules/fcntl: New file.
36120         * modules/chdir-safer (Depends-on): Add fcntl.
36121         * modules/fts: Likewise.
36122         * modules/mkdir-p: Likewise.
36123
36124         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
36125         This undoes the most recent change, since we're now addressing the
36126         problem in a different way.
36127
36128         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
36129         into output, since the output might be called Makefile.am even
36130         if $makefile_name is something different.
36131         (func_import): Use $makefile_am rather than
36132         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
36133         empty.
36134
36135         * modules/inttypes (Files): Add m4/inttypes-h.m4.
36136
36137 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36138
36139         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
36140         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
36141         recent change to stdint.m4, since we're now addressing the problem in a
36142         different way.
36143
36144 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36145
36146         * m4/fcntl_h.m4: New file.
36147
36148 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36149
36150         * lib/fcntl_.h: New file.
36151         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
36152         the fcntl module.
36153         * lib/dirchownmod.c: Likewise.
36154         * lib/fts.c: Likewise.
36155
36156         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
36157         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
36158         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
36159         just before including <inttypes.h>, to avoid circular inclusion.
36160
36161 2006-08-28  Jim Meyering  <jim@meyering.net>
36162
36163         * doc/visibility.texi: Actually read and correct the grammar of the
36164         sentence affected by yesterday's change.
36165
36166 2006-08-28  Eric Blake  <ebb9@byu.net>
36167
36168         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
36169         needs wrapper.
36170
36171 2006-08-28  Eric Blake  <ebb9@byu.net>
36172
36173         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
36174
36175 2006-08-28  Eric Blake  <ebb9@byu.net>
36176
36177         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
36178
36179 2006-08-28  Bruno Haible  <bruno@clisp.org>
36180
36181         * modules/c-strstr: New file, from GNU gettext.
36182         * MODULES.html.sh (String handling): Add c-strstr.
36183
36184 2006-08-28  Bruno Haible  <bruno@clisp.org>
36185
36186         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
36187         macros.
36188         Reported by Eric Blake.
36189
36190 2006-08-28  Bruno Haible  <bruno@clisp.org>
36191
36192         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
36193         (VASNPRINTF): Return a string of length > INT_MAX without failing.
36194         * lib/vasprintf.c: Include errno.h, limits.h.
36195         (EOVERFLOW): New fallback definition.
36196         (vasprintf): Test here whether the string length is > INT_MAX.
36197         * lib/vsnprintf.c: Include errno.h, limits.h.
36198         (EOVERFLOW): New fallback definition.
36199         (vsnprintf): Fix bug when generated string was too long for the buffer.
36200         Test here whether the string length is > INT_MAX.
36201
36202 2006-08-28  Bruno Haible  <bruno@clisp.org>
36203
36204         * lib/inttypes_.h (SCNX*): Remove definitions.
36205         Reported by Eric Blake.
36206
36207 2006-08-28  Bruno Haible  <bruno@clisp.org>
36208
36209         * lib/c-strstr.h: New file, from GNU gettext.
36210         * lib/c-strstr.c: New file, from GNU gettext.
36211
36212 2006-08-28  Bruno Haible  <bruno@clisp.org>
36213
36214         * gnulib-tool: Reorder some statements.
36215
36216 2006-08-28  Bruno Haible  <bruno@clisp.org>
36217
36218         * gnulib-tool: New option --makefile-name.
36219         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
36220         $makefile_name.
36221         (func_import): Write $makefile_name to the cache file, and read it from
36222         there unless explicitly specified. Use $makefile_name as file name
36223         instead of Makefile.am. Adjust the recommendations accordingly.
36224
36225 2006-08-28  Bruno Haible  <bruno@clisp.org>
36226
36227         * gnulib-tool (func_verify_module): Check against misapplying patch.
36228
36229 2006-08-28  Bruno Haible  <bruno@clisp.org>
36230
36231         * gnulib-tool (func_relativize, func_relconcat): New functions.
36232         Give an error if --local-dir is given with --update.
36233         Remove trailing slashes from $local_gnulib_dir.
36234         (func_import): Store the relativized $local_gnulib_dir in
36235         gnulib-cache.m4, and read it from there if not specified explicitly.
36236
36237 2006-08-28  Bruno Haible  <bruno@clisp.org>
36238
36239         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
36240         is the current directory. Respect also $local_gnulib_dir.
36241
36242 2006-08-28  Bruno Haible  <bruno@clisp.org>
36243             Simon Josefsson  <jas@extundo.com>
36244
36245         BeOS portability.
36246         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
36247
36248 2006-08-27  Jim Meyering  <jim@meyering.net>
36249
36250         * doc/visibility.texi: Remove duplicate word: "pointer".
36251
36252 2006-08-26  Bruno Haible  <bruno@clisp.org>
36253
36254         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
36255         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
36256         (Makefile.am): Create inttypes.h from inttypes_.h.
36257         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
36258
36259         * modules/imaxabs: New file.
36260
36261         * modules/imaxdiv: New file.
36262
36263 2006-08-26  Bruno Haible  <bruno@clisp.org>
36264
36265         * m4/inttypes.m4: New file.
36266         * m4/_inttypes_h.m4: Remove file.
36267         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
36268         PRI_MACROS_BROKEN.
36269         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
36270
36271         * m4/imaxabs.m4: New file.
36272
36273         * m4/imaxdiv.m4: New file.
36274
36275 2006-08-26  Bruno Haible  <bruno@clisp.org>
36276
36277         * lib/inttypes_.h: New file.
36278         * lib/inttypes.h: Remove file.
36279         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
36280
36281         * lib/imaxabs.c: New file.
36282
36283         * lib/imaxdiv.c: New file.
36284
36285 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36286
36287         New config-h module, so that "make" output needn't be cluttered
36288         by -DHAVE_CONFIG_H.
36289         * MODULES.html.sh (Support for building libraries and executables):
36290         Add config-h.
36291         * modules/config-h: New file.
36292         * gnulib-tool (nl, sed_transform_lib_file): New vars.
36293         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
36294         the config-h module is used.
36295
36296         New configmake module, so that "make" output needn't be cluttered
36297         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
36298         * MODULES.html.sh (Support for building libraries and executables):
36299         Add configmake.
36300         * modules/configmake: New file.
36301
36302 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36303
36304         * m4/config-h.m4: New file.
36305
36306 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36307
36308         * config/srclist.txt: Add elisp-comp.
36309
36310 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36311
36312         * MODULES.html.sh (Support for building libraries and executables):
36313         Add elisp-comp.
36314         * build-aux/elisp-comp: New file.
36315         * modules/elisp-comp: New file.
36316
36317 2006-08-24  Bruno Haible  <bruno@clisp.org>
36318
36319         * gnulib-tool (func_create_testdir): Use non-default values of
36320         sourcebase and m4base.
36321
36322 2006-08-24  Bruno Haible  <bruno@clisp.org>
36323
36324         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
36325         HTML structure.
36326
36327 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36328
36329         * modules/openat (Depends-on): Add lchown.
36330
36331 2006-08-23  Bruno Haible  <bruno@clisp.org>
36332
36333         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
36334         of gl_LOCK_EARLY instead of gl_LOCK.
36335
36336 2006-08-23  Bruno Haible  <bruno@clisp.org>
36337
36338         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
36339         on OSF/1 to no.
36340         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
36341
36342 2006-08-23  Bruno Haible  <bruno@clisp.org>
36343
36344         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
36345         as unusable.
36346
36347         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
36348         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
36349         (gl_LOCK): New macro.
36350
36351 2006-08-22  Simon Josefsson  <jas@extundo.com>
36352
36353         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
36354         to md5 module.
36355
36356 2006-08-22  Simon Josefsson  <jas@extundo.com>
36357
36358         * MODULES.html.sh: Add "Support for maintaining and release
36359         projects".
36360
36361         * build-aux/gnupload: New file, from coreutils.
36362
36363 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36364
36365         Avoid the need for AC_LIBSOURCES in m4 macros.
36366         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
36367         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
36368         * modules/check-version (EXTRA_DIST): Add check-version.h.
36369         * modules/crc (EXTRA_DIST): Add crc.h.
36370         * modules/des (EXTRA_DIST): Add des.h.
36371         * modules/gc (EXTRA_DIST): Add gc.h.
36372         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
36373         * modules/getline (EXTRA_DIST): Add getline.h.
36374         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
36375         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
36376         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
36377         * modules/md2 (EXTRA_DIST): Add md2.h.
36378         * modules/md4 (EXTRA_DIST): Add md4.h.
36379         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
36380         * modules/read-file (EXTRA_DIST): Add read-file.h.
36381         * modules/readline (EXTRA_DIST): Add readline.h.
36382         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
36383         rijndael-api-fst.h.
36384
36385 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36386
36387         * m4/rijndael.m4 (gl_ARCFOUR):
36388         * m4/arctwo.m4 (gl_ARCTWO):
36389         * m4/check-version.m4 (gl_CHECK_VERSION):
36390         * m4/crc.m4 (gl_CRC):
36391         * m4/des.m4 (gl_DES):
36392         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
36393         * m4/gc.m4 (gl_GC):
36394         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
36395         * m4/getline.m4 (gl_FUNC_GETLINE):
36396         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
36397         * m4/hmac-md5.m4 (gl_HMAC_MD5):
36398         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
36399         * m4/md2.m4 (gl_MD2):
36400         * m4/md4.m4 (gl_MD4):
36401         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
36402         * m4/read-file.m4 (gl_FUNC_READ_FILE):
36403         * m4/readline.m4 (gl_FUNC_READLINE):
36404         * m4/rijndael.m4 (gl_RIJNDAEL):
36405         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36406         to get the necessary .h files and whatnot.
36407
36408 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36409
36410         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
36411         gnulib rather than the other way around.
36412         * config/srclistvars.sh (COREUTILS): Remove.
36413
36414 2006-08-22  Jim Meyering  <jim@meyering.net>
36415
36416         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
36417
36418         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
36419
36420 2006-08-22  Eric Blake  <ebb9@byu.net>
36421
36422         * modules/regexprops-generic: New file.
36423         * MODULES.html.sh (Support for building documentation): List it.
36424
36425 2006-08-22  Eric Blake  <ebb9@byu.net>
36426
36427         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
36428         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
36429         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
36430         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
36431
36432 2006-08-22  Bruno Haible  <bruno@clisp.org>
36433
36434         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
36435         and lib_LTLIBRARIES like the other lib_* variables.
36436
36437 2006-08-22  Bruno Haible  <bruno@clisp.org>
36438
36439         * build-aux/x-to-1.in: New file, from GNU gettext.
36440
36441 2006-08-22  Bruno Haible  <bruno@clisp.org>
36442
36443         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
36444         <utmpx.h> exists.
36445
36446 2006-08-22  Bruno Haible  <bruno@clisp.org>
36447
36448         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
36449         <utmpx.h> exists.
36450
36451 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36452
36453         BeOS portability.
36454         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
36455         exist.
36456         Problem reported by Bruno Haible.
36457
36458 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36459
36460         Avoid the need for AC_LIBSOURCES in m4 macros.
36461         * modules/acl (EXTRA_DIST): Add acl.h.
36462         * modules/argmatch (Files): Add m4/argmatch.m4.
36463         (configure.ac): Add gl_ARGMATCH.
36464         (EXTRA_DIST): Renamed from lib_SOURCES, for
36465         consistency with the other modules.  Remove argmatch.c.
36466         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
36467         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
36468         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
36469         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
36470         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
36471         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
36472         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
36473         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
36474         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
36475         * modules/closeout (EXTRA_DIST): Add closeout.h.
36476         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
36477         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
36478         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
36479         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
36480         dirname.h; remove basename.c and stripslash.c.
36481         * modules/exclude (EXTRA_DIST): Add exclude.h.
36482         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
36483         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
36484         * modules/file-type (EXTRA_DIST): Add file-type.h.
36485         * modules/filemode (EXTRA_DIST): Add filemode.h.
36486         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
36487         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36488         * modules/fpending (EXTRA_DIST): Add __fpending.h.
36489         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
36490         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
36491         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
36492         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
36493         * modules/getdate (EXTRA_DIST): Add getdate.c.
36494         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
36495         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
36496         * modules/getpass (EXTRA_DIST): Add getpass.h.
36497         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
36498         * modules/group-member (EXTRA_DIST): Add group-member.h.
36499         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
36500         * modules/hash (EXTRA_DIST): Add hash.h.
36501         * modules/human (EXTRA_DIST): Add human.h.
36502         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
36503         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
36504         * modules/lchown (EXTRA_DIST): Add lchown.h.
36505         * modules/long-options (EXTRA_DIST): Add long-options.h.
36506         * modules/lstat (EXTRA_DIST): Add lstat.h.
36507         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
36508         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
36509         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
36510         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
36511         * modules/memxor (EXTRA_DIST): Add memxor.h.
36512         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
36513         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
36514         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
36515         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
36516         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
36517         * modules/physmem (EXTRA_DIST): Add physmem.h.
36518         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
36519         * modules/posixver (EXTRA_DIST): Add posixver.h.
36520         * modules/quote (EXTRA_DIST): Add quote.h.
36521         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
36522         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
36523         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
36524         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
36525         regex_internal.h regexec.c.
36526         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
36527         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
36528         * modules/same (EXTRA_DIST): Add same.h.
36529         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
36530         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
36531         * modules/savedir (EXTRA_DIST): Add savedir.h.
36532         * modules/sha1 (EXTRA_DIST): Add sha1.h.
36533         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
36534         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
36535         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
36536         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
36537         * modules/strdup (EXTRA_DIST): Add strdup.h.
36538         * modules/strftime (EXTRA_DIST): Add strftime.h.
36539         * modules/strndup (EXTRA_DIST): Add strndup.h.
36540         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
36541         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
36542         * modules/time_r (EXTRA_DIST): Add time_r.h.
36543         * modules/timespec (EXTRA_DIST): Add timespec.h.
36544         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36545         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
36546         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
36547         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
36548         * modules/userspec (EXTRA_DIST): Add userspec.h.
36549         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
36550         * modules/utimens (EXTRA_DIST): Add utimens.h.
36551         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
36552         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
36553         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
36554         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
36555         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
36556         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
36557         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
36558         * modules/yesno (EXTRA_DIST): Add yesno.h.
36559
36560 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36561
36562         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
36563
36564         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
36565         * m4/dev-ino.m4, same-inode.m4: Remove.
36566
36567         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
36568         * m4/acl.m4 (AC_FUNC_ACL):
36569         * m4/backupfile.m4 (gl_BACKUPFILE):
36570         * m4/c-strtod.m4 (gl_C99_STRTOLD):
36571         * m4/canon-host.m4 (gl_CANON_HOST):
36572         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36573         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
36574         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
36575         * m4/cloexec.m4 (gl_CLOEXEC):
36576         * m4/close-stream.m4 (gl_CLOSE_STREAM):
36577         * m4/closeout.m4 (gl_CLOSEOUT):
36578         * m4/dirfd.m4 (gl_FUNC_DIRFD):
36579         * m4/dirname.m4 (gl_DIRNAME):
36580         * m4/exclude.m4 (gl_EXCLUDE):
36581         * m4/exitfail.m4 (gl_EXITFAIL):
36582         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
36583         * m4/file-type.m4 (gl_FILE_TYPE):
36584         * m4/filemode.m4 (gl_FILEMODE):
36585         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
36586         * m4/fpending.m4 (gl_FUNC_FPENDING):
36587         * m4/fprintftime.m4 (gl_FPRINTFTIME):
36588         * m4/fts.m4 (gl_FUNC_FTS):
36589         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
36590         * m4/getdate.m4 (gl_GETDATE):
36591         * m4/gethrxtime.m4 (gl_GETHRXTIME):
36592         * m4/getpagesize.m4 (gl_GETPAGESIZE):
36593         * m4/getpass.m4 (gl_FUNC_GETPASS):
36594         * m4/gettime.m4 (gl_GETTIME):
36595         * m4/getugroups.m4 (gl_GETUGROUPS):
36596         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
36597         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
36598         * m4/hard-locale.m4 (gl_HARD_LOCALE):
36599         * m4/hash.m4 (gl_HASH):
36600         * m4/idcache.m4 (gl_IDCACHE):
36601         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
36602         * m4/lchown.m4 (gl_FUNC_LCHOWN):
36603         * m4/long-options.m4 (gl_LONG_OPTIONS):
36604         * m4/lstat.m4 (gl_FUNC_LSTAT):
36605         * m4/md5.m4 (gl_MD5):
36606         * m4/memcasecmp.m4 (gl_MEMCASECMP):
36607         * m4/memcoll.m4 (gl_MEMCOLL):
36608         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
36609         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
36610         * m4/memxor.m4 (gl_MEMXOR):
36611         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
36612         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
36613         * m4/modechange.m4 (gl_MODECHANGE):
36614         * m4/mountlist.m4 (gl_MOUNTLIST):
36615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36616         * m4/openat.m4 (gl_FUNC_OPENAT):
36617         * m4/pathmax.m4 (gl_PATHMAX):
36618         * m4/physmem.m4 (gl_PHYSMEM):
36619         * m4/posixtm.m4 (gl_POSIXTM):
36620         * m4/posixver.m4 (gl_POSIXVER):
36621         * m4/quote.m4 (gl_QUOTE):
36622         * m4/quotearg.m4 (gl_QUOTEARG):
36623         * m4/readtokens.m4 (gl_READTOKENS):
36624         * m4/readutmp.m4 (gl_READUTMP):
36625         * m4/regex.m4 (gl_REGEX):
36626         * m4/safe-read.m4 (gl_SAFE_READ):
36627         * m4/safe-write.m4 (gl_SAFE_WRITE):
36628         * m4/same.m4 (gl_SAME):
36629         * m4/save-cwd.m4 (gl_SAVE_CWD):
36630         * m4/savedir.m4 (gl_SAVEDIR):
36631         * m4/settime.m4 (gl_SETTIME):
36632         * m4/sha1.m4 (gl_SHA1):
36633         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
36634         * m4/stat-macros.m4 (gl_STAT_MACROS):
36635         * m4/stat-time.m4 (gl_STAT_TIME):
36636         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
36637         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
36638         * m4/strdup.m4 (gl_FUNC_STRDUP):
36639         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
36640         * m4/strndup.m4 (gl_FUNC_STRNDUP):
36641         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
36642         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
36643         * m4/time_r.m4 (gl_TIME_R):
36644         * m4/timespec.m4 (gl_TIMESPEC):
36645         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
36646         * m4/unlinkdir.m4 (gl_UNLINKDIR):
36647         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
36648         * m4/userspec.m4 (gl_USERSPEC):
36649         * m4/utimecmp.m4 (gl_UTIMECMP):
36650         * m4/utimens.m4 (gl_UTIMENS):
36651         * m4/xalloc.m4 (gl_XALLOC):
36652         * m4/xgetcwd.m4 (gl_XGETCWD):
36653         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
36654         * m4/xreadlink.m4 (gl_XREADLINK):
36655         * m4/xstrtod.m4 (gl_XSTRTOD):
36656         * m4/yesno.m4 (gl_YESNO):
36657         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36658         to get the necessary .h files and whatnot.
36659
36660 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
36661             Bruno Haible  <bruno@clisp.org>
36662
36663         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
36664         /bin/sh understanding of '!' conditional negation.
36665
36666 2006-08-21  Jim Meyering  <jim@meyering.net>
36667
36668         * modules/openat (Depends-on): Really alphabetize.
36669
36670         * modules/acl (Depends-on): Add error and quote.
36671
36672         * check-module (find_included_lib_files): Add at-func.c to the
36673         ok-to-include-more-than-once white list.
36674
36675         * modules/openat (Depends-on): Add lstat.  Alphabetize.
36676
36677 2006-08-21  Bruno Haible  <bruno@clisp.org>
36678
36679         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36680         Emit a pkgdata_DATA variable only if some snippets add contents to it.
36681         Reported by Martin Lambers <marlam@marlam.de>.
36682
36683 2006-08-21  Bruno Haible  <bruno@clisp.org>
36684
36685         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
36686         specify an installation location, don't emit a noinst_LIBRARIES or
36687         noinst_LTLIBRARIES assignment.
36688
36689 2006-08-21  Bruno Haible  <bruno@clisp.org>
36690
36691         BeOS portability.
36692         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
36693         BeOS has mbrtowc() but no <wctype.h>.
36694
36695 2006-08-21  Bruno Haible  <bruno@clisp.org>
36696
36697         BeOS portability.
36698         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
36699         exist.
36700
36701 2006-08-21  Bruno Haible  <bruno@clisp.org>
36702
36703         BeOS portability.
36704         * lib/mbchar.h: Include <wctype.h> only if it exists.
36705
36706 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36707
36708         Remove files that are no longer needed by their respective modules.
36709         * m4/obstack.m4: Remove.
36710         * m4/strerror_r.m4: Remove.
36711         * m4/uint32_t.m4: Remove.
36712         * m4/uintptr_t.m4: Remove.
36713         * m4/ullong_max.m4: Remove.
36714         * m4/xstrtoimax.m4: Remove.
36715         * m4/xstrtoumax.m4: Remove.
36716
36717         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
36718         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
36719         dependencies now capture this.
36720
36721         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36722         Do not use AC_LIBSOURCES, since gnulib modules now do this.
36723         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
36724         * m4/human.m4 (gl_HUMAN): Likewise.
36725         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
36726         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
36727
36728         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
36729
36730         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
36731         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
36732         stdint.
36733         * m4/human.m4 (gl_HUMAN): Likewise.
36734         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
36735         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
36736         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36737         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36738         * m4/xstrtol (gl_XSTRTOL): Likewise.
36739
36740         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
36741         AC_TYPE_LONG_LONG_INT.
36742         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36743         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
36744         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
36745         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36746
36747         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
36748         on stdbool.
36749
36750         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
36751         (gl_PREREQ_XSTRTOUL): Remove.
36752
36753         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
36754
36755         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
36756         mode.
36757
36758 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36759
36760         Add and change modules to make it easier for coreutils to use
36761         gnulib-tool.
36762         * modules/backupfile (Files): Remove m4/d-ino.m4.
36763         (Depends-on): Add d-ino.
36764         * modules/cycle-check (Depends-on): Add stdint.
36765         (lib_SOURCES): Add cycle-check.h.
36766         * modules/d-ino: New module.
36767         * modules/d-type: New module.
36768         * modules/error (Files): Remove m4/strerror_r.m4.
36769         * modules/filemode (Files): Add m4/st_dm_mode.m4.
36770         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
36771         m4/inttypes_h.m4, m4/uintmax_t.m4.
36772         (Depends-on): Add stdint.
36773         (lib_SOURCES): Add fsusage.h.
36774         * modules/getcwd (Files): Remove d-ino.m4.
36775         (Depends-on): Add d-ino.
36776         * modules/getndelim2 (Depends-on): Add stdint.
36777         * modules/glob (Files): Remove m4/d-type.m4.
36778         (Depends-on): Add d-type.
36779         * modules/host-os: New module.
36780         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
36781         m4/inttypes_h.m4, m4/uintmax_t.m4.
36782         * Depends-on: Add stdint.
36783         (lib_SOURCES): Add human.h.
36784         * modules/inttostr (Files): Remove m4/intmax_t.m4,
36785         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
36786         m4/uintmax_t.m4, m4/ulonglong.m4.
36787         (Depends-on): Add stdint.
36788         (EXTRA_DIST): Add inttostr.h.
36789         * modules/lchmod: New module.
36790         * modules/link-follow: New module.
36791         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
36792         (Depends-on): Add lchmod.
36793         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
36794         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
36795         (Depends-on): Add stdint.
36796         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
36797         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
36798         (Depends-on): Add stdint.
36799         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
36800         * modules/perl: New module.
36801         * modules/regex (Depends-on): Add stdint.
36802         * modules/rmdir-errno: New module.
36803         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
36804         m4/intmax_t.m4.
36805         (Depends-on): Add stdint.
36806         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
36807         m4/uintmax_t.m4.
36808         (Depends-on): Add stdint.
36809         * modules/unlink-busy: New module.
36810         * modules/utimecmp (Depends-on): Add stdint.
36811         * modules/uptime: New module.
36812         * modules/winsz-ioctl: New module.
36813         * modules/winsz-termios: New module.
36814         * modules/xnanosleep (Depends-on): Add nanosleep.
36815         * modules/ullong_max: Remove.
36816         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
36817         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
36818         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
36819         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
36820         (Depends-on): Add inttypes.
36821         (lib_SOURCES): Add xstrtol.h.
36822         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
36823         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
36824         * MODULES.html.sh: Move 'assert' into the assert section.
36825         Move 'dummy' into the linking section.
36826         Remove ullong_max.
36827         Add section for compatibility checks for POSIX:2001 functions,
36828         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
36829         winsz-ioctl, and winsz-termios into it.
36830         Add lchmod.
36831         Add top-level Misc section and put host-os, perl, and uptime
36832         into it.
36833
36834 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36835
36836         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
36837         now assume the stdint module.  Do not include inttypes.h.
36838         * lib/fsusage.h: Likewise.
36839         * lib/getndelim2.c: Likewise.
36840         * lib/human.h: Likewise.
36841         * lib/inttostr.h: Likewise.
36842         * lib/obstack.c: Likewise.
36843         * lib/regex_internal.h: Likewise.
36844         * lib/tempname.c: Likewise.
36845         * lib/utimecmp.c: Likewise.
36846         * lib/xstrtol.h: Likewise.
36847
36848         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
36849
36850         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
36851         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
36852         * lib/xtime.h: Likewise.
36853
36854 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36855
36856         * modules/openat (Files): Add lib/fchmodat.c.
36857         Fixes problem reported by Jay Youngman.
36858
36859 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36860
36861         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
36862         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
36863
36864 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
36865             Bruno Haible  <bruno@clisp.org>
36866
36867         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
36868         and is a script that invokes bison. Tighten the code. Add comments.
36869
36870 2006-08-18  Jim Meyering  <jim@meyering.net>
36871
36872         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
36873         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
36874         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
36875         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
36876
36877 2006-08-18  Bruno Haible  <bruno@clisp.org>
36878
36879         * modules/bison-i18n: New file.
36880         * MODULES.html.sh (Internationalization functions): Add it.
36881
36882 2006-08-18  Bruno Haible  <bruno@clisp.org>
36883
36884         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
36885         sys/statvfs.h. When getmntinfo was found, check its declaration and
36886         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
36887
36888 2006-08-18  Bruno Haible  <bruno@clisp.org>
36889
36890         * m4/bison-i18n.m4: New file, from bison.
36891
36892 2006-08-18  Bruno Haible  <bruno@clisp.org>
36893
36894         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
36895         (ME_DUMMY): Treat "kernfs" as a dummy.
36896         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
36897
36898 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36899
36900         Update from coreutils.
36901
36902         2006-08-15  Jim Meyering  <jim@meyering.net>
36903
36904         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
36905
36906         2006-01-17  Jim Meyering  <jim@meyering.net>
36907
36908         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
36909
36910         2006-01-11  Jim Meyering  <jim@meyering.net>
36911
36912         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
36913         Check for the lchmod function.
36914
36915 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36916
36917         Update from coreutils.
36918
36919         * lib/__fpending.h: Add copyright notice.
36920         * lib/fprintftime.h: Likewise.
36921         * lib/savedir.c: Use (C) in copyright notice.
36922         * lib/savedir.h: Likewise.
36923
36924         2006-08-15  Jim Meyering  <jim@meyering.net>
36925
36926         * lib/at-func.c: New file, with the logic of all emulated at-functions.
36927         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
36928         in support of the EXPECTED_ERRNO macro.
36929         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
36930         definitions.  Instead, define the appropriate symbols and include
36931         "at-func.c".
36932         * lib/mkdirat.c (mkdirat): Likewise.
36933         * lib/fchmodat.c (fchmodat): Likewise.
36934         (ENOSYS): Remove definition.
36935         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
36936         it.  Don't include "unistd--.h" -- it wasn't ever used.
36937
36938         2006-01-17  Jim Meyering  <jim@meyering.net>
36939
36940         Rewrite fts.c not to change the current working directory,
36941         by using openat, fstatat, fdopendir, etc..
36942
36943         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
36944         (HAVE_OPENAT_SUPPORT): Define.
36945         [_LIBC] (fchdir): Don't undef or define; no longer used.
36946         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
36947         Now, this `function' always succeeds, and consumes its file descriptor
36948         parameter -- so callers must not close such FDs.  Update callers.
36949         (diropen_fd, opendirat, cwd_advance_fd): New functions.
36950         (diropen): Add parameter, SP.  Adjust all callers.
36951         Implement using diropen_fd, rather than open.
36952         (fts_open): Initialize new member, fts_cwd_fd.
36953         Remove fts_rft-setting code.
36954         (fts_close): Close fts_cwd_fd, if necessary.
36955         (__opendir2): Define in terms of opendir or opendirat,
36956         depending on whether the FST_NOCHDIR flag is set.
36957         (fts_build): Since fts_safe_changedir consumes its FD, and since
36958         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
36959         and close the dup'd file descriptor upon failure.
36960         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
36961         (fts_safe_changedir): Tweak semantics to reflect that this function
36962         now calls cwd_advance_fd and hence consumes its FD argument.
36963         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
36964         [struct FTS] (fts_rft): Remove now-unused member.
36965         [struct FTS] (fts_cycle.state): Improve comment.
36966
36967         * lib/openat.c (openat_needs_fchdir): New function.
36968         * lib/openat.h (openat_needs_fchdir): Declare it.
36969
36970 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
36971
36972         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
36973         Problem and fix reported by Pádraig Brady in
36974         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
36975
36976 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36977
36978         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
36979
36980 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36981
36982         * lib/memcoll.c (memcoll): Optimize for the common case where the
36983         arguments are bytewise equal.
36984
36985 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36986
36987         * doc/regexprops-generic.texi: Add a copyright notice.
36988
36989 2006-08-15  Bruno Haible  <bruno@clisp.org>
36990
36991         * modules/tmpdir (License): Change to LGPL.
36992
36993 2006-08-15  Bruno Haible  <bruno@clisp.org>
36994
36995         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
36996         module.
36997
36998 2006-08-14  Simon Josefsson  <jas@extundo.com>
36999
37000         * config/srclist.txt: Add gnupload.
37001
37002 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37003
37004         Change copyright notice from LGPL 2 to GPL 2, since that's the
37005         standard form used in the gnulib repository.
37006         * tests/test-lock.c: Likewise.
37007         * tests/test-stdint.c: Likewise.
37008         * tests/test-tls.c: Likewise.
37009
37010         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
37011         prelude-manager.  User shorter URLs for GNU projects, without '?'.
37012         Add copyright notice.
37013
37014         * check-module: Add copyright notice.  Output a copyright
37015         notice if "--version" is specified.
37016         * modules/COPYING: New file.
37017         * tests/test-getaddrinfo.c: Add copyright notice.
37018         * tests/test-verify.c: Likewise.
37019
37020 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37021
37022         Change copyright notice from LGPL 2 to GPL 2, since that's the
37023         standard form used in the gnulib repository.
37024         * lib/lock.c: LGPL -> GPL.
37025         * lib/lock.h: Likewise.
37026         * lib/strnlen1.c: Likewise.
37027         * lib/strnlen1.h: Likewise.
37028         * lib/tls.c: Likewise.
37029         * lib/tls.h: Likewise.
37030         * lib/tmpdir.c: Likewise.
37031
37032         * lib/TODO: Remove; this belongs only in coreutils.
37033
37034 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37035
37036         Add copyright notices to long-enough files that lack them, since
37037         otherwise the files aren't clearly free.  Use the same notice that
37038         getdate.texi already uses.
37039         * doc/alloca-opt.texi: Add copyright notice.
37040         * doc/alloca.texi: Likewise.
37041         * doc/ctime.texi: Likewise.
37042         * doc/functions.texi: Likewise.
37043         * doc/gcd.texi: Likewise.
37044         * doc/gnulib-tool.texi: Likewise.
37045         * doc/inet_ntoa.texi: Likewise.
37046         * doc/visibility.texi: Likewise.
37047
37048         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
37049         * doc/quote.texi: Add copyright notice.
37050
37051         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
37052         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
37053         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
37054         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
37055         is now obsolete, and give a pointer to the Sun list.
37056         Add copyright notice.
37057
37058 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37059
37060         * config/srclistvars.sh: Add copyright notice.
37061
37062 2006-08-14  Eric Blake  <ebb9@byu.net>
37063
37064         Import the following change from libc:
37065
37066         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
37067
37068         Upstream bug 2997.
37069         * lib/misc/error.c: Add space between program name and message if file
37070         name is missing.
37071
37072 2006-08-12  Karl Berry  <karl@gnu.org>
37073
37074         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
37075         remove, these originate in gnulib now.
37076
37077 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37078
37079         * doc/Makefile (standards.info standards.html standards.dvi):
37080         Also depend on make-stds.texi.
37081
37082 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
37083
37084         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
37085         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
37086
37087         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
37088         in wchar_t.  Problem reported by Eric Blake.
37089
37090         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
37091         LEN is smaller than SIZE.  Suggested by Bruno Haible.
37092         Also, help the compiler to keep LEN in a register.
37093
37094 2006-08-11  Eric Blake  <ebb9@byu.net>
37095
37096         * users.txt: Sort.  Add tar.
37097
37098 2006-08-11  Bruno Haible  <bruno@clisp.org>
37099
37100         * users.txt: New file.
37101
37102 2006-08-11  Bruno Haible  <bruno@clisp.org>
37103
37104         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
37105         before <wchar.h>. Needed for OSF/1 and BSD/OS.
37106
37107 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
37108
37109         * modules/snprintf (Depends-on): Remove minmax.
37110         (Maintainer): Add self and Bruno.
37111
37112 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
37113
37114         * lib/.cppi-disable: Add snprintf.h, socket_.h.
37115         * lib/snprintf.c: Include <errno.h> and <limits.h>.
37116         (EOVERFLOW): Define if the system does not.
37117         Do not include "minmax.h"; it wasn't used.
37118         (snprintf): Don't assume size_t promotes to an unsigned type.
37119         Fix bug when generated string was too long for the buffer: the
37120         buffer's contents are supposed to be the initial prefix of the
37121         output.  Don't assume vasnprintf returns EOVERFLOW if the size
37122         exceeds INT_MAX; do the check ourselves.
37123
37124         Import the following changes from libc:
37125
37126         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
37127
37128         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
37129         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
37130         set wc to the byte which couldn't be converted.
37131         (re_string_reconstruct): Don't clear valid_raw_len before calling
37132         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
37133         tip_context using re_string_context_at.
37134
37135         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
37136
37137         * lib/posix/regex.h: g++ still cannot handled [restrict].
37138
37139         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
37140
37141         * lib/posix/regex.h: Remove special handling for VMS.
37142
37143 2006-08-10  Jim Meyering  <jim@meyering.net>
37144
37145         * modules/same-inode: New module.
37146         * modules/dev-ino: New module.
37147         * modules/cycle-check: Depend on these modules, rather than simply
37148         including their .h files.
37149         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
37150         required via m4/cycle-check.m4.
37151         * modules/same: Depend on new same-inode module, rather than
37152         including same-inode.h.
37153         * modules/chdir-safer: New file.
37154
37155         * modules/chown (Depends-on): Add stat-macros.
37156
37157 2006-08-10  Jim Meyering  <jim@meyering.net>
37158
37159         * m4/cycle-check.m4: New file.
37160         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
37161         * m4/dev-ino.m4, m4/same-inode.m4: New files.
37162
37163 2006-08-10  Eric Blake  <ebb9@byu.net>
37164
37165         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
37166         in from original proposal.
37167
37168 2006-08-10  Eric Blake  <ebb9@byu.net>
37169         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
37170
37171         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
37172         namespace.
37173
37174 2006-08-10  Bruno Haible  <bruno@clisp.org>
37175
37176         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
37177         as well.
37178
37179 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37180
37181         Sync from coreutils.
37182
37183         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
37184
37185         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
37186         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
37187
37188 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37189
37190         * modules/restrict: Remove; no longer needed now that we assume
37191         Autoconf 2.59 or later.
37192         * MODULES.html.sh: Remove 'restrict'.
37193         * modules/argp (Depends-on): Remove 'restrict'.
37194         * modules/base64 (Depends-on): Likewise.
37195         * modules/gc (Depends-on): Likewise.
37196         * modules/getaddrinfo (Depends-on): Likewise.
37197         * modules/glob (Depends-on): Likewise.
37198         * modules/inet_ntop (Depends-on): Likewise.
37199         * modules/inet_pton (Depends-on): Likewise.
37200         * modules/memxor (Depends-on): Likewise.
37201         * modules/regex (Depends-on): Likewise.
37202         * modules/strtok_r (Depends-on): Likewise.
37203         * modules/time_r (Depends-on): Likewise.
37204
37205 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37206
37207         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
37208         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
37209         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37210         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
37211         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
37212         * m4/memxor.m4 (gl_MEMXOR): Likewise.
37213         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
37214         gl_C_RESTRICT replaced by AC_C_RESTRICT.
37215
37216         Merge from coreutils.
37217         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
37218         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
37219         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37220         * m4/time_r.m4 (gl_TIME_R): Likewise.
37221
37222 2006-08-09  Karl Berry  <karl@gnu.org>
37223
37224         * config/srclist.txt: no more gettext-tools, per Bruno.
37225
37226 2006-08-08  Eric Blake  <ebb9@byu.net>
37227
37228         * modules/verror: New module.
37229         * MODULES.html.sh: Document it.
37230
37231 2006-08-08  Eric Blake  <ebb9@byu.net>
37232
37233         * lib/verror.h, lib/verror.c: New files.
37234
37235 2006-08-08  Eric Blake  <ebb9@byu.net>
37236
37237         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
37238         verror_at_line output complies with GNU Coding Standards even when
37239         file is NULL.
37240
37241 2006-08-07  Bruno Haible  <bruno@clisp.org>
37242
37243         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
37244         versions of AIX.
37245         Reported by Ralf Wildenhues.
37246
37247 2006-08-07  Bruno Haible  <bruno@clisp.org>
37248
37249         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
37250         in an AC_DEFUN. Needed so that the autoconf snippets can use
37251         AC_REQUIRE.
37252
37253 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37254
37255         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37256         Initialize pkgdata_DATA.
37257         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
37258         overriding it.
37259
37260 2006-08-06  Eric Blake  <ebb9@byu.net>
37261
37262         * lib/error.h: Fold in some upstream changes from glibc.
37263         * lib/error.c: Likewise.
37264
37265 2006-08-04  Bruno Haible  <bruno@clisp.org>
37266
37267         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37268         Make the mostlyclean-local rule depend on mostlyclean-generic.
37269         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
37270
37271 2006-07-31  Bruno Haible  <bruno@clisp.org>
37272
37273         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
37274         <stdlib.h>, <string.h>.
37275
37276 2006-07-30  Bruno Haible  <bruno@clisp.org>
37277
37278         * modules/readlink (License): Change to LGPL.
37279
37280 2006-07-30  Bruno Haible  <bruno@clisp.org>
37281
37282         * modules/javaversion (Makefile.am): Distribute javaversion.java and
37283         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
37284         set PKGDATADIR to point to it.
37285
37286 2006-07-30  Bruno Haible  <bruno@clisp.org>
37287
37288         * modules/csharpexec (configure.ac): Comment out macro invocation.
37289         * modules/javaexec (configure.ac): Likewise.
37290         * modules/javacomp-script (configure.ac): Likewise.
37291
37292         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
37293
37294 2006-07-30  Bruno Haible  <bruno@clisp.org>
37295
37296         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
37297         linked-list.
37298
37299 2006-07-30  Bruno Haible  <bruno@clisp.org>
37300
37301         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
37302
37303 2006-07-30  Bruno Haible  <bruno@clisp.org>
37304
37305         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37306         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
37307         get removed.
37308
37309 2006-07-29  Bruno Haible  <bruno@clisp.org>
37310
37311         Make it possible for gnulib-tool to work with locally modified or
37312         augmented gnulib repositories.
37313         * gnulib-tool (func_usage): Document --local-dir option.
37314         (local_gnulib_dir): New variable.
37315         Handle --local-dir option.
37316         (func_lookup_file): New function.
37317         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
37318         (func_get_description, func_get_filelist, func_get_description,
37319         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
37320         func_get_automake_snippet, func_get_include_directive,
37321         func_get_license, func_get_maintainer): Use func_lookup_file.
37322         (func_import, func_create_testdir): Use func_lookup_file.
37323
37324 2006-07-29  Bruno Haible  <bruno@clisp.org>
37325
37326         * modules/setenv (Depends-on): Add unistd.
37327
37328 2006-07-29  Bruno Haible  <bruno@clisp.org>
37329
37330         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
37331
37332 2006-07-29  Bruno Haible  <bruno@clisp.org>
37333
37334         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
37335
37336 2006-07-29  Bruno Haible  <bruno@clisp.org>
37337
37338         * gnulib-tool (import, update): If there is no Makefile.am, look at
37339         aclocal.m4, instead of bailing out.
37340
37341 2006-07-29  Bruno Haible  <bruno@clisp.org>
37342
37343         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
37344         Categorize the options by when they are useful.
37345
37346 2006-07-29  Bruno Haible  <bruno@clisp.org>
37347
37348         * gnulib-tool (func_usage): Document option --no-libtool.
37349         Handle option --no-libtool.
37350         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
37351         for changed semantics of $libtool variable.
37352         (func_import): Likewise. If libtool is not used, show this through
37353         an option --no-libtool.
37354         (func_create_testdir): Update.
37355
37356 2006-07-29  Bruno Haible  <bruno@clisp.org>
37357
37358         * gnulib-tool (func_import): Extend error message about missing
37359         --doc-base.
37360
37361 2006-07-29  Bruno Haible  <bruno@clisp.org>
37362
37363         * gnulib-tool (func_import): Don't create the $docbase directory if
37364         there is no file to store there.
37365
37366 2006-07-29  Bruno Haible  <bruno@clisp.org>
37367
37368         * gnulib-tool (autoconf_minversion): If a --dir option is given and
37369         relevant, look for configure.ac there, not in the current directory.
37370         Also use a simple search for AC_PREREQ, not "autoconf --trace".
37371
37372 2006-07-29  Bruno Haible  <bruno@clisp.org>
37373
37374         * gnulib-tool (SORT): New variable.
37375         (func_usage): Undocument --assume-autoconf option.
37376         Remove --assume-autoconf option handling.
37377         (autoconf_minversion): Determine from the contents of configure.ac.
37378         (func_import): Remove autoconf_minversion handling.
37379         Suggested by Eric Blake.
37380
37381 2006-07-29  Bruno Haible  <bruno@clisp.org>
37382
37383         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
37384
37385 2006-07-29  Bruno Haible  <bruno@clisp.org>
37386
37387         * config/srclist.txt (*setenv.[ch]): Remove rules.
37388
37389 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37390
37391         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
37392
37393 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37394
37395         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
37396         arpa/inet.h.
37397
37398 2006-07-28  Simon Josefsson  <jas@extundo.com>
37399
37400         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
37401         * modules/inet_pton (Depends-on): Likewise.
37402
37403 2006-07-28  Simon Josefsson  <jas@extundo.com>
37404
37405         * m4/netinet_in_h.m4: New file.
37406
37407 2006-07-28  Simon Josefsson  <jas@extundo.com>
37408
37409         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
37410         #include's.
37411
37412 2006-07-28  Simon Josefsson  <jas@extundo.com>
37413
37414         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
37415         #include's.
37416
37417 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
37418
37419         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
37420         setgid on directories only if they set these bits.
37421         * lib/modechange.h: Remove obsolete comment about masks.
37422
37423 2006-07-28  Eric Blake  <ebb9@byu.net>
37424
37425         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
37426         macro expansion.
37427
37428 2006-07-28  Bruno Haible  <bruno@clisp.org>
37429
37430         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
37431
37432 2006-07-28  Bruno Haible  <bruno@clisp.org>
37433
37434         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
37435
37436 2006-07-28  Bruno Haible  <bruno@clisp.org>
37437
37438         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37439         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37440         Define fallbacks.
37441         Avoids link error on FreeBSD 4.x.
37442         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37443
37444         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
37445         encoding.
37446         * lib/mbswidth.c (iswcntrl): Likewise.
37447
37448 2006-07-27  Bruno Haible  <bruno@clisp.org>
37449
37450         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
37451         test.
37452
37453 2006-07-27  Bruno Haible  <bruno@clisp.org>
37454
37455         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
37456         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
37457         defined.
37458
37459 2006-07-26  Eric Blake  <ebb9@byu.net>
37460
37461         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
37462
37463 2006-07-26  Eric Blake  <ebb9@byu.net>
37464
37465         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
37466         like mingw that lack mkstemp.
37467         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
37468         avoid compilation warning on mingw.
37469
37470 2006-07-26  Bruno Haible  <bruno@clisp.org>
37471
37472         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
37473         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
37474         INT_FAST*_MIN, INTPTR_MIN.
37475
37476 2006-07-25  Bruno Haible  <bruno@clisp.org>
37477
37478         * modules/version-etc (Depends-on): Add stdarg.
37479
37480 2006-07-25  Bruno Haible  <bruno@clisp.org>
37481
37482         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
37483         complex commands.
37484
37485 2006-07-25  Bruno Haible  <bruno@clisp.org>
37486
37487         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
37488         defined in <stdarg.h> or config.h.
37489
37490 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37491
37492         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
37493         (gl_STDIO_SAFER): Remove.
37494
37495 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37496
37497         * MODULES.html.sh (File stream based Input/Output):
37498         Add fopen-safer, tmpfile-safer; remove stdio-safer.
37499         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
37500         * modules/fopen-safer, modules/tmpfile-safer: New files.
37501         * modules/stdio-safer: Remove.
37502
37503 2006-07-24  Bruno Haible  <bruno@clisp.org>
37504
37505         * modules/tmpdir: New file.
37506         * MODULES.html.sh (File system functions): Add it.
37507
37508 2006-07-24  Bruno Haible  <bruno@clisp.org>
37509
37510         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
37511         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
37512
37513 2006-07-24  Bruno Haible  <bruno@clisp.org>
37514
37515         * modules/clean-temp: New file.
37516
37517 2006-07-24  Bruno Haible  <bruno@clisp.org>
37518
37519         * m4/tmpdir.m4: New file, from GNU gettext.
37520
37521 2006-07-24  Bruno Haible  <bruno@clisp.org>
37522
37523         * lib/tmpdir.h: New file, from GNU gettext.
37524         * lib/tmpdir.c: New file, from GNU gettext.
37525
37526 2006-07-24  Bruno Haible  <bruno@clisp.org>
37527
37528         * lib/clean-temp.h: New file, from GNU gettext.
37529         * lib/clean-temp.c: New file, from GNU gettext.
37530
37531 2006-07-23  Eric Blake  <ebb9@byu.net>
37532
37533         * modules/stdio-safer (Files): Add tmpfile-safer.c.
37534         (Depends-on): Add binary-io.
37535
37536 2006-07-23  Eric Blake  <ebb9@byu.net>
37537
37538         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
37539
37540 2006-07-23  Eric Blake  <ebb9@byu.net>
37541
37542         * lib/tmpfile-safer.c: New file.
37543         * lib/stdio-safer.h (fopen_safer): Add prototype.
37544         * lib/stdio--.h (tmpfile): Make safer.
37545
37546 2006-07-23  Bruno Haible  <bruno@clisp.org>
37547
37548         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
37549         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
37550         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
37551         gl_linked_remove_at): Use it.
37552
37553 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37554         and Simon Josefsson <jas@extundo.com>
37555
37556         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
37557
37558         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
37559
37560 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37561
37562         * modules/close-stream: New file.
37563         * modules/closeout (Description): Make it clear that it exits
37564         with a diagnostic on error.
37565         (Depends-on): Add close-stream.  Remove fpending, stdbool.
37566         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
37567
37568 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37569
37570         * m4/close-stream.m4: New file.
37571
37572 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37573
37574         * lib/close-stream.c, lib/close-stream.h: New files.
37575
37576 2006-07-22  Bruno Haible  <bruno@clisp.org>
37577
37578         Merge from GNU gettext 0.15.
37579
37580         2006-05-01  Bruno Haible  <bruno@clisp.org>
37581
37582                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
37583
37584         2006-07-22  Bruno Haible  <bruno@clisp.org>
37585
37586                 * modules/javaversion: New file.
37587                 * MODULES.html.sh (Java): Add javaversion.
37588
37589         2006-03-12  Bruno Haible  <bruno@clisp.org>
37590
37591                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
37592
37593         2005-12-04  Bruno Haible  <bruno@clisp.org>
37594
37595                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
37596                 (untested).
37597
37598         2006-06-21  Bruno Haible  <bruno@clisp.org>
37599
37600                 Avoid warnings from recent versions of mcs.
37601                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
37602                 -o, -L, -r any more. Use options documented since mcs-1.0
37603                 instead. Similarly for -g.
37604
37605         2005-12-04  Bruno Haible  <bruno@clisp.org>
37606
37607                 * build-aux/csharpcomp.sh.in: Suffix for resources is
37608                 .resources, not .resource.
37609
37610         2005-07-09  Bruno Haible  <bruno@clisp.org>
37611
37612                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
37613                 add a .dll suffix.
37614                 Reported by Mark Junker <mjscod@gmx.de>.
37615
37616         2006-07-22  Bruno Haible  <bruno@clisp.org>
37617
37618                 * modules/gettext: Upgrade to gettext-0.15.
37619                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
37620                 m4/visibility.m4.
37621                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
37622
37623 2006-07-22  Bruno Haible  <bruno@clisp.org>
37624
37625         Merge from GNU gettext 0.15.
37626
37627         2006-03-25  Bruno Haible  <bruno@clisp.org>
37628
37629                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
37630
37631         2006-07-21  Bruno Haible  <bruno@clisp.org>
37632
37633                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
37634                 "1.1".
37635
37636         2006-05-09  Bruno Haible  <bruno@clisp.org>
37637
37638                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
37639                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
37640                 for the conftestver execution.
37641
37642         2006-05-01  Bruno Haible  <bruno@clisp.org>
37643
37644                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
37645                 optional target-version argument. Verify that the compiler
37646                 groks source of the specified source-version, or add -source
37647                 option as necessary. Verify that the compiler produces
37648                 bytecode in the specified target-version, or add -target and
37649                 -source options as necessary. Make the result of the test
37650                 available as variable CONF_JAVAC. Also log error output in
37651                 config.log.
37652
37653         2006-03-11  Bruno Haible  <bruno@clisp.org>
37654
37655                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
37656
37657         2006-05-09  Bruno Haible  <bruno@clisp.org>
37658
37659                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
37660                 CLASSPATH_SEPARATOR to a semicolon.
37661
37662         2006-03-12  Bruno Haible  <bruno@clisp.org>
37663
37664                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
37665                 available as variable CONF_JAVA, for subsequent autoconf
37666                 tests. Also log error output in config.log.
37667
37668         2006-07-19  Bruno Haible  <bruno@clisp.org>
37669
37670                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
37671                 that getline works on glibc2 systems. Needed to avoid trouble
37672                 in relocatable.c.
37673                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
37674
37675         2005-12-04  Bruno Haible  <bruno@clisp.org>
37676
37677                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
37678                 launcher (untested).
37679
37680         2005-12-04  Bruno Haible  <bruno@clisp.org>
37681
37682                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
37683
37684         2006-07-22  Bruno Haible  <bruno@clisp.org>
37685
37686                 * gettext.m4: Update from GNU gettext-0.15.
37687                 * nls.m4: Likewise.
37688                 * po.m4: Likewise.
37689                 * inttypes-pri.m4: Likewise.
37690                 * inttypes-h.m4: Renamed from inttypes.m4.
37691                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
37692
37693 2006-07-22  Bruno Haible  <bruno@clisp.org>
37694
37695         Merge from GNU gettext 0.15.
37696
37697         2005-07-05  Bruno Haible  <bruno@clisp.org>
37698
37699                 * printf-args.c (printf_fetchargs): Work around broken
37700                 definition of wint_t on mingw.
37701
37702         2005-02-12  Bruno Haible  <bruno@clisp.org>
37703
37704                 * xallocsa.h: Add extern "C" for C++.
37705
37706         2006-05-17  Bruno Haible  <bruno@clisp.org>
37707
37708                 Cygwin portability.
37709                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
37710
37711         2006-04-30  Bruno Haible  <bruno@clisp.org>
37712
37713                 * progreloc.c: Include <mach-o/dyld.h> if available.
37714                 (find_executable): Use _NSGetExecutablePath when possible.
37715
37716         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37717
37718                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
37719                 function.
37720
37721         2005-12-29  Bruno Haible  <bruno@clisp.org>
37722
37723                 * progreloc.c (set_program_name_and_installdir): Fix
37724                 compilation error.
37725
37726         2005-12-04  Bruno Haible  <bruno@clisp.org>
37727
37728                 Cygwin portability.
37729                 * progreloc.c: Include <windows.h> also on Cygwin.
37730                 (find_executable): Add support for Cygwin.
37731                 (set_program_name_and_installdir): Handle also platforms with
37732                 nonempty EXEEXT.
37733
37734         2006-07-11  Bruno Haible  <bruno@clisp.org>
37735
37736                 * javacomp.c: Fix a comment.
37737                 Reported by Jim Meyering.
37738
37739         2006-04-30  Bruno Haible  <bruno@clisp.org>
37740
37741                 * javacomp.h (compile_java_class): Add source_version,
37742                 target_version arguments.
37743                 * javacomp.c: Rewritten to choose only a compiler that
37744                 respects the specified source_version and target_version.
37745
37746         2006-06-27  Bruno Haible  <bruno@clisp.org>
37747
37748                 Assume correct S_ISDIR macro.
37749                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
37750
37751         2006-07-22  Bruno Haible  <bruno@clisp.org>
37752
37753                 * javaversion.h: New file, from GNU gettext.
37754                 * javaversion.c: New file, from GNU gettext.
37755                 * javaversion.java: New file, from GNU gettext.
37756                 * javaversion.class: New file, from GNU gettext.
37757
37758         2006-05-17  Bruno Haible  <bruno@clisp.org>
37759
37760                 Cygwin portability.
37761                 * javaexec.c (execute_java_class): Test for jview program
37762                 also on Cygwin.
37763
37764         2006-04-09  Bruno Haible  <bruno@clisp.org>
37765
37766                 * fatal-signal.c: Don't include string.h.
37767                 (at_fatal_signal): Use a copying loop instead of memcpy.
37768
37769         2005-12-04  Bruno Haible  <bruno@clisp.org>
37770
37771                 * csharpexec.c: Add support for 'clix' launcher (untested).
37772                 (execute_csharp_using_sscli): New function.
37773                 (execute_csharp_program): Call it.
37774
37775         2006-06-21  Bruno Haible  <bruno@clisp.org>
37776
37777                 Avoid warnings from recent versions of mcs.
37778                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
37779                 -o, -L, -r any more. Use options documented since mcs-1.0
37780                 instead. Similarly for -g.
37781
37782         2005-07-09  Bruno Haible  <bruno@clisp.org>
37783
37784                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
37785                 add a .dll suffix.
37786                 Reported by Mark Junker <mjscod@gmx.de>.
37787
37788         2006-06-17  Bruno Haible  <bruno@clisp.org>
37789
37790                 * config.charset: Update for NetBSD 3.0.
37791
37792         2006-05-17  Bruno Haible  <bruno@clisp.org>
37793
37794                 Cygwin portability.
37795                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
37796
37797         2006-05-16  Bruno Haible  <bruno@clisp.org>
37798
37799                 * localcharset.c [CYGWIN]: Include <windows.h>.
37800                 (get_charset_aliases): For Cygwin, return the same CPxxx
37801                 aliases list as under WIN32.
37802                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
37803                 the environment variables. Fall back to GetACP().
37804
37805         2006-04-05  Bruno Haible  <bruno@clisp.org>
37806
37807                 * config.charset: Update Juan Manuel Guerrero's address.
37808
37809         2005-02-12  Bruno Haible  <bruno@clisp.org>
37810
37811                 * allocsa.h: Add extern "C" for C++.
37812
37813         2005-02-10  Bruno Haible  <bruno@clisp.org>
37814
37815                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
37816                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
37817
37818         2006-07-22  Bruno Haible  <bruno@clisp.org>
37819
37820                 * gettext.h: Update to GNU gettext-0.15.
37821
37822 2006-07-22  Bruno Haible  <bruno@clisp.org>
37823
37824         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
37825         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
37826         lib-prefix.m4, longdouble.m4, ssize_t.m4.
37827
37828 2006-07-21  Eric Blake  <ebb9@byu.net>
37829
37830         * modules/stdlib-safer: New file.
37831         * MODULES.html.sh (File stream based Input/Output): Add
37832         stdlib-safer.
37833
37834 2006-07-21  Eric Blake  <ebb9@byu.net>
37835
37836         * lib/stdlib-safer.h: New file from coreutils, required by
37837         stdlib--.h.
37838
37839 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37840
37841         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
37842
37843 2006-07-20  Bruno Haible  <bruno@clisp.org>
37844
37845         * gnulib-tool: Recognize new option --assume-autoconf.
37846         (autoconf_minversion): New variable.
37847         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
37848
37849 2006-07-20  Bruno Haible  <bruno@clisp.org>
37850
37851         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
37852
37853 2006-07-19  Derek R. Price  <derek@ximbiot.com>
37854
37855         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
37856         Reindent and repaginate.
37857
37858 2006-07-19  Derek Price  <derek@ximbiot.com>
37859
37860         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
37861         Correct grammar.
37862
37863 2006-07-17  Bruno Haible  <bruno@clisp.org>
37864
37865         * modules/list: New file.
37866         * modules/array-list: New file.
37867         * modules/carray-list, modules/carray-list-tests: New files.
37868         * modules/linked-list, modules/linked-list-tests: New files.
37869         * modules/avltree-list, modules/avltree-list-tests: New files.
37870         * modules/rbtree-list, modules/rbtree-list-tests: New files.
37871         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
37872         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
37873         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
37874         * modules/oset: New file.
37875         * modules/array-oset: New file.
37876         * modules/avltree-oset, modules/avltree-oset-tests: New files.
37877         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
37878         * tests/test-carray_list.c: New file.
37879         * tests/test-linked_list.c: New file.
37880         * tests/test-avltree_list.c: New file.
37881         * tests/test-rbtree_list.c: New file.
37882         * tests/test-linkedhash_list.c: New file.
37883         * tests/test-avltreehash_list.c: New file.
37884         * tests/test-rbtreehash_list.c: New file.
37885         * tests/test-avltree_oset.c: New file.
37886         * tests/test-rbtree_oset.c: New file.
37887         * MODULES.html.sh (Container data structures): New section.
37888
37889 2006-07-17  Bruno Haible  <bruno@clisp.org>
37890
37891         * m4/gl_list.m4: New file.
37892
37893 2006-07-17  Bruno Haible  <bruno@clisp.org>
37894
37895         * lib/gl_list.h: New file.
37896         * lib/gl_list.c: New file.
37897         * lib/gl_array_list.h: New file.
37898         * lib/gl_array_list.c: New file.
37899         * lib/gl_carray_list.h: New file.
37900         * lib/gl_carray_list.c: New file.
37901         * lib/gl_linked_list.h: New file.
37902         * lib/gl_linked_list.c: New file.
37903         * lib/gl_anylinked_list1.h: New file.
37904         * lib/gl_anylinked_list2.h: New file.
37905         * lib/gl_avltree_list.h: New file.
37906         * lib/gl_avltree_list.c: New file.
37907         * lib/gl_anyavltree_list1.h: New file.
37908         * lib/gl_anyavltree_list2.h: New file.
37909         * lib/gl_rbtree_list.h: New file.
37910         * lib/gl_rbtree_list.c: New file.
37911         * lib/gl_anyrbtree_list1.h: New file.
37912         * lib/gl_anyrbtree_list2.h: New file.
37913         * lib/gl_anytree_list1.h: New file.
37914         * lib/gl_anytree_list2.h: New file.
37915         * lib/gl_linkedhash_list.h: New file.
37916         * lib/gl_linkedhash_list.c: New file.
37917         * lib/gl_anyhash_list1.h: New file.
37918         * lib/gl_anyhash_list2.h: New file.
37919         * lib/gl_avltreehash_list.h: New file.
37920         * lib/gl_avltreehash_list.c: New file.
37921         * lib/gl_rbtreehash_list.h: New file.
37922         * lib/gl_rbtreehash_list.c: New file.
37923         * lib/gl_anytreehash_list1.h: New file.
37924         * lib/gl_anytreehash_list2.h: New file.
37925
37926         * lib/gl_oset.h: New file.
37927         * lib/gl_oset.c: New file.
37928         * lib/gl_array_oset.h: New file.
37929         * lib/gl_array_oset.c: New file.
37930         * lib/gl_avltree_oset.h: New file.
37931         * lib/gl_avltree_oset.c: New file.
37932         * lib/gl_rbtree_oset.h: New file.
37933         * lib/gl_rbtree_oset.c: New file.
37934         * lib/gl_anytree_oset.h: New file.
37935
37936 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37937
37938         * m4/mkancesdirs.m4: New file.
37939         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
37940         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
37941         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
37942         it.
37943
37944 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37945
37946         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
37947         * lib/mkancesdirs.h: New files.
37948         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
37949         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
37950         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
37951         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
37952         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
37953         callers changed.  Revamp internals significantly, by not
37954         attempting to create directories that are temporarily more
37955         permissive than the final results.  Do not attempt to use
37956         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
37957         This removes some race conditions, fixes some bugs, and simplifies
37958         things.  Use new dirchownmod function to do owner and mode changes.
37959         * lib/mkdir-p.h: Likewise.
37960         * lib/modechange.c (octal_to_mode): New function.
37961         (struct mode_change): New member mentioned.
37962         (make_node_op_equals): New arg mentioned.  All callers changed.
37963         (mode_compile): Keep track of which mode bits the user has explicitly
37964         mentioned.
37965         (mode_adjust): New arg DIR, so that we implement the X op correctly.
37966         New arg PMODE_BITS, to keep track of which mode bits the user
37967         mentioned; it treats S_ISUID and S_ISGID speciall.
37968         All callers changed.
37969         * lib/modechange.h: Likewise.
37970
37971 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37972
37973         * MODULES.html.sh: Add mkancestors.
37974         * modules/mkancesdirs: New module.
37975         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
37976         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
37977         The chdir-safer and afs files are now orphans; I'll remove them
37978         unless someone speaks up.
37979         Add lib/dirchownmod.c, lib/dirchownmod.h.
37980         (Depends-on): Remove alloca, chown, save-cwd, dirname.
37981         Add lchown, mkancesdirs.
37982         (Maintainer): Add self.
37983
37984 2006-07-15  Karl Berry  <karl@gnu.org>
37985
37986         * gnulib-tool: help message wording/arrangement.
37987
37988 2006-07-14  Simon Josefsson  <jas@extundo.com>
37989
37990         * doc/gnulib.texi (Libtool and Windows): New section.
37991
37992 2006-07-12  Simon Josefsson  <jas@extundo.com>
37993
37994         * modules/gendocs (License): Fix license, approved by Karl.
37995
37996 2006-07-12  Eric Blake  <ebb9@byu.net>
37997
37998         * MODULES.html.sh: Add gendocs.
37999
38000 2006-07-11  Eric Blake  <ebb9@byu.net>
38001
38002         * modules/fdl: New module, to install doc/fdl.texi.
38003         * MODULES.html.sh: Add new section for documentation modules.
38004         * gnulib-tool: Avoid space-tab.
38005         (--doc-base): New option, to manage files from doc.
38006
38007 2006-07-11  Eric Blake  <ebb9@byu.net>
38008
38009         * m4/absolute-header.m4: Fix comments to match recent change.
38010
38011 2006-07-11  Eric Blake  <ebb9@byu.net>
38012
38013         * gnulib-tool: List --doc-base before --tests-base.
38014
38015 2006-07-11  Derek R. Price  <derek@ximbiot.com>
38016
38017         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
38018
38019 2006-07-11  Bruno Haible  <bruno@clisp.org>
38020
38021         * README: Mention where to put documentation.
38022
38023 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38024
38025         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
38026
38027 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38028
38029         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
38030         to stdint.m4.
38031
38032 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38033
38034         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
38035         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
38036         "no/such/file/stdint.h" when there is no such file, so that
38037         the resulting C code can be parsed by dodgy compilers.
38038         Problems reported by Bob Proulx.
38039
38040 2006-07-10  Derek R. Price  <derek@ximbiot.com>
38041
38042         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
38043         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
38044         macros into the GNU _D_EXACT_NAMLEN.
38045         * lib/savedir.c:  Likewise.
38046         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
38047
38048 2006-07-10  Derek R. Price  <derek@ximbiot.com>
38049         and Paul Eggert  <eggert@cs.ucla.edu>
38050
38051         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
38052         * m4/savedir.m4:
38053         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
38054         macros into the GNU _D_EXACT_NAMLEN.
38055
38056 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38057
38058         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
38059         around the absolute name, to work around a problem with the HP-UX
38060         11.23 native C compiler, reported by Bob Proulx.
38061
38062 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38063
38064         * doc/maintain.texi, make-stds.texi: Sync from
38065         <http://savannah.gnu.org/projects/gnustandards>.
38066
38067 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38068
38069         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
38070
38071 2006-07-09  Jim Meyering  <jim@meyering.net>
38072
38073         * m4/glob.m4: Remove a doubled word in a comment.
38074
38075 2006-07-09  Jim Meyering  <jim@meyering.net>
38076
38077         * lib/argp-pv.c: Remove a doubled word in a comment.
38078         * lib/check-version.c (check_version): Likewise.
38079         * lib/javacomp.c (compile_java_class): Likewise.
38080
38081 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
38082
38083         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
38084         for the benefit of people using Autoconf 2.60.  If you want to
38085         support older Autoconf versions you can copy m4/onceonly_2_57.m4
38086         (or m4/onceonly.m4, if pre-2.57) manually.
38087
38088 2006-07-08  Jim Meyering  <jim@meyering.net>
38089
38090         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
38091         comment.
38092         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
38093         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
38094         comment.
38095
38096 2006-07-08  Jim Meyering  <jim@meyering.net>
38097
38098         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
38099
38100 2006-07-07  Simon Josefsson  <jas@extundo.com>
38101
38102         * tests/test-crc.c: Change expected crc value, the test vector
38103         were probably computed using the old broken crc.c?
38104
38105 2006-07-06  Simon Josefsson  <jas@extundo.com>
38106
38107         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
38108         now the canonical place for the M4 file).
38109
38110         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
38111         from the sys_socket dependency now.
38112
38113         * modules/inet_pton (Files): Ditto.
38114
38115         * modules/inet_ntop (Files): Ditto.
38116
38117 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
38118
38119         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
38120         not gl_PREREQ_GETUSERSHELL.
38121
38122 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38123
38124         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
38125         with only one argument, for Autoconf 2.60.
38126         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
38127         expand to nothing, so add a shell command to avoid syntax error.
38128         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
38129
38130 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38131
38132         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
38133
38134 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38135
38136         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
38137         no longer needed.  Check for isblank decl.
38138         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
38139         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
38140         of existence.
38141
38142 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38143
38144         * lib/getloadavg.c: Use __VMS, not VMS.
38145         * lib/getopt.c: Likewise.
38146         * lib/getpagesize.h: Likewise.
38147         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
38148         and probably does not work.
38149
38150 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38151
38152         * lib/.cppi-disable: Add wcwidth.
38153         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
38154         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
38155         (ISGRAPH): Remove.  All uses changed to isgraph.
38156         (FOLD) [!defined _LIBC]: Remove special case.
38157         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
38158         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
38159         HAVE_ISBLANK.
38160         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
38161         case.
38162
38163 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38164
38165         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
38166         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
38167         brackets.  Other minor changes to suppress some compiler
38168         warnings.
38169
38170 2006-07-06  Derek R. Price  <derek@ximbiot.com>
38171         and Paul Eggert  <eggert@cs.ucla.edu>
38172
38173         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
38174         of invoking obsolescent AC_HEADER_DIRENT macro.
38175         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
38176         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
38177         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38178         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38179         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
38180         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
38181         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
38182         * m4/readdir.m4: Remove; no longer needed.
38183
38184 2006-07-06  Derek R. Price  <derek@ximbiot.com>
38185         and Paul Eggert  <eggert@cs.ucla.edu>
38186
38187         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
38188         Don't worry about this obsolete case any more.
38189         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
38190         directories.
38191         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
38192         worry about this obsolete case any more.
38193         * lib/fts.c: Likewise.
38194         * lib/getcwd.c: Likewise.
38195         * lib/glob.h: Likewise.
38196         * lib/savedir.c: Likewise.
38197
38198 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38199
38200         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
38201         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
38202         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
38203         needed.
38204         All uses removed.
38205         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38206         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
38207         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
38208         needed.
38209         * m4/getdate.m4 (gl_GETDATE): Likewise.
38210         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
38211         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
38212         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
38213         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38214         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
38215         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
38216         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
38217         needed.
38218
38219 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38220
38221         * lib/memcasecmp.c: Include <limits.h>.
38222         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
38223         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
38224         Don't assume isdigit succeeds only on '0' through '9'.
38225
38226 2006-07-05  Eric Blake  <ebb9@byu.net>
38227
38228         * modules/getaddrinfo (Depends-on): Add snprintf.
38229
38230 2006-07-05  Eric Blake  <ebb9@byu.net>
38231
38232         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
38233         to avoid 'header present but could not be compiled' on cygwin.
38234
38235 2006-07-05  Eric Blake  <ebb9@byu.net>
38236
38237         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
38238         missing from netdb.h.
38239         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
38240
38241 2006-07-05  Derek R. Price  <derek@ximbiot.com>
38242
38243         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
38244         no longer needed.
38245         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
38246         * m4/getdate.m4 (gl_GETDATE): Likewise.
38247         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
38248         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
38249         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
38250         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38251         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
38252
38253 2006-07-05  Derek R. Price  <derek@ximbiot.com>
38254
38255         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
38256         All uses of is_space replaced by isspace.
38257         * lib/exit.h: Don't talk about STDC_HEADERS.
38258         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
38259         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
38260         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
38261         replaced by isprint etc.
38262         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
38263         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
38264         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
38265         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
38266         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
38267         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
38268
38269 2006-07-05  Bruno Haible  <bruno@clisp.org>
38270
38271         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
38272         the function exists, before testing against AIX.
38273         Reported by Martin Lambers <marlam@marlam.de>.
38274
38275 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38276
38277         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
38278         From Mark D. Baushke.
38279
38280 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38281
38282         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
38283         to the absolute name, not just one, to bypass Sun C 5.8's
38284         "warning: #include of /usr/include/... may be non-portable".
38285
38286 2006-07-04  Eric Blake  <ebb9@byu.net>
38287
38288         * modules/dirname-tests: New test module.
38289         * tests/test-dirname.c: New file, replacing dirname.c
38290         TEST_DIRNAME section that was recently deleted.
38291
38292 2006-07-04  Bruno Haible  <bruno@clisp.org>
38293
38294         Assume ANSI C header files and <ctype.h> functions.
38295         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
38296         (mbsnwidth): Use isprint, iscntrl instead.
38297
38298 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38299
38300         Merge from coreutils.
38301         * MODULES.html.sh: Add xstrtold.
38302         * modules/xstrtold: New file.
38303         * modules/cycle-check (Files): Add lib/same-inode.h.
38304         * modules/dirname (Files): Add m4/double-slash-root.m4.
38305         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
38306         * modules/mkdir-p (Files): Add lib/same-inode.h.
38307         * modules/same (Files): Add lib/same-inode.h.
38308
38309 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38310
38311         * m4/absolute-header.m4: Renamed from full-header-path.m4.
38312         This is to keep the terminology clean; POSIX talks about
38313         "absolute pathnames", not "full pathnames", but the GNU
38314         Coding Standards say to use "path" for something else;
38315         so use "absolute" to keep both sides happy.
38316         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
38317         Set gl_absolute_header, not gl_full_header_path.
38318         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
38319         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
38320         All uses changed.
38321
38322         Merge from coreutils.
38323
38324         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
38325
38326         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
38327         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
38328         want to require the building of c-strtod.o.
38329         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
38330         needs -lm directly.
38331         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
38332
38333         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38334
38335         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
38336         --as-needed option if available.  Problem reported by Albert Chin in
38337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
38338         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
38339         cc merely issues a bunch of annoying warnings for --as-needed
38340         (this problem was reported by Bob Proulx).  Also, try linking with
38341         -lm to detect a bug in binutils 2.16 (this problem was reported
38342         by Ralf Wildenhues).
38343
38344         2006-06-18  Jim Meyering  <jim@meyering.net>
38345
38346         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
38347         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
38348         macro.
38349         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
38350         also check for glibc-2.4's abort-inducing bug.
38351
38352         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
38353         Low-probability clean-up should be to use rmdir to get rid of
38354         the just-created directory, not unlink.
38355
38356         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
38357         configure fail, and request a bug report to inform us about it.
38358         Add a comment that, barring reports to the contrary, in 2007 we'll
38359         assume ftruncate is universally available.
38360
38361         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
38362
38363         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
38364
38365         2006-03-12  Jim Meyering  <jim@meyering.net>
38366
38367         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
38368         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
38369         * m4/same.m4 (gl_SAME): Likewise.
38370         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
38371
38372         2006-03-11  Eric Blake  <ebb9@byu.net>
38373
38374         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
38375         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
38376         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
38377         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
38378
38379 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38380
38381         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
38382         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
38383         reported by Mark D. Baushke, one in
38384         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
38385
38386         Merge from coreutils.
38387
38388         * lib/.cppi-disable: Add stdint_.h.
38389         * lib/.cvsignore: Add stdint.h.
38390
38391         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
38392
38393         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
38394         both double and long double versions.
38395         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
38396         * lib/xstrtold.c: New file.
38397         * lib/xstrtod.h (xstrtold): New decl.
38398
38399         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38400
38401         * lib/filemode.c (setst): Remove.
38402         (strmode): Rewrite to avoid setst.  This makes the code shorter,
38403         (arguably) clearer, and the generated code is a bit smaller on my
38404         Debian GNU/Linux stable x86 host.
38405
38406         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
38407
38408         * lib/filemode.c: Include "filemode.h" first, to test the interface.
38409         Assume that filemode.h includes sys/types.h and sys/stat.h.
38410         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
38411         (ftypelet): Reorder to put common cases first, for efficiency.
38412         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
38413         to do 'M'.
38414         (strmode): Renamed from mode_string, and now stores 12 bytes instead
38415         of 10, for compatibility with FreeBSD.  All callers changed.
38416         (filemodestring): Now stores 12 bytes instead of 10, and sets file
38417         types that can't be deduced solely from st_mode.  First arg is now a
38418         const pointer.
38419         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
38420         (strmode): Renamed from mode_string.
38421         (filemodestring): New decl.
38422         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
38423         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
38424         needed.
38425         (S_ISPORT, S_ISWHT): New macros, if not already defined.
38426
38427         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
38428
38429         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
38430         fsusage.h now does that.  Include fsusage.h first, to test interface.
38431         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
38432         at most one method (the old code could have generated decls that
38433         didn't conform to C89, not that this was ever exercised).
38434         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
38435
38436         2006-03-19  Jim Meyering  <jim@meyering.net>
38437
38438         Work even in a chroot where d_ino values for entries in "/"
38439         don't match the stat.st_ino values for the same names.
38440         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
38441         number, iterate through all entries again, using lstat instead.
38442         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
38443         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
38444
38445         * lib/getcwd.c (__getcwd): Clarify a comment.
38446         Use memcpy in place of a call to strcpy.
38447
38448         2006-03-12  Jim Meyering  <jim@meyering.net>
38449
38450         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
38451         matches that of the current directory (which we're about to chdir ".."
38452         out of), then save the dev-ino of the parent, instead.
38453
38454         * lib/same-inode.h (SAME_INODE): New file/macro.
38455         * lib/chdir-safer.c (SAME_INODE): Remove definition.
38456         Include "same-inode.h", instead.
38457         * lib/same.c: Likewise.
38458         * lib/cycle-check.h: Include "same-inode.h".
38459         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
38460         * lib/cycle-check.c (SAME_INODE): Remove definition.
38461         * lib/root-dev-ino.h: Include "same-inode.h".
38462
38463         2006-03-11  Eric Blake  <ebb9@byu.net>
38464
38465         * lib/same.c (same_name): s/base_name/last_component/
38466         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
38467         * lib/filenamecat.c (file_name_concat): Likewise.
38468
38469         2006-03-11  Eric Blake  <ebb9@byu.net>,
38470                     Paul Eggert  <eggert@cs.ucla.edu>
38471
38472         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
38473         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
38474         drive prefix.
38475         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
38476         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
38477         (last_component): New method.
38478         * lib/dirname.c (dir_len): Determine when drive letters need a
38479         subsequent slash.  Preserve // when it is special.
38480         (dir_name): Don't append dot when drive letter is absolute.
38481         [TEST_DIRNAME]: Move into a full-blown gnulib test.
38482         * lib/basename.c (base_name): New semantics - malloc the result.
38483         Preserve // when it is special.  Preserve relative files that look
38484         like drive letters.
38485         (base_len): Preserve // when it is special.
38486         (last_component): New method, similar to old base_name semantics.
38487         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
38488         base_name.  Strip redundant slashes from ///.
38489
38490 2006-07-03  Jim Meyering  <jim@meyering.net>
38491
38492         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
38493         macro is used before the first cycle_check call.
38494
38495 2006-07-03  Eric Blake  <ebb9@byu.net>
38496
38497         * modules/dirname (Depends-on): Add xstrndup.
38498
38499 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38500
38501         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
38502         test cases, so that config.log is a bit easier to follow.
38503
38504 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38505
38506         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
38507         both are 64 bits, since this seems to be the tradition, and this
38508         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
38509         we ever run into a host that prefers long long to long in this
38510         case, we'll need another configure-time test.  Problem reported by
38511         Jim Meyering.
38512
38513 2006-07-02  Eric Blake  <ebb9@byu.net>
38514
38515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
38516
38517 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38518
38519         * modules/inttypes (Depends-on): No longer depends on stdint.
38520         * modules/stdint (Description): Say more about assumptions.
38521         Say that the fast types might differ.  Say macros are used.
38522         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
38523         (Makefile.am): Revise list of substituted symbols to match
38524         new stdint.m4.
38525         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
38526         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
38527         * tests/test-stdint.c (verify_same_types)
38528         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
38529         the code conforms to C99/C89.
38530         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
38531         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
38532
38533 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38534
38535         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
38536         but fix a bug, by requiring at least 64 bits.
38537         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38538         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
38539         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
38540         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
38541
38542         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
38543         changes.  Make 2.59 a prerequisite.  Check and substitute for
38544         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
38545         inttypes.h.  Do not use special include files; just use the
38546         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
38547         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
38548         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
38549         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
38550         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
38551         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
38552         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
38553         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
38554         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
38555         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
38556         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
38557         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
38558         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
38559         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
38560         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
38561         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
38562         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
38563         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
38564         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
38565         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
38566         WINT_MAX.  Check for C99 conformance more strictly, by detecting
38567         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
38568         not check for things that C99 does not require, e.g., int8_t.  If
38569         a test isn't needed unless <stdint.h> isn't working, and is
38570         unlikely to be needed for any other reason, then don't do it
38571         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
38572         size_t, since we assume C89 freestanding at least.  Do not check
38573         for sig_atomic_t, wchar_t, or wint_t, since the code now does
38574         the right thing even if the types are not defined.  Instead use:
38575         (gl_STDINT_TYPE_PROPERTIES): New macro.
38576         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
38577         testing whether <sys/types.h> clashes, as Autoconf does this for
38578         us now.  All uses removed.
38579         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
38580         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
38581         (gl_CHECK_TYPE_SAME):
38582         Remove; no longer needed.
38583         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
38584         exists, since we'll return 0 anyway in that case.
38585         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
38586
38587 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38588
38589         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
38590         possible collision with system files.
38591         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
38592         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
38593         WCHAR_MIN and WCHAR_MAX in this case.
38594         (<stddef.h>): Do not include; no longer needed.
38595         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
38596         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
38597         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
38598         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
38599         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
38600         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
38601         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
38602         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
38603         !defined(__c99))]: Include in this case too, since it's harmless
38604         now.
38605         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
38606         dangerous to do so.
38607         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
38608         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
38609         (_STDINT_MIN, _STDINT_MAX): New macros.
38610         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
38611         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
38612         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
38613         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
38614         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
38615         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
38616         macros, not typedefs; this simplifies things quite a bit.
38617         Use long int for all types narrower than int64_t.
38618         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
38619         Define in terms of long long int or int64_t or long int,
38620         not int64_t or int32_t.  This saves some compile-time testing.
38621         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
38622         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
38623         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
38624         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
38625         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
38626         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
38627         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
38628         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38629         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
38630         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
38631         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38632         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38633         undef any previous version and define our own version, for
38634         simplicity and consistency with the new macros for types.
38635         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38636         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38637         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
38638         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
38639         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
38640         @WINT_T_SUFFIX@ to keep things simple here.
38641         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
38642         Simplify by assuming typical 8/16/32/64 host, since we're
38643         already doing that elsewhere anyway.
38644         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
38645         and assume long long int is 64 bits if available.  This
38646         speeds up 'configure'.
38647
38648 2006-07-01  Eric Blake  <ebb9@byu.net>
38649
38650         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
38651         Reported by Andreas Buening.
38652
38653 2006-07-01  Eric Blake  <ebb9@byu.net>
38654
38655         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
38656
38657 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38658
38659         * lib/getaddrinfo.c: fixed typo
38660
38661 2006-06-29  Jim Meyering  <jim@meyering.net>
38662
38663         * modules/strftime (Maintainer): Add my name, since with the
38664         FPRINTFTIME changes strftime.c has forked from glibc.
38665
38666 2006-06-29  Eric Blake  <ebb9@byu.net>
38667
38668         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
38669
38670 2006-06-29  Eric Blake  <ebb9@byu.net>
38671
38672         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
38673
38674 2006-06-29  Eric Blake  <ebb9@byu.net>
38675
38676         * lib/stat_.h: New file.
38677
38678 2006-06-29  Eric Blake  <ebb9@byu.net>
38679
38680         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
38681         unused static function.
38682
38683 2006-06-29  Eric Blake  <ebb9@byu.net>
38684
38685         * doc/functions.texi (Function Portability): Document missing lstat
38686         on mingw.
38687
38688 2006-06-29  Eric Blake  <ebb9@byu.net>
38689
38690         * MODULES.html.sh: Add sys_stat.
38691         * modules/sys_stat: New module.
38692         * modules/mkstemp (Depends-on): Add sys_stat.
38693
38694 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38695
38696         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
38697
38698 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38699
38700         * m4/c-bs-a.m4: Removed.
38701
38702 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38703
38704         * lib/strftime.c: Assume strftime() exists.
38705
38706 2006-06-29  Derek Price  <derek@ximbiot.com>
38707
38708         * modules/c-bs-a: Removed - \a is C89.
38709         * MODULES.html.sh: Remove c-bs-a.
38710
38711 2006-06-29  Bruno Haible  <bruno@clisp.org>
38712
38713         * modules/wcwidth (License): Change to LGPL.
38714
38715 2006-06-28  Simon Josefsson  <jas@extundo.com>
38716
38717         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
38718         on _WIN32.
38719
38720         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
38721         getnameinfo.
38722
38723 2006-06-28  Simon Josefsson  <jas@extundo.com>
38724
38725         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
38726
38727 2006-06-28  Simon Josefsson  <jas@extundo.com>
38728
38729         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
38730         functions there.  It will succeed on Windows XP, but on Windows
38731         2000 and (presumably) earlier, it will fail, and use the internal
38732         re-implementation.
38733         (use_win32_p): New function.
38734         (getaddrinfo): Use strtoul on servname, to support numeric ports.
38735         Support AI_NUMERICSERV to disable getservbyname.
38736         (getnameinfo): New function, only supports
38737         NI_NUMERICHOST|NI_NUMERICSERV for now.
38738
38739         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
38740         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
38741         getnameinfo.
38742
38743 2006-06-28  Eric Blake  <ebb9@byu.net>
38744
38745         * modules/wcwidth: New file.
38746         * modules/mbchar (Depends-on): Add wcwidth.
38747         * modules/mbswidth (Depends-on): Add wcwidth.
38748         * MODULES.html.sh: Add wcwidth.
38749
38750 2006-06-28  Eric Blake  <ebb9@byu.net>
38751
38752         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
38753         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
38754
38755 2006-06-28  Eric Blake  <ebb9@byu.net>
38756
38757         * lib/xvasprintf.h: Fix comments.
38758
38759 2006-06-28  Eric Blake  <ebb9@byu.net>
38760
38761         * lib/mbchar.h (wcwidth): Include wcwidth.h.
38762         * lib/mbswidth.c (wcwidth): Move from here...
38763         * lib/wcwidth.h: ...to this new file.
38764
38765 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38766
38767         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
38768
38769         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
38770         it's obsolete.
38771         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
38772
38773 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38774
38775         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
38776         Autoconf 2.60 says this stuff was obsolete.
38777
38778 2006-06-28  Bruno Haible  <bruno@clisp.org>
38779
38780         * modules/wcwidth (Files): Add m4/wchar_t.m4.
38781
38782 2006-06-28  Bruno Haible  <bruno@clisp.org>
38783
38784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
38785         gt_TYPE_WCHAR_T.
38786
38787 2006-06-28  Bruno Haible  <bruno@clisp.org>
38788
38789         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
38790         declaration for wcwidth.
38791         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
38792
38793 2006-06-28  Bruno Haible  <bruno@clisp.org>
38794
38795         * lib/mkdtemp.c [MINGW]: Include <io.h>.
38796         (mkdir): Define using _mkdir.
38797
38798 2006-06-28  Bruno Haible  <bruno@clisp.org>
38799
38800         * lib/getaddrinfo.h: Fix POSIX URL.
38801         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
38802         _WIN32.
38803         (use_win32_p): Make static.
38804         (getaddrinfo): Reject service name if it is empty or does not consist
38805         solely of decimal digits, or if its value is > 65535.
38806         (getnameinfo): Remove useless casts.
38807
38808 2006-06-27  Simon Josefsson  <jas@extundo.com>
38809
38810         * modules/sys_select: New file, suggested by Bruno Haible, Paul
38811         Eggert and Martin Lambers.
38812
38813 2006-06-27  Simon Josefsson  <jas@extundo.com>
38814
38815         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
38816         Eggert and Martin Lambers.
38817
38818 2006-06-27  Bruno Haible  <bruno@clisp.org>
38819
38820         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
38821         result to 0, not to empty.
38822         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
38823
38824 2006-06-27  Bruno Haible  <bruno@clisp.org>
38825
38826         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
38827
38828 2006-06-26  Simon Josefsson  <jas@extundo.com>
38829
38830         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
38831         present.
38832
38833 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38834
38835         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
38836         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
38837         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
38838
38839 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
38840
38841         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
38842
38843 2006-06-26  Bruno Haible  <bruno@clisp.org>
38844
38845         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
38846
38847 2006-06-26  Bruno Haible  <bruno@clisp.org>
38848
38849         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
38850
38851 2006-06-26  Bruno Haible  <bruno@clisp.org>
38852
38853         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
38854         SGI C compiler in pre-C99 mode.
38855         Suggested by Mark D. Baushke and Larry Jones.
38856
38857 2006-06-26  Bruno Haible  <bruno@clisp.org>
38858
38859         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
38860         WCHAR_MAX.
38861         Reported by Mark D. Baushke and Larry Jones.
38862
38863 2006-06-26  Bruno Haible  <bruno@clisp.org>
38864
38865         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
38866         in pre-C99 mode.
38867         Suggested by Mark D. Baushke and Larry Jones.
38868
38869 2006-06-23  Simon Josefsson  <jas@extundo.com>
38870             Bruno Haible  <bruno@clisp.org>
38871
38872         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
38873         Emit mostlyclean-local rule.
38874         (func_emit_tests_Makefile_am): Likewise.
38875         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
38876
38877 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
38878
38879         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
38880
38881 2006-06-23  Bruno Haible  <bruno@clisp.org>
38882
38883         * tests/test-stdint.c: Update to match ISO C 99 Technical
38884         Corrigendum 1.
38885
38886 2006-06-23  Bruno Haible  <bruno@clisp.org>
38887
38888         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
38889
38890 2006-06-23  Bruno Haible  <bruno@clisp.org>
38891
38892         * lib/stdint_.h: Treat IRIX like OpenBSD.
38893
38894 2006-06-23  Bruno Haible  <bruno@clisp.org>
38895
38896         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
38897         ISO C 99 Technical Corrigendum 1.
38898
38899 2006-06-22  Simon Josefsson  <jas@extundo.com>
38900
38901         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
38902         MinGW.
38903
38904 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38905
38906         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
38907         needed.  Some compiler complained about some of them.  Problem reported
38908         by Larry Jones in
38909         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
38910
38911 2006-06-21  Simon Josefsson  <jas@extundo.com>
38912
38913         * tests/test-getaddrinfo.c: New file.
38914
38915         * modules/getaddrinfo-tests: New file.
38916
38917         * MODULES.html.sh: Add inet_pton.
38918
38919         * modules/inet_pton: New file.
38920
38921 2006-06-21  Simon Josefsson  <jas@extundo.com>
38922
38923         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
38924         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
38925         of using the (limited) gnulib implementation on Windows XP.
38926
38927         * m4/inet_pton.m4: New file.
38928
38929 2006-06-21  Simon Josefsson  <jas@extundo.com>
38930
38931         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
38932         variable.
38933
38934         * lib/socket_.h: Don't define WINVER.
38935
38936         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
38937         slightly modified to work in gnulib.
38938
38939 2006-06-21  Simon Josefsson  <jas@extundo.com>
38940
38941         * doc/gnulib.texi (Windows sockets): Add.
38942
38943 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38944
38945         * lib/read-file.c (fread_file): Start with buffer allocation of
38946         0 bytes rather than 1 byte; this simplifies the code.
38947         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
38948         code to free buffer and save/restore errno.
38949         (internal_read_file): Remove unused local.
38950
38951 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38952
38953         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
38954         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
38955         Problem reported by Denis Excoffier in
38956         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
38957
38958 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38959
38960         * modules/sys_socket, modules/socklen: Include sys/types since
38961         FreeBSD 4.x's sys/socket.h needs it.
38962
38963 2006-06-19  Simon Josefsson  <jas@extundo.com>
38964
38965         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
38966
38967 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38968
38969         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
38970
38971 2006-06-19  Bruno Haible  <bruno@clisp.org>
38972
38973         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
38974         and FULL_PATH_INTTYPES_H in angle brackets.
38975         Reported by Mark D. Baushke <mdb@gnu.org>.
38976
38977 2006-06-17  Eric Blake  <ebb9@byu.net>
38978
38979         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
38980         errno.
38981
38982 2006-06-17  Bruno Haible  <bruno@clisp.org>
38983
38984         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
38985         <sys/inttypes.h>.
38986
38987 2006-06-17  Bruno Haible  <bruno@clisp.org>
38988
38989         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
38990         whether errno is declared. Assume <errno.h> declares errno.
38991
38992 2006-06-17  Bruno Haible  <bruno@clisp.org>
38993
38994         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
38995
38996 2006-06-17  Bruno Haible  <bruno@clisp.org>
38997
38998         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
38999         problem on Solaris 2.5.1.
39000
39001 2006-06-16  Eric Blake  <ebb9@byu.net>
39002
39003         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
39004         * lib/unicodeio.c [!defined errno]: Likewise.
39005         * lib/strtol.c [!defined errno]: Likewise.
39006         * lib/strtod.c [!defined errno]: Likewise.
39007
39008 2006-06-15  Eric Blake  <ebb9@byu.net>
39009
39010         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
39011
39012 2006-06-15  Eric Blake  <ebb9@byu.net>
39013
39014         * config/srclist.txt (ssize_t.m4): Lose sync.
39015
39016 2006-06-15  Bruno Haible  <bruno@clisp.org>
39017
39018         * modules/stdint (Files): Include m4/full-header-path.m4,
39019         m4/size_max.m4, m4/wchar_t.m4.
39020         (Makefile.am): Many more substitutions.
39021         * modules/stdint-tests: New file.
39022         * tests/test-stdint.c: New file.
39023
39024 2006-06-15  Bruno Haible  <bruno@clisp.org>
39025
39026         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
39027         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
39028         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
39029         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
39030         gl_CHECK_TYPE_SAME): New macros.
39031
39032 2006-06-15  Bruno Haible  <bruno@clisp.org>
39033
39034         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
39035
39036 2006-06-15  Bruno Haible  <bruno@clisp.org>
39037
39038         * lib/stdint_.h: Rewritten to be fully auto-configured.
39039         Fixes bug on HP-UX/IA64.
39040
39041 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
39042
39043         * lib/getdate.y (__attribute__): Don't define if already defined.
39044         Problem reported by Larry Jones.
39045         * lib/utimens.c (__attribute__): Likewise.
39046
39047 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
39048
39049         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
39050         reported by Andreas Schwab.
39051
39052 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39053             Bruno Haible  <bruno@clisp.org>
39054
39055         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
39056         check for the declaration of strnlen and a run test that exposes the
39057         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
39058         rpl_strndup.
39059
39060 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39061             Bruno Haible  <bruno@clisp.org>
39062
39063         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
39064
39065 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39066
39067         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
39068         compile test, for Tru64 4.0D.
39069
39070 2006-05-28  Karl Berry  <karl@gnu.org>
39071
39072         * config/srclist.txt (printf-args.c): lose sync.
39073
39074 2006-05-26  Martin Lambers  <marlam@marlam.de>
39075
39076         * lib/getpass.c: Updates the test for the native W32 API, and adds
39077         missing includes, thus fixing compilation warnings.
39078
39079 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39080
39081         * lib/exclude.c (exclude_fnmatch): New function.
39082         (excluded_file_name): Call exclude_fnmatch.
39083         * lib/exclude.h (excluded_file_name): New prototype
39084
39085 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
39086
39087         * lib/tempname.c (small_open, large_open): New macros.
39088         (__open, __open64) [!_LIBC]: Remove.
39089         (__gen_tempname): Use small_open and large_open instead of __open
39090         and __open64.  This fixes a portability bug on HP-UX 11.11i
39091         reported by Simon Wing-Tang in
39092         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
39093
39094 2006-05-24  Bruno Haible  <bruno@clisp.org>
39095
39096         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
39097         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
39098         Reported by Thorsten Maerz <torte@netztorte.de> via
39099         Aaron Stone <aaron@serendipity.cx>.
39100
39101 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39102
39103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
39104         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
39105         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
39106         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
39107         not really conditional on the cache.
39108         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
39109
39110 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39111
39112         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
39113         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
39114         (my_usleep): Don't mishandle maximum value.
39115
39116 2006-05-19  Jim Meyering  <jim@meyering.net>
39117
39118         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
39119
39120 2006-05-17  Bruno Haible  <bruno@clisp.org>
39121
39122         Cygwin portability.
39123         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
39124
39125 2006-05-17  Bruno Haible  <bruno@clisp.org>
39126
39127         * lib/stdint_.h: Fix recognition of Cygwin.
39128
39129 2006-05-15  Bruno Haible  <bruno@clisp.org>
39130
39131         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
39132         on libtool patch by Ralf Wildenhues.
39133
39134 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39135
39136         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
39137         test for C99 conformance; (bool) 0.5 is an integer constant
39138         expression, but (bool) -0.5 is not.  Problem reported by Fedor
39139         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
39140
39141 2006-05-11  Simon Josefsson  <jas@extundo.com>
39142
39143         * m4/xvasprintf.m4: Fix obvious typo.
39144
39145 2006-05-11  Jim Meyering  <jim@meyering.net>
39146
39147         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
39148         James Lemley.
39149
39150 2006-05-10  Simon Josefsson  <jas@extundo.com>
39151
39152         * lib/md4.c: Typo fix, update copyright years.
39153         (K1, K2): Don't use L because it turn computations into 64-bit on
39154         64-bit platforms.
39155
39156 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39157
39158         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
39159         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
39160         unwanted sign propagation, e.g., on hosts with 64-bit int.
39161         There still are some problems with reeelly weird theoretical hosts
39162         (e.g., 33-bit int) but it's not worth worrying about now.
39163         * lib/sha1.c (rol): Likewise.
39164         (K1, K2, K3, K4): Remove unnecessary L suffix.
39165
39166 2006-05-10  Bruno Haible  <bruno@clisp.org>
39167
39168         * lib/des.c: Cast to avoid warnings.
39169
39170 2006-05-09  Bruno Haible  <bruno@clisp.org>
39171
39172         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
39173         (Depends-on): Depend also on xsize, stdarg.
39174         (configure.ac): Add gl_XVASPRINTF.
39175
39176 2006-05-09  Bruno Haible  <bruno@clisp.org>
39177
39178         * m4/xvasprintf.m4: New file.
39179
39180 2006-05-09  Bruno Haible  <bruno@clisp.org>
39181
39182         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
39183         (EOVERFLOW): Define fallback value.
39184         (xstrcat): New function.
39185         (xvasprintf): Recognize the special case of a string concatenation.
39186
39187 2006-05-08  Eric Blake  <ebb9@byu.net>
39188
39189         * gnulib-tool (func_version): Base copyright year on CVS date.
39190         (func_emit_copyright_notice): New function.
39191         (func_emit_lib_Makefile_am): Use it.
39192         (func_emit_tests_Makefile_am): Likewise.
39193         (func_import): Likewise.
39194
39195 2006-05-08  Bruno Haible  <bruno@clisp.org>
39196
39197         * modules/stdarg: New file.
39198         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
39199
39200 2006-05-08  Bruno Haible  <bruno@clisp.org>
39201
39202         * m4/stdarg.m4: New file, from GNU gettext.
39203
39204 2006-05-08  Bruno Haible  <bruno@clisp.org>
39205
39206         * config/srclist.txt (build-aux/config.rpath): different from latest
39207         release.
39208
39209 2006-05-08  Bruno Haible  <bruno@clisp.org>
39210
39211         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
39212
39213 2006-05-05  Jim Meyering  <jim@meyering.net>
39214
39215         * m4/warning.m4: New file, derived from bison's file by the same name.
39216
39217 2006-05-03  Bruno Haible  <bruno@clisp.org>
39218
39219         * lib/stdint_.h: Shorter URL.
39220         * lib/inttypes.h: Likewise.
39221
39222 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39223
39224         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
39225
39226 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39227
39228         * lib/verify.h: Document the internals better.  Most of this change
39229         was written by Bruno Haible.
39230
39231 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39232
39233         * doc/verify.texi: New file, partly based on a proposal by
39234         Bruno Haible.
39235
39236 2006-05-02  Bruno Haible  <bruno@clisp.org>
39237
39238         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
39239         test from here...
39240         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
39241
39242 2006-04-29  Bruno Haible  <bruno@clisp.org>
39243
39244         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
39245         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
39246
39247 2006-04-29  Bruno Haible  <bruno@clisp.org>
39248
39249         * gnulib-tool: Make --update option actually work.
39250
39251 2006-04-29  Bruno Haible  <bruno@clisp.org>
39252
39253         * doc/gcd.texi: New file.
39254         * doc/gnulib.texi: Include it.
39255
39256 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39257
39258         * lib/getdate.y (get_date): When adding relative date, start with the
39259         initial time, not with the result of the first mktime call.
39260
39261 2006-04-25  Bruno Haible  <bruno@clisp.org>
39262
39263         * gnulib-tool (func_import): Output the include directives in three
39264         blocks, sorted separately.
39265         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39266
39267 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39268
39269         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
39270         to define main with arguments, for C++.  Reported by Eric Blake.
39271         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
39272         Prefer 'int main ()' to 'int main (void)', for C++.
39273         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
39274         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
39275         for 'main', for C99 and C++.
39276
39277 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39278
39279         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
39280         Don't assume that exit status -1 is valid.
39281         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39282         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
39283         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39284         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
39285         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
39286         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
39287         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
39288         functions can be used without declaring them, or that you can
39289         exit with status -1.
39290         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39291
39292 2006-04-24  Karl Berry  <karl@gnu.org>
39293
39294         * config/srclist.txt (longdouble.m4): sync lost.
39295
39296 2006-04-24  Eric Blake  <ebb9@byu.net>
39297
39298         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
39299
39300 2006-04-24  Bruno Haible  <bruno@clisp.org>
39301
39302         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
39303         poll() implementation in AIX.
39304         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39305
39306 2006-04-24  Bruno Haible  <bruno@clisp.org>
39307
39308         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
39309         assigned exactly once.
39310
39311 2006-04-23  Claudio Fontana  <claudio@gnu.org>
39312             Bruno Haible  <bruno@clisp.org>
39313
39314         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
39315         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
39316         for AM_CPPFLAGS.
39317
39318 2006-04-23  Bruno Haible  <bruno@clisp.org>
39319
39320         * modules/copy-file: Depend on unistd.
39321         * modules/execute: Likewise.
39322         * modules/fatal-signal: Likewise.
39323         * modules/findprog: Likewise.
39324         * modules/mkdtemp : Likewise.
39325         * modules/pipe: Likewise.
39326         * modules/wait-process: Likewise.
39327
39328 2006-04-23  Bruno Haible  <bruno@clisp.org>
39329
39330         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
39331         condition was already detected.
39332         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39333
39334 2006-04-23  Bruno Haible  <bruno@clisp.org>
39335
39336         * lib/copy-file.c: Include <unistd.h> unconditionally.
39337         * lib/execute.c: Likewise.
39338         * lib/fatal-signal.c: Likewise.
39339         * lib/findprog.c: Likewise.
39340         * lib/mkdtemp.c: Likewise.
39341         * lib/pipe.h: Likewise.
39342         * lib/pipe.c: Likewise.
39343         * lib/wait-process.h: Likewise.
39344
39345 2006-04-23  Bruno Haible  <bruno@clisp.org>
39346
39347         * gnulib-tool (func_usage): Fix --import description. Document
39348         --update.
39349         (func_import): Create temporary file in a temporary directory, if
39350         --dry-run is specified. Silence errors from 'grep' when there are no
39351         m4 files in $m4dir.
39352         (func_create_testdir): Silence errors from 'grep' when there are no
39353         m4 files in $m4dir.
39354         Reported by Karl Berry <karl@freefriends.org>.
39355
39356 2006-04-20  Bruno Haible  <bruno@clisp.org>
39357
39358         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
39359         one argument, so that the code will be portable to Autoconf 2.60.
39360         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
39361         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
39362         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
39363
39364 2006-04-19  Derek Price  <derek@ximbiot.com>
39365             Eric Blake  <ebb9@byu.net>
39366
39367         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
39368         rather than "/full/path.h".  Update comment to match.  Shorten &
39369         generalize m4_translit call via AS_TR_CPP.
39370
39371 2006-04-19  Derek Price  <derek@ximbiot.com>
39372             Eric Blake  <ebb9@byu.net>
39373
39374         * lib/inttypes.h: Correct grammar in comment.
39375
39376 2006-04-18  Derek Price  <derek@ximbiot.com>
39377             Paul Eggert  <eggert@cs.ucla.edu>
39378
39379         * modules/inttypes: New file.
39380         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
39381
39382 2006-04-18  Derek Price  <derek@ximbiot.com>
39383             Paul Eggert  <eggert@cs.ucla.edu>
39384
39385         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
39386         New files.
39387
39388 2006-04-18  Derek Price  <derek@ximbiot.com>
39389             Paul Eggert  <eggert@cs.ucla.edu>
39390
39391         * lib/inttypes.h: New file.
39392         * lib/strtoimax.c: Assume <inttypes.h>.
39393
39394 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
39395
39396         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
39397         isn't mounted.  Problem reported by Kir Kolyshkin.
39398
39399 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
39400
39401         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
39402         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
39403         Derek R. Price.
39404         * lib/regex.h (RE_DUP_MAX): Update comment to match current
39405         implementation.
39406
39407 2006-04-12  Eric Blake  <ebb9@byu.net>
39408
39409         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
39410         is now done automatically by the corresponding Autoconf macro.
39411
39412 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
39413
39414         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
39415         time_r.h.
39416
39417 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39418
39419         Merge regex changes from libc, removing some of our
39420         POSIX-conformance changes that were rejected and redoing them in a
39421         less-intrusive way.
39422
39423         * lib/regcomp.c (re_compile_internal, init_dfa):
39424         Length arg is now size_t, not Idx.  All uses changed.
39425         (peek_token): Forward decl now says internal_function.
39426         (__re_error_msgid, __re_error_msgid_idx):
39427         Now static rather than extern with attribute_hidden.
39428         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
39429         For some reason libc prefers K&R style defns for external functions.
39430         (regerror) [!defined _LIBC]: Likewise.
39431         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
39432         (seek_collating_symbol_entry, lookup_collation_sequence_value):
39433         (build_range_exp, build_collating_symbol):
39434         Use K&R-style defn.
39435         (re_compile_fastmap): Use '\0' to memset, not 0.
39436         (utf8_sb_map): Make the calculations more obvious.
39437         (init_dfa, parse_bracket_exp, build_charclass_op):
39438         Call calloc and cast result, as glibc does.
39439         (init_word_char, fetch_token, peek_token, peek_token_bracket):
39440         (build_range_exp, build_collating_symbol):
39441         Now internal functions.
39442
39443         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
39444
39445         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
39446         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
39447         Don't depend on VMS; depend on __VMS instead, for POSIX
39448         namespace cleanness.
39449         (regoff_t): Define to ssize_t, not long int.
39450
39451         Remove the REG_ macros named below.  Instead, make the old names
39452         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
39453         __USE_GNU_REGEX.
39454         (REG_BACKSLASH_ESCAPE_IN_LISTS):
39455         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
39456         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
39457         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
39458         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
39459         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
39460         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
39461         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
39462         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
39463         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
39464         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
39465         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
39466         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
39467         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
39468         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
39469         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
39470         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
39471         (REG_NREGS):
39472         Remove.  All uses replaced by the old RE_* names.
39473         (RE_BACKSLASH_ESCAPE_IN_LISTS):
39474         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
39475         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
39476         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
39477         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
39478         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
39479         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
39480         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
39481         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
39482         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
39483         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
39484         Don't bother having these macros be independent of each others'
39485         values, since they no longer exist in the POSIX name space.
39486
39487         Rename the following member names back to their old names,
39488         unless !__USE_GNU_REGEX.  All uses changed back.
39489         (buffer): Renamed from re_buffer.
39490         (allocated): Renamed from re_allocated.
39491         (used): Renamed from re_used.
39492         (syntax): Renamed from re_syntax.
39493         (fastmap): Renamed from re_fastmap.
39494         (translate): Renamed from re_translate.
39495         (can_be_null): Renamed from re_can_be_null.
39496         (regs_allocated): Renamed from re_regs_allocated.
39497         (fastmap_accurate): Renamed from re_fastmap_accurate.
39498         (no_sub): Renamed from re_no_sub.
39499         (not_bol): Renamed from re_not_bol.
39500         (not_eol): Renamed from re_not_eol.
39501         (newline_anchor): Renamed from re_newline_anchor.
39502         (num_regs): Renamed from rm_num_regs.
39503         (start): Renamed from rm_start.
39504         (end): Renamed from rm_end.
39505
39506         (free_state): Move up a bit.
39507
39508         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
39509         #define to be empty.
39510         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
39511         when that is what is intended.
39512         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
39513         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
39514         (MAX): New macro.
39515         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
39516         All uses changed back to re_malloc, etc.  It's now the caller's
39517         responsibility to check for overflow; all callers changed.
39518         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
39519         (re_x2nrealloc): Remove.
39520         (free_state): Remove decl.
39521
39522         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
39523         (re_set_registers, re_exec):
39524         Use K&R-style defn.
39525
39526         2006-01-31  Roland McGrath  <roland@redhat.com>
39527
39528         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
39529         Reported by Mike Frysinger <vapier@gentoo.org>.
39530
39531         2006-01-15  Andreas Jaeger  <aj@suse.de>
39532
39533         [BZ #1950]
39534         * lib/regex_internal.c (re_string_reconstruct): Adjust for
39535         build_wcs_upper_buffer change.
39536         (build_wcs_upper_buffer): Change return type.
39537
39538         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
39539
39540         * lib/regex_internal.h: Include <stdint.h> if available.
39541
39542         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
39543
39544         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
39545
39546         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
39547
39548         * lib/regcomp.c: Adjust for changed secondary hash function.
39549
39550         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
39551
39552         * lib/regex.h: Pretty printing.
39553         Clean up namespace a bit.
39554
39555         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
39556
39557         * lib/regexec.c (update_cur_sifted_state, check_arrival,
39558         check_arrival_add_next_nodes): Avoid using uninitialized variable.
39559
39560         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
39561                     Ulrich Drepper  <drepper@redhat.com>
39562
39563         [BZ #1302]
39564         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
39565         changed.
39566         (bitset_word_t): Renamed from bitset_word.  All uses changed.
39567
39568         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
39569
39570         [BZ #281]
39571         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
39572         * lib/regcomp.c: Remove unnecessary uses of
39573         unsigned RE_TRANSLATE_TYPE.
39574         * lib/regex_internal.h: Likewise.
39575         * lib/regex_internal.c: Likewise.
39576         * lib/regexec.c: Likewise.
39577         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
39578
39579         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
39580
39581         * lib/regexec.c (find_recover_state): Remove unnecessary
39582         initialization.
39583         (transit_state_bkref): Make DFA a const pointer.
39584         (get_subexp): Likewise.
39585         (check_arrival): Likewise.
39586         (update_cur_sifted_state): Likewise.
39587         (re_search_internal): Likewise.
39588         (prune_impossible_nodes): Likewise.
39589         (acquire_init_state_context): Likewise.
39590         (proceed_next_node): Likewise.
39591         (set_regs): Likewise.
39592         (free_fail_stack_return): Likewise.
39593         (check_arrival_expand_ecl): Mark DFA parameter as const.
39594         (check_arrival_expand_ecl_sub): Likewise.
39595         (check_subexp_limits): Likewise.
39596         (sub_epsilon_src_nodes):  Likewise.
39597         (add_epsilon_src_nodes):  Likewise.
39598         (merge_state_array): Likewise.
39599         (update_regs): Likewise.
39600         (build_trtable): Likewise.
39601         (sift_states_backward): Mark MCTX parameter as const.
39602         (build_sifted_states): Likewise.
39603         (update_cur_sifted_state): Likewise.
39604         (sift_states_mkref): Likewise.
39605         (check_arrival_expand_ecl): Mark eclosure as const.
39606         (check_dst_limits_calc_pos_1): Likewise.
39607         * lib/regex_internal.h (re_match_context_t): Make dfa a const
39608         pointer.
39609
39610         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
39611
39612         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
39613         (transit_state_sb): Likewise.
39614         (transit_state_mb): Likewise.
39615         (sift_states_iter_mb): Likewise.
39616         (check_arrival_add_next_nodes): Likewise.
39617         (check_node_accept_bytes): Change first parameter to pointer-to-const.
39618         [_LIBC] (re_search_2_stub): Use mempcpy.
39619
39620         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
39621         mbrtowc for very simple UTF-8 case.
39622
39623         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
39624         a pointer-to-const.
39625         (re_acquire_state_context): Likewise.
39626         * lib/regex_internal.h: Adjust prototypes.
39627
39628         * lib/regex.c: Prevent using C++ compilers.
39629
39630         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
39631         (re_acquire_state_context): Likewise.
39632
39633 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39634
39635         * modules/regex (Depends-on): Add ssize_t.
39636
39637 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39638
39639         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
39640         translation table.
39641
39642 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39643
39644         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
39645
39646 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
39647             Bruno Haible  <bruno@clisp.org>
39648
39649         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
39650         <sys/types.h> and <inttypes.h>.
39651
39652 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39653
39654         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
39655         `__error_t_defined', so argp.h will not typedef the former.
39656
39657 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39658
39659         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
39660         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
39661         glibc names.  Even if glibc is changed to conform to POSIX, the
39662         traditional names will be available anyway, since regex depends on
39663         the extensions module.  Also, fix a longstanding typo in the
39664         implementation of Spencer ERE test #75 from grep 2.3.  Problems
39665         reported by Emanuele Giaquinta.  Also, change sense of cached
39666         variable, so that the message makes sense.
39667
39668 2006-03-24  Simon Josefsson  <jas@extundo.com>
39669
39670         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
39671         including some doc fixes.
39672         (base64_encode_alloc): Fix +1 bug on allocation failures.
39673
39674 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39675
39676         * lib/base64.c (base64_encode): Do not read past end of array with
39677         unsanitized input on systems with CHAR_BIT > 8.
39678
39679 2006-03-24  Eric Blake  <ebb9@byu.net>
39680
39681         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
39682
39683 2006-03-22  Karl Berry  <karl@gnu.org>
39684
39685         * config/srclist.txt (*setenv.[ch]): get from coreutils.
39686         * config/srclistvars.sh (COREUTILS): new var.
39687
39688 2006-03-17  Jim Meyering  <jim@meyering.net>
39689
39690         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
39691         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
39692
39693 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39694
39695         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
39696         no longer needs it.  Instead, check that regoff_t is as least
39697         as wide as ptrdiff_t.
39698
39699         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
39700         so that our regex.h stays compatible with the installed regex.
39701         This is helpful for installers who configure --without-included-regex.
39702         Problem reported by Emanuele Giaquinta.
39703
39704 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39705
39706         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
39707         Typedef to long int, not to off_, as POSIX will likely change
39708         in that direction.
39709
39710 2006-03-15  Eric Blake  <ebb9@byu.net>
39711
39712         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
39713
39714 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
39715
39716         * lib/argp-help.c (validate_uparams): Fix typo
39717         * lib/argp-parse.c (argp_default_options): Consistently begin help
39718         messages with a lowercase letter.
39719
39720 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
39721
39722         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
39723         overrun buffers and shouldn't be used (much as gets shouldn't be
39724         used).
39725         * lib/time_r.c (asctime_r, ctime_r): Likewise.
39726
39727 2006-03-08  Simon Josefsson  <jas@extundo.com>
39728
39729         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
39730         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39731
39732 2006-03-08  Simon Josefsson  <jas@extundo.com>
39733
39734         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
39735         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39736
39737 2006-03-08  Simon Josefsson  <jas@extundo.com>
39738
39739         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
39740         signal that configure disabled the device.
39741
39742 2006-03-08  Simon Josefsson  <jas@extundo.com>
39743
39744         * build-aux/maint.mk: Fix refresh-po, to handle no translated
39745         languages.
39746
39747 2006-03-07  Simon Josefsson  <jas@extundo.com>
39748
39749         * modules/getopt (Depends-on): Add unistd.
39750
39751         * modules/unistd: New file.
39752
39753 2006-03-07  Simon Josefsson  <jas@extundo.com>
39754
39755         * modules/gc-random: New file.
39756
39757 2006-03-07  Simon Josefsson  <jas@extundo.com>
39758
39759         * m4/unistd_h.m4: New file.
39760
39761 2006-03-07  Simon Josefsson  <jas@extundo.com>
39762
39763         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
39764         test to be side-effect free by storing the result in the cache
39765         variable gl_cv_lib_readline, and moving the assignment of
39766         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
39767         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39768
39769 2006-03-07  Simon Josefsson  <jas@extundo.com>
39770
39771         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
39772         error on missing devices (the functions will return an error).
39773
39774         * m4/gc.m4: Move random stuff to gc-random.m4
39775
39776 2006-03-07  Simon Josefsson  <jas@extundo.com>
39777
39778         * lib/unistd_.h: New file.
39779
39780 2006-03-07  Simon Josefsson  <jas@extundo.com>
39781
39782         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
39783
39784 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39785
39786         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
39787         Problem reported by Juan Manuel Guerrero.
39788
39789 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39790
39791         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
39792         the unistd module.
39793         * lib/getlogin_r.c: Likewise.
39794         * lib/getlogin_r.h: Likewise.
39795         * lib/glob.c: Likewise.
39796         * lib/pagealign_alloc.c: Likewise.
39797         * lib/unistd_.h: Remove; no longer needed.
39798
39799 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39800
39801         * MODULES.html.sh (Support for systems lacking POSIX:2001):
39802         Add unistd.
39803         * modules/c-stack (Depends-on): Add unistd.
39804         * modules/getlogin_r: Likewise.
39805         * modules/glob: Likewise.
39806         * modules/pagealign_alloc: Likewise.
39807         * modules/unistd (Files): Remove lib/unistd_.h.
39808         (EXTRA_DIST): Remove.
39809         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
39810         need unistd_.h.
39811         (MOSTLYCLEANFILES): Remove unistd.h-t.
39812
39813 2006-03-03  Simon Josefsson  <jas@extundo.com>
39814
39815         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
39816
39817 2006-03-03  Simon Josefsson  <jas@extundo.com>
39818
39819         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
39820         libidn and bison.
39821
39822 2006-03-03  Simon Josefsson  <jas@extundo.com>
39823
39824         * build-aux/maint.mk: Add indent target.
39825
39826 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
39827
39828         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
39829         our replacement poll.h in any case, to avoid a differing
39830         declaration from a system header.  Seen on AIX.
39831
39832 2006-03-01  Simon Josefsson  <jas@extundo.com>
39833
39834         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
39835         <kasal@ucw.cz>.
39836
39837 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39838
39839         * modules/gettime (Depends-on): Add extensions module.
39840         * modules/nanosleep (Depends-on): Likewise.
39841         * modules/settime (Depends-on): Likewise.
39842
39843 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39844
39845         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
39846         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
39847         pedantically.
39848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39849         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
39850
39851         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
39852         not "==".  Reported by Ralf Wildenhues.
39853
39854 2006-03-01  Karl Berry  <karl@gnu.org>
39855
39856         * doc/Copyright/request-*: new files, synced from gnuorg.
39857
39858 2006-03-01  Karl Berry  <karl@gnu.org>
39859
39860         * config/srclist.txt (Copyright/*): new entries.
39861
39862 2006-02-28  Simon Josefsson  <jas@extundo.com>
39863
39864         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
39865
39866 2006-02-27  Simon Josefsson  <jas@extundo.com>
39867
39868         * lib/base64.h: Indent #define's.  From Jim Meyering
39869         <jim@meyering.net>.
39870
39871 2006-02-27  Jim Meyering  <jim@meyering.net>
39872
39873         Revert the change of 2006-02-24, so these files can continue
39874         to be sync'd from gettext.
39875         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
39876         of `config.h'.
39877
39878 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
39879
39880         * modules/intprops: New file.
39881         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39882         Add intprops.
39883         * modules/getloadavg (Files): Remove lib/intprops.h.
39884         (Depends-on): Add intprops.
39885         * modules/human: Likewise.
39886         * modules/inttostr: Likewise.
39887         * modules/openat: Likewise.
39888         * modules/sig2str: Likewise.
39889         * modules/userspec: Likewise.
39890         * modules/utimecmp: Likewise.
39891         * modules/xnanosleep: Likewise.
39892         * modules/xstrtol: Likewise.
39893
39894 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
39895
39896         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
39897         * modules/lock-tests (TESTS): Use $(EXEEXT).
39898         * modules/tls-tests: Likewise.
39899         * modules/argp-tests: Likewise.
39900         (check_PROGRAMS): New var, replacing...
39901         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
39902
39903 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39904
39905         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
39906         `config.h'.
39907
39908 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
39909
39910         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
39911
39912 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39913
39914         Sync from coreutils.
39915         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
39916         gl_CHDIR_SAFER.
39917
39918 2006-02-22  Jim Meyering  <jim@meyering.net>
39919
39920         Sync from coreutils.
39921         * m4/chdir-safer.m4: New file.
39922
39923 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
39924
39925         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
39926         AT_FDCWD exceeds INT_MAX.
39927         * lib/openat.h (AT_FDCWD): Likewise.
39928
39929 2006-02-17  Eric Blake  <address@hidden>
39930
39931         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
39932
39933 2006-02-16  Simon Josefsson  <jas@extundo.com>
39934
39935         * modules/getaddrinfo (Depends-on): Add sys_socket.
39936
39937 2006-02-15  Simon Josefsson  <jas@extundo.com>
39938
39939         * build-aux/maint.mk: Add dsyntax-check rule.
39940
39941 2006-02-15  Eric Blake  <ebb9@byu.net>
39942
39943         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
39944         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
39945         'present but cannot compile' warnings on cygwin.
39946         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
39947         use ws2tcpip.h if sys/socket.h works.
39948         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
39949         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
39950
39951 2006-02-14  Simon Josefsson  <jas@extundo.com>
39952
39953         * modules/maintainer-makefile (Files): Rename.
39954
39955         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
39956         and (the local) Makefile.cfg to maint-cfg.mk.
39957
39958         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
39959         to the latter.
39960
39961         * modules/maintainer-makefile: New module.
39962
39963         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
39964         severaly stripped to make it possible to build it up from scratch
39965         with reliable tests.
39966
39967         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
39968         fixes to permit overriding the default actions when configure and
39969         makefile are not available.
39970
39971 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39972
39973         Sync from coreutils.
39974         * modules/lstat (Depends-on): Don't depend on xalloc.
39975         (License): Change from GPL to LGPL, since this is now simply a
39976         replacement for a libc function.
39977
39978 2006-02-14  Jim Meyering  <jim@meyering.net>
39979
39980         Sync from coreutils.
39981
39982         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
39983         failure on deficient systems, and simplify gnulib lgpl dependencies.
39984         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
39985         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
39986
39987         * lib/xalloc-die.c: Remove unused definition of N_.
39988
39989 2006-02-14  Jim Meyering  <jim@meyering.net>
39990
39991         Sync from coreutils.
39992         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
39993         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
39994         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
39995         double-quote uses of that variable, to accommodate the rare case in
39996         which getmntent is available in none of the libraries checked.  This
39997         happens at least on FreeBSD 5.0.
39998
39999 2006-02-13  Simon Josefsson  <jas@extundo.com>
40000
40001         * gnulib-tool (Usage): Fix --import, from
40002         karl@freefriends.org (Karl Berry).
40003
40004 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
40005
40006         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
40007
40008 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
40009
40010         * lib/argp-namefrob.h: Restore changes accidentally lost during the
40011         "autoupdate" on 2005-12-12.
40012
40013 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
40014
40015         * modules/closeout (Depends-on): Remove atexit.
40016
40017 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
40018
40019         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
40020         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
40021
40022 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
40023
40024         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
40025         __EXTENSIONS__ if this causes compilation to fail.  Problem
40026         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
40027         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
40028
40029 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
40030
40031         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
40032         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
40033         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
40034         All uses changed.
40035
40036 2006-01-26  Simon Josefsson  <jas@extundo.com>
40037
40038         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
40039         prototype is visible on mingw32.
40040
40041         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
40042         for mingw32.
40043
40044         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
40045         mingw32).
40046
40047 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40048
40049         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
40050         attempt to open for write; this always fails, at least on POSIX
40051         hosts.  This reinstates the 2006-01-09 change, which was
40052         inadvertently removed.
40053
40054 2006-01-26  Bruno Haible  <bruno@clisp.org>
40055
40056         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
40057         Reported by Paul Eggert.
40058
40059 2006-01-26  Bruno Haible  <bruno@clisp.org>
40060             Paul Eggert  <eggert@cs.ucla.edu>
40061
40062         * lib/stdbool_.h (_Bool)
40063         [(! (defined __cplusplus || defined __BEOS__)
40064           && !defined __GNUC__
40065           && !(defined __HP_cc || defined __xlc__
40066                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
40067                || defined __sgi))]:
40068         #define to signed char in these cases too; this simplifies
40069         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
40070         etc., separately) and makes it more conservative.
40071
40072 2006-01-25  Simon Josefsson  <jas@extundo.com>
40073
40074         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
40075         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
40076         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
40077
40078 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40079
40080         * lib/argp-namefrob.h: Bugfix. Remove stray #
40081
40082 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40083
40084         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
40085         so that we test the test.
40086         Check for yet another HP-UX cc bug involving *bool |= bool.
40087
40088 2006-01-25  Karl Berry  <karl@gnu.org>
40089
40090         * config/srclist.txt (vasnprintf.c): sync lost.
40091
40092 2006-01-25  Jim Meyering  <jim@meyering.net>
40093
40094         Sync from the stable (b5) branch of coreutils:
40095
40096         * lib/fts.c (fts_children): Don't let close() clobber errno from
40097         failed fchdir().
40098
40099         * lib/fts.c (fts_stat): When following a symlink-to-directory,
40100         don't necessarily interpret stat-fails+lstat-succeeds as indicating
40101         a dangling symlink.  That can also happen at least for ELOOP.
40102         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
40103         FYI, this bug predates the inclusion of fts.c in coreutils.
40104
40105         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
40106         in their own block, so pre-c99 compilers don't object.
40107
40108         Avoid the double-free (first in fts_read, second in fts_close) that
40109         would occur when an `active' directory is made inaccessible (e.g.,
40110         via chmod a-x) during a traversal.
40111         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40112         before returning.  Reproduce this failure by
40113         mkdir -p a/b; cd a; chmod a-x . b
40114         Reported by Stavros Passas.
40115
40116 2006-01-25  Jim Meyering  <jim@meyering.net>
40117
40118         * lib/fileblocks.c: Remove more useless parentheses.
40119         * lib/readutmp.h: Likewise.
40120
40121 2006-01-25  Bruno Haible  <bruno@clisp.org>
40122
40123         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
40124         warnings.
40125         Reported by Paul Eggert.
40126
40127 2006-01-25  Bruno Haible  <bruno@clisp.org>
40128
40129         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
40130         rid of a trap command. For Solaris sh.
40131         Reported by Mark D. Baushke <mdb@gnu.org>.
40132
40133 2006-01-24  Simon Josefsson  <jas@extundo.com>
40134
40135         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
40136         Bruno.
40137
40138 2006-01-24  Karl Berry  <karl@gnu.org>
40139
40140         * config/srclist.txt (argp-namefrob.h): sync lost.
40141
40142 2006-01-24  Jim Meyering  <jim@meyering.net>
40143
40144         * modules/openat (Files): Add lib/intprops.h.
40145         From Mark D. Baushke.
40146
40147 2006-01-24  Jim Meyering  <jim@meyering.net>
40148
40149         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
40150         Reported by Mark D. Baushke.
40151
40152 2006-01-24  Jim Meyering  <jim@meyering.net>
40153
40154         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
40155
40156 2006-01-24  Bruno Haible  <bruno@clisp.org>
40157
40158         * modules/strnlen (Maintainer): Change from glibc to all.
40159
40160 2006-01-24  Bruno Haible  <bruno@clisp.org>
40161
40162         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
40163         Patch by Paul Eggert.
40164
40165 2006-01-24  Bruno Haible  <bruno@clisp.org>
40166
40167         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
40168         already has it.
40169         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
40170         2005-11-26.
40171
40172         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
40173         'signed char' to avoid problems with the built-in _Bool type.
40174         Reported by Paul Eggert on 2005-11-26.
40175
40176 2006-01-24  Bruno Haible  <bruno@clisp.org>
40177
40178         * gnulib-tool (func_import): Avoid constructing complicated sed
40179         expressions inside backquote.
40180         Report and solution by Mark D. Baushke <mdb@gnu.org>.
40181
40182 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
40183
40184         These changes imported from libc.
40185         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
40186         test and two separate function calls.
40187         * lib/strndup.c (__strndup): Add libc_hidden_def.
40188
40189 2006-01-23  Simon Josefsson  <jas@extundo.com>
40190
40191         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
40192         Remove the test_*_SOURCES variable: automake infers it by default.
40193         * modules/tls-tests: Likewise.
40194
40195 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40196
40197         Work around porting bugs reported by Dieter in
40198         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
40199         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
40200         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
40201         Include "getopt.h" first, to check interface.
40202         (getenv): Declare only if defined HAVE_DECL_GETENV &&
40203         !HAVE_DECL_GETENV.
40204         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
40205         (__strndup): Revert to K&R-style function dfns, the glibc style.
40206         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
40207         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
40208         Include strnlen.h first, to get prototype properly.
40209         (strnlen): Renamed from __strnlen.
40210         Remove weak alias.
40211
40212 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40213
40214         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
40215
40216 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40217
40218         * config/srclist.txt: Adjust to reflect glibc reorganization.
40219         This affects only comments.
40220
40221 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40222
40223          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
40224          Reported by Bruce Korb <bkorb@gnu.org>.
40225
40226 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40227
40228         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
40229         to pacify gcc -Wswitch-default.
40230
40231 2006-01-22  Bruno Haible  <bruno@clisp.org>
40232
40233         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
40234         temporary buffer for sprintf, take into account the precision also
40235         for 'd', 'i', 'u', 'o', 'x', 'X'.
40236
40237 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
40238
40239         * modules/argp-tests: New module
40240         * tests/test-argp.c: New file
40241         * tests/test-argp-2.sh: New file
40242
40243 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
40244
40245         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
40246         (__argp_base_name): Removed
40247         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
40248         typo.
40249         (__argp_base_name): Provide macro definition or extern declaration
40250         depending on the configuration
40251
40252 2006-01-20  Simon Josefsson  <jas@extundo.com>
40253
40254         * modules/inet_ntop (Depends-on): Depend on sys_socket.
40255
40256 2006-01-20  Simon Josefsson  <jas@extundo.com>
40257
40258         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
40259
40260 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
40261
40262         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
40263         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
40264         Suggested by Bruno Haible.
40265
40266 2006-01-20  Karl Berry  <karl@gnu.org>
40267
40268         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
40269         until changes propagate, I guess.
40270
40271 2006-01-19  Simon Josefsson  <jas@extundo.com>
40272
40273         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
40274
40275 2006-01-19  Simon Josefsson  <jas@extundo.com>
40276
40277         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
40278
40279 2006-01-19  Simon Josefsson  <jas@extundo.com>
40280
40281         * gnulib-tool: Set check_PROGRAMS.
40282
40283         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
40284         modules/des-tests, modules/gc-arcfour-tests,
40285         modules/gc-arctwo-tests, modules/gc-des-tests,
40286         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
40287         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
40288         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
40289         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
40290         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
40291         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
40292         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
40293         test_*_SOURCES.
40294
40295 2006-01-18  Simon Josefsson  <jas@extundo.com>
40296
40297         * modules/socklen (Depends-on): Depend on sys_socket.
40298
40299 2006-01-18  Simon Josefsson  <jas@extundo.com>
40300
40301         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
40302         modules/des-tests, modules/gc-arcfour-tests,
40303         modules/gc-arctwo-tests, modules/gc-des-tests,
40304         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
40305         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
40306         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
40307         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
40308         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
40309         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
40310         $(EXEEXT) to automake TESTS variable, for mingw32.
40311
40312 2006-01-17  Simon Josefsson  <jas@extundo.com>
40313
40314         * modules/socklen (Include): Need sys/socket.h.
40315
40316 2006-01-17  Bruno Haible  <bruno@clisp.org>
40317
40318         * modules/ssize_t (Include): Add <sys/types.h>.
40319
40320 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
40321
40322         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
40323         it's not portable and it doesn't work with cross-compiles.
40324         Problem reported by Bruno Haible.  Fix missing-$ typo in
40325         'test "gl_cv_ignore_unused_libraries" ...' that prevented
40326         -zignore from being used with Sun's C compiler.
40327
40328 2006-01-12  Simon Josefsson  <jas@extundo.com>
40329
40330         * lib/base64.c: Fix warning, reported by Bruno Haible
40331         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
40332
40333 2006-01-12  Bruno Haible  <bruno@clisp.org>
40334
40335         * modules/ldd: New file.
40336         * build-aux/ldd.sh.in: New file.
40337         * MODULES.html.sh (Support for building libraries and executables): Add
40338         ldd.
40339
40340 2006-01-12  Bruno Haible  <bruno@clisp.org>
40341
40342         * m4/ldd.m4: New file.
40343
40344 2006-01-12  Bruno Haible  <bruno@clisp.org>
40345
40346         * gnulib-tool (func_import, func_create_testdir): Don't go into an
40347         endless loop while replacing $auxdir with build-aux.
40348
40349 2006-01-11  Simon Josefsson  <jas@extundo.com>
40350
40351         * lib/stdint_.h (SIZE_MAX): Add missing (.
40352
40353 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
40354
40355         Sync from coreutils.
40356         * lib/md5.c: Fix commentary typos.
40357         (alignof, UNALIGNED_P): No need for a GCC-specific version.
40358         * lib/md5.h (__attribute__): Remove; unused.
40359         * lib/sha1.c: Fix commentary to match md5 better.
40360         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
40361         so that we don't need to worry about alignment.  All uses changed.
40362         This merges the 2005-10-28 md5 change into sha1.
40363
40364 2006-01-11  Jim Meyering  <jim@meyering.net>
40365
40366         Sync from coreutils.
40367         * lib/md5.c (OP): Fix spacing.
40368
40369 2006-01-11  Bruno Haible  <bruno@clisp.org>
40370
40371         Ensure automatic ordering between gl_LOCK and gl_ARGP.
40372         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
40373         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
40374
40375 2006-01-11  Bruno Haible  <bruno@clisp.org>
40376
40377         Ensure automatic ordering between gl_LOCK and gl_ARGP.
40378         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
40379         the "early" section as well.
40380
40381 2006-01-11  Bruno Haible  <bruno@clisp.org>
40382
40383         Avoid "ar: no archive members specified" error on MacOS X.
40384         * gnulib-tool (func_modules_add_dummy): New function.
40385         (func_import, func_create_testdir): Invoke it.
40386
40387 2006-01-11  Bruno Haible  <bruno@clisp.org>
40388
40389         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
40390         with $auxdir in AC_CONFIG_FILES statements.
40391
40392 2006-01-11  Bruno Haible  <bruno@clisp.org>
40393
40394         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40395         Initialize also noinst_HEADERS to empty.
40396
40397 2006-01-11  Bruno Haible  <bruno@clisp.org>
40398
40399         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
40400         variables.
40401         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
40402         autoreconf.
40403
40404 2006-01-11  Bruno Haible  <bruno@clisp.org>
40405
40406         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
40407         overridable by the user.
40408         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40409
40410 2006-01-10  Simon Josefsson  <jas@extundo.com>
40411
40412         * modules/sys_socket: New file.
40413
40414 2006-01-10  Simon Josefsson  <jas@extundo.com>
40415
40416         * m4/sys_socket_h.m4: New file.
40417
40418 2006-01-10  Simon Josefsson  <jas@extundo.com>
40419
40420         * lib/socket_.h: New file.
40421
40422 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40423
40424         * modules/readutmp (Maintainer): Add myself.
40425
40426 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40427
40428         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
40429         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
40430         People who are still concerned with buggy memcmp implementations
40431         can invoke gl_FUNC_MEMCMP themselves.
40432
40433 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40434
40435         * lib/regex_internal.h (BITSET_WORD_BITS):
40436         Work around a bug in 64-bit PGC (before version 6.1-2), where the
40437         preprocessor mishandles large unsigned values as if they were signed.
40438         Problem reported by Claudio Fontana in
40439         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
40440
40441 2006-01-10  Jim Meyering  <jim@meyering.net>
40442
40443         Avoid the double-free (first in fts_read, second in fts_close) that
40444         would occur when an `active' directory is made inaccessible (e.g.,
40445         via chmod a-x) during a traversal.
40446         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40447         before returning.  Reproduce this failure by
40448         mkdir -p a/b; cd a; chmod a-x . b
40449         Reported by Stavros Passas.
40450
40451         Sync from coreutils.
40452         * lib/sha1.c: Tweak grammar in a comment.
40453
40454 2006-01-10  Jim Meyering  <jim@meyering.net>
40455
40456         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
40457         Patch by Joerg Sonnenberger.
40458
40459 2006-01-10  Bruno Haible  <bruno@clisp.org>
40460
40461         * modules/readutmp: Depend on module free.
40462         * modules/strtok_r: Depend on module restrict.
40463
40464 2006-01-10  Bruno Haible  <bruno@clisp.org>
40465
40466         * modules/gettext (configure.ac): Add an invocation of
40467         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
40468
40469 2006-01-10  Bruno Haible  <bruno@clisp.org>
40470
40471         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
40472         Reported by Werner Lemberg <wl@gnu.org>.
40473
40474 2006-01-10  Bruno Haible  <bruno@clisp.org>
40475
40476         * lib/localcharset.c: Update from GNU gettext.
40477
40478 2006-01-10  Bruno Haible  <bruno@clisp.org>
40479
40480         * lib/argp.h (__const): Remove macro. Use const instead.
40481         * lib/argp-fmtstream.h (__const): Likewise.
40482         * lib/glob_.h (__const): Remove macro.
40483         * lib/glob-libc.h: Use const instead of __const.
40484
40485 2006-01-10  Bruno Haible  <bruno@clisp.org>
40486
40487         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
40488         variable.
40489         Needed to avoid an automake error regarding the 'gettext' module.
40490
40491 2006-01-09  Simon Josefsson  <jas@extundo.com>
40492
40493         * modules/inet_ntop (Depends-on): Add restrict.
40494
40495 2006-01-09  Simon Josefsson  <jas@extundo.com>
40496
40497         * modules/gc-rijndael-tests (License): Put under LGPL.
40498
40499         * modules/gc-des-tests (License): Likewise.
40500
40501         * modules/gc-arcfour-tests (License): Likewise.
40502
40503         * modules/gc-arctwo-tests (License): Likewise.
40504
40505         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
40506
40507         * modules/gc-hmac-sha1-tests (Files): Likewise.
40508
40509         * modules/gc-hmac-md5-tests (License): Likewise.
40510
40511         * modules/gc-sha1-tests (License): Likewise.
40512
40513         * modules/gc-md5-tests (License): Likewise.
40514
40515         * modules/gc-md4-tests (License): Likewise.
40516
40517         * modules/gc-md2-tests (License): Likewise.
40518
40519         * modules/gc-tests (License): Likewise.
40520
40521         * modules/des-tests (License): Likewise.
40522
40523         * modules/md4-tests (License): Likewise.
40524
40525         * modules/md2-tests (License): Likewise.
40526
40527 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40528
40529         Sync from coreutils:
40530
40531         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
40532         * modules/lib-ignore: New file.
40533         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
40534         chdir-safer.m4, lchmod.m4.
40535         * modules/openat: Add mkdirat.c, openat-priv.h.
40536
40537 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40538
40539         Sync from coreutils.
40540         * m4/lib-ignore.m4: New file.
40541         * m4/lchmod.m4: New file.
40542
40543 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40544
40545         Sync from coreutils.
40546         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
40547         for write access: POSIX says that must fail.
40548         * lib/fts.c (diropen): Likewise.
40549         * lib/save-cwd.c (save_cwd): Likewise.
40550         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
40551         well, for minor improvements on hosts that lack O_DIRECTORY.
40552         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
40553         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
40554         Fall back on chown if open failed with EACCES.
40555
40556         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
40557         Report an error at compile-time if only a 1-second nominal clock
40558         resolution is found.
40559
40560         * lib/lchmod.h: New file.
40561         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
40562         (make_dir_parents): Use lchown rather than chown, and
40563         lchmod rather than chmod.
40564
40565         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
40566         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
40567         "proc" reported by n0dalus.
40568
40569         * lib/mountlist.c: Include <limits.h>.
40570         (dev_from_mount_options)
40571         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
40572         New function.  It no longer assumes "dev=" has the System V meaning
40573         on Linux (since it doesn't).  It also parses "dev=" more carefully.
40574         (read_file_system_list)
40575         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
40576         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
40577         dev= in that case.
40578
40579         * lib/posixtm.h (PDS_PRE_2000): New macro.
40580         * lib/posixtm.c (year): Arg is now syntax_bits rather than
40581         allow_century.  All usages changed.  Reject dates outside the range
40582         1969-1999 if PDS_PRE_2000 is used.
40583
40584 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40585
40586         Sync from coreutils.
40587         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
40588         (Time of day items): Mention the possibility of leap seconds.
40589         Problem reported by Dr. David Alan Gilbert.
40590
40591 2006-01-09  Jim Meyering  <jim@meyering.net>
40592
40593         Sync from coreutils.
40594
40595         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
40596
40597         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
40598
40599         * lib/modechange.c (mode_compile): Reject an invalid mode string
40600         that starts with an octal digit.  From Andreas Gruenbacher.
40601
40602         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
40603         and dup to open_safer and dup_safer, respectively.
40604         (openat_permissive): Fix typo in comment.
40605
40606         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
40607         "gettext.h"; either no longer needed or are guaranteed by openat.h.
40608         (_): Remove; no longer needed.
40609         (openat): Renamed from rpl_openat; no need for rpl_openat
40610         since openat.h renames openat for us.
40611         Replace most of the body with a call to openat_permissive,
40612         to avoid duplicate code.
40613         Port to (probably hypothetical) environments were mode_t is
40614         wider than int.
40615         (openat_permissive): Require mode arg, so that we can check
40616         types better.  Put it just after flags.  Change cwd failure
40617         indicator from pointer-to-bool to pointer-to-errno-value.
40618         All callers changed.
40619         Invoke openat_save_fail and/or openat_restore_fail if
40620         cwd_errno is null, so that openat can call us.
40621         (openat_permissive, fdopendir, fstatat, unlinkat):
40622         Simplify errno handling to avoid some duplicate code,
40623         as it's OK to set errno on success.
40624         * lib/openat.h: Revamp code so that function macros depend on
40625         __OPENAT_PREFIX only, not also on AT_FDCWD.
40626         (openat_ro): Remove.  Caller changed to use openat_permissive.
40627         (openat_permissive): Now a macro, if not a function.
40628         (openat_restore_fail, openat_save_fail): Now always functions,
40629         since mkdirat needs them even if __OPENAT_PREFIX is defined.
40630
40631         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
40632         and openat.c.
40633         * lib/mkdirat.c: Include openat-priv.h.
40634         Remove definitions of macros defined therein.
40635         * lib/openat.c: Likewise.
40636
40637         * lib/mkdirat.c (mkdirat): New file and function.
40638         * lib/openat.h (mkdirat): Declare.
40639
40640         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
40641
40642         * lib/openat.h (openat_permissive): Declare.
40643         (openat_ro): Define.
40644
40645         * lib/openat.c (EXPECTED_ERRNO): New macro.
40646         (openat_permissive): New function -- used in remove.c rewrite.
40647         (all functions): Set errno just before returning, only if there
40648         was an actual failure.
40649         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
40650
40651         Emulate openat-family functions using Linux's procfs, if possible.
40652         Idea and some code based on Ulrich Drepper's glibc changes.
40653
40654         * lib/openat.c: (BUILD_PROC_NAME): New macro.
40655         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
40656         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
40657         before falling back on save_cwd and restore_cwd.
40658         (fdopendir, fstatat, unlinkat): Likewise.
40659
40660         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
40661         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
40662
40663         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
40664         as second argument to va_arg.  Otherwise, some versions of gcc
40665         warn that `if this code is reached, the program will abort'.
40666
40667 2006-01-09  Jim Meyering  <jim@meyering.net>
40668
40669         Sync from coreutils.
40670         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
40671         Require openat-priv.h.
40672
40673 2006-01-09  Bruno Haible  <bruno@clisp.org>
40674
40675         * modules/strnlen (Include): Use strnlen.h.
40676
40677 2006-01-09  Bruno Haible  <bruno@clisp.org>
40678
40679         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
40680
40681 2006-01-09  Bruno Haible  <bruno@clisp.org>
40682
40683         * lib/sysexit_.h (EX_OK): New macro.
40684         Suggested by Martin Lambers <marlam@marlam.de>.
40685
40686 2006-01-09  Bruno Haible  <bruno@clisp.org>
40687
40688         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
40689         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
40690
40691 2006-01-09  Bruno Haible  <bruno@clisp.org>
40692
40693         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
40694         numbers.
40695
40696 2006-01-09  Bruno Haible  <bruno@clisp.org>
40697
40698         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
40699         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
40700         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
40701         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
40702
40703 2006-01-09  Bruno Haible  <bruno@clisp.org>
40704
40705         * build-aux/javacomp.sh.in: New file, moved from lib/.
40706         * modules/javacomp-script (Files): Update.
40707         (configure.ac): Add AC_CONFIG_FILES invocation.
40708         (EXTRA_DIST): Remove variable.
40709
40710         * build-aux/javaexec.sh.in: New file, moved from lib/.
40711         * modules/javaexec (Files): Update.
40712         (configure.ac): Add AC_CONFIG_FILES invocation.
40713         (EXTRA_DIST): Remove javaexec.sh.in.
40714
40715         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
40716         * modules/csharpcomp-script (Files): Update.
40717         (configure.ac): Add AC_CONFIG_FILES invocation.
40718         (EXTRA_DIST): Remove variable.
40719
40720         * build-aux/csharpexec.sh.in: New file, moved from lib/.
40721         * modules/csharpexec (Files): Update.
40722         (configure.ac): Add AC_CONFIG_FILES invocation.
40723         (EXTRA_DIST): Remove csharpexec.sh.in.
40724
40725 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40726
40727         Sync from coreutils.
40728
40729         Add POSIX ACL support
40730         * lib/acl.h (copy_acl, set_acl): Add declarations.
40731         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
40732         systems other than Linux.
40733         (chmod_or_fchmod): New function: use fchmod when possible,
40734         and chmod otherwise.
40735         (file_has_acl): Add a POSIX ACL implementation, with a
40736         Linux-specific subcase.
40737         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
40738         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
40739         acls are unsupported.
40740         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
40741         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
40742         are unsupported.
40743
40744 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40745
40746         Sync from coreutils.
40747         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
40748
40749 2006-01-07  Bruno Haible  <bruno@clisp.org>
40750
40751         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
40752         gl_EARLY.
40753
40754 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40755
40756         * lib/strftime.c (tzname): Don't declare if it is already #defined.
40757         Problem reported for Mingw by Mark Junker.
40758
40759 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40760
40761         * README: Gnulib normally doesn't generate a tarball.
40762
40763 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
40764
40765         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
40766         long int, not int, for nanosecond counts, so that people who are
40767         used to POSIX struct timespec won't be surprised.  Reported by Jim
40768         Meyering.
40769
40770 2005-12-28  Bruno Haible  <bruno@clisp.org>
40771
40772         * build-aux/config.rpath: Update from GNU gettext.
40773
40774 2005-12-16  Jim Meyering  <jim@meyering.net>
40775
40776         * modules/fprintftime: New module.
40777         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
40778
40779 2005-12-16  Jim Meyering  <jim@meyering.net>
40780
40781         * m4/fprintftime.m4: New file.
40782
40783 2005-12-16  Jim Meyering  <jim@meyering.net>
40784
40785         * lib/fprintftime.c, lib/fprintftime.h: New files.
40786
40787 2005-12-15  Simon Josefsson  <jas@extundo.com>
40788
40789         * modules/socklen (configure.ac): Fix M4 macro name, to align with
40790         new m4/socklen.m4.
40791
40792 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40793
40794         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
40795         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
40796
40797 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40798
40799         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
40800         * lib/argp-help.c (fill_in_uparams): Check if the constructed
40801         struct uparams is valid. Fall back to the default values if it is
40802         not.
40803
40804 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40805
40806         * modules/argp (Files): Add argp-pin.c
40807         (Depends-on): dirname
40808         (lib_SOURCES): Add argp-pin.c
40809
40810 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40811
40812         * m4/argp.m4:  Check if program_invocation_name and
40813         program_invocation_short_name are declared and define appropriate
40814         macros if they are not.
40815
40816 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40817
40818         * lib/argp-help.c (__argp_base_name): New function
40819         (__argp_short_program_name): Rewrite using __argp_base_name
40820         * lib/argp-namefrob.h: Define program_invocation_name and
40821         program_invocation_short_name if requested
40822         (__argp_base_name): Add prototype
40823         * lib/argp-parse.c (argp_def): Use gettext wrappers
40824         (argp_default_parser): Use __argp_base_name
40825         * lib/argp-pin.c: New file. Defines program_invocation_name and
40826         program_invocation_short_name on systems that lack them.
40827
40828 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40829
40830         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
40831         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
40832         porting problem reported by Georg Schwarz in
40833         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
40834
40835 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40836
40837         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
40838         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
40839         porting problem reported by Georg Schwarz in
40840         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
40841
40842 2005-12-05  Bruno Haible  <bruno@clisp.org>
40843
40844         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
40845         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
40846         Reported by Mark Junker <mjscod@gmx.de>.
40847
40848 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
40849
40850         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
40851         Use implementation from Albert Chin, with some
40852         comments/corrections by Stepan Kasal and myself.
40853
40854 2005-12-02  Bruno Haible  <bruno@clisp.org>
40855
40856         * gnulib-tool (func_import): Accept GPLed build tool modules when
40857         --lgpl is given.
40858         * modules/csharpcomp-script: New file.
40859         * modules/csharpcomp: Depend on it.
40860         * modules/javacomp-script: New file.
40861         * modules/javacomp: Depend on it.
40862         Suggested by Simon Josefsson.
40863
40864 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
40865
40866         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
40867         statement, to work around an HP-UX 10.20 compiler bug reported by
40868         Peter O'Gorman.
40869
40870 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
40871
40872         * modules/savedir (Depends-on): Add openat.
40873
40874 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
40875
40876         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
40877         (uintmax_t) [defined uintmax_t]: Do not declare.
40878         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
40879         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
40880         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
40881         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
40882         sake of portability to weird hosts that C allows (though we don't
40883         know of any practical examples).
40884
40885         * lib/savedir.h (fdsavedir): New decl.
40886         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
40887         contains most of the former guts of savedir.
40888         (savedir): Use savedirstream.
40889         Include "openat.h".
40890
40891 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
40892
40893         * modules/obstack (Files): Add m4/ulonglong.m4.
40894         Problem reported by Davide Angelocola.
40895
40896 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
40897
40898         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
40899         coreutils no longer futzes with rounding modes.
40900
40901 2005-11-14  Jim Meyering  <jim@meyering.net>
40902
40903         * lib/mkstemp-safer.c: Include <config.h>, required for possible
40904         replacement of mkstemp.
40905
40906 2005-11-10  Simon Josefsson  <jas@extundo.com>
40907
40908         * lib/readline.c: Remove EOL.
40909
40910 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40911
40912         * modules/gethrxtime (Depends-on): Add gettime.
40913
40914 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40915
40916         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
40917         or gettimeofday; no longer needed.
40918
40919 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40920
40921         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
40922         time business.
40923         (gethrxtime) [! (HAVE_NANOUPTIME
40924         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
40925         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
40926         our own approximation.
40927
40928 2005-11-08  Eric Blake  <ebb9@byu.net>
40929
40930         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
40931
40932 2005-11-08  Eric Blake  <ebb9@byu.net>
40933
40934         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
40935
40936 2005-11-04  Bruno Haible  <bruno@clisp.org>
40937
40938         * gnulib-tool: Implement --update mode.
40939
40940 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
40941
40942         Fix porting problem reported by Theodoros V. Kalamatianos.
40943         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
40944         Don't assume that futimes failing means we must fail.
40945
40946 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
40947
40948         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
40949         variables to suggest the intended function of the PATH_MAX check.
40950
40951 2005-10-30  Kean Johnston  <jkj@sco.com>
40952
40953         Trivial changes to support SCO systems.
40954         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
40955         as PATH_MAX.
40956         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
40957         where __ptr is null when no I/O is pending.
40958
40959 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
40960
40961         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
40962         leave errno alone.  Problem reported by Dmitry V. Levin.
40963
40964 2005-10-28  Simon Josefsson  <jas@extundo.com>
40965
40966         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
40967         Test more.
40968
40969         * tests/test-gc-md2.c, tests/test-md2.c: New files.
40970
40971         * modules/md2, modules/md2-tests: New files.
40972
40973 2005-10-28  Simon Josefsson  <jas@extundo.com>
40974
40975         * m4/inet_ntop.m4: More tests.
40976
40977         * m4/gc-md2.m4, md2.m4: New file.
40978
40979 2005-10-28  Simon Josefsson  <jas@extundo.com>
40980
40981         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
40982         "restrict" keywords, as per POSIX.  Protect the function
40983         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
40984         Don't use K&R prototypes.  Check the sprintf return values.
40985         Re-define EAFNOSUPPORT if not present.  Indent.
40986
40987         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
40988         suggested by Bruno Haible <bruno@clisp.org>.
40989
40990         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
40991
40992         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
40993
40994         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
40995         libgcrypt).
40996
40997         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
40998
40999         * lib/md2.h, lib/md2.c: New files.
41000
41001 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
41002
41003         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
41004         errno alone.  Problem reported by Frederic Jolliton.
41005
41006 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
41007
41008         * modules/verify (License): Change from GPL to LGPL.  This is a
41009         tiny module and there are apparently near-equivalents that are
41010         under the BSD license.
41011
41012 2005-10-24  Simon Josefsson  <jas@extundo.com>
41013
41014         * modules/sha1: Relicense to LGPL.
41015
41016 2005-10-24  Simon Josefsson  <jas@extundo.com>
41017
41018         * lib/md4.h: Shrink buffer size, now that we changed the type.
41019
41020 2005-10-23  Simon Josefsson  <jas@extundo.com>
41021
41022         * gnulib-tool (func_import): Fix --tests-base.
41023
41024 2005-10-22  Simon Josefsson  <jas@extundo.com>
41025
41026         * modules/arcfour (Depends-on): Need stdint.
41027
41028 2005-10-22  Simon Josefsson  <jas@extundo.com>
41029
41030         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
41031         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
41032
41033 2005-10-22  Simon Josefsson  <jas@extundo.com>
41034
41035         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
41036         suggested by Bruno Haible <bruno@clisp.org>.
41037
41038 2005-10-22  Simon Josefsson  <jas@extundo.com>
41039
41040         * lib/crc.h: Include stddef.h, for size_t.
41041
41042 2005-10-22  Simon Josefsson  <jas@extundo.com>
41043
41044         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
41045         arcfour_context struct (simplify test vector testing in GNU
41046         Shishi).
41047
41048 2005-10-21  Simon Josefsson  <jas@extundo.com>
41049
41050         * modules/des, modules/des-tests: New files.
41051
41052         * modules/gc-des, modules/gc-des-tests: New files.
41053
41054         * tests/test-des.c, tests/test-gc-des.c: New file.
41055
41056 2005-10-21  Simon Josefsson  <jas@extundo.com>
41057
41058         * modules/arctwo, modules/arctwo-tests: New files.
41059
41060         * tests/test-arctwo.c: New file.
41061
41062         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
41063
41064         * tests/test-gc-arctwo.c: New file.
41065
41066 2005-10-21  Simon Josefsson  <jas@extundo.com>
41067
41068         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
41069         Bruno Haible <bruno@clisp.org>.
41070
41071         * m4/gc-des.m4: New file.
41072
41073 2005-10-21  Simon Josefsson  <jas@extundo.com>
41074
41075         * m4/arctwo.m4: New file.
41076
41077         * m4/gc-arctwo.m4: New file.
41078
41079 2005-10-21  Simon Josefsson  <jas@extundo.com>
41080
41081         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
41082         block.
41083
41084 2005-10-21  Simon Josefsson  <jas@extundo.com>
41085
41086         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
41087         <bruno@clisp.org>.
41088
41089         * lib/hmac-sha1.c (hmac_sha1): Likewise.
41090
41091         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
41092         Bruno Haible <bruno@clisp.org>.
41093
41094         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
41095         <bruno@clisp.org>.
41096
41097 2005-10-21  Simon Josefsson  <jas@extundo.com>
41098
41099         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
41100
41101 2005-10-21  Simon Josefsson  <jas@extundo.com>
41102
41103         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
41104
41105 2005-10-21  Simon Josefsson  <jas@extundo.com>
41106
41107         * lib/des.h, lib/des.c: New files.
41108
41109         * lib/gc-gnulib.c: Support DES.c
41110
41111 2005-10-21  Simon Josefsson  <jas@extundo.com>
41112
41113         * lib/arctwo.h, lib/arctwo.c: New files.
41114
41115         * lib/gc-gnulib.c: Support ARCTWO.
41116
41117 2005-10-21  Simon Josefsson  <jas@extundo.com>
41118
41119         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
41120         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41121
41122 2005-10-21  Simon Josefsson  <jas@extundo.com>
41123
41124         * gnulib-tool (func_import, func_create_testdir): Define automake
41125         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
41126         Makefile.am snippet),
41127         suggested by Bruno Haible <bruno@clisp.org>.
41128
41129         * modules/gc (Makefile.am): Use it.
41130
41131 2005-10-21  Bruno Haible  <bruno@clisp.org>
41132
41133         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
41134         patch.
41135
41136 2005-10-19  Simon Josefsson  <jas@extundo.com>
41137
41138         * tests/test-gc-rijndael.c: New file.
41139
41140         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
41141
41142 2005-10-19  Simon Josefsson  <jas@extundo.com>
41143
41144         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
41145         interface too.
41146
41147 2005-10-19  Simon Josefsson  <jas@extundo.com>
41148
41149         * tests/test-gc-arcfour.c: New file.
41150
41151         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
41152
41153 2005-10-19  Simon Josefsson  <jas@extundo.com>
41154
41155         * modules/gc-md4, modules/gc-md4-tests: New file.
41156
41157         * tests/test-gc-md4.c: New file.
41158
41159 2005-10-19  Simon Josefsson  <jas@extundo.com>
41160
41161         * m4/gc-md4.m4: New file.
41162
41163 2005-10-19  Simon Josefsson  <jas@extundo.com>
41164
41165         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
41166         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
41167         <kasal@ucw.cz>.
41168
41169 2005-10-19  Simon Josefsson  <jas@extundo.com>
41170
41171         * m4/gc-arcfour.m4: New file.
41172
41173         * m4/gc-rijndael.m4: New file.
41174
41175 2005-10-19  Simon Josefsson  <jas@extundo.com>
41176
41177         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
41178
41179 2005-10-19  Simon Josefsson  <jas@extundo.com>
41180
41181         * lib/gc-gnulib.c: Support ARCFOUR.
41182
41183 2005-10-19  Simon Josefsson  <jas@extundo.com>
41184
41185         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
41186         support.
41187
41188         * lib/gc.h: Add ECB enum type.
41189
41190         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
41191
41192 2005-10-18  Simon Josefsson  <jas@extundo.com>
41193
41194         * tests/test-md5.c: New file.
41195
41196         * modules/md5-tests: New file.
41197
41198 2005-10-18  Simon Josefsson  <jas@extundo.com>
41199
41200         * tests/test-md4.c: New file.
41201
41202         * modules/md4, modules/md4-tests: New files.
41203
41204 2005-10-18  Simon Josefsson  <jas@extundo.com>
41205
41206         * m4/md4.m4: New file.
41207
41208 2005-10-18  Simon Josefsson  <jas@extundo.com>
41209
41210         * lib/md4.h, lib/md4.c: New files, based on md5.?.
41211
41212 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
41213
41214         * gnulib-tool (func_create_testdir): Omit the second check whether
41215         BUILT_SOURCES in nonempty.
41216
41217 2005-10-17  Simon Josefsson  <jas@extundo.com>
41218
41219         * tests/test-rijndael.c: New file.
41220
41221 2005-10-17  Simon Josefsson  <jas@extundo.com>
41222
41223         * modules/sha1: Depend on stdint instead of md5.
41224
41225         * modules/md5: Depend on stdint, remove uint32_t.
41226
41227 2005-10-17  Simon Josefsson  <jas@extundo.com>
41228
41229         * modules/gc-sha1-tests: New file.
41230
41231         * tests/test-gc-sha1.c: New file.
41232
41233 2005-10-17  Simon Josefsson  <jas@extundo.com>
41234
41235         * m4/md5.m4: Remove call to uint32_t.m4.
41236
41237 2005-10-17  Simon Josefsson  <jas@extundo.com>
41238
41239         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
41240
41241         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
41242         md5.h.
41243
41244         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
41245
41246         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
41247
41248 2005-10-17  Simon Josefsson  <jas@extundo.com>
41249
41250         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
41251
41252 2005-10-17  Simon Josefsson  <jas@extundo.com>
41253
41254         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
41255
41256 2005-10-17  Simon Josefsson  <jas@extundo.com>
41257
41258         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
41259
41260         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
41261
41262 2005-10-17  Bruno Haible  <bruno@clisp.org>
41263
41264         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
41265         that it can also be used in a test.
41266
41267 2005-10-16  Bruno Haible  <bruno@clisp.org>
41268
41269         * gnulib-tool (func_emit_tests_Makefile_am): Also define
41270         TESTS_ENVIRONMENT, so that individual tests can augment it.
41271
41272         * gnulib-tool (func_create_testdir): Use an intermediate target for
41273         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
41274         macros, like $(ALLOCA_H), which cannot be passed through the command
41275         line.
41276
41277 2005-10-15  Simon Josefsson  <jas@extundo.com>
41278
41279         * modules/rijndael-tests: New file.
41280
41281         * modules/rijndael: New file.
41282
41283 2005-10-15  Simon Josefsson  <jas@extundo.com>
41284
41285         * m4/rijndael.m4: New file.
41286
41287 2005-10-15  Simon Josefsson  <jas@extundo.com>
41288
41289         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
41290
41291         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
41292
41293 2005-10-14  Simon Josefsson  <jas@extundo.com>
41294
41295         * tests/test-arcfour.c: New file.
41296
41297         * modules/arcfour, modules/arcfour-tests: New files.
41298
41299 2005-10-14  Simon Josefsson  <jas@extundo.com>
41300
41301         * m4/arcfour.m4: New file.
41302
41303 2005-10-14  Simon Josefsson  <jas@extundo.com>
41304
41305         * lib/arcfour.h, lib/arcfour.c: New files.
41306
41307 2005-10-14  Roland McGrath  <roland@redhat.com>
41308
41309         Import from libc.  [BZ #1331]
41310         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
41311         macro argument.
41312         Reported by Matej Vela <vela@debian.org>.
41313
41314 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
41315
41316         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
41317         include <wchar.h>; no longer needed.
41318
41319 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
41320
41321         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
41322
41323 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
41324         and  Ulrich Drepper  <drepper@redhat.com>
41325
41326         Import from libc.
41327         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
41328         instead of inline stream orientation test and two separate
41329         function calls.  Pay no attention to USE_IN_LIBIO.
41330
41331 2005-10-13  Simon Josefsson  <jas@extundo.com>
41332
41333         * modules/gc-hmac-md5-tests: New file.
41334
41335         * tests/test-gc-hmac-sha1.c: New file.
41336
41337         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
41338
41339         * modules/gc-hmac-md5-tests: New file.
41340
41341         * tests/test-gc-md5.c: New file.
41342
41343         * modules/gc-md5-tests: New file.
41344
41345 2005-10-13  Simon Josefsson  <jas@extundo.com>
41346
41347         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
41348         Move memory allocation outside of loop.
41349
41350 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
41351
41352         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
41353         intermediate directory is in a read-only file system.  Problem
41354         reported by Eric Blake.
41355
41356 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
41357
41358         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
41359
41360 2005-10-12  Simon Josefsson  <jas@extundo.com>
41361
41362         * tests/test-hmac-sha1.c: New file.
41363
41364         * modules/hmac-sha1-tests: New file.
41365
41366         * modules/hmac-sha1: New file.
41367
41368 2005-10-12  Simon Josefsson  <jas@extundo.com>
41369
41370         * modules/gc-sha1: New file.
41371
41372 2005-10-12  Simon Josefsson  <jas@extundo.com>
41373
41374         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
41375
41376         * tests/test-gc-pbkdf2-sha1.c: New file.
41377
41378 2005-10-12  Simon Josefsson  <jas@extundo.com>
41379
41380         * modules/gc-md5, modules/gc-hmac-md5: New files.
41381
41382         * modules/gc (Files): Remove md5, memxor and hmac files.
41383
41384 2005-10-12  Simon Josefsson  <jas@extundo.com>
41385
41386         * m4/gc-pbkdf2-sha1.m4: New file.
41387
41388         * m4/gc-hmac-sha1.m4: New file.
41389
41390         * m4/gc-sha1: New file.
41391
41392         * m4/hmac-sha1.m4: New file.
41393
41394 2005-10-12  Simon Josefsson  <jas@extundo.com>
41395
41396         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
41397
41398         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
41399
41400 2005-10-12  Simon Josefsson  <jas@extundo.com>
41401
41402         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
41403         suggested by Bruno Haible <bruno@clisp.org>.
41404
41405 2005-10-12  Simon Josefsson  <jas@extundo.com>
41406
41407         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
41408
41409 2005-10-12  Simon Josefsson  <jas@extundo.com>
41410
41411         * lib/gc-pbkdf2-sha1.c: New file.
41412
41413         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
41414
41415 2005-10-12  Simon Josefsson  <jas@extundo.com>
41416
41417         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
41418
41419         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
41420
41421 2005-10-12  Simon Josefsson  <jas@extundo.com>
41422
41423         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
41424         GC_USE_HMAC_MD5, respectively.
41425
41426         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
41427         (gc_md5): Fix typo.
41428
41429         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
41430
41431         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
41432
41433         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
41434
41435 2005-10-12  Bruno Haible  <bruno@clisp.org>
41436
41437         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
41438         Reported by Stepan Kasal <kasal@ucw.cz>.
41439
41440 2005-10-11  Simon Josefsson  <jas@extundo.com>
41441
41442         * tests/test-crc.c: New file.
41443
41444         * modules/crc, modules/crc-tests: New files.
41445
41446 2005-10-11  Simon Josefsson  <jas@extundo.com>
41447
41448         * m4/crc.m4: New file.
41449
41450 2005-10-11  Simon Josefsson  <jas@extundo.com>
41451
41452         * lib/gc.h: Add gc_hash and gc_hash_buffer.
41453
41454         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
41455
41456         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
41457
41458 2005-10-11  Simon Josefsson  <jas@extundo.com>
41459
41460         * lib/crc.h, lib/crc.c: New files.
41461
41462         * lib/gc.h (gc_hash_buffer): Add doc.
41463
41464 2005-10-11  Bruno Haible  <bruno@clisp.org>
41465
41466         * modules/c-strcasestr: New file.
41467         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
41468
41469 2005-10-11  Bruno Haible  <bruno@clisp.org>
41470
41471         * modules/c-strcase: New file.
41472         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
41473
41474 2005-10-11  Bruno Haible  <bruno@clisp.org>
41475
41476         * lib/strcasecmp.c: Include limits.h.
41477         (strcasecmp): Avoid integer overflow on exotic platforms.
41478         * lib/strncasecmp.c: Include limits.h.
41479         (strncasecmp): Avoid integer overflow on exotic platforms.
41480         Reported by Paul Eggert.
41481
41482 2005-10-11  Bruno Haible  <bruno@clisp.org>
41483
41484         * lib/c-strcasestr.h: New file, from GNU gettext.
41485         * lib/c-strcasestr.c: New file, from GNU gettext.
41486
41487 2005-10-11  Bruno Haible  <bruno@clisp.org>
41488
41489         * lib/c-strcase.h: New file, from GNU gettext.
41490         * lib/c-strcasecmp.c: New file, from GNU gettext.
41491         * lib/c-strncasecmp.c: New file, from GNU gettext.
41492
41493 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
41494
41495         * modules/mempcpy (License): GPL -> LGPL.
41496         * modules/strchrnul (License): Likewise.
41497         * modules/sysexits (License): Likewise.
41498
41499 2005-10-08  Simon Josefsson  <jas@extundo.com>
41500
41501         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
41502
41503 2005-10-07  Simon Josefsson  <jas@extundo.com>
41504
41505         * m4/memxor.m4: Remove gl_C_RESTRICT call.
41506
41507 2005-10-06  Simon Josefsson  <jas@extundo.com>
41508
41509         * tests/test-hmac-md5.c: New file.
41510
41511         * modules/hmac-md5-tests: New file.
41512
41513         * modules/hmac-md5: New file.
41514
41515 2005-10-06  Simon Josefsson  <jas@extundo.com>
41516
41517         * m4/hmac-md5.m4: New file.
41518
41519         * m4/memxor.m4: Require gl_C_RESTRICT.
41520
41521 2005-10-06  Simon Josefsson  <jas@extundo.com>
41522
41523         * lib/memxor.c (memxor): Avoid casts and warnings.
41524
41525 2005-10-06  Simon Josefsson  <jas@extundo.com>
41526
41527         * lib/hmac-md5.c: New file.
41528
41529         * lib/hmac.h: New file.
41530
41531 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
41532
41533         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
41534         promotes to int, not unsigned int, to catch the AIX 5.3
41535         compiler bug.
41536
41537 2005-10-05  Simon Josefsson  <jas@extundo.com>
41538
41539         * modules/memxor: New file.
41540
41541         * modules/iconv (Files): Move config.rpath to havelib, it is used
41542         there.
41543
41544         * modules/havelib (Files): Add config.rpath.
41545
41546 2005-10-05  Simon Josefsson  <jas@extundo.com>
41547
41548         * m4/memxor.m4: New file.
41549
41550 2005-10-05  Simon Josefsson  <jas@extundo.com>
41551
41552         * lib/memxor.c (memxor): Fix compiler error.
41553
41554         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
41555         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
41556
41557         * lib/memxor.h, lib/memxor.c: New files.
41558
41559         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
41560         we assume all systems have it, suggested by Jim Meyering
41561         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
41562         any systems lack sys/socket.h; mingw32 is known to lack it, but we
41563         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
41564         same reasons.
41565
41566 2005-10-05  Simon Josefsson  <jas@extundo.com>
41567
41568         * config/srclist.txt: Add glibc bug 1423 for md5.h.
41569
41570 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
41571
41572         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
41573         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
41574         needed, since the source code now assumes these .h files.
41575
41576 2005-10-05  Derek Price  <derek@ximbiot.com>
41577
41578         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
41579
41580 2005-10-05  Bruno Haible  <bruno@clisp.org>
41581
41582         * modules/stdint (License): Change to LGPL.
41583
41584 2005-10-04  Simon Josefsson  <jas@extundo.com>
41585
41586         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
41587         D. Baushke" <mdb@gnu.org>.
41588
41589 2005-10-04  Bruno Haible  <bruno@clisp.org>
41590
41591         * lib/verify.h (verify_true): Provide alternative definition for C++.
41592
41593 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
41594
41595         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
41596         (SSIZE_MAX): New macro, if not already defined.
41597         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
41598         than 2 GiB.
41599
41600 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41601
41602         Sync from coreutils.
41603         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
41604         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
41605         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
41606         ULLONG_MAX doesn't work with 2.7.2.1.
41607
41608 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41609
41610         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
41611         From Ben Pfaff.
41612
41613         * modules/exclude (Depends-on): Depend on verify.
41614         * modules/strtoimax (Depends-on): Likewise.
41615         * modules/utimecmp (Depends-on): Likewise.
41616
41617 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41618
41619         * lib/exclude.c: Include verify.h.
41620         (verify): Remove.  All callers changed to use verify.h's version.
41621         * lib/strtoimax.c: Likewise.
41622         * lib/utimecmp.c: Likewis.e
41623
41624         Sync from coreutils.
41625         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
41626         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
41627         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
41628         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
41629         bother returning ENOSYS if settimeofday or stime fails; just let
41630         them return whatever errno they want to return.
41631         * lib/utimens.c: Include unistd.h, for dup2.
41632         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
41633         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
41634
41635 2005-10-02  Jim Meyering  <jim@meyering.net>
41636
41637         Sync from coreutils.
41638         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
41639         from glibc-2.2.5 that fails for read-only files.
41640
41641 2005-10-02  Jim Meyering  <jim@meyering.net>
41642
41643         Sync from coreutils.
41644         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
41645         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
41646         `#if HAVE_CONFIG_H'.
41647         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
41648         Remove AT_FDCWD test.
41649         Do not consume the fd unless successful.
41650         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
41651         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
41652         block, so that we don't even try to compile it if settimeofday is
41653         available.  This works around a compilation failure on OSF1 V5.1,
41654         due to stime requiring a `long int*' while tv_sec is `int'.
41655
41656 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
41657
41658         Sync from coreutils.
41659         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
41660         against `yes', rather than just testing for nonempty.
41661
41662 2005-10-01  Simon Josefsson  <jas@extundo.com>
41663
41664         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
41665         and Darwin.
41666
41667         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
41668         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
41669         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
41670         freeaddrinfo and gai_strerror are declared by the POSIX headers.
41671         Check if struct addrinfo is declared.
41672
41673 2005-10-01  Simon Josefsson  <jas@extundo.com>
41674
41675         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
41676         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
41677         AI_* and EAI_* definitions.  Protect function declarations.
41678
41679 2005-10-01  Jim Meyering  <jim@meyering.net>
41680
41681         Sync from coreutils.
41682
41683         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
41684         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
41685         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
41686         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41687         in the inet and nsl libraries.  Required on Solaris 5.7.
41688
41689 2005-10-01  Jim Meyering  <jim@meyering.net>
41690
41691         Sync from coreutils.
41692         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41693         in the inet and nsl libraries.  Required on Solaris 5.7.
41694
41695 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
41696
41697         * lib/getdelim.c (getdelim): Remove unused variables.
41698
41699 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
41700
41701         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
41702         so that the code works even with ancient cpp.  Portability problem
41703         with GCC 2.7.2.1 reported by Thomas M.Ott.
41704
41705 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
41706
41707         * modules/regex (Depends-on): Add strcase.
41708
41709         * modules/gethostname (Licence): Change from GPL to LGPL, since
41710         gethostname.c is a trivial implementation of a standard library
41711         function.
41712         * modules/poll (License): Change from GPL to LGPL, since it's
41713         derived from LGPL code.
41714
41715 2005-09-27  Jim Meyering  <jim@meyering.net>
41716
41717         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
41718         HAVE_CONFIG_H.
41719
41720         * lib/intprops.h (signed_type_or_expr__): Define.
41721         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
41722         for unsigned types.
41723
41724 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41725
41726         * lib/verify.h (verify_expr): Remove, replacing with:
41727         (verify_true): New macro that returns true instead of void.
41728         (verify_type__): Remove.
41729         (verify): Use verify_true rather than verify_type__.
41730
41731 2005-09-26  Bruno Haible  <bruno@clisp.org>
41732
41733         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
41734         is necessary.
41735         (lib_SOURCES): Remove mbchar.c.
41736         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
41737         (Files): Add m4/mbrtowc.m4.
41738         * modules/mbiter: Likewise.
41739         * modules/mbuiter: Likewise.
41740
41741 2005-09-26  Bruno Haible  <bruno@clisp.org>
41742
41743         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
41744         compile mbchar.c if they are not both present.
41745         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
41746         * m4/mbiter.m4 (gl_MBITER): Likewise.
41747         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
41748         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
41749         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
41750
41751 2005-09-25  Jim Meyering  <jim@meyering.net>
41752
41753         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
41754         also uses socklen_t.
41755
41756 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
41757
41758         * lib/utimens.c (ENOSYS): Define if not already defined.
41759         (futimens): Support having a null PATH if the file descriptor
41760         is nonnegative.
41761
41762         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
41763         Remove.
41764         (__attribute): Define to empty unless GCC 3.1 or later.
41765         This works around a core dump on OpenBSD 3.4, which has GCC
41766         2.95.3, which dumps core when given __attribute__(()).  It also
41767         simplifies other tests, since we really don't want to bother with
41768         worrying about which ancient version of GCC supported what.
41769         Original problem reported by Yoann Vandoorselaere, with part of
41770         the fix suggested by Derek Price.
41771
41772 2005-09-24  Jim Meyering  <jim@meyering.net>
41773
41774         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
41775         so we can once again use a positive bitfield width of 1 -- now we
41776         don't have to explain why we were using a bitfield width of 2.
41777
41778 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41779
41780         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
41781         and similarly for the other external symbols.  Problem reported
41782         by James Gallager.
41783
41784         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
41785         bug reported by Jim Meyering.
41786
41787         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
41788         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
41789         not needed, since socklen is a prerequisite module.
41790
41791 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41792
41793         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
41794         Problem reported by Eric Blake.
41795         (getaddrinfo): Initialize se so that it's not garbage.
41796         Redo internal storage allocation so that it doesn't make unportable
41797         assumptions about alignment.
41798         Fix a memory leak.
41799
41800         * lib/utimens.c (futimens): Use futimesat if available.
41801         Prefer it to futimes since it doesn't have the futimes bug.
41802
41803         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
41804         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
41805         Instead, declare a function that returns a pointer to an array,
41806         and use verify_type__ to declare the size of the array.
41807         Problem and germ of a solution reported by Bruno Haible.
41808         (verify_type__): Use 2, not 1, for bitfield size, to avoid
41809         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
41810
41811 2005-09-23  Jim Meyering  <jim@meyering.net>
41812
41813         Sync from coreutils.
41814         Correct build failure (socklen_t not defined) on at least
41815         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
41816         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
41817
41818 2005-09-23  Jim Meyering  <jim@meyering.net>
41819
41820         * modules/getaddrinfo (Depends-on): Add socklen.
41821
41822 2005-09-23  Bruno Haible  <bruno@clisp.org>
41823
41824         * tests/test-verify.c: New file.
41825
41826 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41827
41828         Sync from coreutils.
41829
41830         * modules/argmatch (Depends-on): Add verify.
41831         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
41832         unistd-safer.
41833         * modules/save-cwd (Depends-on): Likewise.
41834
41835         * modules/openat (Files): Add lib/openat-die.c.
41836         (Depends-on): Remove error, exitfail.
41837         Add dirname.
41838
41839         * modules/verify: New file.
41840         * MODULES.html.sh (Diagnostics <assert.h>): New section,
41841         with "verify" module.
41842
41843 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41844
41845         Sync from coreutils.
41846
41847         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
41848         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
41849         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
41850         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
41851         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
41852         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
41853         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
41854         Don't bother checking for string.h, stdlib.h, unistd.h.
41855         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
41856         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
41857         module's job.
41858         * m4/jm-macros.m4 (gl_MACROS): Likewise.
41859         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
41860
41861         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
41862         (gl_GETDATE): Use it.
41863
41864         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
41865
41866 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41867
41868         Sync from coreutils.
41869
41870         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
41871         stat-time.h.
41872         * lib/argmatch.h: Include verify.h
41873         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
41874         (ARGMATCH_ASSERT): Remove; unused.
41875         * lib/canonicalize.c: Assume STDC_HEADERS.
41876         * lib/exclude.c: Include "strcase.h".
41877         * lib/regex_internal.h [!defined _LIBC]: Likewise.
41878         * lib/getusershell.c: Include stdio--.h rather than stdio.h
41879         and stdio-safer.h.
41880         (getusershell): Call fopen, not fopen_safer.
41881         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
41882         Do not include unistd-safer.h.
41883         (save_cwd): Don't call fd_safer; no longer needed
41884         now that we include fcntl--.h.
41885
41886         * lib/getdate.y (relative_time): New type.
41887         (RELATIVE_TIME_0): New constant.
41888         (parser_control): Use relative_time instead of doing it ourselves.
41889         (%union): Add new relative_time rel member.
41890         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
41891         Now typeless.
41892         (relunit, relunit_snumber): Now of type rel.
41893         (zone, rel, relunit, get_date): Adjust to above changes.
41894
41895         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
41896         Do not include unistd-safer.h.
41897         (getloadavg): Don't call fd_safer; no longer needed
41898         now that we include fcntl--.h.
41899
41900         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
41901         (make_dir_parents): Treat ENOSYS like EEXIST.
41902
41903         Improve quality of diagnostics on restore_cwd failure.
41904         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
41905         (make_dir_parents): Last arg is now int * (for errno), not bool *.
41906         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
41907         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
41908         each time through the loop.  Do not diagnose restore_cwd failure;
41909         that is the caller's job (and perhaps the caller does not care).
41910
41911         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
41912         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
41913         If the file already exists but is not a directory, don't bother
41914         to try to make its parents.
41915         Close potential file descriptor leak if we can't chdir("/") (!).
41916         Don't always return true if chdir($PWD) fails; return true only
41917         if the requested action was done successfully (except for the
41918         chdir($PWD)).
41919         Don't log final directory unless we actually made it.
41920         Refactor to avoid duplicate code to fix up permissions.
41921         Don't attempt to fix up parent permissions if chdir($PWD) fails.
41922
41923         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
41924         to make it a bit faster and (I hope) clearer.
41925         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
41926         Fix bug in formats like %2N.
41927
41928         * lib/verify.h: New file.
41929
41930 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41931
41932         Sync from coreutils.
41933         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
41934
41935 2005-09-22  Jim Meyering  <jim@meyering.net>
41936
41937         Sync from coreutils.
41938
41939         * m4/lstat.m4 (gl_FUNC_LSTAT):
41940         Use AC_LIBSOURCES to require lstat.c and lstat.h.
41941         Remove obsolete comment.
41942         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
41943         * m4/xstrtod.m4: Likewise.
41944
41945         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
41946
41947 2005-09-22  Jim Meyering  <jim@meyering.net>
41948
41949         Sync from coreutils.
41950
41951         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
41952
41953         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
41954         the .tm_year member, since otherwise gcc-4.0 would now warn about
41955         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
41956
41957         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
41958         order to avoid an unsuppressible warning from gcc on 64-bit systems.
41959
41960         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
41961         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
41962         when run in a time zone for which daylight savings time is in effect
41963         for the starting date.
41964
41965         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
41966         stop us from restricting permissions of just-created absolute-named
41967         directories.
41968         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
41969         to restore initial working directory.
41970         * lib/mkdir-p.c (make_dir_parents): New parameter:
41971         different_working_dir, to tell caller if/when we change the working
41972         directory and are unable to return to the initial one.
41973         * lib/mkdir-p.h (make_dir_parents): Update prototype.
41974         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
41975         `return false'.  This fixes a bug introduced on 2004-07-30.
41976
41977         * lib/openat.c (fdopendir): Be sure to close the supplied
41978         file descriptor before returning.  This makes our replacement
41979         implementation a little closer to Solaris's, where fdopendir
41980         ties the file descriptor to the returned DIR* pointer.
41981         * lib/openat.c (unlinkat): New function.
41982         * lib/openat.h (unlinkat): Add prototype.
41983         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
41984         (openat_restore_fail): Rename from openat_restore_die.
41985         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
41986
41987         Provide an alternative to exiting immediately upon save_cwd or
41988         restore_cwd failure.  Now, an application can arrange e.g.,
41989         to perform a longjump in that case.
41990         * lib/openat.c: Include dirname.h.
41991         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
41992         (rpl_openat, fdopendir, fstatat): Call openat_save_die
41993         and openat_restore_die rather than calling error directly.
41994         Don't include "error.h" or "exitfail.h"; they're no longer needed.
41995
41996         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
41997         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
41998         define.
41999
42000         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
42001         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
42002                             int utc, int nanoseconds);
42003         Background:
42004         date should not have to allocate a megabyte of virtual memory to
42005         handle a format argument like +%1048575T.  When implemented with
42006         strftime, it must allocate such a buffer, use strftime to fill it
42007         in, print it, then free it.
42008         With fprintftime, it simply prints everything and exits.
42009         With no need for memory allocation, that's one fewer way to fail.
42010         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
42011         optional field width, not before, so we accept %9:z, not %:9z.
42012         (my_strftime): Be sure to use L_('x') for literals.
42013
42014         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
42015         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
42016         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
42017         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
42018         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
42019         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
42020         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
42021         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
42022         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
42023         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
42024         * lib/xgethostname.c, lib/xreadlink.c:
42025         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
42026
42027         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
42028         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
42029         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
42030         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
42031         and don't include <sys/file.h>).
42032
42033 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
42034
42035         Sync from coreutils.
42036
42037         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
42038         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
42039         [!LDAV_DONE]: Avoid unused variable warning.
42040
42041 2005-09-21  Bruno Haible  <bruno@clisp.org>
42042
42043         * lib/unicodeio.h (unicode_to_mb): New declaration.
42044
42045 2005-09-20  Derek Price  <derek@ximbiot.com>
42046
42047         * lib/getaddrinfo.c: Don't include <netdb.h> included from
42048         getaddrinfo.h.
42049
42050 2005-09-20  Bruno Haible  <bruno@clisp.org>
42051
42052         * gnulib-tool: Remove trailing slashes from the values specified for
42053         --source-base, --m4-base, --tests-base, --aux-dir.
42054         Suggested by Simon Josefsson <jas@extundo.com>.
42055
42056 2005-09-20  Bruno Haible  <bruno@clisp.org>
42057
42058         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
42059         func_modules_to_filelist, func_import, func_create_testdir): Make all
42060         sorting results locale-independent, so that gnulib-cache.m4 doesn't
42061         change when gnulib-tool is invoked in a different locale.
42062
42063 2005-09-19  Simon Josefsson  <jas@extundo.com>
42064
42065         * m4/socklen.m4: Fix typo.
42066
42067 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42068
42069         Use a consistent style for including <config.h>.
42070         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
42071         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
42072         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
42073         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
42074         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
42075         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
42076         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
42077         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
42078         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
42079         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
42080         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
42081         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
42082         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
42083         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
42084         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
42085         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
42086         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
42087         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
42088         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
42089         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
42090         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
42091         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
42092         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
42093         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
42094         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
42095         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
42096         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
42097         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
42098         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
42099         lib/xstrtoumax.c, lib/yesno.c:
42100         Standardize inclusion of config.h.
42101         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
42102         lib/inttostr.h:  Removed inclusion of config.h from header files.
42103         * lib/inttostr.c:  Adjusted in-tree users.
42104         * lib/timespec.h: Remove superfluous warning to include config.h.
42105         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
42106         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
42107         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
42108         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
42109         config.h with HAVE_CONFIG_H.
42110
42111 2005-09-19  Jim Meyering  <jim@meyering.net>
42112
42113         * modules/pathmax (License): Change to LGPL.
42114
42115 2005-09-19  Derek Price  <derek@ximbiot.com>
42116
42117         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
42118
42119 2005-09-19  Bruno Haible  <bruno@clisp.org>
42120
42121         * gnulib-tool (import): Provide default for --tests-base.
42122
42123 2005-09-19  Bruno Haible  <bruno@clisp.org>
42124
42125         * doc/quote.texi: New file, extracted from gnulib.texi.
42126         * doc/ctime.texi: New file, extracted from gnulib.texi.
42127         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
42128         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
42129         * doc/gnulib.texi: Include them.
42130
42131 2005-09-18  Bruno Haible  <bruno@clisp.org>
42132
42133         Portability fix.
42134         * gnulib-tool (func_readlink): New function.
42135         (func_ln_if_changed): Use it.
42136
42137 2005-09-18  Bruno Haible  <bruno@clisp.org>
42138
42139         * gnulib-tool: Support --with-tests also with --import.
42140         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
42141         (func_import): Use variables $testsbase and $inctests. Emit a
42142         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
42143         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
42144         SUBDIRS += $testsdir.
42145         (func_create_testdir): Update.
42146
42147 2005-09-18  Bruno Haible  <bruno@clisp.org>
42148
42149         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
42150         instead of $dry_run.
42151         (func_cp_if_changed, func_mv_if_changed): Remove functions.
42152         (func_ln_if_changed): Don't handle dry-run here.
42153         (func_import): In dry-run mode, detect more precisely which actions
42154         would be performed, and don't use "...ing" verbs.
42155
42156 2005-09-18  Bruno Haible  <bruno@clisp.org>
42157
42158         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
42159         (func_import): Use join on two temporary files instead of three nested
42160         loops, in order to determine which files are new or old.
42161
42162 2005-09-18  Bruno Haible  <bruno@clisp.org>
42163
42164         * gnulib-tool (func_import): Comment out code that spits out the
42165         new files with --dry-run.
42166
42167 2005-09-18  Bruno Haible  <bruno@clisp.org>
42168
42169         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
42170
42171 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42172
42173         * lib/stat-time.h: New file.
42174         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
42175         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
42176         in a different way.
42177         (timespec_cmp): New function.
42178         * lib/utimecmp.c: Include stat-time.h.
42179         (SYSCALL_RESOLUTION): Depend on whether various struct stat
42180         members exist, not on the obsolescent ST_MTIM_NSEC.
42181         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
42182
42183 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42184
42185         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
42186
42187 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42188
42189         * MODULES.html.sh (File system functions): Add stat-time.
42190         * modules/stat-time: New file.
42191         * modules/timespec (Files): Remove m4/st_mtim.m4; this
42192         is now done in a different way, by the stat-time module.
42193         * modules/utimecmp (Depends-on): Add stat-time.
42194
42195 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
42196
42197         * m4/st_mtim.m4: Remove.  Superseded by...
42198         * m4/stat-time.m4: New file.
42199         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
42200         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
42201
42202 2005-09-15  Derek Price  <derek@ximbiot.com>
42203
42204         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
42205
42206 2005-09-15  Derek Price  <derek@ximbiot.com>
42207
42208         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
42209         * lib/regex_internal.c: Ditto, using this...
42210         (__GNUC_PREREQ): ...new macro.
42211         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
42212         using...
42213         (__GNUC_PREREQ): ...this new macro.
42214
42215         * lib/strstr.h: Include string.h. Define strstr as a macro here.
42216
42217 2005-09-15  Derek Price  <derek@ximbiot.com>
42218             Paul Eggert  <eggert@cs.ucla.edu>
42219
42220         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
42221         changes, consolidating in...
42222         * lib/regex_internal.h: ...this file.
42223
42224 2005-09-13  Jim Meyering  <jim@meyering.net>
42225
42226         * lib/canon-host.c: Filter through gnu indent and reword comments
42227         slightly.
42228         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
42229
42230 2005-09-13  Derek Price  <derek@ximbiot.com>
42231
42232         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
42233         failure.
42234         Reported by Jim Meyering  <jim@meyering.net>.
42235
42236 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
42237
42238         * lib/base64.c: Typo.
42239         (base64_encode): Put b64str in initialized data section.
42240
42241 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
42242
42243         Merge glibc and coreutils changes into gnulib, plus a few
42244         extra fixes.
42245         * lib/md5.c: Use #error rather than a string.
42246         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
42247         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
42248         (__attribute__): Define to empty for non recent-GCC.
42249         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
42250         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
42251         Renamed from their non-__ counterparts, with new macros replacing
42252         them if not _LIBC.  Add __THROW attribute.
42253         (rol): Remove.
42254         (struct md5_ctx): Align buffer if using GCC.
42255         * lib/sha1.h (struct sha1_ctx): Likewise.
42256         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
42257         The old name was backwards.
42258         (NOTSWAP): Remove; not used.
42259         (rol): New macro, moved here from md5.h.
42260         (sha1_process_block): Remove a FIXME that doesn't make sense.
42261
42262 2005-09-12  Derek Price  <derek@ximbiot.com>
42263
42264         Return usable errors from canon-host.
42265         * lib/canon-host.h: New file.
42266         * lib/canon-host.c (canon_host): Wrap...
42267         (canon_host_r): ...this new function, which now relies exclusively on
42268         getaddrinfo.
42269         (ch_strerror): New function.
42270         (last_cherror): New global.
42271         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
42272         interface.
42273         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
42274         void *.
42275         (freeaddrinfo): Free ai->ai_canonname when set.
42276
42277 2005-09-12  Derek Price  <derek@ximbiot.com>
42278
42279         Make canon-host require getaddrinfo.
42280         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
42281         AC_LIBSOURCE canon-host.h.  Call...
42282         (gl_PREREQ_CANON_HOST): ...this new function, which requires
42283         gl_GETADDRINFO.
42284         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
42285
42286 2005-09-12  Derek Price  <derek@ximbiot.com>
42287
42288         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
42289         LGPL.
42290         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
42291
42292 2005-09-12  Derek Price  <derek@ximbiot.com>
42293
42294         * lib/gai_strerror.c: Include config.h when available.  Include
42295         getaddrinfo.h before other headers to test interface.
42296         Reported by Larry Jones <lawrence.jones@ugs.com>.
42297
42298 2005-09-12  Derek Price  <derek@ximbiot.com>
42299             Paul Eggert  <eggert@cs.ucla.edu>
42300
42301         * modules/glob (Files): Add glob-libc.h.
42302
42303 2005-09-12  Derek Price  <derek@ximbiot.com>
42304             Paul Eggert  <eggert@cs.ucla.edu>
42305
42306         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
42307         glob_.h, glob-libc.h.
42308         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
42309
42310 2005-09-12  Derek Price  <derek@ximbiot.com>
42311             Paul Eggert  <eggert@cs.ucla.edu>
42312
42313         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
42314         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
42315         protecting things that should be done only in gnulib contexts.
42316         * lib/glob_.h: New file, containing only the glob things needed for
42317         gnulib.
42318         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
42319         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
42320         (glob, globfree, glob_pattern_p): Now defined simply in terms of
42321         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
42322         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
42323         and to respect the namespace rules better.
42324
42325 2005-09-08  Simon Josefsson  <jas@extundo.com>
42326
42327         * modules/socklen: New file.
42328
42329 2005-09-08  Simon Josefsson  <jas@extundo.com>
42330
42331         * m4/socklen.m4: New file.
42332
42333 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42334
42335         * modules/utimens (Files): Add m4/utimbuf.m4, since
42336         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
42337         Reported by Sergey Poznyakoff.
42338
42339 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42340
42341         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
42342         definitions, since that's the preferred style in glibc.
42343         Fix a minor spacing issue, and update copyright notice to match
42344         glibc's.
42345
42346 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42347
42348         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
42349
42350 2005-09-06  Simon Josefsson  <jas@extundo.com>
42351
42352         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
42353         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
42354
42355 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42356
42357         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
42358         warning.
42359
42360 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42361
42362         * config/srclist.txt: Add glibc bug 1302.
42363
42364 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
42365
42366         Change bitset word type from unsigned int to unsigned long int,
42367         as this has better performance on typical 64-bit hosts.
42368         Port bitset code to hosts with unusual word sizes.
42369         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
42370         (build_collating_symbol):
42371         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
42372         argument is a bitset.  This is merely a style issue, but it makes
42373         it clearer that an entire array is expected.
42374         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
42375         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
42376         Port to the case where bitset_word is not the same as unsigned int.
42377         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42378         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
42379         Likewise.
42380         * lib/regexec.c (check_dst_limits_calc_pos_1,
42381         check_subexp_matching_top):
42382         (build_trtable, group_nodes_into_DFAstates):
42383         Likewise.
42384         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
42385         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
42386         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
42387         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
42388         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
42389         * lib/regcomp.c (optimize_subexps, lower_subexp):
42390         Work even if bitset_word has holes in its bitwise representation.
42391         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
42392         * lib/regexec.c (check_dst_limits_calc_pos_1,
42393         check_subexp_matching_top):
42394         Likewise.
42395         * lib/regex_internal.c (re_string_reconstruct):
42396         Don't assume UCHAR_MAX == 255.
42397         * lib/regex_internal.h (bitset_set_all): Likewise.
42398         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
42399         All uses changed.
42400         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
42401         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
42402         All uses changed.
42403         (BITSET_WORD_MAX): New macro.
42404         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
42405         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
42406         (bitset_empty, bitset_copy):
42407         Prefer sizeof (bitset) to multiplying it out ourselves.
42408         (bitset_not_merge): Remove; unused.
42409         (bitset_contain): Return bool, not unsigned int with one bit on.
42410         All callers changed.
42411         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
42412         alignment than re_node_set; do this by defining a new internal
42413         type struct dests_alloc and using it to allocate memory.
42414
42415 2005-09-05  Bruno Haible  <bruno@clisp.org>
42416
42417         * gnulib-tool (func_import): Fix comparison in handling of symbolic
42418         links.
42419
42420 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
42421
42422         * modules/size_max (Makefile.am): Add size_max.h
42423
42424 2005-09-04  Derek Price  <derek@ximbiot.com>
42425
42426         * gnulib-tool (func_import): Fix reversed $symbolic logic.
42427
42428 2005-09-03  Simon Josefsson  <jas@extundo.com>
42429
42430         * gnulib-tool: Fix typo.
42431
42432 2005-09-03  Simon Josefsson  <jas@extundo.com>
42433
42434         * config/srclist.txt: Add glibc bug 1293.
42435
42436 2005-09-03  Derek Price  <derek@ximbiot.com>
42437
42438         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
42439         From Larry Jones <lawrence.jones@ugs.com>.
42440
42441 2005-09-02  Simon Josefsson  <jas@extundo.com>
42442
42443         * modules/socklen: New file.
42444
42445 2005-09-02  Simon Josefsson  <jas@extundo.com>
42446
42447         * modules/havelib: New module.
42448
42449         * modules/gettext, modules/iconv, modules/lock, modules/readline:
42450         Use havelib.
42451
42452 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42453
42454         Check for arithmetic overflow when calculating sizes, to prevent
42455         some buffer-overflow issues.  These patches are conservative, in the
42456         sense that when I couldn't determine whether an overflow was possible,
42457         I inserted a run-time check.
42458         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
42459         macros.
42460         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
42461         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
42462         (re_xnrealloc, re_x2nrealloc): New inline functions.
42463         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
42464         parse_bracket_exp):
42465         (build_equiv_class, build_charclass): Check for arithmetic overflow
42466         in size expression calculations.
42467         * lib/regex_internal.c (re_string_realloc_buffers):
42468         (build_wcs_upper_buffer, re_node_set_add_intersect):
42469         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
42470         (re_dfa_add_node, register_state): Likewise.
42471         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
42472         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
42473         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
42474         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
42475
42476 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42477
42478         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
42479         m4/ulonglong.m4.  Problem reported by Martin Lambers.
42480
42481 2005-09-02  Bruno Haible  <bruno@clisp.org>
42482
42483         Support for lib vs. lib64 distinction on biarch platforms.
42484         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
42485         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
42486         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
42487
42488 2005-09-02  Bruno Haible  <bruno@clisp.org>
42489
42490         * gnulib-tool (import): In the other first-use case, provide defaults
42491         as well.
42492
42493 2005-09-02  Bruno Haible  <bruno@clisp.org>
42494
42495         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
42496         patches not yet found in the latest gettext release.
42497
42498 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42499
42500         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
42501         to avoid a collision with bits/local_lim.h in glibc.
42502         All uses changed.  Problem reported by Dmitry V. Levin in
42503         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
42504
42505         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
42506         bugs in int versus size_t comparisons.
42507         (re_string_context_at): Fix bug where the code assumed that
42508         Idx is signed.
42509
42510         Use bool where appropriate.
42511         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
42512         All callers changed.
42513         (calc_eclosure_iter): Likewise, for ROOT arg.
42514         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
42515         (build_charclass_op): Likewise, for NON_MATCH arg.
42516         * lib/regex_internal.c (re_string_allocate, re_string_construct):
42517         (re_string_construct_common): Likewise, for ICASE arg.
42518         * lib/regexec.c (re_search_2_stub, re_search_stub):
42519         Likewise, for RET_LEN arg.
42520         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
42521         (set_regs): Likewise, for FL_BACKTRACK arg.
42522         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
42523         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
42524         (calc_eclosure_iter, parse_bracket_exp):
42525         Use bool for internal variables that are booleans.
42526         * lib/regexec.c (re_search_internal, check_matching,
42527         proceed_next_node):
42528         (set_regs, build_sifted_states, sift_states_bkref):
42529         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
42530         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42531         (find_collation_sequence_value):
42532         Likewise.
42533         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
42534         (re_node_set_compare):
42535         Return bool, not int. All callers changed.
42536         * lib/regexec.c (check_halt_node_context, check_dst_limits):
42537         (build_trtable, check_node_accept): Likewise.
42538         * lib/regex_internal.h: Include stdbool.h.
42539
42540         Fix bugs uncovered when converting to bool.
42541         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
42542         failure instead of charging ahead blindly.
42543         * lib/regex_internal.c (register_state): Likewise.
42544         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
42545         for freeing internal storage.
42546         (group_nodes_into_DFA_states): Use unsigned int, not int, for
42547         bitset pieces used as boolean, to avoid undefined behavior
42548         on hosts that do int overflow checking.
42549
42550 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42551
42552         * config/srclist.txt: Add glibc bugs 1285-1287.
42553
42554 2005-09-01  Jim Meyering  <jim@meyering.net>
42555
42556         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
42557         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
42558         Require gl_STAT_MACROS, too.
42559
42560 2005-09-01  Bruno Haible  <bruno@clisp.org>
42561
42562         * gnulib-tool (import): In the first-use case, provide defaults.
42563
42564 2005-09-01  Bruno Haible  <bruno@clisp.org>
42565
42566         * gnulib-tool (func_import): Remove the .tmp files.
42567
42568 2005-09-01  Bruno Haible  <bruno@clisp.org>
42569
42570         * gnulib-tool (func_import): Fix handling of symbolic links.
42571
42572 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42573
42574         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
42575         old glibc regex code mishandles strings longer than 2**31 bytes.
42576         This patch fixes this when the regex code is used in gnulib
42577         (i.e., outside glibc).
42578
42579         This patch should not affect the use of the regex code inside
42580         glibc.  No doubt this problem also needs to be handled for glibc
42581         as well, but the result will be an incompatible change to the
42582         glibc ABI, and the old ABI will have to be supported too.  That
42583         can be the the subject for another patch.
42584
42585         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
42586         governing whether the rest of this patch is active.  By default,
42587         the macro is disabled and the patch has no effect.
42588         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
42589         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
42590         (struct re_pattern_buffer, re_search, re_search_2, re_match):
42591         (re_match_2, re_set_registers): Use the new types.
42592         * lib/regex_internal.h (Idx, re_hashval_t): New types.
42593         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
42594         New macros.
42595         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
42596         (re_string_context_at, bin_tree_t, re_dfastate_t):
42597         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
42598         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
42599         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
42600         (re_string_char_size_at, re_string_wchar_at):
42601         (re_string_elem_size_at):
42602         Use the new types and macros to port to 64-bit hosts.
42603         Use unsigned types for internal values, so that the code
42604         mostly works even for arrays larger than SSIZE_MAX.
42605         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
42606         (search_duplicated_node, calc_eclosure_iter, fetch_number):
42607         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
42608         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
42609         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
42610         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
42611         (calc_inveclosure, parse_dup_op, build_range_exp):
42612         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
42613         (fetch_number, create_token_tree, mark_opt_subexp):
42614         Likewise.
42615         * lib/regex_internal.c (re_string_construct_common,
42616         create_ci_newstate):
42617         (create_cd_newstate, re_string_allocate, re_string_construct):
42618         (re_string_realloc_buffers, build_wcs_upper_buffer):
42619         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42620         (re_string_reconstruct, re_string_peek_byte_case):
42621         (re_string_fetch_byte_case, re_string_context_at):
42622         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42623         (re_node_set_init_copy, re_node_set_add_intersect):
42624         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42625         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42626         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42627         (re_acquire_state, re_acquire_state_context, register_state):
42628         Likewise.
42629         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
42630         search_cur_bkref_entry):
42631         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
42632         (re_search_internal, re_search_2_stub, re_search_stub)
42633         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
42634         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
42635         (update_cur_sifted_state, check_dst_limits):
42636         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42637         (check_subexp_limits, sift_states_bkref, merge_state_array):
42638         (check_subexp_matching_top, get_subexp, get_subexp_sub):
42639         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
42640         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42641         (expand_bkref_cache, check_node_accept_bytes):
42642         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
42643         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
42644         (acquire_init_state_context, check_halt_node_context):
42645         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
42646         (sift_states_backward, clean_state_log_if_needed):
42647         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
42648         (find_recover_state, transit_state_sb, transit_state_mb):
42649         (transit_state_bkref, build_trtable, match_ctx_clean):
42650         Likewise.
42651         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
42652         to work around an assumption that REG_MISSING is negative.
42653
42654         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
42655         (seek_collating_symbol_entry) [defined _LIBC]:
42656         (lookup_collation_sequence_value) [defined _LIBC]:
42657         (build_range_exp, build_collating_symbol) [defined _LIBC]:
42658         Use prototypes rather than old-style function definitions.
42659         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
42660         (transit_state_sb) [0]:
42661         (find_collation_sequence_value) [defined _LIBC]: Likewise.
42662
42663         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
42664         rm_eo.
42665
42666         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
42667         (optimize_subexps, lower_subexp):
42668         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
42669         since the signed shift might overflow.  Use 1u<<31 instead.
42670         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42671         Likewise.
42672         * lib/regexec.c (check_dst_limits_calc_pos_1,
42673         check_subexp_matching_top): Likewise.
42674
42675         * lib/regcomp.c (optimize_subexps, lower_subexp):
42676         Use CHAR_BIT rather than 8, for clarity.
42677         * lib/regexec.c (check_dst_limits_calc_pos_1):
42678         (check_subexp_matching_top): Likewise.
42679         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
42680         have to worry about portability issues when shifting it left.
42681         Remove no-longer-needed test for table_size > 0.
42682         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
42683         in a word, as the resulting behavior is undefined.
42684         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
42685         in one case, a <= should have been an <, and in another case the
42686         whole test was missing.
42687         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
42688         the standard name CHAR_BIT.
42689         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
42690         this is not true on one's complement and signed-magnitude hosts.
42691
42692         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
42693         next_last_offset.
42694         (struct re_dfa_t): Remove unused member states_alloc.
42695         * lib/regcomp.c (init_dfa): Don't initialize unused members.
42696
42697 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42698
42699         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
42700         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
42701         and large-file glibc and in 32-bit large-file Solaris.
42702
42703 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42704
42705         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
42706         lengths fit in regoff_t; this isn't true if regoff_t is the same
42707         width as size_t.
42708         * lib/regex.c (re_search_internal): 5th arg is LAST_START
42709         (= START + RANGE) instead of RANGE.  This avoids overflow
42710         problems when regoff_t is the same width as size_t.
42711         All callers changed.
42712         (re_search_2_stub): Check for overflow when adding the
42713         sizes of the two strings.
42714         (re_search_stub): Check for overflow when adding START
42715         to RANGE; if it occurs, substitute the extreme value.
42716
42717 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42718
42719         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
42720
42721 2005-08-31  Jim Meyering  <jim@meyering.net>
42722
42723         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
42724         a pointer-to-const.
42725         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
42726         (register_state): Likewise.
42727         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
42728         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42729         (group_nodes_into_DFAstates): Likewise.
42730
42731 2005-08-31  Jim Meyering  <jim@meyering.net>
42732
42733         * check-module: Add a FIXME comment.
42734
42735 2005-08-31  Eric Blake  <ebb9@byu.net>
42736
42737         * modules/unistd-safer (Files): Add unistd--.h.
42738         * modules/stdio-safer (Files): Add stdio--.h.
42739
42740 2005-08-31  Derek Price  <derek@ximbiot.com>
42741
42742         * lib/getdelim.c (getdelim): Return EOF on EOF.
42743         Reported by Larry Jones <lawrence.jones@ugs.com>.
42744
42745 2005-08-31  Bruno Haible  <bruno@clisp.org>
42746
42747         Avoid unnecessary diffs in the generated lib/Makefile.am.
42748         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
42749         the generated files.
42750         (func_import): Don't set cmd.
42751
42752 2005-08-31  Bruno Haible  <bruno@clisp.org>
42753
42754         * lib/strstr.c: Include <stddef.h>, for NULL.
42755         * lib/strcasestr.c: Likewise.
42756         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42757
42758 2005-08-31  Bruno Haible  <bruno@clisp.org>
42759
42760         * gnulib-tool: New option --macro-prefix.
42761         (func_import): Use macro_prefix.
42762         (import): Handle option --macro-prefix.
42763
42764 2005-08-31  Bruno Haible  <bruno@clisp.org>
42765
42766         * gnulib-tool (import): Rename most ac_* variables to cached_*.
42767         Also use new variables cached_lgpl, cached_libtool.
42768
42769 2005-08-31  Bruno Haible  <bruno@clisp.org>
42770
42771         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
42772         always instantiating them.
42773
42774 2005-08-31  Bruno Haible  <bruno@clisp.org>
42775
42776         * gnulib-tool (func_import): Read the previous cached settings
42777         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
42778         earlier added by gnulib but are now dropped. Warn when a gnulib file
42779         overwrites a non-gnulib file.
42780
42781 2005-08-31  Bruno Haible  <bruno@clisp.org>
42782
42783         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
42784         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
42785         projects that don't keep autogenerated files in CVS. Put into
42786         actioncmd only the specified modules, not the transitive closure.
42787
42788 2005-08-31  Bruno Haible  <bruno@clisp.org>
42789
42790         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
42791         Create directories that shall be filled.
42792         (import): Don't look for gl_* macros in configure.ac. Recurse across
42793         all directories containing a gnulib-cache.m4 files, if meaningful.
42794
42795 2005-08-31  Bruno Haible  <bruno@clisp.org>
42796
42797         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
42798         (import): Set seen_libtool when we see gl_LIBTOOL.
42799
42800 2005-08-31  Bruno Haible  <bruno@clisp.org>
42801
42802         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
42803         declaration macro definitions from generated gnulib.m4.
42804
42805 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
42806
42807         * lib/iconvme.h: Add prototype for iconv_alloc.
42808
42809 2005-08-29  Simon Josefsson  <jas@extundo.com>
42810
42811         * lib/iconvme.c: Fix errno.
42812
42813 2005-08-29  Bruno Haible  <bruno@clisp.org>
42814
42815         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
42816         that it works when the directory contains spaces.
42817
42818 2005-08-29  Bruno Haible  <bruno@clisp.org>
42819
42820         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
42821
42822 2005-08-29  Bruno Haible  <bruno@clisp.org>
42823
42824         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
42825         Emit more advice.
42826
42827 2005-08-29  Bruno Haible  <bruno@clisp.org>
42828         and Stepan Kasal  <kasal@ucw.cz>
42829
42830         * check-module: If more parameters are given, check each of them
42831         separately; add more exceptions, as noted by Jim Meyering.
42832         (check_module): New procedure.
42833         (%exempt_header): Now contains all exceptions.
42834
42835 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
42836
42837         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
42838
42839 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
42840
42841         * lib/iconvme.c: Split iconv_string into iconv_alloc.
42842
42843 2005-08-28  Bruno Haible  <bruno@clisp.org>
42844
42845         * m4/gnulib-tool.m4: New file.
42846
42847 2005-08-27  Jim Meyering  <jim@meyering.net>
42848
42849         * modules/unistd-safer (Files): Add pipe-safer.c.
42850         * modules/fcntl-safer (Files): Add creat-safer.c.
42851
42852 2005-08-27  Jim Meyering  <jim@meyering.net>
42853
42854         * m4/stdlib-safer.m4: New file.  From coreutils.
42855         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
42856         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
42857         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
42858         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
42859         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
42860
42861 2005-08-27  Jim Meyering  <jim@meyering.net>
42862
42863         * lib/fopen-safer.c: Merge minor changes from coreutils.
42864         * lib/dup-safer.c: Likewise.
42865         * lib/fd-safer.c: Likewise.
42866
42867         Merge from coreutils.
42868         * lib/stdio--.h: New file.
42869         * lib/stdlib--.h: New file.
42870         * lib/mkstemp-safer.c: New file.
42871
42872         GNU tar needs these.
42873         * lib/pipe-safer.c: New file.
42874         * lib/creat-safer.c: New file.
42875         * lib/fcntl--.h (creat): Define to creat_safer.
42876         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
42877         * lib/unistd--.h (pipe): Define to pipe_safer.
42878         * lib/unistd-safer.h: Declare pipe_safer.
42879
42880 2005-08-26  Simon Josefsson  <jas@extundo.com>
42881
42882         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
42883         Haible <bruno@clisp.org>.
42884
42885 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
42886
42887         * lib/regex_internal.h: Remove all references to
42888         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
42889         or better.
42890         (bitset_not, bitset_merge, bitset_not_merge):
42891         (bitset_mask, re_string_allocate, re_string_construct):
42892         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
42893         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
42894         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
42895         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
42896         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42897         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42898         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
42899         (re_acquire_state_context):
42900         Remove unnecessary forward decls.
42901         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
42902         Put __attribute at function definition,
42903         now that the function decl has been removed.
42904         * lib/regex_internal.c (re_string_peek_byte_case):
42905         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
42906         Likewise.
42907
42908 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
42909
42910         * m4/regex.m4: Add AC_PREREQ(2.50).
42911         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
42912
42913 2005-08-25  Simon Josefsson  <jas@extundo.com>
42914
42915         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
42916         __fsetlocking.
42917
42918 2005-08-25  Simon Josefsson  <jas@extundo.com>
42919
42920         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
42921         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
42922         GLIBC specific code.
42923
42924 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42925
42926         Make regex safe for g++.  This fixes one real bug (an "err"
42927         that should have been "*err").  g++ problem reported by
42928         Sam Steingold.
42929         * lib/regex_internal.h (re_calloc): New macro, consistent with
42930         re_malloc etc.  All callers of calloc changed to use re_calloc.
42931         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
42932         not int.  All callers changed.
42933         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
42934         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
42935         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
42936         (find_recover_state): Change "err" to "*err"; this fixes what
42937         appears to be a real bug.
42938         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
42939         versus int.
42940
42941 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42942
42943         * modules/regex (Depends-on): Add malloc, since the code
42944         assumes that !malloc(0) means failure.
42945
42946 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42947
42948         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
42949
42950         alloca modernization/simplification for regex.
42951         * lib/regex.c: Remove portability cruft for alloca.  This no longer
42952         needs to be at the start of the file, and can be moved into
42953         regex_internal.h and simplified.
42954         * lib/regex_internal.h: Include <alloca.h>.
42955         (__libc_use_alloca) [!defined _LIBC]: New macro.
42956         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
42957         now works outside glibc.
42958
42959 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42960
42961         * config/srclist.txt: Add glibc bugs 1241, 1245.
42962
42963 2005-08-25  Jim Meyering  <jim@meyering.net>
42964
42965         * lib/open-safer.c: Include <config.h>.
42966         Otherwise, we'd lose LARGEFILE support in any file using
42967         e.g. "fcntl--.h"
42968
42969 2005-08-25  Bruno Haible  <bruno@clisp.org>
42970
42971         * m4/minmax.m4: Require autoconf 2.52.
42972         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
42973         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
42974         alternatives of translit over the alphabet.
42975         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
42976
42977 2005-08-24  Simon Josefsson  <jas@extundo.com>
42978
42979         * tests/test-getpass.c: New file.
42980
42981 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42982
42983         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
42984         for GNU regex features.
42985
42986 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42987
42988         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
42989         * lib/regex.h (regerror): Likewise.
42990
42991         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
42992         requires this.  (The code never needed it.)
42993
42994         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
42995         All uses of recently-renamed identifiers changed to use the new,
42996         POSIX-compliant names.  The code will build and run just fine
42997         without these changes, but it's better to eat our own dog food
42998         and use the standard-conforming names.
42999
43000         * lib/regex.h: Fix a multitude of POSIX name space violations.
43001         These changes have an effect only for programs that define
43002         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
43003         do not change anything for programs compiled in the normal way.
43004         Also, there is no effect on the ABI.
43005
43006         (_REGEX_SOURCE): New macro.
43007         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
43008         defined and _GNU_SOURCE is not; this fixes a name space violation.
43009
43010         Rename the following macros to obey POSIX requirements.
43011         The old names are still visible as macros if _REGEX_SOURCE is defined.
43012         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
43013         RE_BACKSLASH_ESCAPE_IN_LISTS.
43014         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
43015         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
43016         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
43017         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
43018         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
43019         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
43020         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
43021         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
43022         (REG_INTERVALS): renamed from RE_INTERVALS.
43023         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
43024         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
43025         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
43026         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
43027         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
43028         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
43029         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
43030         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
43031         RE_UNMATCHED_RIGHT_PAREN_ORD.
43032         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
43033         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
43034         (REG_DEBUG): renamed from RE_DEBUG.
43035         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
43036         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
43037         unusual, since we can't clash with the POSIX REG_ICASE.
43038         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
43039         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
43040         (REG_NO_SUB): renamed from RE_NO_SUB.
43041         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
43042         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
43043         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
43044         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
43045         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
43046         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
43047         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
43048         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
43049         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
43050         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
43051         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
43052         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
43053         RE_SYNTAX_POSIX_MINIMAL_BASIC.
43054         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
43055         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
43056         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
43057         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
43058         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
43059         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
43060         (REG_FIXED): Renamed from REGS_FIXED.
43061         (REG_NREGS): Renamed from RE_NREGS.
43062
43063         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
43064         of other REG_* macros, since POSIX says the user is allowed to
43065         #undef these macros selectively.
43066
43067         (reg_errcode_t): Update comment stating what other tables need
43068         to be consistent.
43069
43070         Rename the following enum values to obey POSIX requirements.
43071         The old names are still visible as macros.
43072         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
43073         is not defined, since GNU is supposed to be a superset of POSIX as
43074         much as possible, and since we want reg_errcode_t to be a signed
43075         type for implementation consistency.
43076         (_REG_NOERROR): Renamed from REG_NOERROR.
43077         (_REG_NOMATCH): Renamed from REG_NOMATCH.
43078         (_REG_BADPAT): Renamed from REG_BADPAT.
43079         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
43080         (_REG_ECTYPE): Renamed from REG_ECTYPE.
43081         (_REG_EESCAPE): Renamed from REG_EESCAPE.
43082         (_REG_ESUBREG): Renamed from REG_ESUBREG.
43083         (_REG_EBRACK): Renamed from REG_EBRACK.
43084         (_REG_EPAREN): Renamed from REG_EPAREN.
43085         (_REG_EBRACE): Renamed from REG_EBRACE.
43086         (_REG_BADBR): Renamed from REG_BADBR.
43087         (_REG_ERANGE): Renamed from REG_ERANGE.
43088         (_REG_ESPACE): Renamed from REG_ESPACE.
43089         (_REG_BADRPT): Renamed from REG_BADRPT.
43090         (_REG_EEND): Renamed from REG_EEND.
43091         (_REG_ESIZE): Renamed from REG_ESIZE.
43092         (_REG_ERPAREN): Renamed from REG_ERPAREN.
43093         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
43094         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
43095         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
43096         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
43097
43098         (_REG_RE_NAME, _REG_RM_NAME): New macros.
43099         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
43100         changed.  But support the old name if the new one is not defined
43101         and if _REGEX_SOURCE.
43102
43103         Change the following member names in struct re_pattern_buffer.
43104         The old names are still supported if !_REGEX_SOURCE.
43105         The new names are always supported, regardless of _REGEX_SOURCE.
43106         (re_buffer): Renamed from buffer.
43107         (re_allocated): Renamed from allocated.
43108         (re_used): Renamed from used.
43109         (re_syntax): Renamed from syntax.
43110         (re_fastmap): Renamed from fastmap.
43111         (re_translate): Renamed from translate.
43112         (re_can_be_null): Renamed from can_be_null.
43113         (re_regs_allocated): Renamed from regs_allocated.
43114         (re_fastmap_accurate): Renamed from fastmap_accurate.
43115         (re_no_sub): Renamed from no_sub.
43116         (re_not_bol): Renamed from not_bol.
43117         (re_not_eol): Renamed from not_eol.
43118         (re_newline_anchor): Renamed from newline_anchor.
43119
43120         Change the following member names in struct re_registers.
43121         The old names are still supported if !_REGEX_SOURCE.
43122         The new names are always supported, regardless of _REGEX_SOURCE.
43123         (rm_num_regs): Renamed from num_regs.
43124         (rm_start): Renamed from start.
43125         (rm_end): Renamed from end.
43126
43127         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
43128         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
43129         Prepend __ to parameter names.
43130
43131         Undo yesterday's changes.
43132
43133 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43134
43135         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
43136         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
43137         lib/regex.c.
43138
43139 2005-08-24  Jim Meyering  <jim@meyering.net>
43140
43141         Sync from coreutils.
43142         * m4/fcntl-safer.m4: New file.
43143
43144         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
43145         and object files for this module.
43146
43147 2005-08-24  Jim Meyering  <jim@meyering.net>
43148
43149         Sync from coreutils.
43150         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
43151
43152 2005-08-24  Jim Meyering  <jim@meyering.net>
43153
43154         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
43155         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
43156
43157 2005-08-24  Jim Meyering  <jim@meyering.net>
43158
43159         * modules/fcntl-safer: New module.
43160         * modules/fts (Depends-on): Add fcntl-safer.
43161         * MODULES.html.sh (File descriptor based Input/Output):
43162         Add fcntl-safer.
43163
43164 2005-08-24  Bruno Haible  <bruno@clisp.org>
43165
43166         Support for unit test modules.
43167         * modules/README: Mention tests modules.
43168         * modules/TEMPLATE-TESTS: New file.
43169         * gnulib-tool: New options --extract-tests-module, --with-tests and
43170         --tests-base (unused for the moment).
43171         (testsbase, inctests): New variables.
43172         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
43173         (func_verify_module): Exclude TEMPLATE-TESTS.
43174         (func_verify_nontests_module, func_verify_tests_module): New functions.
43175         (func_get_dependencies): Add implicit dependency for tests modules.
43176         (func_get_tests_module): New function.
43177         (func_modules_transitive_closure): When --with-tests was specified,
43178         include the unit tests as well, unless explicitly avoided.
43179         (func_emit_lib_Makefile_am): Ignore the tests modules here.
43180         (func_emit_tests_Makefile_am): New function.
43181         (func_create_testdir): When --with-tests was specified, emit a
43182         tests/ directory.
43183         * MODULES.html.sh (Future developments): Update.
43184
43185 2005-08-24  Bruno Haible  <bruno@clisp.org>
43186
43187         * modules/tls-tests: New file.
43188         * tests/test-tls.c: New file, from GNU gettext.
43189
43190 2005-08-24  Bruno Haible  <bruno@clisp.org>
43191
43192         * modules/lock-tests: New file.
43193         * tests/test-lock.c: New file, from GNU gettext.
43194
43195 2005-08-24  Bruno Haible  <bruno@clisp.org>
43196
43197         * lib/lock.h: Add multiple inclusion guard.
43198         * lib/tls.h: Add multiple inclusion guard.
43199
43200 2005-08-24  Bruno Haible  <bruno@clisp.org>
43201
43202         * gnulib-tool: Add support for the --aux-dir option to
43203         --create-testdir, --create-megatestdir, --test, --megatest.
43204         (func_create_testdir, func_create_megatestdir): Optionally emit a
43205         AC_CONFIG_AUX_DIR directive.
43206         (create-testdir, create-megatestdir, test, megatest): Provide a
43207         default value for $auxdir.
43208
43209 2005-08-24  Bruno Haible  <bruno@clisp.org>
43210
43211         * gnulib-tool (import): Use compound statement instead of subshell
43212         where possible.
43213
43214 2005-08-24  Bruno Haible  <bruno@clisp.org>
43215
43216         * gnulib-tool (import): Change --aux-dir default to "build-aux".
43217
43218 2005-08-24  Bruno Haible  <bruno@clisp.org>
43219
43220         * gnulib-tool (func_version): Update.
43221
43222 2005-08-24  Bruno Haible  <bruno@clisp.org>
43223
43224         * gnulib-tool (func_import, func_create_testdir,
43225         func_create_megatestdir): Quote all autoconf macro arguments.
43226
43227 2005-08-24  Bruno Haible  <bruno@clisp.org>
43228
43229         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
43230         option --force, because --force causes the aclocal.m4 of each
43231         subdirectory to be newer than the corresponding config.h.in.
43232
43233 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43234
43235         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
43236         All contents moved to gl_REGEX.
43237         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
43238         assume that it does.
43239
43240 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43241
43242         * lib/regex.h (REG_NOSYS)
43243         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
43244         Define, since POSIX requires it as of 2001.
43245         (_REG_ENOSYS)
43246         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
43247         New private symbol, used to keep the enum signed in all cases.
43248         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
43249         Youngman in
43250         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
43251
43252         * lib/regex_internal.c (re_string_skip_chars, register_state):
43253         (calc_state_hash):
43254         Remove forward decls; no longer needed now that we use prototypes.
43255         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
43256         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
43257         (clean_state_log_if_needed): Likewise.
43258
43259 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43260
43261         * config/srclist.txt: Add glibc bugs 1231-1233.
43262
43263 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43264
43265         Fix problems reported by Sam Steingold in
43266         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
43267         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
43268         assumed that reg_errcode_t is a signed type, which is not
43269         necessarily true if _XOPEN_SOURCE is not defined.
43270         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
43271         since some compilers warn about it otherwise.
43272
43273 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43274
43275         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
43276         (init_word_char, create_initial_state, duplicate_node_closure):
43277         (fetch_token, peek_token_bracket, build_range_exp):
43278         (build_collating_symbol): Remove forward decls; no longer needed
43279         now that we use prototypes.
43280
43281         * lib/regcomp.c:
43282         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
43283         (re_compile_fastmap_iter, regcomp, regerror, regfree):
43284         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
43285         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
43286         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
43287         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
43288         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
43289         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
43290         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
43291         (build_range_exp, build_collating_symbol, parse_bracket_exp):
43292         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
43293         (build_charclass, build_charclass_op, fetch_number, create_tree):
43294         (create_token_tree, mark_opt_subexp, duplicate_tree):
43295         Use prototypes rather than old-style definitions.
43296
43297         * lib/regex_internal.c:
43298         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
43299         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
43300         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
43301         (re_string_reconstruct, re_string_peek_byte_case):
43302         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
43303         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
43304         (re_node_set_init_copy, re_node_set_add_intersect):
43305         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
43306         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
43307         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
43308         (re_acquire_state, re_acquire_state_context, register_state):
43309         (create_ci_newstate, create_cd_newstate, free_state):
43310         Likewise.
43311         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
43312         re_search_2):
43313         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
43314         (re_search_internal, prune_impossible_nodes):
43315         (acquire_init_state_context, check_matching, static):
43316         (check_halt_node_context, check_halt_state_context, proceed_next_node):
43317         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
43318         (update_regs, sift_states_backward, build_sifted_states):
43319         (clean_state_log_if_needed, merge_state_array):
43320         (update_cur_sifted_state, add_epsilon_src_nodes):
43321         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
43322         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
43323         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
43324         (find_recover_state, check_subexp_matching_top, transit_state_mb):
43325         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
43326         (check_arrival, check_arrival_add_next_nodes):
43327         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
43328         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
43329         (check_node_accept_bytes, check_node_accept, extend_buffers):
43330         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
43331         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
43332         (sift_ctx_init):
43333         Likewise.
43334
43335         * lib/regex_internal.h:
43336         (re_string_allocate, re_string_construct, re_string_reconstruct):
43337         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
43338         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
43339         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
43340         (re_string_context_at, re_string_peek_byte_case):
43341         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
43342         is defined, since we now use prototypes always.
43343
43344         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
43345         C89 or better.  All uses removed.
43346
43347 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43348
43349         * config/srclist.txt: Add glibc bugs 1220-1227.
43350
43351 2005-08-20  Jim Meyering  <jim@meyering.net>
43352
43353         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
43354         of unused local, dfa.
43355
43356 2005-08-20  Bruno Haible  <bruno@clisp.org>
43357
43358         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
43359
43360 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43361
43362         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
43363         (re_node_set_insert_last, re_dfa_add_node):
43364         Rename local variables to avoid GCC shadowing warnings.
43365
43366 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43367
43368         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
43369         [defined lint]: Suppress bogus uninitialized-variable warnings.
43370
43371         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
43372         and let the caller return REG_ESPACE if out of space.  This
43373         removes an uninitialied-variable warning with GCC 4.0.1, and also
43374         avoids taking the address of a local variable.  All callers
43375         changed.
43376
43377 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43378
43379         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
43380         $LIBCSRC/posix/regexec.c.
43381         Add glibc bug 1217 for regcomp.c.
43382
43383 2005-08-19  Jim Meyering  <jim@meyering.net>
43384
43385         * lib/regexec.c (proceed_next_node): Redo local variables to
43386         avoid GCC shadowing warnings.
43387
43388 2005-08-18  Bruno Haible  <bruno@clisp.org>
43389
43390         * lib/strstr.c (strstr): Fix return value in multibyte case.
43391         * lib/strcasestr.c (strcasestr): Likewise.
43392
43393 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
43394
43395         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
43396
43397 2005-08-17  Jim Meyering  <jim@meyering.net>
43398
43399         Make the %s format (seconds since the epoch) work for a negative
43400         number and when used with a zero-padded field width, e.g. %015s.
43401
43402         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
43403         label so that it precedes the code to set `digits'.  Otherwise,
43404         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
43405         print `00-22'.  Now, it prints `-0022', as it should.
43406
43407 2005-08-17  Bruno Haible  <bruno@clisp.org>
43408
43409         * modules/strstr (Files): Add m4/mbrtowc.m4.
43410         (Depends-on): Add mbuiter.
43411
43412 2005-08-17  Bruno Haible  <bruno@clisp.org>
43413
43414         * modules/strcasestr: New file.
43415         * MODULES.html.sh (String handling, based on ANSI C 89): Add
43416         strcasestr.
43417
43418 2005-08-17  Bruno Haible  <bruno@clisp.org>
43419
43420         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
43421
43422 2005-08-17  Bruno Haible  <bruno@clisp.org>
43423
43424         * modules/mbuiter: New file.
43425         * MODULES.html.sh (Extended multibyte and wide character utilities):
43426         Add mbuiter.
43427
43428 2005-08-17  Bruno Haible  <bruno@clisp.org>
43429
43430         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
43431         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
43432
43433 2005-08-17  Bruno Haible  <bruno@clisp.org>
43434
43435         * m4/strcasestr.m4: New file.
43436
43437 2005-08-17  Bruno Haible  <bruno@clisp.org>
43438
43439         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
43440         * lib/strstr.c: Completely rewritten, with multibyte locale support.
43441
43442 2005-08-17  Bruno Haible  <bruno@clisp.org>
43443
43444         * lib/strcasestr.h: New file.
43445         * lib/strcasestr.c: New file.
43446
43447 2005-08-17  Bruno Haible  <bruno@clisp.org>
43448
43449         * lib/strcasecmp.c: Use mbuiter.h.
43450
43451 2005-08-17  Bruno Haible  <bruno@clisp.org>
43452
43453         * lib/mbuiter.h: New file.
43454
43455 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43456
43457         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
43458         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
43459         and gl_GETOPT are both invoked via different paths (as happens
43460         with GNU tar CVS because it uses both argp and getopt), the former
43461         wins.
43462
43463 2005-08-16  Bruno Haible  <bruno@clisp.org>
43464
43465         * modules/tls: New file.
43466         * MODULES.html.sh (Multithreading): Add tls.
43467
43468 2005-08-16  Bruno Haible  <bruno@clisp.org>
43469
43470         * modules/strnlen1: New file.
43471         * MODULES.html.sh (String handling): Add strnlen1.
43472
43473 2005-08-16  Bruno Haible  <bruno@clisp.org>
43474
43475         * modules/strcase (Files): Add m4/mbrtowc.m4.
43476         (Depends-on): Add strnlen1, mbchar.
43477
43478 2005-08-16  Bruno Haible  <bruno@clisp.org>
43479
43480         * modules/mbiter: New file.
43481         * MODULES.html.sh (Extended multibyte and wide character utilities):
43482         Add mbiter.
43483
43484 2005-08-16  Bruno Haible  <bruno@clisp.org>
43485
43486         * modules/mbfile: New file.
43487         * MODULES.html.sh (Extended multibyte and wide character utilities):
43488         Add mbfile.
43489
43490 2005-08-16  Bruno Haible  <bruno@clisp.org>
43491
43492         * modules/mbchar: New file.
43493         * MODULES.html.sh (Extended multibyte and wide character utilities):
43494         New section.
43495
43496 2005-08-16  Bruno Haible  <bruno@clisp.org>
43497
43498         * m4/tls.m4: New file, from GNU gettext.
43499
43500 2005-08-16  Bruno Haible  <bruno@clisp.org>
43501
43502         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
43503         always.
43504         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
43505
43506 2005-08-16  Bruno Haible  <bruno@clisp.org>
43507
43508         * m4/mbiter.m4: New file.
43509
43510 2005-08-16  Bruno Haible  <bruno@clisp.org>
43511
43512         * m4/mbfile.m4: New file.
43513
43514 2005-08-16  Bruno Haible  <bruno@clisp.org>
43515
43516         * m4/mbchar.m4: New file.
43517
43518 2005-08-16  Bruno Haible  <bruno@clisp.org>
43519
43520         * lib/tls.h: New file, from GNU gettext.
43521         * lib/tls.c: New file, from GNU gettext.
43522
43523 2005-08-16  Bruno Haible  <bruno@clisp.org>
43524
43525         * lib/strnlen1.h: New file.
43526         * lib/strnlen1.c: New file.
43527
43528 2005-08-16  Bruno Haible  <bruno@clisp.org>
43529
43530         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
43531         (mbi_init): Update.
43532         (mbi_avail, mbi_advance): Let the iteration end before the terminating
43533         NUL byte, not after it.
43534
43535 2005-08-16  Bruno Haible  <bruno@clisp.org>
43536
43537         * lib/strcase.h (strcasecmp): Add note in comments.
43538         * lib/strncasecmp.c: Use code from strcasecmp.c.
43539         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
43540         (strcasecmp): Work correctly in multibyte locales.
43541
43542 2005-08-16  Bruno Haible  <bruno@clisp.org>
43543
43544         * lib/mbiter.h: New file.
43545
43546 2005-08-16  Bruno Haible  <bruno@clisp.org>
43547
43548         * lib/mbfile.h: New file.
43549
43550 2005-08-16  Bruno Haible  <bruno@clisp.org>
43551
43552         * lib/mbchar.h: New file.
43553         * lib/mbchar.c: New file.
43554
43555 2005-08-16  Bruno Haible  <bruno@clisp.org>
43556
43557         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
43558         the valid ones. Makes the comparison operations transitive:
43559         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
43560         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
43561
43562 2005-08-15  Simon Josefsson  <jas@extundo.com>
43563
43564         * modules/ssize_t (License): Change to 'unlimited'.
43565
43566         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
43567
43568 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43569
43570         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
43571         Add comments for each pending glibc patch.
43572
43573 2005-08-15  Bruno Haible  <bruno@clisp.org>
43574
43575         * lib/regex.h (__restrict_arr): Don't define to __restrict if
43576         __cplusplus is defined.
43577
43578 2005-08-14  Jim Meyering  <jim@meyering.net>
43579
43580         Sync from coreutils.
43581
43582         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
43583         Use the hash-table-based cycle-detection code not just when
43584         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
43585         Reported by James Youngman in
43586         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
43587         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
43588         FTS_TIGHT_CYCLE_CHECK.
43589         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
43590         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
43591         once again.
43592         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
43593         * lib/fts.c (fd_safer): Remove decl.
43594         Include fcntl--.h rather than unistd-safer.h
43595         (fts_safe_changedir): Don't call fd_safer; no longer needed
43596         now that we include fcntl--.h.
43597
43598 2005-08-12  Simon Josefsson  <jas@extundo.com>
43599
43600         * modules/getndelim2: Use ssize_t module.
43601         * modules/getnline: Likewise.
43602         * modules/safe-read: Likewise.
43603         * modules/xreadlink: Likewise.
43604
43605         * modules/ssize_t: New file.
43606
43607 2005-08-12  Simon Josefsson  <jas@extundo.com>
43608
43609         * m4/readline.m4: Look for termcap, curses or ncurses if required.
43610
43611 2005-08-12  Simon Josefsson  <jas@extundo.com>
43612
43613         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43614         ssize_t.
43615
43616 2005-08-12  Simon Josefsson  <jas@extundo.com>
43617
43618         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
43619         readline, getdelim and check_version.
43620         (Support for systems lacking ISO C 99: Sizes of integer types):
43621         Add size_max.
43622
43623 2005-08-12  Bruno Haible  <bruno@clisp.org>
43624
43625         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
43626
43627 2005-08-11  Simon Josefsson  <jas@extundo.com>
43628
43629         * modules/readline: New file.
43630
43631         * modules/strnlen (Files): Add strnlen.h.
43632
43633 2005-08-11  Simon Josefsson  <jas@extundo.com>
43634
43635         * m4/readline.m4: New file.
43636
43637 2005-08-11  Simon Josefsson  <jas@extundo.com>
43638
43639         * lib/readline.h, readline.c: New file.
43640
43641 2005-08-11  Simon Josefsson  <jas@extundo.com>
43642
43643         * doc/gnulib.texi (Initial import, Finishing touches): Mention
43644         gl_AVOID.
43645
43646 2005-08-11  Bruno Haible  <bruno@clisp.org>
43647
43648         * lib/strnlen.h (strnlen): Change parameter name to match comment.
43649
43650 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
43651
43652         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
43653
43654 2005-08-10  Simon Josefsson  <jas@extundo.com>
43655
43656         * tests/test-iconvme.c: New file.
43657
43658 2005-08-10  Simon Josefsson  <jas@extundo.com>
43659
43660         * m4/strnlen.m4: New file.
43661
43662         * m4/strndup.m4: Don't check for strnlen declaration, done in
43663         strnlen.m4.
43664
43665 2005-08-10  Simon Josefsson  <jas@extundo.com>
43666
43667         * lib/strndup.c: Use strnlen.h.
43668
43669         * lib/strnlen.h: New file.
43670
43671 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43672
43673         * README: Typos.
43674
43675 2005-08-02  Simon Josefsson  <jas@extundo.com>
43676
43677         * modules/readline: New file.
43678
43679 2005-08-02  Simon Josefsson  <jas@extundo.com>
43680
43681         * modules/getdelim: New file.
43682
43683         * modules/getline: Rewrite, don't use getndelim2.
43684
43685 2005-08-02  Simon Josefsson  <jas@extundo.com>
43686
43687         * m4/getline.m4: Separate out getdelim stuff into separate module.
43688
43689         * m4/getdelim.m4: New file.
43690
43691 2005-08-02  Simon Josefsson  <jas@extundo.com>
43692
43693         * lib/getline.h, getline.c: Rewrite.
43694
43695         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
43696
43697 2005-07-31  Bruno Haible  <bruno@clisp.org>
43698
43699         * lib/lock.h (gl_lock_initializer): New macro.
43700         (gl_lock_define_initialized): Use it.
43701         (gl_rwlock_initializer): New macro.
43702         (gl_rwlock_define_initialized): Use it.
43703         (gl_recursive_lock_initializer): New macro.
43704         (gl_recursive_lock_define_initialized): Use it.
43705
43706 2005-07-30  Karl Berry  <karl@gnu.org>
43707
43708         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
43709         Report from Ben Pfaff, regarding getopt.
43710
43711 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
43712
43713         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
43714         normal way.
43715         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
43716         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
43717         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
43718         (gl_GETOPT): Use the new macros.  Most of the implementation
43719         is moved to the new macros.  This is for programs like Emacs
43720         that don't want all the functionality of gl_GETOPT.
43721
43722 2005-07-26  Bruno Haible  <bruno@clisp.org>
43723
43724         * m4/lock.m4: Update from GNU gettext.
43725
43726 2005-07-26  Bruno Haible  <bruno@clisp.org>
43727
43728         * lib/lock.h: Update from GNU gettext.
43729         * lib/lock.c: Update from GNU gettext.
43730
43731 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
43732
43733         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
43734         obsolescent AC_TRY_RUN.  Include the default includes files, for
43735         'exit'.
43736
43737 2005-07-24  Bruno Haible  <bruno@clisp.org>
43738
43739         * modules/visibility: New file.
43740         * MODULES.html.sh (Misc): Add visibility.
43741
43742 2005-07-24  Bruno Haible  <bruno@clisp.org>
43743
43744         * m4/visibility.m4: New file.
43745
43746 2005-07-24  Bruno Haible  <bruno@clisp.org>
43747
43748         * doc/visibility.texi: New file.
43749
43750 2005-07-22  Bruno Haible  <bruno@clisp.org>
43751
43752         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
43753         $(ALLOCA_H), redundant through BUILT_SOURCES.
43754         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
43755         redundant through BUILT_SOURCES.
43756         * modules/byteswap (Makefile.am): Remove explicit dependency on
43757         $(BYTESWAP_H), redundant through BUILT_SOURCES.
43758         * modules/fnmatch (Makefile.am): Remove explicit dependency on
43759         $(FNMATCH_H), redundant through BUILT_SOURCES.
43760         * modules/getopt (Makefile.am): Remove explicit dependency on
43761         $(GETOPT_H), redundant through BUILT_SOURCES.
43762         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
43763         redundant through BUILT_SOURCES.
43764         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
43765         redundant through BUILT_SOURCES.
43766         * modules/stdbool (Makefile.am): Remove explicit dependency on
43767         $(STDBOOL_H), redundant through BUILT_SOURCES.
43768         * modules/stdint (Makefile.am): Remove explicit dependency on
43769         $(STDINT_H), redundant through BUILT_SOURCES.
43770         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
43771         Remove explicit dependency on $(SYSEXITS_H).
43772         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
43773
43774 2005-07-18  Simon Josefsson  <jas@extundo.com>
43775
43776         * lib/check-version.c (check_version): Accept identical versions too.
43777
43778 2005-07-18  Bruno Haible  <bruno@clisp.org>
43779
43780         * modules/lock: New file.
43781         * MODULES.html.sh (Multithreading): New section.
43782
43783 2005-07-18  Bruno Haible  <bruno@clisp.org>
43784
43785         * m4/lock.m4: New file, from GNU gettext.
43786
43787 2005-07-18  Bruno Haible  <bruno@clisp.org>
43788
43789         * lib/lock.h: New file, from GNU gettext.
43790         * lib/lock.c: New file, from GNU gettext.
43791
43792 2005-07-18  Bruno Haible  <bruno@clisp.org>
43793
43794         * lib/lock.h (gl_once_t): New type.
43795         (gl_once_define, gl_once): New macros.
43796         * lib/lock.c (fresh_once): New variable.
43797         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
43798         functions.
43799
43800 2005-07-16  Simon Josefsson  <jas@extundo.com>
43801
43802         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
43803         workaround, suggested by Bruno.
43804
43805 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
43806
43807         * modules/xalloc (Depends-on): Add xalloc-die.
43808         * modules/xvasprintf (Depends-on): Add xalloc-die.
43809
43810 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
43811
43812         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
43813         with a minor change.
43814
43815 2005-07-15  Bruno Haible  <bruno@clisp.org>
43816
43817         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
43818         When using lib/poll.c, define poll as rpl_poll.
43819
43820 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
43821
43822         * modules/argp (Depends-on): Remove unlocked-io.
43823
43824 2005-07-14  Derek Price  <derek@ximbiot.com>
43825
43826         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
43827         for glob symlink bug.
43828
43829 2005-07-14  Bruno Haible  <bruno@clisp.org>
43830
43831         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
43832         Instead, test for *_unlocked function declarations directly.
43833
43834 2005-07-11  Simon Josefsson  <jas@extundo.com>
43835
43836         * modules/size_max: New file.
43837
43838         * modules/xsize: Depend on size_max module for size_max.m4.
43839
43840 2005-07-11  Simon Josefsson  <jas@extundo.com>
43841
43842         * lib/size_max.h: New file.
43843
43844 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
43845
43846         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
43847         copyright symbol and the year.
43848         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
43849         (version_etc_va): Use parameterized copyright notice.
43850         Reword to conform to the current GNU coding standards.
43851
43852 2005-07-11  Karl Berry  <karl@gnu.org>
43853
43854         * doc/gnulib.texi (Quoting): new node.
43855         (Initial import): more info, from Patrice.
43856
43857 2005-07-11  Bruno Haible  <bruno@clisp.org>
43858
43859         * gnulib-tool (func_usage): Document option --avoid.
43860         (Command line options): Handle --avoid.
43861         (func_acceptable): New function.
43862         (func_modules_transitive_closure): Use it.
43863
43864 2005-07-11  Bruno Haible  <bruno@clisp.org>
43865
43866         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
43867         Reported by Jim Meyering.
43868
43869 2005-07-10  Bruno Haible  <bruno@clisp.org>
43870
43871         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
43872         Needed when size_t is smaller than 'unsigned int'.
43873         Reported by Paul Eggert.
43874
43875 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43876
43877         * modules/argp (Depends-on): Add unlocked-io
43878
43879 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43880
43881         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
43882         block of defines.
43883
43884 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43885
43886         * config/srclist.txt: Comment out regcomp.c, since we have a porting
43887         fix now.
43888
43889 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
43890         and Paul Eggert  <eggert@cs.ucla.edu>
43891
43892         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
43893         in wint_t, not wchar_t.  Remove now-unnecessary cast.
43894
43895 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43896
43897         * modules/regex (Files): Add lib/regex_internal.c,
43898         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
43899         (Depends-on): Add extensions.
43900         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
43901
43902 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43903
43904         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
43905         pathconf.
43906         * m4/same.m4 (gl_SAME): Likewise.
43907         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
43908
43909         * m4/regex.m4: Adjust to new libc regex implementation.
43910         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
43911         all the .c and .h parts of (the new) regex.
43912         Quote the m4 stuff better.
43913         Check for RE_ICASE bug of old gnulib.
43914         Check for REG_STARTEND of recent libc.
43915         Rename local variables from jm_* to gl_*.
43916         Quote operand of "test -f".
43917         Say "recent enough" version of libc, not "version 2".
43918         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
43919         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
43920         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
43921         Remove check for btowc, isascii.
43922         Require AM_LANGINFO_CODESET.
43923
43924 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43925
43926         * lib/regex.c, regex.h: Sync from libc.
43927         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
43928         * lib/regexec.c:
43929         New files, synced from libc, except that regex_internal.h
43930         currently has a small porting fix.
43931
43932 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43933
43934         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
43935         regex_internal.c, regexec.c.
43936         Add regex_internal.h too, but as a comment, since the libc version
43937         is currently broken in gnulib mode.
43938
43939 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43940
43941         Support programs like Emacs that use gnulib but not gettext.
43942         * MODULES.html.sh (Internationalization functions): Add gettext-h.
43943         * modules/gettext-h: New file.
43944         * modules/gettext (Files): Remove lib/gettext.h.
43945         (Depends-on): Add gettext-h.
43946         (Makefile.am): Remove lib_SOURCES.
43947         * modules/argmatch, modules/c-stack, modules/closeout:
43948         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
43949         * modules/execute, modules/file-type, modules/getaddrinfo:
43950         * modules/getopt, modules/human, modules/javacomp:
43951         * modules/javaexec, modules/mkdir-p, modules/obstack:
43952         * modules/openat, modules/pagealign_alloc, modules/pipe:
43953         * modules/quotearg, modules/regex, modules/rpmatch:
43954         * modules/unicodeio, modules/userspec, modules/version-etc:
43955         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
43956         * modules/xsetenv:
43957         Depend on gettext-h, not gettext.
43958
43959 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43960
43961         * gnulib-tool (func_import): Add support for 'public domain' license.
43962         * modules/alloca, modules/atexit, modules/memmove:
43963         Now public domain, not GPL.
43964         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
43965         * modules/realloc, modules/strerror, modules/strtod:
43966         Now LGPL, not GPL.
43967
43968 2005-07-05  Bruno Haible  <bruno@clisp.org>
43969
43970         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
43971         autoconf CVS. Needed for mingw.
43972
43973 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43974
43975         Remove the dependency of the strftime module on the tzset module.
43976         * modules/strftime (Depends-on): Remove dependency on tzset.
43977
43978 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43979
43980         Remove the dependency of the strftime module on the tzset module.
43981         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
43982         gl_FUNC_TZSET_CLOBBER.
43983
43984 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43985
43986         Remove the dependency of the strftime module on the tzset module.
43987         * lib/strftime.c (my_strftime)
43988         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
43989         Copy the input structure, to work around some of the bug with
43990         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
43991         Solaris releases, you should also use the tzset module, but we won't
43992         require it as a dependency any more since we don't want LGPLed code
43993         to depend on GPLed code.
43994
43995 2005-07-02  Jim Meyering  <jim@meyering.net>
43996
43997         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
43998         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
43999         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
44000         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
44001
44002 2005-07-02  Jim Meyering  <jim@meyering.net>
44003
44004         * lib/backupfile.c (backup_args): Change a `0' to NULL.
44005
44006 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44007
44008         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
44009         declares only 'struct timespec;' (!).
44010
44011 2005-07-01  Jim Meyering  <jim@meyering.net>
44012
44013         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
44014         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
44015         * lib/save-cwd.c, tempname.c:
44016         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
44017         and don't include <sys/file.h>).
44018
44019 2005-06-29  Jim Meyering  <jim@meyering.net>
44020
44021         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
44022         type name.  Use the variable name instead.
44023         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
44024         Likewise.
44025
44026 2005-06-28  Simon Josefsson  <jas@extundo.com>
44027
44028         * modules/check-version (Files): Add check-version.m4.
44029
44030 2005-06-28  Simon Josefsson  <jas@extundo.com>
44031
44032         * m4/check-version.m4: New file, suggested by Jim Meyering
44033         <jim@meyering.net>.
44034
44035 2005-06-28  Simon Josefsson  <jas@extundo.com>
44036
44037         * lib/check-version.h, lib/check-version.c: New files.
44038
44039 2005-06-28  Simon Josefsson  <jas@extundo.com>
44040
44041         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
44042         collision with global variable.  Better indentation.  Don't
44043         increment buffer pointer beyond buffer end.  Based on comments
44044         from Paul Eggert <eggert@cs.ucla.edu>.
44045
44046         * lib/base64.h: Indent.
44047
44048 2005-06-28  Simon Josefsson  <jas@extundo.com>
44049
44050         * doc/gnulib.texi (Library version handling): New section.
44051
44052 2005-06-28  Jim Meyering  <jim@meyering.net>
44053
44054         * check-module (find_included_lib_files): Hard-code another
44055         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
44056         but modules/fts-lgpl (correctly) does not list those files.
44057
44058         * modules/canonicalize (Files): Add lib/pathmax.h.
44059
44060 2005-06-25  Simon Josefsson  <jas@extundo.com>
44061
44062         * modules/check-version: New file.
44063
44064 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
44065
44066         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
44067         initializer of struct addrinfo, as an indication that we don't
44068         care how many members the structure has.
44069
44070 2005-06-24  Derek Price  <derek@ximbiot.com>
44071         and Bruno Haible  <bruno@clisp.org>
44072
44073         Remove stat module & update lstat.
44074         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
44075         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
44076         * m4/stat.m4: Remove this file.
44077
44078 2005-06-24  Derek Price  <derek@ximbiot.com>
44079         and Bruno Haible  <bruno@clisp.org>
44080
44081         Remove stat module & update lstat.
44082         * lib/stat.c: Remove this file...
44083         (slash_aware_lstat): ...moving this content and its support...
44084         * lib/lstat.c (rpl_lstat): ...into here.
44085         * lib/lstat.h: New file.
44086
44087 2005-06-24  Derek Price  <derek@ximbiot.com>
44088         and Bruno Haible  <bruno@clisp.org>
44089
44090         Remove stat module & update lstat.
44091         * config/srclist.txt (libc sources): Remove stat.
44092
44093 2005-06-24  Derek Price  <derek@ximbiot.com>
44094         and Bruno Haible  <bruno@clisp.org>
44095
44096         Remove stat module & update lstat.
44097         * MODULES.html.sh (stat): Remove.
44098         * MODULES.html: Regenerated.
44099         * modules/lstat (Description): Correct function name.
44100         (Files): Add "lstat.h".
44101         (Depends-on): Remove stat, add xalloc, stat-macros.
44102         * modules/stat: Remove this file.
44103         (Include): Add "lstat.h", remove <sys/stat.h>.
44104
44105 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44106
44107         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
44108         (ranged_convert): Don't save conversion in a temporary struct.
44109         This causes a warning with GCC 4.0.0, and anyway in the typical
44110         case it's not worth the extra 100 bytes or so of code.
44111         (ranged_convert, __mktime_internal): When calling a function via a
44112         pointer P, use P () rather than (*P) (), as we now assume C89 or
44113         better.
44114
44115 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44116
44117         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
44118         "who -r" failed to give output.  Problem reported by Tim Waugh.
44119
44120         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
44121         (xcalloc): Use it to avoid needless tests.
44122         Problem reported by Jim Meyering.
44123
44124 2005-06-20  Derek Price  <derek@ximbiot.com>
44125
44126         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
44127         unnecessary for Autoconfs > 2.59c.
44128
44129 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44130
44131         * lib/argp.h (__option_is_short): Check upper limit of
44132         __key. Isprint() requires its argument to have the value
44133         of an unsigned char or EOF.
44134
44135 2005-06-16  Jim Meyering  <jim@meyering.net>
44136
44137         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
44138         when either N or S is zero.
44139
44140 2005-06-16  Derek Price  <derek@ximbiot.com>
44141
44142         * m4/bison.m4: Declare YACC & YFLAGS precious.
44143
44144 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
44145
44146         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
44147         multibyte string or pattern, fall back on unibyte matching.
44148         Problem reported by James Youngman.
44149
44150 2005-06-08  Bruno Haible  <bruno@clisp.org>
44151
44152         * modules/csharpcomp: New file.
44153         * MODULES.html.sh (C#): Add csharpcomp.
44154
44155 2005-06-08  Bruno Haible  <bruno@clisp.org>
44156
44157         * m4/csharpcomp.m4: New file, from GNU gettext.
44158
44159 2005-06-08  Bruno Haible  <bruno@clisp.org>
44160
44161         * lib/csharpcomp.h: New file, from GNU gettext.
44162         * lib/csharpcomp.c: New file, from GNU gettext.
44163         * lib/csharpcomp.sh.in: New file, from GNU gettext.
44164
44165 2005-06-08  Bruno Haible  <bruno@clisp.org>
44166
44167         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
44168         warning on mingw.
44169
44170 2005-06-07  Derek Price  <derek@ximbiot.com>
44171
44172         Sync from CVS.
44173         * lib/glob_.h: Indent nested #ifdef.
44174
44175 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44176
44177         Sync from coreutils.
44178         Use "file name" when talking about file names, instead of "filename"
44179         or "path", as per the GNU coding standards.
44180         * lib/mkdir-p.c: Renamed from makepath.c.
44181         (make_dir_parents): Renamed from make_path.  All callers changed.
44182         * lib/mkdir-p.h: Likewise.  All includers changed.
44183         * lib/filenamecat.c: Renamed from path-concat.c.
44184         (file_name_concat): Renamed from path_concat.  All callers changed.
44185         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
44186         * lib/filenamecat.h: Likewise.  All includers changed.
44187         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
44188         in comments or local variable names.
44189         * lib/basename.c: Likewise.
44190         * lib/canonicalize.c, canonicalize.h: Likewise.
44191         * lib/dirname.c, dirname.h: Likewise.
44192         * lib/euidaccess.c: Likewise.
44193         * lib/exclude.c: Likewise
44194         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
44195         * lib/fsusage.c, fsuage.h: Likewise.
44196         * lib/fts.c, fts_.h: Likewise.
44197         * lib/getcwd.c: Likewise.
44198         * lib/getloadavg.c: Likewise.
44199         * lib/mkstemp.c: Likewise.
44200         * lib/mountlist.c, mountlist.h: Likewise.
44201         * lib/openat.c, openat.h: Likewise.
44202         * lib/readlink-stub.c: Likewise.
44203         * lib/readutmp.c, readutmp.h: Likewise.
44204         * lib/rename.c: Likewise.
44205         * lib/rmdir.c: Likewise.
44206         * lib/same.c: Likewise.
44207         * lib/savedir.c: Likewise.
44208         * lib/stripslash.c: Likewise.
44209         * lib/tempname.c: Likewise.
44210         * lib/xreadlink.c: Likewise.
44211         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
44212         All uses changed.
44213         * lib/exclude.h: Likewise.
44214
44215         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
44216         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44217         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
44218         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44219         * lib/pathmax.h: Include <limits.h> unconditionally, since other
44220         files have been getting away with it for years (MORE/BSD 4.3
44221         is extinct now).
44222         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
44223         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44224
44225         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
44226         Define to 256, not 255, as per modern POSIX.
44227
44228 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44229
44230         Sync from coreutils.
44231         Use "file name" when talking about file names, instead of "filename"
44232         or "path", as per the GNU coding standards.
44233         * MODULES.html.sh: mkdir-p renamed from makepath.
44234         filenamecat renamed from path-concat.
44235         * modules/filenamecat: Renamed from modules/path-concat.
44236         (Files): filenamecat.h and filenamecat.c renamed from
44237         path-concat.h and path-concat.c.
44238         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
44239         (Include): filenamecat.h, not path-concat.h.
44240         * modules/mkdir-p: Renamed from modules/makepath.
44241         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
44242         makepath.c.
44243         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
44244         (Include): mkdir-p.h, not makepath.h.
44245
44246 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44247
44248         Sync from coreutils.
44249         * m4/mkdir-p.m4: Renamed from makepath.m4.
44250         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
44251         Rename files from makepath.c to mkdir-p.c, and from
44252         makepath.h to mkdir-p.h.
44253         * m4/filenamecat.m4: Renamed from path-concat.m4.
44254         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
44255         Rename files from path-concat.c to filenamecat.c,
44256         and from path-concat.h to filenamecat.h.
44257         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
44258         "file name" in local variables or comments.
44259         * m4/rename.m4: Likewise.
44260
44261 2005-06-01  Bruno Haible  <bruno@clisp.org>
44262
44263         * modules/csharpexec: New file.
44264         * MODULES.html.sh (C#): New section.
44265
44266 2005-06-01  Bruno Haible  <bruno@clisp.org>
44267
44268         * m4/csharp.m4: New file, from GNU gettext.
44269         * m4/csharpexec.m4: New file, from GNU gettext.
44270
44271 2005-06-01  Bruno Haible  <bruno@clisp.org>
44272
44273         * lib/csharpexec.h: New file, from GNU gettext.
44274         * lib/csharpexec.c: New file, from GNU gettext.
44275         * lib/csharpexec.sh.in: New file, from GNU gettext.
44276
44277 2005-05-31  Derek Price  <derek@ximbiot.com>
44278             Paul Eggert  <eggert@cs.ucla.edu>
44279
44280         Sync from cvs.
44281         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
44282
44283 2005-05-31  Derek Price  <derek@ximbiot.com>
44284             Paul Eggert  <eggert@cs.ucla.edu>
44285
44286         Sync from cvs.
44287         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
44288
44289 2005-05-29  Derek Price  <derek@ximbiot.com>
44290
44291         * config/srclist.txt (glob_.h, glob.c): Add these files.
44292
44293 2005-05-29  Derek Price  <derek@ximbiot.com>
44294
44295         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
44296         * modules/glob: New file.
44297         * modules/getlogin_r: Add link to POSIX spec in description.
44298
44299 2005-05-29  Derek Price  <derek@ximbiot.com>
44300             Paul Eggert  <eggert@cs.ucla.edu>
44301
44302         * m4/glob.m4: New file.
44303
44304 2005-05-29  Derek Price  <derek@ximbiot.com>
44305             Paul Eggert  <eggert@cs.ucla.edu>
44306
44307         * lib/glob_.h, lib/glob.c: New files.
44308
44309 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44310
44311         * modules/fts (Files): Remove m4/inttypes-pri.m4.
44312         * modules/fts-lgpl (Depends-on): Remove gettext.
44313
44314 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44315
44316         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
44317         and don't require gt_INTTYPES_PRI.
44318
44319 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44320
44321         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
44322
44323         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
44324         the configuration hassle isn't worth it.
44325         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
44326         (LONGEST_MODIFIER, PRIuMAX): Remove.
44327
44328 2005-05-27  Bruno Haible  <bruno@clisp.org>
44329
44330         * lib/getlogin_r.h: Remove second include of <stddef.h>.
44331
44332 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44333
44334         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
44335         _POSIX_PTHREAD_SEMANTICS for Solaris.
44336
44337 2005-05-25  Derek Price  <derek@ximbiot.com>
44338
44339         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
44340
44341 2005-05-25  Derek Price  <derek@ximbiot.com>
44342             Paul Eggert  <eggert@cs.ucla.edu>
44343
44344         * modules/getlogin_r, m4/getlogin_r.m4: New files.
44345         * lib/getlogin_r.c, getlogin_r.h: New files.
44346
44347 2005-05-25  Bruno Haible  <bruno@clisp.org>
44348             Derek Price  <derek@ximbiot.com>
44349
44350         * lib/getlogin_r.h: Simplify API documentation.
44351
44352 2005-05-23  Derek Price  <derek@ximbiot.com>
44353
44354         * modules/minmax (Files): Add m4/minmax.m4.
44355         (configure.ac): Add gl_MINMAX.
44356
44357 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
44358
44359         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
44360         so that unistd-safer.h (GPL'ed code) need not be included.
44361
44362 2005-05-22  Bruno Haible  <bruno@clisp.org>
44363
44364         * m4/minmax.m4: New file.
44365         Based on a patch by Derek Price <derek@ximbiot.com>.
44366
44367 2005-05-22  Bruno Haible  <bruno@clisp.org>
44368
44369         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
44370         (INT64_MIN): Fix definition.
44371         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
44372
44373         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
44374         NEED_SIGNED_INT_TYPES.
44375
44376         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
44377         HAVE_SYSTEM_INTTYPES.
44378
44379 2005-05-22  Bruno Haible  <bruno@clisp.org>
44380
44381         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
44382         Also include <sys/param.h> if it defines MIN, MAX.
44383         Based on a patch by Derek Price <derek@ximbiot.com>.
44384
44385 2005-05-21  Jim Meyering  <jim@meyering.net>
44386
44387         * modules/fts (Files): Add m4/inttypes-pri.m4.
44388         (Depends-on): Add lstat and remove gettext.  Alphabetize.
44389
44390 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44391
44392         New fts module.
44393         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
44394         (setup_dir, free_dir): New functions.
44395         (enter_dir, leave_dir): Define trivial
44396         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
44397         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
44398         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
44399         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
44400         Move to fts-cycle.c.
44401         (fts_open): Use setup_dir.
44402         (fts_close): Use free_dir.
44403         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
44404         This adds a label and some gotos, but the alternatives were messier.
44405         Check for memory allocation failure when entering a dir.
44406         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
44407         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
44408         (FTS): New member fts_cycle, that is a union that contains the
44409         old active_dir_ht and cycle_state.  All uses changed to mention
44410         fts_cycle.ht and fts_cycle.state.
44411         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
44412         fts.c, with the following changes:
44413         (setup_dir, free_dir): New functions.
44414         (enter_dir): Now returns bool.  Return true if successful, false
44415         if memory exhausted.  All callers changed.
44416         Do not bother partly cleaning up on
44417         memory allocation failure; that is free_dir's job.
44418         However, free ad if hash_insert fails, to avoid memory leak.
44419         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
44420         fts->fts_options to see which union member to use.
44421
44422 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44423
44424         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
44425         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
44426
44427 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44428
44429         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
44430
44431 2005-05-20  Jim Meyering  <jim@meyering.net>
44432
44433         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
44434         Now a macro, to pacify GCC.
44435
44436 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44437
44438         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
44439         of -1.
44440
44441 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44442
44443         * lib/chown.c (rpl_chown): Return -1 on failure.
44444
44445 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44446
44447         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
44448         Don't check for stddef.h.
44449         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
44450         don't use its results.
44451         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
44452         since we include them unconditionally.  Don't require
44453         AM_STDBOOL_H, since stdbool is a prerequisite.
44454         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
44455         since we assume C89 or better.
44456         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
44457         as we don't use their results.
44458         Don't check for fchdir, memmove, memset, strrchr, as we use
44459         them unconditionally.
44460         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
44461         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
44462
44463 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44464
44465         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
44466         Include <stddef.h> unconditionally, since we assume C89 now.
44467         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
44468         * lib/fts.c: Include fts_.h first, to check interface.
44469         Do not include intprops.h; no longer needed.
44470         Include cycle-check.h and hash.h, since fts_.h no longer does.
44471         Remove unnecessary casts of closedir to void.
44472         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
44473         decide whether to decrement nlinks.
44474         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
44475         (FTS): Use struct hash_table * instead of Hash_table, so that
44476         we no longer need to include hash.h here.
44477
44478 2005-05-18  Jim Meyering  <jim@meyering.net>
44479
44480         * modules/dirfd (License): Change to LGPL.  Most of the code
44481         is already in the public domain.
44482
44483 2005-05-18  Jim Meyering  <jim@meyering.net>
44484
44485         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
44486         Reported by Yoann Vandoorselaere.
44487
44488 2005-05-17  Jim Meyering  <jim@meyering.net>
44489
44490         * m4/fts.m4: New file, from coreutils.
44491
44492 2005-05-17  Jim Meyering  <jim@meyering.net>
44493
44494         * lib/fts.c, lib/fts_.h: New files, from coreutils.
44495
44496 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44497
44498         Sync from coreutils.
44499         * m4/unlinkdir.m4: New file.
44500
44501 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44502
44503         Sync from coreutils.
44504         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
44505         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
44506         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
44507         White space changes only.
44508         * lib/makepath.c (make_path): Port to hosts where leading "//" is
44509         special.
44510         * lib/yesno.c: Include getline.h, not ctype.h.
44511         (yesno): Don't remove leading white space; POSIX doesn't allow it.
44512         Use getline to remove arbitrary restriction on response length.
44513
44514 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44515
44516         * config/srclist-update: Spell out "Street" in FSF postal
44517         mail address; this is the style the FSF seems to prefer.
44518
44519         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
44520         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
44521         this updates FSF postal mail address.
44522
44523         Sync from coreutils.
44524         * modules/unlinkdir: New file.
44525         * modules/yesno (Depends-on): Add getline.
44526         * MODULES.html.sh (File system functions): Add unlinkdir.
44527
44528 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44529
44530         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
44531         lib/strsep.h:
44532         Change the initial comment to refer to GPL, not LGPL.
44533         gnulib-tool will change it to LGPL as needed.
44534
44535         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
44536         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
44537         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
44538         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
44539         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
44540         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
44541         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
44542         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
44543         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
44544         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
44545         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
44546         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
44547         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
44548         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
44549         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
44550         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
44551         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
44552         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
44553         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
44554         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
44555         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
44556         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
44557         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
44558         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
44559         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
44560         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
44561         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
44562         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
44563         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
44564         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
44565         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
44566         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
44567         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
44568         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
44569         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
44570         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
44571         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
44572         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
44573         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
44574         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
44575         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
44576         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
44577         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
44578         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
44579         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
44580         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
44581         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
44582         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
44583         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
44584         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
44585         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
44586         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
44587         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
44588         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
44589         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
44590         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
44591         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
44592         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
44593         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
44594         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
44595         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
44596         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
44597         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
44598         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
44599         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
44600         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
44601         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
44602         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
44603         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
44604         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
44605         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
44606         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
44607         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
44608         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
44609         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
44610         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
44611         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
44612         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
44613         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
44614         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
44615         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
44616         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
44617         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
44618         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
44619         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
44620         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
44621         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
44622         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
44623         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
44624         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
44625         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
44626         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
44627         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
44628         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
44629         lib/yesno.c, lib/yesno.h:
44630         Update FSF postal mail address.
44631
44632 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44633
44634         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
44635         tests/test-memmem.c, tests/test-stpncpy.c:
44636         Update FSF postal mail address.
44637
44638 2005-05-13  Bruno Haible  <bruno@clisp.org>
44639
44640         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
44641         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
44642         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
44643         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
44644         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
44645         Add support for 64-bit integers in the MSVC compiler.
44646
44647 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44648
44649         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
44650
44651 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
44652
44653         * gnulib-tool (func_import): Sort and uniquify recommended includes.
44654
44655 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
44656
44657         * doc/getdate.texi (General date syntax): Don't say that date
44658         date --iso-8601=ns generates acceptable dates; it doesn't yet.
44659         Problem reported by Nic Ferrier.
44660
44661 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44662
44663         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
44664         specified in ai_socktype. Fix invalid ai_protocol
44665         check. ai_protocol is usually set to 0 or depending on
44666         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
44667         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
44668         ai_socktype / ai_protocol in the returned addrinfo structure.
44669
44670 2005-05-10  Simon Josefsson  <jas@extundo.com>
44671
44672         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
44673         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44674
44675 2005-05-10  Karl Berry  <karl@gnu.org>
44676
44677         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
44678         (from http://www.gnu.org/licenses).
44679         * doc/COPYING.LIB: also rename to COPYING.LESSER.
44680         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
44681         fdl.texi suffices.
44682
44683 2005-05-10  Karl Berry  <karl@gnu.org>
44684
44685         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
44686         (COPYING.DOC): remove.
44687
44688         * config/srclist-update: new FSF address.
44689
44690 2005-05-10  Derek Price  <derek@ximbiot.com>
44691
44692         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
44693         possible.
44694
44695 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44696             Bruno Haible  <bruno@clisp.org>
44697
44698         * modules/inet_ntop: New file.
44699         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44700         inet_ntop.
44701
44702 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44703             Bruno Haible  <bruno@clisp.org>
44704
44705         * m4/inet_ntop.m4: New file.
44706
44707 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44708             Bruno Haible  <bruno@clisp.org>
44709
44710         * lib/inet_ntop.h: New file.
44711         * lib/inet_ntop.c: New file, from glibc with modifications.
44712
44713 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
44714
44715         * modules/time_r (License): Change to LGPL.
44716         * modules/extensions (License): Change to LGPL.  Actually,
44717         the license is more permissive than that, but currently gnulib-tool
44718         doesn't know how to handle more-permissive licenses.
44719
44720         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
44721         Problem reported by Dave Love.
44722
44723 2005-05-08  Jim Meyering  <jim@meyering.net>
44724
44725         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
44726         blank.
44727
44728 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
44729
44730         * modules/argmatch (Depends-on): Add stdbool.
44731         * modules/backupfile (Depends-on): Likewise.
44732         * modules/chdir-long (Depends-on): Likewise.
44733         * modules/closeout (Depends-on): Likewise.
44734         * modules/cycle-check (Depends-on): Likewise.
44735         * modules/dirname (Depends-on): Likewise.
44736         * modules/fnmatch (Depends-on): Likewise.
44737         * modules/fsusage (Depends-on): Likewise.
44738         * modules/fwriteerror (Depends-on): Likewise.
44739         * modules/getcwd (Depends-on): Likewise.
44740         * modules/getloadavg (Depends-on): Likewise.
44741         * modules/hard-locale (Depends-on): Likewise.
44742         * modules/makepath (Depends-on): Likewise.
44743         * modules/mountlist (Depends-on): Likewise.
44744         * modules/nanosleep (Depends-on): Likewise.
44745         * modules/posixtm (Depends-on): Likewise.
44746         * modules/quotearg (Depends-on): Likewise.
44747         * modules/readtokens (Depends-on): Likewise.
44748         * modules/readtokens0 (Depends-on): Likewise.
44749         * modules/readutmp (Depends-on): Likewise.
44750         * modules/save-cwd (Depends-on): Likewise.
44751         * modules/strftime (Depends-on): Likewise.
44752         * modules/userspec (Depends-on): Likewise.
44753         * modules/utimecmp (Depends-on): Likewise.
44754         * modules/xgetcwd (Depends-on): Likewise.
44755         * modules/xnanosleep (Depends-on): Likewise.
44756         * modules/xstrtod (Depends-on): Likewise.
44757         * modules/yesno (Depends-on): Likewise.
44758
44759 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
44760
44761         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
44762         needless checks.
44763
44764 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44765
44766         Merge from coreutils.  Among other things,
44767         add bulletproofing for cases where stdin, stdout, or stderr are closed.
44768         * lib/fd-safer.c: New file.
44769         * lib/fcntl-safer.h, open-safer.c: Remove.
44770         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
44771         * lib/dup-safer.c: Include unistd-safer.h first.
44772         Don't include errno.h.
44773         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
44774         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
44775         * lib/file-type.c: Rely on file-type.h change.
44776         * lib/getloadavg.c: Include unistd-safer.h.
44777         (getloadavg): Use safer open.
44778         * lib/getusershell.c: Include "stdio-safer.h".
44779         (getusershell): Use safer fopen.
44780         * lib/long-options.c (long_options): Use NULL rather than 0.
44781         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
44782         'free'.
44783         * lib/modechange.c: Likewise.
44784         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
44785         (MODE_DONE): New constant.
44786         (struct mode_change): Remove 'next' member.
44787         (make_node_op_equals): New function; like the old one of the
44788         same name, except it allocates an array.
44789         (mode_compile, mode_create_from_ref): Use it.
44790         (mode_compile): Allocate result as an array, not a linked list.
44791         Parse octal string ourself, so that we catch mistakes like "+0".
44792         (mode_adjust): Arg is an array, not a linked list.
44793         * lib/modechange.c: Include stat-macros.h, xalloc.h.
44794         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
44795         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
44796         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
44797         Remove.  This is now stat-macros.h's job.
44798         (talloc): Remove.  All callers replaced by xalloc, so that
44799         our invokers don't have to worry about reporting memory failures.
44800         (make_node_op_equals): Remove.
44801         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
44802         New constants.
44803         (struct mode_change): Moved here from modechange.h.
44804         (mode_append_entry): Remove.
44805         (mode_compile): Remove MASKED_OPS arg, since it encouraged
44806         apps to have incorrect behavior.  Use simpler algorithm for head
44807         and tail.  Don't futz with umask; that's now the job of mode_adjust.
44808         Detect more invalid usages rather than having somewhat-random behavior.
44809         Don't insert an "a=" action, as that leads to incorrect behavior.
44810         (mode_compile, mode_create_from_ref): Return NULL on error instead
44811         of an enum, since now there's only one way to have an error.  All
44812         callers changed.
44813         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
44814         at the correct time.  Simplify calculation of "+u" and its ilk.
44815         Don't mishandle "+X".
44816         (mode_free): Remove "register" and localize decls.
44817         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
44818         (struct mode_change): Move to modechange.c; callers don't
44819         need to see this stuff.
44820         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
44821         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
44822         (mode_change, mode_adjust): Reflect the new signatures noted above.
44823         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
44824         that might redefine system include files.
44825         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
44826         (my_usleep): Use NULL rather than (void *) 0.
44827         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
44828         Use siginterrupt to specify that system calls should be interrupted.
44829         (rpl_nanosleep): Move initialization of suspended closer to call of
44830         my_usleep.
44831         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
44832         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
44833         (desirable_utmp_entry): New function.
44834         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
44835         using x2nrealloc, to simplify logic.
44836         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
44837         size calculation.  Do not assume utmp file is a regular file.
44838         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
44839         (READ_UTMP_CHECK_PIDS): New constant.
44840         * lib/save-cwd.c: Include unistd-safer.h.
44841         (save_cwd): Use fd_safer.
44842         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
44843         [!_LIBC] Include "stat-macros.h" instead.
44844         * lib/unistd-safer.h (fd_safer): New decl.
44845
44846 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44847
44848         * modules/getloadavg (Depends-on): Add unistd-safer.
44849         * modules/getusershell (Depends-on): Add stdio-safer.
44850         * modules/lstat (Depends-on): Remove xalloc.
44851         * modules/mkstemp (Depends-on): Add stat-macros.
44852         * modules/modechange (Depends-on): Remove xstrtol.
44853         Add stat-macros, xalloc.
44854         * modules/save-cwd (Depends-on): Add unistd-safer.
44855         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
44856         * modules/unistd-safer (Files): Add lib/fd-safer.c
44857         (Makefile.am): Remove lib_SOURCES.
44858
44859         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
44860         Remove fcntl-safer; unistd-safer supersedes it.
44861
44862 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44863
44864         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
44865         AC_HEADER_STAT.
44866         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
44867         (gl_PREREQ_CHOWN): Remove.
44868         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
44869         it.  Don't require AC_HEADER_STAT.
44870         (gl_PREREQ_LSTAT): Remove.
44871         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
44872         Don't require AC_HEADER_STAT.
44873         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
44874         (gl_PREREQ_RMDIR): Remove.
44875         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
44876         mention stat-macros.h or AC_HEADER_STAT, since we'll make
44877         the stat-macros module a prerequisite.
44878         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
44879         * m4/filemode.m4 (gl_FILEMODE): Likewise.
44880         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
44881         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
44882         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
44883         variable names.
44884         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
44885         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
44886         variable prefixes.
44887         * m4/fcntl-safer.m4: Remove.
44888         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
44889         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
44890         Invoke gl_PREREQ_FD_SAFER.
44891         (gl_PREREQ_FD_SAFER): New macro.
44892         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
44893         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
44894         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
44895         Remove duplicate call to AC_LIBOBJ(readutmp).
44896         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
44897
44898         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
44899         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
44900
44901 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44902
44903         * MODULES.html.sh (Misc): Add byteswap.
44904
44905 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44906
44907         * modules/getcwd (Depends-on): Add extensions.
44908         * modules/openat (Depends-on): Likewise.
44909
44910 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44911
44912         * modules/byteswap: New file.
44913
44914 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44915
44916         * m4/byteswap.m4: New file.
44917
44918 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44919
44920         * lib/byteswap_.h: New file.
44921
44922 2005-04-25  Karl Berry  <karl@gnu.org>
44923
44924         * m4/gettext.m4: Update from GNU gettext 0.14.4.
44925
44926 2005-04-25  Albert Chin  <china@thewrittenword.com>
44927
44928         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
44929         Toolkit C bug.
44930
44931 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
44932
44933         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
44934         (func_ln_if_changed) Remove forcibly for no error message
44935         in case file does not exist.
44936
44937 2005-04-19  Simon Josefsson  <jas@extundo.com>
44938
44939         * gnulib-tool (Options): Make --symlink mean --symbolic.
44940
44941 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
44942
44943         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
44944
44945 2005-04-16  Simon Josefsson  <jas@extundo.com>
44946
44947         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
44948
44949 2005-04-15  Simon Josefsson  <jas@extundo.com>
44950
44951         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
44952
44953 2005-04-15  Simon Josefsson  <jas@extundo.com>
44954
44955         * gnulib-tool: Rename --symlink to --symbolic.
44956
44957 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
44958
44959         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
44960         symbolic links to files instead of copying/moving.  Add --aux-dir,
44961         specifying directory relative --dir where auxiliary build tools
44962         are placed.
44963
44964 2005-04-14  Bruno Haible  <bruno@clisp.org>
44965
44966         * modules/allocsa (License): Change to LGPL.
44967         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44968
44969 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
44970
44971         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
44972         that "UTC +1 second" continues to work.  Problem reported
44973         by Dmitry V. Levin.
44974         (relunit_snumber): New rule.
44975         (relunit): Use it.
44976
44977 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
44978
44979         * lib/getdate.y (universal_time_zone_table): New constant.
44980         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
44981         universal_time_zone_table.
44982         (lookup_zone): Prefer universal_time_zone_table to
44983         local_time_zone_table, so that "GMT" time stamps are allowed in
44984         London during the summer.  Problem reported by Ian Abbott.
44985
44986 2005-04-12  Jim Meyering  <jim@meyering.net>
44987
44988         * lib/human.c (humblock): Set *options even when returning due to
44989         xstrtoumax conversion failure.  Thanks to a used-uninitialized
44990         warning from gcc-4.
44991
44992 2005-04-09  Jim Meyering  <jim@meyering.net>
44993
44994         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
44995         -Wuninitialized: initialize tm0.tm_year.
44996
44997 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
44998
44999         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
45000         count, since there's no maximum.  All uses changed.
45001         Add member dsts_seen.
45002         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
45003         not being INT_MAX.
45004         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
45005         Use pc_rels_seen to decide whther a date is absolute.
45006
45007         * lib/getdate.y (number): Don't overwrite year.
45008         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
45009         check.
45010
45011 2005-04-02  Simon Josefsson  <jas@extundo.com>
45012
45013         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
45014         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
45015
45016 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
45017
45018         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
45019         where no absolute path name can be longer than PATH_MAX.
45020
45021 2005-03-27  Jim Meyering  <jim@meyering.net>
45022
45023         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
45024
45025 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
45026
45027         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
45028         "one's complement" -> "ones' complement" in comment, as per Knuth.
45029         "value of type" -> "type or expression" in comment.
45030         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
45031
45032 2005-03-26  Jim Meyering  <jim@meyering.net>
45033
45034         Comment nits.
45035         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
45036         Correct typos: s/or/of/.
45037
45038 2005-03-26  Jim Meyering  <jim@meyering.net>
45039
45040         * modules/check-include-files: Move to ../ and rename to...
45041         * check-module: ...this.
45042
45043 2005-03-25  Jim Meyering  <jim@meyering.net>
45044
45045         * modules/xvasprintf (Files): Add xalloc.h.
45046
45047 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
45048
45049         * modules/gettext (Files): config/config.rpath ->
45050         build-aux/config.rpath
45051         * modules/iconv (Files): Likewise.
45052         Problem reported by Oskar Liljeblad.
45053
45054 2005-03-23  Jim Meyering  <jim@meyering.net>
45055
45056         * modules/check-include-files: New script to check for
45057         missing dependencies, multiple includes, etc.
45058
45059         * modules/c-strtold (Depends-on): Add xalloc.
45060         * modules/c-strtod (Depends-on): Add xalloc.
45061         * modules/hash (Depends-on): Add xalloc.
45062         (Files): Remove lib/xalloc.h.
45063
45064         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
45065         * modules/userspec (Files): Add lib/inttostr.h.
45066
45067 2005-03-23  Jim Meyering  <jim@meyering.net>
45068
45069         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
45070
45071 2005-03-22  Jim Meyering  <jim@meyering.net>
45072
45073         * modules/stat-macros: New module.
45074         * modules/canonicalize, modules/euidaccess, modules/file-type,
45075         * modules/filemode, modules/lchown, modules/makepath,
45076         * modules/rmdir, modules/stat: Depend on new stat-macros module
45077         rather than listing lib/stat-macros.h manually.
45078         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
45079
45080 2005-03-22  Jim Meyering  <jim@meyering.net>
45081
45082         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
45083
45084 2005-03-22  Bruno Haible  <bruno@clisp.org>
45085
45086         * config/srclist.txt: Replace target directory 'config' with
45087         'build-aux'.
45088         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
45089         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
45090         ../build-aux/.
45091
45092 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
45093
45094         * modules/chdir-long (Depends-on): Add mempcpy.
45095
45096         * modules/acl, modules/backupfile, modules/c-strtod,
45097         modules/c-strtold, modules/canon-host, modules/canonicalize,
45098         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
45099         modules/exclude, modules/exitfail, modules/file-type,
45100         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
45101         modules/getdate, modules/getline, modules/getpagesize,
45102         modules/getpass, modules/getugroups, modules/group-member,
45103         modules/hard-locale, modules/hash, modules/human, modules/idcache,
45104         modules/inttostr, modules/long-options, modules/makepath,
45105         modules/md5, modules/memcasecmp, modules/memcoll,
45106         modules/modechange, modules/mountlist, modules/path-concat,
45107         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
45108         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
45109         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
45110         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
45111         modules/strftime, modules/strndup, modules/strverscmp,
45112         modules/timespec, modules/unlocked-io, modules/userspec,
45113         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
45114         modules/yesno:
45115         Remove lib_SOURCES line from Makefile.am section, as this is now
45116         done automatically by the corresponding Autoconf macro.
45117
45118 2005-03-21  Jim Meyering  <jim@meyering.net>
45119
45120         Changes imported from coreutils.
45121
45122         * lib/cycle-check.c: Don't include xalloc.h.
45123
45124         * lib/path-concat.c: Don't include assert.h.
45125         (path_concat): Remove assertion that would have triggered
45126         for ABASE starting with more than one slash.
45127         Reported by Andreas Schwab.
45128
45129         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
45130         properly when ABASE is an absolute file name.
45131         Correct the description of this function.
45132         Include <assert.h>.
45133         Add an assertion and a test driver.
45134         This fixes a bug introduced on 2004-07-02.
45135         Andreas Schwab reported the resulting failure of cp --parents:
45136         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
45137
45138 2005-03-21  Jim Meyering  <jim@meyering.net>
45139
45140         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
45141         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
45142
45143 2005-03-21  Jim Meyering  <jim@meyering.net>
45144         and  Paul Eggert  <eggert@cs.ucla.edu>
45145
45146         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
45147         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
45148         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
45149         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
45150         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
45151         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
45152         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
45153         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
45154         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
45155         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
45156         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
45157         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
45158         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
45159         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
45160         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
45161         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
45162         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
45163         for these modules.
45164
45165 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
45166
45167         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
45168         (which shouldn't happen), generate nothing instead of returning 0
45169         immediately, so that nstrftime (NULL, ...) doesn't return 0.
45170
45171 2005-03-16  Bruno Haible  <bruno@clisp.org>
45172
45173         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
45174         HAVE_LONGLONG_64BIT.
45175
45176 2005-03-16  Bruno Haible  <bruno@clisp.org>
45177
45178         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
45179         HAVE_LONGLONG_64BIT.
45180
45181 2005-03-16  Bruno Haible  <bruno@clisp.org>
45182
45183         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
45184         HAVE_LONGLONG_64BIT.
45185
45186 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45187
45188         * lib/strftime.c (my_strftime): Prepend space to format so that we can
45189         reliably distinguish strftime failure from empty output on POSIX
45190         hosts.
45191
45192 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45193
45194         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
45195         (iconv_string): Don't guess a size-zero buffer, as that might cause
45196         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
45197         result would be 'too large', where 'too large' is (heuristically)
45198         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
45199         overflow concerns.  This will prevent some unwanted malloc failures
45200         when the inputs are very large.
45201
45202 2005-03-15  Karl Berry  <karl@gnu.org>
45203
45204         * config/srclist.txt (config.rpath): from gettext.
45205         * config/config.rpath: update.
45206
45207 2005-03-15  Bruno Haible  <bruno@clisp.org>
45208
45209         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
45210         to 'negate'.
45211
45212         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
45213         variable.
45214
45215         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
45216         results.
45217
45218 2005-03-14  Simon Josefsson  <jas@extundo.com>
45219
45220         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
45221         <fx@gnu.org>.
45222
45223 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
45224
45225         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
45226         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
45227         intprops.h.
45228         * lib/strtol.c: Likewise.
45229
45230 2005-03-14  Jim Meyering  <jim@meyering.net>
45231
45232         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
45233         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
45234         to be nonzero so that we (and caller) can detect the difference
45235         between a valid zero-length expansion and an error return, even
45236         when the underlying strftime fails before writing anything into
45237         that location.
45238
45239 2005-03-14  Bruno Haible  <bruno@clisp.org>
45240
45241         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
45242         Update from GNU gettext 0.14.3.
45243
45244 2005-03-10  Jim Meyering  <jim@meyering.net>
45245
45246         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
45247
45248 2005-03-10  Jim Meyering  <jim@meyering.net>
45249
45250         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
45251         so that this module works on systems without fchdir.
45252
45253 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
45254
45255         Factor int-properties macros into a single file, except for
45256         glibc-related files.
45257         * lib/intprops.h: New file.
45258         * lib/getloadavg.c: Include it instead of limits.h.
45259         (INT_STRLEN_BOUND): Remove.
45260         * lib/human.c: Include intprops.h.
45261         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
45262         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
45263         302/1000.
45264         * lib/inttostr.h: Include intprops.h instead of limits.h.
45265         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
45266         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
45267         for consistency with intprops.h.
45268         (time_t_is_integer, twos_complement_arithmetic): Use them.
45269         * lib/sig2str.h: Include <signal.h>, intprops.h.
45270         (INT_STRLEN_BOUND): Remove.
45271         * lib/strftime.c (TYPE_SIGNED): Remove.
45272         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
45273         * lib/strtol.c: Adjust comments to match intprops.h.
45274         * lib/userspec.c: Include intprops.h.
45275         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
45276         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
45277         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
45278         instead of rolling our own expressions.
45279         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
45280
45281         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
45282         instead of int.
45283         (my_strftime): Do not mishandle years close to INT_MAX, by doing
45284         the right thing even if adding 1900 would overflow.  Similarly
45285         for tm_mon + 1 and tm_yday + 1.
45286         Make %Y always equivalent to %C%y, and similarly for %G and %g.
45287         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
45288         (DO_SIGNED_NUMBER): New macro.
45289         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
45290
45291 2005-03-07  Bruno Haible  <bruno@clisp.org>
45292
45293         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
45294
45295 2005-03-07  Bruno Haible  <bruno@clisp.org>
45296
45297         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
45298
45299 2005-03-04  Derek R. Price  <derek@ximbiot.com>
45300
45301         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
45302         (func_import): Only replace files via --import when they have actually
45303         changed.
45304
45305 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45306
45307         * m4/mmap-anon.m4: New file.
45308         * m4/pagealign_alloc.m4: New file.
45309
45310 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45311             Bruno Haible  <bruno@clisp.org>
45312
45313         * modules/pagealign_alloc: New file.
45314         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
45315
45316 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45317             Bruno Haible  <bruno@clisp.org>
45318
45319         * lib/pagealign_alloc.h: New file.
45320         * lib/pagealign_alloc.c: New file.
45321
45322 2005-03-03  Bruno Haible  <bruno@clisp.org>
45323
45324         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
45325         Use an all-permissive copyright notice, recommended by RMS.
45326
45327 2005-03-02  Bruno Haible  <bruno@clisp.org>
45328
45329         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
45330         of AIX, the replacement has to be done only after <string.h> is
45331         included, therefore not in config.h. stpncpy.h does the replacement,
45332         and stpncpy.c uses it.
45333
45334 2005-03-02  Bruno Haible  <bruno@clisp.org>
45335
45336         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
45337         stpncpy.c uses it.
45338
45339 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45340
45341         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
45342         The workaround isn't strictly needed for POSIX conformance, and
45343         it's too much of a pain to configure and maintain.  We'll ask
45344         people to fix their kernels instead.
45345         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
45346         (NANOSLEEP_BUG_WORKAROUND): Remove.
45347         (xnanosleep): Remove the workaround.
45348
45349 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45350
45351         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
45352         Reported by Derek Price.
45353         (Include): Add "timespec.h".
45354
45355         * modules/xnanosleep (Depends-on): Remove gethrxtime.
45356
45357 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45358
45359         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
45360         to detect nanosleep bug.
45361
45362 2005-03-01  Bruno Haible  <bruno@clisp.org>
45363
45364         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
45365
45366 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45367
45368         * modules/gethrxtime: New file.
45369         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
45370         (Depends-on): Add gethrxtime.
45371         (configure.ac): Add gl_XNANOSLEEP.
45372         (Makefile.am): Remove lib_SOURCES line.
45373
45374 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45375
45376         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
45377         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
45378
45379 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45380
45381         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
45382         * lib/timespec.h (gettime): Return void, since it always
45383         succeeds now.  All uses changed.
45384         * lib/gettime.c (gettime) Likewise.
45385         [HAVE_NANOTIME]: Prefer nanotime.
45386         Assume gettimeofday succeeds, as POSIX requires.
45387         Assime time () succeeds, since other code already does.
45388         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
45389         (timespec_subtract): Remove.
45390         (NANOSLEEP_BUG_WORKAROUND): New constant.
45391         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
45392         things considerably.  Use it only on GNU/Linux hosts, since the
45393         workaround shouldn't be needed elsewhere.
45394
45395 2005-02-24  Bruno Haible  <bruno@clisp.org>
45396
45397         * modules/gettext (Files): Add m4/glibc2.m4.
45398
45399 2005-02-24  Bruno Haible  <bruno@clisp.org>
45400
45401         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
45402         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
45403         * m4/progtest.m4:
45404         Update from GNU gettext 0.14.2.
45405         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
45406
45407 2005-02-24  Bruno Haible  <bruno@clisp.org>
45408
45409         * lib/localcharset.c: Update from GNU gettext 0.14.2.
45410         * lib/config.charset: Update from GNU gettext 0.14.2.
45411
45412 2005-02-24  Bruno Haible  <bruno@clisp.org>
45413
45414         * lib/gettext.h: Update from GNU gettext 0.14.2.
45415
45416 2005-02-23  Simon Josefsson  <jas@extundo.com>
45417
45418         * m4/iconvme.m4: New file.
45419
45420 2005-02-23  Jim Meyering  <jim@meyering.net>
45421
45422         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
45423         change.
45424         Thanks to Bruno Haible for catching it.
45425
45426 2005-02-22  Simon Josefsson  <jas@extundo.com>
45427
45428         * modules/iconvme: New file.
45429
45430         * MODULES.html.sh: Add iconvme.
45431
45432 2005-02-22  Simon Josefsson  <jas@extundo.com>
45433
45434         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
45435
45436 2005-02-22  Simon Josefsson  <jas@extundo.com>
45437
45438         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
45439
45440 2005-02-22  Jim Meyering  <jim@meyering.net>
45441
45442         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
45443         s/ifndef/ifdef/.
45444
45445 2005-02-20  Neil Conway  <neilc@samurai.com>
45446
45447         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
45448         returned by OSX/Darwin if the specified buffer is not large
45449         enough for the hostname.
45450
45451 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45452
45453         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
45454         pass it to _help, otherwise the latter coredumps trying to
45455         dereference state.root_argp.
45456
45457 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45458
45459         * modules/chdir-long (Depends-on): Add memrchr.
45460         * modules/memrchr (Files): Add lib/memrchr.h.
45461         (Include): "memrchr.h".
45462
45463 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45464
45465         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
45466
45467 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45468
45469         * lib/memrchr.h: New file.
45470         * lib/chdir-long.c: Include it.
45471         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
45472         Don't bother including stddef.h.
45473
45474 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
45475
45476         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
45477         inclusion.
45478         Include <sys/types.h>, for dev_t.
45479         (ME_DUMMY, ME_REMOTE): Move from here....
45480         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
45481         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
45482         Dmitry V. Levin.
45483         Include mountlist.h first, to test the interface.
45484
45485 2005-01-29  Bruno Haible  <bruno@clisp.org>
45486
45487         * lib/progname.c (program_name): Initialize.
45488         Needed when linking statically on MacOS X.
45489
45490 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45491
45492         Sync from coreutils.
45493         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
45494         (Depends-on): Add c-strtod.
45495         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
45496
45497 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45498
45499         Sync from coreutils.
45500         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
45501
45502         Remove files that are specific to coreutils.
45503         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
45504
45505 2005-01-28  Bruno Haible  <bruno@clisp.org>
45506
45507         * modules/javacomp: New file.
45508         * MODULES.html.sh (Java): Add javacomp.
45509
45510 2005-01-28  Bruno Haible  <bruno@clisp.org>
45511
45512         * m4/javacomp.m4: New file, from GNU gettext.
45513
45514 2005-01-28  Bruno Haible  <bruno@clisp.org>
45515
45516         * lib/javacomp.sh.in: New file, from GNU gettext.
45517         * lib/javacomp.h: New file, from GNU gettext.
45518         * lib/javacomp.c: New file, from GNU gettext.
45519
45520 2005-01-26  Simon Josefsson  <jas@extundo.com>
45521
45522         * lib/gai_strerror.c: Use GPL in header.
45523
45524 2005-01-26  Bruno Haible  <bruno@clisp.org>
45525
45526         * modules/javaexec: New file.
45527         * MODULES.html.sh (Java): Add javaexec.
45528
45529 2005-01-26  Bruno Haible  <bruno@clisp.org>
45530
45531         * m4/javaexec.m4: New file, from GNU gettext.
45532
45533 2005-01-26  Bruno Haible  <bruno@clisp.org>
45534
45535         * lib/javaexec.sh.in: New file, from GNU gettext.
45536         * lib/javaexec.h: New file, from GNU gettext.
45537         * lib/javaexec.c: New file, from GNU gettext.
45538
45539 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45540
45541         * modules/lchown (Depends-on): Remove lchown.h
45542
45543 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45544
45545         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
45546         must be defined if the header file was not found, in order
45547         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
45548
45549 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45550
45551         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
45552         initializers for struct pentry_state.
45553         (__argp_error): Check return value of __asprintf
45554         (__argp_failure): Translate error message
45555
45556         * lib/argp-parse.c: Removed braces around the expansion of N_()
45557
45558 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45559
45560         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
45561         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
45562         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
45563         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
45564         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
45565         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
45566         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
45567         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
45568         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
45569         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
45570         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
45571         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
45572         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
45573         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
45574         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
45575         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
45576         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
45577         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
45578         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
45579         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
45580         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
45581         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
45582         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
45583         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
45584         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
45585         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
45586         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
45587         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
45588         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
45589         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
45590         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
45591         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
45592         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
45593         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
45594         xstrtol.m4, xstrtoumax.m4, yesno.m4:
45595         Use an all-permissive copyright notice, recommended by RMS.
45596
45597 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
45598
45599         * modules/chdir-long (Depends-on): Remove mempcpy.
45600
45601 2005-01-21  Jim Meyering  <jim@meyering.net>
45602
45603         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
45604         same value as for Solaris 9.
45605
45606         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
45607         component length.  This included changing the parameter to be
45608         of type `char *' rather than `char const *'.
45609         * lib/chdir-long.h (chdir_long): Update prototype.
45610
45611         * lib/openat.c (fdopendir, fstatat): New functions.
45612         * lib/openat.h: Include headers required for use of DIR and struct
45613         stat.
45614         [AT_SYMLINK_NOFOLLOW]: Define.
45615         (fdopendir, fstatat): Add prototypes.
45616
45617 2005-01-21  Bruno Haible  <bruno@clisp.org>
45618
45619         * modules/classpath: New file.
45620         * MODULES.html.sh (Java): Add classpath.
45621
45622 2005-01-21  Bruno Haible  <bruno@clisp.org>
45623
45624         * lib/classpath.h: New file, from GNU gettext.
45625         * lib/classpath.c: New file, from GNU gettext.
45626
45627 2005-01-20  Simon Josefsson  <jas@extundo.com>
45628
45629         * modules/version-etc-fsf: New file.
45630
45631 2005-01-20  Simon Josefsson  <jas@extundo.com>
45632
45633         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
45634         * lib/version-etc.c: Remove version_etc_copyright.
45635         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
45636         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
45637
45638 2005-01-20  Simon Josefsson  <jas@extundo.com>
45639
45640         * lib/base64.h (isbase64): Add.
45641
45642         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
45643         using a unsigned prototype, don't inline.
45644         (base64_decode): Use it.
45645
45646 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45647
45648         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
45649         it.
45650
45651 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45652
45653         * lib/save-cwd.c (save_cwd): Remove code to support the case
45654         where fchdir is missing or flaky.
45655
45656 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45657
45658         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
45659
45660 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45661
45662         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
45663         AC_LIBSOURCES now does this.
45664         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
45665         with new ullong_max module.
45666
45667 2005-01-19  Bruno Haible  <bruno@clisp.org>
45668
45669         * modules/sh-quote: New file.
45670         * MODULES.html.sh (Executing programs): Add sh-quote.
45671
45672 2005-01-19  Bruno Haible  <bruno@clisp.org>
45673
45674         * lib/sh-quote.h: New file, from GNU gettext.
45675         * lib/sh-quote.c: New file, from GNU gettext.
45676
45677 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45678
45679         Merge from coreutils.
45680         * m4/ullong_max.m4: New file.
45681         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
45682         (gl_MACROS): Assume localeconv exists.
45683
45684 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45685
45686         Merge changes from coreutils, as described below in several
45687         changelogs dated today.
45688
45689         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
45690         (O_DIRECTORY): Remove; not needed here, since "." must be
45691         a directory.  All uses removed.
45692         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
45693         universal on Suns, and we also need to test for IRIX.
45694         Revamp code to use 'if' rather than '#if'.
45695         Avoid unnecessary comparison of cwd->desc to 0.
45696
45697         * lib/utimens.c (futimens): Robustify the previous patch, by checking
45698         for known valid error numbers rather than observed invalid ones.
45699
45700 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45701
45702         * modules/ullong_max: New file.
45703
45704         * modules/chdir-long, modules/openat: New files.
45705         * modules/save-cwd (Depends-on): Depend on chdir-long.
45706         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
45707
45708 2005-01-18  Jim Meyering  <jim@meyering.net>
45709
45710         Merge from coreutils.
45711         * m4/chdir-long.m4, m4/openat.m4: New files.
45712         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
45713         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
45714         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
45715         is sane and DOES follow symlinks.  Besides, testing 20 different
45716         systems found no broken chown implementations.
45717         Prompted by a change in rsync's copy of this macro.
45718         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
45719
45720         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
45721
45722         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
45723         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
45724         NULL-means-set-to-current-time semantics.
45725         Remove temporary file immediately, rather than waiting
45726         for configure's at-exit trap code to do it.
45727
45728 2005-01-18  Jim Meyering  <jim@meyering.net>
45729
45730         * lib/version-etc.c (version_etc_copyright): Update copyright date.
45731
45732         * lib/utimens.c (futimens): Account for the fact that futimes
45733         can also fail with errno == ENOSYS or errno == ENOENT.
45734         Patch from Dmitry V. Levin.
45735
45736         Change the name of the robust chdir function from chdir to chdir_long.
45737         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
45738         (restore_cwd): Use chdir_long, not chdir.
45739         * lib/chdir-long.c: Renamed from chdir.c.
45740         * lib/chdir-long.h: Renamed from chdir.h.
45741         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
45742         Hurd.
45743
45744 2005-01-18  Bruno Haible  <bruno@clisp.org>
45745
45746         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
45747         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
45748         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
45749         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
45750         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
45751         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
45752         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
45753         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
45754         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
45755         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
45756         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
45757         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
45758         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
45759         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
45760         Use an all-permissive copyright notice, recommended by RMS.
45761
45762 2005-01-18  Bob Proulx  <bob@proulx.com>
45763
45764         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
45765         simplify offsetof() macro construct to avoid compile failure with
45766         native HP-UX 11.0 ANSI C compiler.
45767
45768 2005-01-17  Bruno Haible  <bruno@clisp.org>
45769
45770         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
45771         redundant because stpncpy.m4 takes care of it.
45772
45773 2005-01-17  Bruno Haible  <bruno@clisp.org>
45774
45775         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
45776
45777 2005-01-17  Bruno Haible  <bruno@clisp.org>
45778
45779         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
45780         used.
45781
45782 2005-01-17  Bruno Haible  <bruno@clisp.org>
45783
45784         * lib/fwriteerror.h (fwriteerror): Change specification to include
45785         fclose.
45786         * lib/fwriteerror.c: Include <stdbool.h>.
45787         (fwriteerror): At the end, close the file stream. Record whether
45788         stdout was already closed.
45789
45790 2005-01-17  Bruno Haible  <bruno@clisp.org>
45791
45792         * lib/execute.c (environ): Declare if needed.
45793         * lib/pipe.c (environ): Likewise.
45794         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
45795
45796 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45797
45798         * modules/argp: Depend on vsnprintf
45799
45800 2005-01-10  Jim Meyering  <jim@meyering.net>
45801
45802         * modules/closeout (Depends-on): Add atexit.
45803
45804 2005-01-06  Bruno Haible  <bruno@clisp.org>
45805
45806         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
45807
45808 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45809
45810         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
45811         definitions to be after all include files, to avoid collisions.
45812         Problem reported by Bob Proulx.
45813
45814 2005-01-04  Jim Meyering  <jim@meyering.net>
45815
45816         Changes imported from coreutils.
45817         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
45818         as the mkstemp template, use a temporary directory and an
45819         8.3-friendly template to avoid trouble on systems like DJGPP.
45820         Reported by Juan M. Guerrero via Stepan Kasal.
45821         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
45822         close. Remove the temporary directory right away, rather than waiting
45823         for configure's at-exit trap code to do it.
45824         Suggestion from Stepan Kasal.
45825
45826 2005-01-01  Simon Josefsson  <jas@extundo.com>
45827
45828         * gnulib-tool: Print #include directives when --import'ing.
45829
45830 2004-12-28  Simon Josefsson  <jas@extundo.com>
45831
45832         * tests/test-base64.c: Include required header files.  Remove
45833         unused variables.
45834
45835 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45836
45837         * modules/error (Depends-on): Remove gettext.
45838
45839 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45840
45841         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
45842         not needed.  This removes a dependency on the gettext module.
45843         [defined _LIBC]: Do not include <libintl.h>; not needed.
45844
45845 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
45846
45847         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
45848         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
45849
45850 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
45851
45852         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
45853         HAVE_DECL_STRTOLD.
45854
45855 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45856
45857         * modules/getdate (Depends-on): Remove alloca-opt.
45858
45859 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45860
45861         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
45862
45863 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45864
45865         * lib/argp-parse.c: Include <stddef.h>.
45866         (alignof, alignto): New macros.
45867         (parser_init): Don't assume that void * is aligned sufficiently
45868         for struct option.
45869
45870         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
45871         need to extend the stack.
45872         (YYINITDEPTH): New macro, so that the initial stack isn't overly
45873         large.
45874
45875 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45876
45877         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
45878
45879 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45880
45881         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
45882         (2004-10-24) change.  Apparently this was a false alarm.
45883
45884         * modules/getdate: Depend on alloca-opt, not alloca.
45885
45886 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45887
45888         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
45889         Remove now-obsolete comment about AIX.
45890         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
45891         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
45892         (YYMAXDEPTH): New macro.
45893
45894 2004-12-18  Simon Josefsson  <jas@extundo.com>
45895
45896         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
45897
45898 2004-12-18  Bruno Haible  <bruno@clisp.org>
45899
45900         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
45901
45902 2004-12-18  Bruno Haible  <bruno@clisp.org>
45903
45904         * lib/fatal-signal.c (fatal_signals): Make non-const.
45905         (init_fatal_signals): New function.
45906         (uninstall_handlers, install_handlers): Ignore signals that were set to
45907         SIG_IGN.
45908         (at_fatal_signal): Call init_fatal_signals.
45909         (init_fatal_signal_set): Likewise. Ignore signals that were set to
45910         SIG_IGN.
45911         Reported by Paul Eggert.
45912
45913 2004-12-18  Bruno Haible  <bruno@clisp.org>
45914
45915         * doc/alloca.texi: New file.
45916         * doc/alloca-opt.texi: New file.
45917
45918 2004-12-17  Jim Meyering  <jim@meyering.net>
45919
45920         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
45921         Otherwise, install-sh could exit with improper exit status when
45922         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
45923
45924 2004-12-16  Simon Josefsson  <jas@extundo.com>
45925
45926         * tests/test-base64.c: Add license.
45927
45928 2004-12-15  Stepan Kasal  <address@hidden>
45929
45930         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
45931
45932 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45933
45934         * modules/getcwd (Files): Add m4/d-ino.m4.
45935         Suggested by Mark D. Baushke.
45936
45937 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
45938
45939         * lib/getdate.y (textint): New member "negative".
45940         (time_zone_hhmm): New function.
45941         Expect 14 shift-reduce conflicts, not 13.
45942         (o_colon_minutes): New rule.
45943         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
45944         (yylex): Set the "negative" member of signed numbers.
45945
45946 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
45947
45948         * doc/getdate.texi (Time of day items, Time zone items):
45949         Describe new formats +00:00, UTC+00:00.
45950
45951 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
45952
45953         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
45954         spurious "-l"s.  Problem reported by Stepan Kasal.
45955
45956 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
45957
45958         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
45959         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
45960
45961 2004-12-04  Simon Josefsson  <jas@extundo.com>
45962
45963         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
45964         Vandoorselaere <yoann@prelude-ids.org>.
45965
45966 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45967
45968         Changes imported from coreutils.
45969         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
45970         exist.
45971         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
45972
45973 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45974
45975         Changes imported from coreutils.
45976         * lib/hard-locale.c: Assume <locale.h> exists.
45977         Include "strdup.h".
45978         (GLIBC_VERSION): New macro.
45979         (hard_locale): Assume setlocale exists.
45980         Rewrite to avoid #ifdef.
45981         Use strdup rather than malloc + strcpy.
45982         * lib/human.c: Assume <locale.h> exists.
45983         (human_readable): Assume localeconv exists.
45984
45985 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45986
45987         * modules/hard-locale (Depends-on): Add strdup.
45988
45989 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
45990
45991         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
45992         convert T2, not T.  (Imported from libc.)
45993
45994 2004-11-30  Simon Josefsson  <jas@extundo.com>
45995
45996         * modules/restrict (License): Change to LGPL.
45997
45998 2004-11-30  Simon Josefsson  <jas@extundo.com>
45999
46000         * m4/restrict.m4: Add copyright and copying conditions.
46001
46002 2004-11-30  Simon Josefsson  <jas@extundo.com>
46003
46004         * m4/base64.m4: New file.
46005
46006 2004-11-30  Simon Josefsson  <jas@extundo.com>
46007
46008         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
46009         base64.
46010
46011         * tests/test-base64.c: New file.
46012
46013         * modules/base64: New file.
46014
46015 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
46016
46017         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
46018         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
46019
46020         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
46021
46022 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
46023
46024         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
46025         (__getcwd.c): Don't restore errno; glibc doesn't.
46026         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
46027         first, falling back to our code only if its results look suspicious.
46028         Ensure that the resulting buffer is only as large as necessary.
46029
46030         * lib/readutmp.c: Include readutmp.h first.
46031         Include <errno.h>, since readutmp.h no longer does that.
46032         * lib/readutmp.h: Don't include <errno.h>,
46033         <sys/param.h>, <time.h>; not needed to establish interface.
46034         (errno): Remove decl.
46035         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
46036         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
46037         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
46038
46039 2004-11-28  Simon Josefsson  <jas@extundo.com>
46040
46041         * lib/base64.h, base64.c: New file.
46042
46043 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
46044
46045         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
46046
46047 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
46048
46049         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
46050         (Depends-on): Remove pathmax, same.  Add mempcpy.
46051         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
46052         (Makefile.am): Append getcwd.h to lib_SOURCES.
46053         (Include): Add getcwd.h.
46054         (Maintainer): Change from Jim Meyering to "all, glibc",
46055         since getdate now uses intended-for-glibc code.
46056         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
46057         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
46058
46059 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46060
46061         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
46062         HP's ANSI C compiler.
46063         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
46064         Declaring int functions causes warnings on some modern systems and
46065         shouldn't be needed to compile on ancient ones.
46066         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
46067         defined.
46068
46069         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
46070         with the following changes.
46071         (__set_errno): Parenthesize properly.
46072         Include <stdbool.h>.
46073         (MIN, MAX, MATCHING_INO): New macros.
46074         (__getcwd): Define with prototype, not K&R form.
46075         Use heuristics to allocate default buffer on stack if possible.
46076         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
46077         behavior, and to avoid the PATH_MAX limit when computing
46078         ../../../../...
46079         Use MATCHING_INO to compare inode number to file.
46080         Check for arithmetic overflow in size calculations.
46081         Fix bug in reallocation of dot array that caused getcwd to fail
46082         on directories nested deeper than 75.
46083         Be more careful about saving errno on error.
46084         Do not use realloc; use only free+malloc, as this is a bit
46085         more flexible and avoids a needless copy operation.
46086         Do not inspect st_dev and st_ino for symbolic links; POSIX
46087         doesn't specify the latter.
46088         Check for closedir errors.
46089         Avoid needless casts.
46090         Use "#ifdef weak_alias" around weak_alias, to be like other
46091         glibc code.
46092         The following changes to getcwd.c have effect only when used in
46093         gnulib; they have no effect inside glibc proper.
46094         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
46095         as alloca isn't used.
46096         (alloca, __alloca): Likewise.
46097         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
46098         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
46099         unconditionally, as gnulib assumes C89 or better.
46100         Do not include <sys/param.h>.
46101         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
46102         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
46103         better.
46104         (NULL) [!defined NULL]: Remove; we assume C89 or better.
46105         Include <dirent.h> in a way that is compatible with modern Autoconf.
46106         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
46107         New macros, if not already defined.
46108         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
46109         Use "_LIBC", not "defined _LIBC", for consistency.
46110         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
46111         a mempcpy module.
46112         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
46113         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
46114         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
46115         credit only to Jim Meyering and adjust the copyright dates.
46116         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
46117         <stdlib.h>, <unistd.h>, "pathmax.h".
46118         Instead, include "xgetcwd.h" (first) and "getcwd.h".
46119         (INITIAL_BUFFER_SIZE): Remove.
46120         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
46121
46122 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46123
46124         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
46125         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
46126         Use the _ONCE methods, for efficiency.
46127         Check for fcntl.h.  In test program, include <errno.h>
46128         and <fcntl.h> if available.  Remove old K&R cruft from
46129         test program.  Check for common errors in GNU/Linux,
46130         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
46131         don't do AC_LIBOBJ, as that's getcwd.m4's job.
46132         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
46133         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
46134         name accordingly.
46135         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
46136         accommodate new getcwd.c.
46137         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
46138         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
46139         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
46140         that's all we need now.
46141
46142 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46143
46144         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
46145         argp-parse.c depends on getopt internals, that means we should
46146         always use our getopt, to be on the safe side.
46147         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
46148         order not to spoil the result of an eventual previous invocation
46149         of gl_GETOPT_SUBSTITUTE.
46150
46151 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46152
46153         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
46154         redefinition warnings. To avoid them, include the defines
46155         in `#if !defined __need_getopt ... #endif'. The only place
46156         where __getopt_argv_const is used is in definitions
46157         of getopt_long and getopt_long_only below, which are as well
46158         protected by `#ifndef __need_getopt'.
46159         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
46160         __need_getopt after including <stdio.h> and <unistd.h> These
46161         headers might have defined it.
46162
46163 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
46164
46165         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
46166
46167 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
46168
46169         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
46170         (futimens): New function, which uses futimes if available.
46171         (futimens, utimens): Support timespec==NULL, with same semantics
46172         as utime and utimens.
46173         * lib/utimens.h (futimens): New decl.
46174
46175 2004-11-23  Jim Meyering  <jim@meyering.net>
46176
46177         * lib/getopt_.h: Remove trailing blanks.
46178
46179 2004-11-23  Jim Meyering  <jim@meyering.net>
46180
46181         * lib/__fpending.c: Add comment.
46182
46183 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
46184
46185         * modules/canonicalize (Depends-on): Add xreadlink.
46186         Problem reported by James Youngman.
46187
46188 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46189
46190         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
46191         New macros.
46192         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
46193         optopt): Use them instead of invoking ## directly; otherwise, the
46194         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
46195
46196 2004-11-19  Bruno Haible  <bruno@clisp.org>
46197
46198         * lib/strtok_r.c: Move comments from here...
46199         * lib/strtok_r.h: ... to here.
46200
46201 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46202
46203         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
46204         implementations that mishandle size_t overflow.
46205
46206 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46207
46208         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
46209         might fail.  Problem reported by Yoann Vandoorselaere.
46210         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
46211         implementations that mishandle size_t overflow.
46212
46213 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46214
46215         * modules/canon-host (Depends-on): Add strdup.
46216
46217 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46218
46219         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
46220
46221 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46222
46223         * lib/canon-host.c: Include "strdup.h".
46224         (canon_host): Use getaddrinfo if available, so that IPv6 works.
46225         Use strdup instead of malloc/strcpy to duplicate strings.
46226
46227         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
46228         (human_space_before_unit): New constant.
46229         * lib/human.c (human_readable): Support it.
46230
46231         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
46232         (xgetcwd): Set errno correctly when failing.
46233         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
46234         the failure is actually due to a PATH_MAX problem.
46235
46236         Further getopt changes to make it more likely that glibc will
46237         buy the changes back.
46238         * lib/getopt.c (POSIXLY_CORRECT): New constant.
46239         (getopt): Use it, so to preserve glibc semantic
46240         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
46241         when compiling for libc.
46242         * lib/getopt_.h (__getopt_argv_const): Bring it back.
46243         (getopt_long, getopt_long_only): Use it.
46244
46245         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
46246         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
46247         (getopt): Argv is now char * const *, as per standard.
46248         (_getopt_internal_r, _getopt_internal): Argv is now char **,
46249         not char *__getopt_argv_const *.
46250         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
46251         _getopt_long_only_r): Likewise.
46252         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
46253         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
46254         _getopt_long_r, _getopt_long_only_r): Likewise.
46255         * lib/getopt_.h (__getopt_argv_const): Remove.
46256         (getopt): Argv is now char * const *, as per standard.
46257
46258         * lib/getdate.y (tORDINAL): New token.
46259         (day, relunit): Allow it for relative times.
46260         (relative_time_table): Use tORDINAL for ordinals.
46261
46262 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46263
46264         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
46265         Document that "second" isn't allowed as an ordinal number.
46266
46267 2004-11-16  Jim Meyering  <jim@meyering.net>
46268
46269         * modules/closeout (Depends-on): Add fpending.
46270
46271 2004-11-15  Jim Meyering  <jim@meyering.net>
46272
46273         * lib/closeout.c: Include "__fpending.h" once again.
46274         Include <stdbool.h>.
46275         (close_stdout): Don't fail just because stdout was closed initially,
46276         since some programs don't write to stdout in the normal course of
46277         operation (other than --version and --help), and we don't want this
46278         function to make e.g. `touch file >&-' fail.
46279         But do fail if it was closed and someone has tried to write to it.
46280         E.g., `printf foo >&-' must fail.
46281
46282 2004-11-13  Jim Meyering  <jim@meyering.net>
46283
46284         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
46285
46286 2004-11-12  Simon Josefsson  <jas@extundo.com>
46287
46288         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
46289         small doc fix is still pending.
46290
46291 2004-11-11  Simon Josefsson  <jas@extundo.com>
46292
46293         * modules/strtok_r: New file.
46294
46295         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46296         strtok_r.
46297
46298 2004-11-11  Simon Josefsson  <jas@extundo.com>
46299
46300         * m4/strtok_r.m4: New file.
46301
46302         * m4/getopt.m4: Replace opterr.
46303
46304 2004-11-11  Simon Josefsson  <jas@extundo.com>
46305
46306         * lib/strtok_r.h, strtok_r.c: New file.
46307
46308 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46309
46310         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
46311         of replacing opterr, getopt, etc.  This should handle the
46312         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
46313
46314 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46315
46316         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
46317         we can stop lying to compilers about the constness of argv when we
46318         are compiled outside glibc.
46319         (getopt, getopt_long, getopt_long_only): Use it.
46320         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
46321         _getopt_internal, getopt): Likewise.
46322         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
46323         _getopt_long_only_r): Likewise.
46324         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
46325         _getopt_long_r, _getopt_long_only_r): Likewise.
46326
46327         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
46328         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
46329         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
46330         the other external symbols.
46331         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
46332         declaration, since the above renaming now works around collisions.
46333
46334 2004-11-11  Jim Meyering  <jim@meyering.net>
46335
46336         * lib/linebreak.c: Remove trailing blanks.
46337         * lib/alloca_.h: Likewise.
46338         * lib/acosl.c: Likewise.
46339         * lib/euidaccess.c: Likewise.
46340         * lib/allocsa.h: Likewise.
46341
46342 2004-11-10  Simon Josefsson  <jas@extundo.com>
46343
46344         * m4/getaddrinfo.m4: New file.
46345
46346 2004-11-10  Simon Josefsson  <jas@extundo.com>
46347
46348         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
46349
46350 2004-11-10  Simon Josefsson  <jas@extundo.com>
46351
46352         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46353         getaddrinfo.
46354
46355         * modules/getaddrinfo: New file.
46356
46357 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46358
46359         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
46360
46361 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46362
46363         * lib/mktime.c (SHR): New macro, which is a portable
46364         substitute for >> that should work even on Crays.
46365         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
46366         Problem reported by Mark D. Baushke in
46367         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
46368         * lib/getdate.y (SHR): Likewise.
46369         (tm_diff): Use it.
46370         * lib/strftime.c (SHR): Likewise.
46371         (tm_diff): Use it.
46372         * lib/quotearg.c (struct quoting_options): Use unsigned int for
46373         quote_these_too, so that right shifts are well defined.  All uses
46374         changed.
46375
46376 2004-11-10  Jim Meyering  <jim@meyering.net>
46377
46378         Ensure that no close failure goes unreported.
46379         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
46380         return early when it seems there's nothing to flush.
46381         Don't include __fpending.h.
46382
46383 2004-11-10  Jim Meyering  <jim@meyering.net>
46384
46385         * modules/closeout (Depends-on): Remove fpending.
46386
46387 2004-11-10  Jim Meyering  <jim@meyering.net>
46388
46389         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
46390
46391 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46392
46393         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
46394         gl_FUNC_STRFTIME.
46395         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
46396         and AC_REQUIRE when possible, to avoid duplicate checks.
46397         Check for <wchar.h>.
46398
46399 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46400
46401         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
46402
46403 2004-11-09  Bruno Haible  <bruno@clisp.org>
46404
46405         * m4/sockpfaf.m4: New file.
46406
46407 2004-11-05  Bruno Haible  <bruno@clisp.org>
46408
46409         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
46410         Reported by Mark D. Baushke <mdb@cvshome.org>.
46411
46412 2004-11-04  Bruno Haible  <bruno@clisp.org>
46413
46414         2004-09-11  Bruno Haible  <bruno@clisp.org>
46415                 * allocsa.valgrind: New file.
46416         2004-02-06  Bruno Haible  <bruno@clisp.org>
46417                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
46418                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
46419                 Reported by Christopher Seip <chris.seip@hp.com>.
46420
46421 2004-11-04  Bruno Haible  <bruno@clisp.org>
46422
46423         * modules/allocsa (Files): Add lib/allocsa.valgrind.
46424         (Makefile.am): Distribute it.
46425
46426 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
46427
46428         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
46429         with errno == ERANGE if the buffer is too small.
46430         Problem reported by Mark D. Baushke.
46431
46432 2004-11-03  Albert Chin  <china@thewrittenword.com>
46433             Paul Eggert  <eggert@cs.ucla.edu>
46434
46435         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
46436         equivalent, substitute $ac_type for equivalent type rather than
46437         blindly using uint32_t *always* which won't work if uint32_t is not
46438         available.  Define _UINT32_T to work around typedef of uint32_t if
46439         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
46440         2.5.1.
46441
46442 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46443
46444         * m4/jm-macros.m4: Sync from coreutils.
46445         (gl_MACROS): Check for mbrlen, for pathchk.
46446         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
46447
46448 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46449
46450         * lib/xreadlink.c (MAXSIZE): New macro.
46451         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
46452         size does not exceed MAXSIZE.  Avoid cast.
46453         As suggested by Mark D. Baushke in
46454         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
46455         if readlink fails with buffer size just under MAXSIZE, try again
46456         with MAXSIZE.
46457
46458 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46459
46460         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
46461
46462 2004-11-02  Derek R. Price  <derek@ximbiot.com>
46463         and  Paul Eggert  <eggert@cs.ucla.edu>
46464
46465         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
46466         (get_date): Overparenthesize to avoid GCC warning.
46467
46468 2004-11-02  Bruno Haible  <bruno@clisp.org>
46469
46470         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
46471         returns void.
46472
46473 2004-11-02  Bruno Haible  <bruno@clisp.org>
46474
46475         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
46476         function returns void.
46477
46478 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46479
46480         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
46481         fflush_unlocked, flockfile, funlockfile, funlockfile,
46482         fputs_unlocked, putc_unlocked.
46483
46484 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46485
46486         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46487         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
46488         already declared.
46489
46490 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46491
46492         * modules/getdate (Files): Add doc/getdate.texi.
46493         (Depends-on): Add setenv, xalloc.
46494
46495 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46496
46497         * lib/getdate.y: Add support for TZ="foo" within a date string.
46498         Fix some bugs near time_t boundaries.  Reject dates with
46499         out-of-range components, e.g., "Sept 31".
46500         Include <stdlib.h>, "setenv.h", "xalloc.h".
46501         (ISDIGIT_LOCALE): Remove; unused.
46502         Note that the TZ and time functions used here are not reentrant.
46503         (mktime_ok, get_tz): New functions.
46504         (TZBUFSIZE): New constant.
46505         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
46506         This requires that we sometimes generate our own TZ="XXX..." setting.
46507
46508 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46509
46510         * doc/getdate.texi: New file, from coreutils with modifications for
46511         the new TZ parsing.
46512
46513 2004-10-27  Derek R. Price  <derek@ximbiot.com>
46514
46515         * lib/mktime.c (not_equal_tm): Remove redundant check.
46516
46517 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46518
46519         * modules/regex (lib_SOURCES): Add regex.c.
46520         Reported by James Youngman in
46521         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
46522
46523 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46524
46525         * lib/getdate.y: Use Bison 1.875 features, and some minor
46526         code cleanups.  This change does not affect semantics.
46527         Don't include <stdlib.h>; no longer needed.
46528         Don't include unlocked-io.h; only the "#if TEST" code uses
46529         stdio, and performance isn't crucial there.
46530         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
46531         Bison 1.875 features as described below.
46532         All uses of "PC." replaced by "pc->".
46533         (YYSTYPE): Add a forward declaration.
46534         (yylex, yyerror): Use full prototypes in forward decls.
46535         Use "%pure-parser" rather than obsolescent "%pure_parser".
46536         Use %parse-param and %lex-param instead of obsolescent
46537         YYPARSE_PARAM and YYLEX_PARAM.
46538         (meridian_table, month_and_day_table, time_units_table,
46539         relative_time_table, time_zone_table, military_table,
46540         lookup_zone, lookup_word, get_date):
46541         Use NULL instead of 0 where appropriate.
46542         (to_hour): Avoid abort (), to avoid a dependency on
46543         stdlib.h.
46544         (yyerror, yylex): Now accepts parser_control * arg.
46545         (main) [TEST]: Use '\0' rather than 0 for char.
46546
46547 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46548
46549         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
46550
46551 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46552
46553         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
46554         It's now the caller's responsibility to handle the case where
46555         !HAVE_GETPAGESIZE && !defined getpagesize.
46556
46557         * lib/mktime.c (leapyear): Arg is long int, not int.
46558
46559 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46560
46561         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
46562
46563 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46564
46565         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
46566         missing.  Problem reported by James Youngman.
46567
46568 2004-10-16  Simon Josefsson  <jas@extundo.com>
46569
46570         * gnulib-tool: Fix comments.  Fix parse problem.
46571         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
46572
46573 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
46574
46575         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
46576         implementation of getopt_long.  Problem reported by Alexander Taler in:
46577         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
46578
46579 2004-10-15  Bruno Haible  <bruno@clisp.org>
46580
46581         * gnulib-tool: Untabify. Initialize supplied_libname.
46582         (func_usage): More homogenous output.
46583         (func_modules_transitive_closure, func_modules_to_filelist,
46584         func_emit_lib_Makefile_am): New functions.
46585         (func_import): New function, extracted from big case statement. Use
46586         func_get_license, func_modules_transitive_closure,
46587         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
46588         opt_lgpl. Don't use test -a, as it's not portable.
46589         (func_create_testdir): Use func_modules_transitive_closure,
46590         func_modules_to_filelist, func_emit_lib_Makefile_am.
46591
46592 2004-10-15  Bruno Haible  <bruno@clisp.org>
46593
46594         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
46595
46596 2004-10-15  Bruno Haible  <bruno@clisp.org>
46597
46598         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
46599         the portions belonging to each module.
46600         Suggested by Derek Robert Price <derek@ximbiot.com>.
46601
46602 2004-10-12  Simon Josefsson  <jas@extundo.com>
46603
46604         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46605         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
46606         to real functions.
46607
46608 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46609
46610         * modules/vsnprintf: New file.
46611
46612 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46613
46614         * m4/vsnprintf.m4: New file.
46615
46616 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46617
46618         * lib/vsnprintf.h: New file.
46619         * lib/vsnprintf.c: New file.
46620
46621 2004-10-11  Bruno Haible  <bruno@clisp.org>
46622
46623         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
46624         vsnprintf.
46625
46626 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46627
46628         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
46629
46630 2004-10-07  Bruno Haible  <bruno@clisp.org>
46631
46632         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
46633         fits into the provided buffer.
46634
46635 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46636
46637         * lib/diacrit.c, diacrit.h: Add GPL notice.
46638
46639         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
46640         notice.
46641         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
46642         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
46643         This avoids a potential constant-folding bug.
46644
46645 2004-10-05  Bruno Haible  <bruno@clisp.org>
46646
46647         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
46648         for the declaration of strsep.
46649
46650 2004-10-05  Bruno Haible  <bruno@clisp.org>
46651
46652         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
46653
46654 2004-10-04  Simon Josefsson  <jas@extundo.com>
46655
46656         * modules/memmem: New file.
46657         * tests/test-memmem.c: New file.
46658         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
46659
46660 2004-10-04  Simon Josefsson  <jas@extundo.com>
46661
46662         * m4/memmem.m4: New file.
46663
46664 2004-10-04  Simon Josefsson  <jas@extundo.com>
46665
46666         * lib/memmem.h: New file.
46667         * lib/memmem.c: New file, taken from glibc.
46668
46669 2004-10-04  Simon Josefsson  <jas@extundo.com>
46670
46671         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
46672         '#ifdef USE_UNLOCKED_IO'.
46673
46674 2004-10-04  Simon Josefsson  <jas@extundo.com>
46675
46676         * config/srclist.txt: Add memmem from glibc.
46677
46678 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46679
46680         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
46681
46682         * modules/argmatch, modules/argp, modules/closeout, modules/error,
46683         modules/exclude, modules/getdate, modules/getline,
46684         modules/getndelim2, modules/getpass, modules/getpass-gnu,
46685         modules/getusershell, modules/linebuffer, modules/md5,
46686         modules/mountlist, modules/posixtm, modules/readtokens,
46687         modules/readutmp, modules/regex, modules/sha1,
46688         modules/version-etc, modules/yesno:
46689         Remove dependency on unlocked-io.
46690
46691 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46692
46693         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
46694
46695         * m4/unlocked-io.m4: Add copyright notice.
46696         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
46697
46698 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46699
46700         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
46701         * lib/xmalloc.c (xmemdup): Likewise.
46702         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
46703         XFREE): Remove these long-obsolescent macros.
46704         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
46705         * lib/xstrdup.c: Remove.
46706
46707         * lib/regex.c (re_comp): Cast gettext return value to char *,
46708         Problem reported by Martin Neitzel via Mark D. Baushke.
46709
46710 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46711
46712         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
46713         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
46714         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
46715         regex.c, sha1.c, version-etc.c, yesno.c:
46716         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
46717         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
46718         the includer's responsibility.
46719
46720         Sync from coreutils.
46721
46722         * lib/modechange.c (mode_compile): Don't decrement a pointer that
46723         points to the start of a string, as the C Standard says the
46724         resulting behavior is undefined.
46725
46726         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
46727         simple -> simple_backups, numbered_existing ->
46728         numbered_existing_backups, numbered -> numbered_backups
46729         to avoid shadowing problems.  All uses changed.
46730         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
46731         * lib/backupfile.c (check_extension, numbered_backup):
46732         Rename locals to avoid shadowing 'basename'.
46733         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
46734         once.
46735
46736         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
46737         * lib/.cvsignore: Add getopt.h.
46738
46739 2004-10-04  Bruno Haible  <bruno@clisp.org>
46740
46741         * modules/README: New file.
46742         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
46743         not a module.
46744
46745 2004-10-02  Jim Meyering  <jim@meyering.net>
46746
46747         * lib/dirfd.h, getpagesize.h: Add copyright notice.
46748
46749 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46750
46751         * modules/strsep: New file.
46752
46753 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46754
46755         * m4/strsep.m4: New file.
46756
46757 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46758
46759         * lib/strsep.h: New file.
46760         * lib/strsep.c: New file.
46761
46762 2004-10-01  Simon Josefsson  <jas@extundo.com>
46763
46764         * lib/snprintf.c (snprintf): Handle size==0.
46765
46766 2004-10-01  Simon Josefsson  <jas@extundo.com>
46767             Bruno Haible  <bruno@clisp.org>
46768
46769         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
46770         (snprintf): Declare 'args'.
46771
46772 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
46773
46774         * lib/snprintf.c: Remove comments as to why each header is needed.
46775
46776 2004-10-01  Bruno Haible  <bruno@clisp.org>
46777
46778         * MODULES.html.sh: Add strsep.
46779
46780 2004-09-30  Simon Josefsson  <jas@extundo.com>
46781
46782         * modules/snprintf: New file.
46783
46784 2004-09-30  Simon Josefsson  <jas@extundo.com>
46785
46786         * m4/snprintf.m4: New file.
46787
46788 2004-09-30  Simon Josefsson  <jas@extundo.com>
46789
46790         * lib/snprintf.h, lib/snprintf.c: New files.
46791
46792 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46793
46794         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
46795         (hol_entry_help): Never translate an empty string.
46796         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
46797         * lib/argp.h (OPTION_NO_TRANS): New option.
46798
46799 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46800
46801         * modules/argp (Maintainer): Replace Simon Josefsson
46802         by Sergey Poznyakoff.
46803
46804 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46805
46806         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
46807         changes merged back into glibc.
46808
46809 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46810
46811         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
46812
46813 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
46814
46815         * lib/xvasprintf.c: Include xalloc.h.
46816         (xvasprintf): Use xalloc_die, not xmalloc_die.
46817
46818 2004-09-29  Bruno Haible  <bruno@clisp.org>
46819
46820         * modules/alloca-opt: New file, derived from modules/alloca.
46821         * modules/allocsa: Depend on alloca-opt instead of alloca.
46822         * modules/setenv: Likewise.
46823         * modules/vasnprintf: Likewise.
46824         * MODULES.html.sh: Add alloca-opt.
46825
46826 2004-09-28  Simon Josefsson  <jas@extundo.com>
46827
46828         * gnulib-tool: New parameter --lgpl, to asseert that modules are
46829         LGPL, and to replace license template from GPL to LGPL.
46830
46831 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
46832
46833         * modules/dummy: Change license to LGPL.
46834
46835 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
46836
46837         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
46838
46839 2004-09-24  Simon Josefsson  <jas@extundo.com>
46840
46841         * modules/minmax (License): Change from GPL to LGPL.
46842
46843 2004-09-23  Simon Josefsson  <jas@extundo.com>
46844
46845         * gnulib-tool (--import): Typo.
46846
46847 2004-09-23  Simon Josefsson  <jas@extundo.com>
46848
46849         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
46850
46851 2004-09-22  Bruno Haible  <bruno@clisp.org>
46852
46853         * modules/*: Add 'License' field.
46854         * gnulib-tool: Accept --extract-license option.
46855         (func_get_license): New function.
46856
46857 2004-09-21  Bruno Haible  <bruno@clisp.org>
46858
46859         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
46860         Reported by Simon Josefsson.
46861
46862 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46863
46864         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
46865         gl_AC_TYPE_LONG_LONG.
46866
46867 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46868
46869         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
46870
46871 2004-09-18  Simon Josefsson  <jas@extundo.com>
46872         and  Paul Eggert  <eggert@cs.ucla.edu>
46873
46874         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
46875         calls with autoreconf.  Define GL_LIB.
46876
46877 2004-09-14  Karl Berry  <karl@gnu.org>
46878
46879         * config/srclist.txt: unsync setenv.c, sigh.
46880
46881 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46882
46883         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
46884         Problem reported by Bruno Haible in:
46885         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
46886
46887 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46888
46889         * config/srclist.txt: Comment out argp-pvh.c.
46890
46891 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
46892
46893         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
46894         in case some system header has #define'd it.  Problem reported by
46895         Soeren D. Schulze in
46896         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
46897
46898 2004-09-09  Karl Berry  <karl@gnu.org>
46899
46900         * regex.[ch]: delete from the root.  These were supposed to be
46901                 synced with emacs cvs, but this has not happened for about
46902                 a year, and anyway nothing else uses emacs regex.[ch].
46903                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
46904                 lib/regex[.ch] is untouched.
46905
46906 2004-09-09  Bruno Haible  <bruno@clisp.org>
46907
46908         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
46909
46910 2004-09-09  Bruno Haible  <bruno@clisp.org>
46911
46912         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
46913         modifications.
46914         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
46915
46916 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
46917
46918         * modules/xvasprintf: New file.
46919         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
46920
46921 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
46922
46923         * lib/xvasprintf.h: New file.
46924         * lib/xvasprintf.c: New file.
46925         * lib/xasprintf.c: New file.
46926
46927 2004-09-08  Bruno Haible  <bruno@clisp.org>
46928
46929         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
46930
46931 2004-09-08  Bruno Haible  <bruno@clisp.org>
46932
46933         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
46934         length is > INT_MAX.
46935         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
46936         more.
46937
46938 2004-09-08  Bruno Haible  <bruno@clisp.org>
46939
46940         * lib/stdint_.h: New file, taken from GNU clisp.
46941
46942 2004-09-08  Bruno Haible  <bruno@clisp.org>
46943             Oskar Liljeblad  <oskar@osk.mine.nu>
46944
46945         * modules/stdint: New file.
46946         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
46947
46948 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46949
46950         Import from coreutils.
46951         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
46952         strings on unbounded length.  alloca's performance benefits aren't
46953         that important here.
46954         (V_STRDUP): Remove.
46955         (parse_with_separator): New function, with most of the internals
46956         of the old parse_user_spec.  Allow user to omit both user and group,
46957         for compatibility with FreeBSD.
46958         Clone only the user name, not the entire spec.
46959         Do not set *uid, *gid unless entirely successful.
46960         Avoid memory leak in some failing cases.
46961         Fix regression for USER.GROUP reported by Dmitry V. Levin in
46962         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
46963         (parse_user_spec): Rewrite to use parse_with_separator.
46964
46965 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46966
46967         * modules/userspec: Don't depend on alloca.
46968
46969 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46970
46971         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
46972
46973 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46974
46975         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
46976         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
46977         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
46978
46979 2004-08-16  Simon Josefsson  <jas@extundo.com>
46980
46981         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
46982         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
46983         Add --dry-run for --import.
46984         Let user provided command line parameters override configure.ac
46985         settings.
46986
46987 2004-08-12  Simon Josefsson  <jas@extundo.com>
46988
46989         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
46990         as discussed with Paul Eggert in threads rooted at
46991         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
46992         and
46993         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
46994         Before, the test was empty, and relied on ELIDE_CODE in source
46995         code.)
46996         (gl_PREREQ_GETOPT): New macro.
46997         (gl_GETOPT): Use them.
46998
46999 2004-08-12  Simon Josefsson  <jas@extundo.com>
47000
47001         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
47002         * lib/getopt_.h: Renamed from getopt.h.
47003
47004 2004-08-12  Simon Josefsson  <jas@extundo.com>
47005
47006         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
47007         Change default library name from libfoo to libgnu.
47008         Now, if you have a configure.ac that says:
47009                 gl_SOURCE_BASE(gl)
47010                 gl_M4_BASE(gl/m4)
47011                 gl_MODULES(error getopt etcetera)
47012                 gl_INIT
47013         you can import all you need by running:
47014                 ../gnulib/gnulib-tool --import
47015
47016         * modules/getopt (Files): Rename getopt.h to getopt_.h.
47017         (Makefile.am): Rewrite, use logic from argz.
47018         (Include): Use <getopt.h> instead of "getopt.h".
47019
47020 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47021
47022         * modules/argp (Files): Add m4/unlocked-io.m4.
47023         (Depends-on): Add extensions.
47024
47025 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47026
47027         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
47028         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
47029         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
47030         Check for program_invocation_name, program_invocation_short_name,
47031         flockfile, funlockfile, features.h, _getopt_long_only_r.
47032
47033 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47034
47035         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
47036         its complicated substitute.
47037         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
47038         and program_invocation_name.
47039         (__argp_basename) [!_LIBC]: Remove; the only use was
47040         replaced by its body.
47041         (__argp_short_program_name): Change condition from
47042         !defined __argp_short_program_name to
47043         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
47044         to match argp-namefrob.h.
47045         (__argp_failure): Don't assume strerror_r returns char *.
47046         * lib/argp-parse.c (N_): Define unconditionally.
47047         (argp_default_options): Fill out initializers with 0 to avoid
47048         gcc warnings.
47049
47050 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47051
47052         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
47053         getopt1.c.
47054
47055 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47056
47057         Merge from coreutils.
47058
47059         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
47060
47061         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
47062         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
47063
47064 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47065
47066         Merge from coreutils.
47067
47068         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
47069         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
47070         for Reliant Unix 5.43.
47071
47072         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
47073         (union fooround): Use uintmax_t, not long int.
47074         The rest is a merge from libc:
47075         [defined _LIBC]: Include <shlib-compat.h>.
47076         (_obstack) [defined _LIBC]: Remove after 2.3.4.
47077
47078         * lib/settime.c (settime): Recode to avoid warning with
47079         Sun Forte C 6U2.
47080
47081         * lib/strverscmp.c: Convert to UTF-8.
47082
47083 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47084
47085         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
47086         m4/uintmax_t.m4.
47087
47088 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47089
47090         * modules/xalloc-die: New file.
47091         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
47092
47093         * modules/md5 (Files): Add m4/uint32_t.m4.
47094         * modules/sha1: Renamed from modules/sha.
47095         (Files):
47096         Rename lib/sha.h to lib/sha1.h.
47097         Rename lib/sha.c to lib/sha1.c.
47098         Rename m4/sha.m4 to m4/sha1.m4.
47099         (lib_SOURCES): Likewise.
47100         (configure.ac): Rename gl_SHA to gl_SHA1.
47101         (Include): sha.h -> sha1.h.
47102
47103 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47104
47105         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
47106         * m4/sha1.m4: Renamed from sha.m4.
47107         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
47108
47109 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47110
47111         * lib/obstack.h (obstack_empty_p):
47112         Don't assume that chunk->contents is suitably aligned.
47113         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
47114         Likewise. Problem reported by Benno in
47115         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
47116
47117         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
47118         readable.  This could be improved further but it'd take some work.
47119
47120 2004-08-08  Simon Josefsson  <jas@extundo.com>
47121
47122         * modules/xgethostname (Depends-on): Remove exit and error (not
47123         used).
47124
47125         * modules/getpass-gnu: Add getpass.h.
47126         (Depends-on): Add stdbool.
47127         * modules/getpass: Add getpass.h.
47128
47129 2004-08-08  Simon Josefsson  <jas@extundo.com>
47130
47131         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
47132         Check getpass declaration.
47133
47134 2004-08-08  Simon Josefsson  <jas@extundo.com>
47135
47136         * lib/xgethostname.c: Don't include error.h (not used).
47137
47138         * lib/getpass.h: Add.
47139         * lib/getpass.c: Include getpass.h first.
47140
47141 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
47142
47143         * lib/xalloc-die.c: New file.
47144         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
47145         All uses removed.
47146         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
47147         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
47148         xalloc-die.c.
47149         (_, N_, xalloc_die): Move to xalloc-die.c.
47150         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
47151         so that we needn't mess with xalloc_msg_memory_exhausted.
47152
47153         * lib/sha1.h: Renamed from sha.h.
47154         (SHA1_H): Renamed from _SHA_H.
47155         (sha1_ctx): Renamed from sha_ctx.
47156         (sha1_init_ctx): Renamed from sha_init_ctx.
47157         (sha1_process_block): Renamed from sha_process_block.
47158         (sha1_process_bytes): Renamed from sha_process_bytes.
47159         (sha1_finish_ctx): Renamed from sha_finish_ctx.
47160         (sha1_read_ctx): Renamed from sha_read_ctx.
47161         (sha1_stream): Renamed from sha_stream.
47162         (sha1_buffer): Renamed from sha_buffer.
47163         * lib/sha1.c: Likewise; renamed from sha.c.
47164         Do not include <sys/types.h>.
47165         Include <stddef.h> rather than <stdlib.h>.
47166
47167 2004-08-08  Bruno Haible  <bruno@clisp.org>
47168
47169         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
47170         FILESYSTEM_PREFIX_LEN.
47171         * lib/progreloc.c: Likewise.
47172         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
47173
47174 2004-08-06  Simon Josefsson  <jas@extundo.com>
47175
47176         * modules/progname (Depends-on): Don't depend on stdbool.
47177
47178 2004-08-06  Simon Josefsson  <jas@extundo.com>
47179
47180         * modules/getsubopt: New file.
47181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47182         getsubopt.
47183
47184 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47185
47186         More merge from coreutils.
47187
47188         * m4/utimens.m4, m4/utimecmp.m4: New files.
47189         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
47190         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
47191         prereq.m4, sha.m4: Import changes from coreutils.
47192
47193 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47194
47195         More merge from coreutils.
47196         * modules/raise, modules/readtokens0, modules/utimens:
47197         * modules/utimecmp, module/xnanosleep: New files.
47198         * modules/strftime: Add lib/strftime.h.
47199         Change include from <time.h> to "strftime.h".
47200         * modules/yesno: Add lib/yesno.h.
47201         * modules/backupfile: Remove lib/addext.c.
47202         * modules/euidaccess: Add stat-macros.h.
47203         * modules/canonicalize, modules/euidaccess,
47204         modules/filemode, modules/lchown, modules/makepath,
47205         modules/rmdir, modules/stat: Likewise.
47206
47207 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47208
47209         Merge from tar.
47210         * lib/argp-help.c (make_hol, hol_append): Don't assume that
47211         SIZE_MAX is a valid preprocessor constant.
47212         (__argp_basename): Change from "#ifndef _LIBC"
47213         to "#ifndef __argp_short_program_name", so that
47214         we don't compile these functions for tar.
47215
47216         More merges from coreutils.
47217         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
47218         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
47219         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
47220         * lib/addext.c: Remove; no longer needed.
47221         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
47222         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
47223         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
47224         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
47225         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
47226         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
47227         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
47228         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
47229         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
47230         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
47231         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
47232         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
47233         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
47234         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
47235         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
47236         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
47237         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
47238         Import changes from coreutils.
47239
47240 2004-08-05  Simon Josefsson  <jas@extundo.com>
47241
47242         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
47243
47244 2004-08-05  Simon Josefsson  <jas@extundo.com>
47245
47246         * m4/getsubopt.m4: New file.
47247
47248 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47249
47250         Merge from coreutils.
47251
47252         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
47253         * m4/getcwd-path-max.m4: New files.
47254
47255         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
47256         FILESYSTEM_PREFIX_LEN ->
47257         FILE_SYSTEM_PREFIX_LEN.
47258         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
47259         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
47260         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
47261         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
47262
47263         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
47264         prerequisite modules now handle the DOS stuff.
47265         Don't check for unistd.h.
47266
47267 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47268
47269         Merge from coreutils.
47270
47271         * lib/.gdb-history: Remove; this doesn't belong here.
47272
47273         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
47274         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
47275         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
47276         * lib/getcwd.c: New files.
47277
47278         * lib/dirname.h: Include <stdbool.h>.
47279         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
47280         for consistency with POSIX terminology.  All uses changed.
47281         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
47282         (strip_trailing_slashes): Use bool for booleans.
47283         * lib/stripslash.c (strip_trailing_slashes): Likewise.
47284
47285         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
47286         sometimes returns a positive errno value even when it succeeds.
47287         (print_errno_message) [!LIBC]: Fall back on strerror if
47288         __strerror_r fails.
47289
47290         * lib/path-concat.c (mempcpy): Don't define if a system header defines
47291         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
47292         (longest_relative_suffix): New function.
47293         (path_concat): Use it.  Assume first argument is not NULL.
47294         Port to DOS.  Omit redundant separators.
47295         Report an error instead of returning NULL.
47296         Use mempcpy instead of memcpy.
47297         (xpath_concat): Remove: not declared or used.
47298
47299         * lib/same.h: Include <stdbool.h>
47300         (same_name): Return bool, not int.
47301         * lib/same.c (same_name): Likewise.
47302         (errno): Don't declare; we assume C89 or better now.
47303
47304         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
47305         if not already defined.
47306
47307         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
47308         * lib/dup-safer.c (errno): Likewise.
47309
47310 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47311
47312         Merge from coreutils.
47313         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
47314         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
47315         * modules/path-concat: Don't depend on strdup.
47316
47317 2004-08-03  Simon Josefsson  <jas@extundo.com>
47318
47319         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
47320         * lib/progname.h: Don't include stdbool.h.
47321
47322 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47323
47324         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
47325         * MODULES.html.sh (func_all_modules): Remove fatal.
47326
47327 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47328
47329         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
47330
47331 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47332
47333         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
47334         working.
47335
47336 2004-08-02  Simon Josefsson  <jas@extundo.com>
47337
47338         * lib/getsubopt.h: New file, with comments from Bruno Haible.
47339         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
47340         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
47341
47342 2004-08-01  Simon Josefsson  <jas@extundo.com>
47343
47344         * lib/xgetdomainname.c: Include stdlib.h, for free().
47345
47346 2004-07-19  Bruno Haible  <bruno@clisp.org>
47347
47348         * MODULES.html.sh (func_all_modules): Add dummy.
47349
47350 2004-07-16  Simon Josefsson  <jas@extundo.com>
47351
47352         * modules/dummy: New file.
47353
47354 2004-07-16  Simon Josefsson  <jas@extundo.com>
47355
47356         * lib/dummy.c: New file.
47357
47358 2004-07-16  Bruno Haible  <bruno@clisp.org>
47359
47360         * lib/backupfile.h: Add extern "C" for C++.
47361         * lib/closeout.h: Likewise.
47362         * lib/copy-file.h: Likewise.
47363         * lib/findprog.h: Likewise.
47364         * lib/full-write.h: Likewise.
47365         * lib/pathname.h: Likewise.
47366         * lib/progname.h: Likewise.
47367         * lib/stpcpy.h: Likewise.
47368         * lib/stpncpy.h: Likewise.
47369         * lib/strcase.h: Likewise.
47370         * lib/strstr.h: Likewise.
47371         * lib/xalloc.h: Likewise.
47372
47373         * lib/mbswidth.h: Add extern "C" for C++.
47374         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
47375
47376 2004-07-13  Robert Millan  <robertmh@gnu.org>
47377
47378         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
47379
47380 2004-07-09  Simon Josefsson  <jas@extundo.com>
47381
47382         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
47383         failed without this.)
47384
47385 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47386
47387         * modules/chown (Files): Add lib/fchown-stub.c, since
47388         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
47389
47390 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47391
47392         * lib/fchown-stub.c: New file.
47393
47394 2004-06-24  Jim Meyering  <jim@meyering.net>
47395
47396         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
47397
47398 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47399
47400         * modules/argz: Omit "#include".
47401
47402         * MODULES.html.sh (func_all_modules): Add calloc, to match
47403         2004-06-01 addition of calloc module.
47404
47405 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47406
47407         * m4/argz.m4: New file, which is autoupdated from libtool.
47408
47409 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47410
47411         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
47412         libtool.
47413
47414 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47415
47416         * config/srclist-update: Don't insist on "USA." before the
47417         close-comment, as libtool omits the period and puts the */ on a
47418         separate line.
47419         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
47420         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
47421
47422 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
47423
47424         * modules/argz: New file.
47425         * MODULES.html.sh (func_all_modules): Add argz.
47426
47427 2004-06-12  Jim Meyering  <jim@meyering.net>
47428         and  Paul Eggert  <eggert@cs.ucla.edu>
47429
47430         * modules/hash (Files): Add lib/xalloc.h.
47431         * modules/pipe (Depends-on): Add wait-process.
47432         * modules/stat (Depends-on): Add xalloc.
47433         * modules/userspec (Files): Add lib/userspec.h.
47434         * modules/xstrto
47435
47436         Upgrade from gettext-0.13.
47437         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
47438         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
47439         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
47440
47441 2004-06-10  Jim Meyering  <jim@meyering.net>
47442
47443         * lib/calloc.c: New file.
47444
47445 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47446
47447         * lib/getdate.y (yylex): Allow space between sign and number.
47448         Problem reported by Dan Jacobson.
47449
47450 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47451
47452         Merge from coreutils CVS.
47453
47454         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
47455         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
47456         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
47457         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
47458         xstrtol.m4: Fix copyright date and/or serial number.
47459
47460         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
47461         See if we need an fchown replacement.
47462         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
47463         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
47464         and use the replacement function if we detect either defect.
47465
47466         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
47467         gl_UTIMECMP.
47468
47469 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47470         and  Jim Meyering  <jim@meyering.net>
47471
47472         Merge from coreutils CVS.
47473
47474         * lib/stat-macros.h: New file, with contents from file-type.h
47475         and coreutils' system.h.
47476         * lib/file-type.c: Include "stat-macros.h".
47477         * lib/file-type.h (file_type): Move all macro definitions to new file,
47478         stat-macros.h.
47479
47480         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
47481         Wrap old code with this conditional.
47482         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
47483         function that does not dereference symlinks.
47484         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
47485
47486         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
47487         dependency problems.
47488         (xreadlink): Accept new arg SIZE, for efficiency.
47489         All decls and uses changed.
47490         * lib/xreadlink.h: Include <stddef.h>, for size_t.
47491
47492         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
47493         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
47494
47495         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
47496         sysexits.h.
47497
47498 2004-06-01  Jim Meyering  <jim@meyering.net>
47499
47500         * m4/calloc.m4: New file.
47501
47502 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
47503
47504         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
47505         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
47506         Also, fix a typo in a diagnostic.
47507
47508 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47509
47510         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
47511         or AC_FUNC_REALLOC.
47512
47513 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47514
47515         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
47516         macros to be defined.
47517         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
47518         the allocator returns NULL because the requested size is zero.
47519
47520 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47521
47522         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
47523         var.  Add comment explaining why libc still defines it.  This
47524         merges the following patch from glibc:
47525         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
47526
47527 2004-05-20  Andreas Schwab  <schwab@suse.de>
47528
47529         * m4/free.m4: Replace free if it not known to work, not the other
47530         way round.
47531
47532 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47533
47534         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
47535         present in glibc since revision 1.1 of this file.
47536         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
47537         obstack_alignment_mask, obstack_alloc, obstack_base,
47538         obstack_blank, obstack_blank_fast, obstack_chunk_size,
47539         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
47540         obstack_grow0, obstack_init, obstack_int_grow,
47541         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
47542         obstack_next_free, obstack_object_size, obstack_ptr_grow,
47543         obstack_ptr_grow_fast, obstack_room): Remove declarations of
47544         nonexistent functions.
47545
47546 2004-05-18  Karl Berry  <karl@gnu.org>
47547
47548         * config/srclist.txt: break link for vasnprintf.c.
47549
47550 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47551
47552         Port obstack to the AS/400, where pointers are 16 bytes wide and
47553         you cannot cast an integer to a valid pointer.  This patch is
47554         currently waiting to be integrated into glibc; see
47555         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
47556
47557         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
47558         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
47559         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
47560         (struct obstack): temp member is now a union of a pointer and
47561         an integer, instead of an integer.  All integer uses changed.
47562         This does not affect the physical layout of struct obstack,
47563         except on hosts (like the AS/400) where the size or alignment of
47564         void * is greater than that of ptrdiff_t.
47565         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
47566         __STDC__)]: Store temporary in pointer member of union, not
47567         integer member.
47568         * lib/obstack.c: Include <stddef.h>, for offsetof.
47569         (struct fooalign): Remove; it doesn't need a name.
47570         (union fooround): Change double to long double, and add void *.
47571         (DEFAULT_ALIGNMENT): Use offsetof to compute.
47572         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
47573         not a macro.  Hence the values are always int; so remove all
47574         casts-to-int in uses.
47575
47576 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47577
47578         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
47579         we can get this patch merged into glibc.
47580
47581 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47582             Paul Eggert  <eggert@cs.ucla.edu>
47583
47584         * m4/argp: Depend on alloca.
47585
47586 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47587             Paul Eggert  <eggert@cs.ucla.edu>
47588
47589         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
47590         freecoding.
47591
47592 2004-05-17  Bruno Haible  <bruno@clisp.org>
47593
47594         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
47595         precision that consists of a '.' followed by an empty digit string.
47596         Patch by Tor Lillqvist <tml@iki.fi>.
47597
47598 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47599
47600         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
47601         for backward compatibility with older code.  We need our own
47602         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
47603         it under some other name, and our alloca.h will define it.
47604
47605 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47606             Derek Price  <derek@ximbiot.com>
47607
47608         * lib/alloca.c: Include <alloca.h>, to get our interface.
47609         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
47610         include <alloca.h> first.  Use C89 prototype for alloca; this
47611         requires including <stddef.h> for size_t.  Use extern "C" if C++.
47612         Use #elif for simplicity, since we can assume C89 now.
47613         Don't try to source the system alloca.h since it will not be found
47614         and to prevent recursively including its replacement.
47615         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
47616         * lib/regex.c: Likewise.
47617
47618 2004-05-16  Derek Price  <derek@ximbiot.com>
47619             Paul Eggert  <eggert@cs.ucla.edu>
47620
47621         getline cleanup.  This changes the getndelim2 API: both order of
47622         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
47623         no delimiter).
47624
47625         * lib/getline.c: Don't include stddef.h or stdio.h, since our
47626         interface does that.
47627         (getline): Always use getdelim, so that we don't have two
47628         copies of this code.
47629         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
47630         if available.
47631         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
47632         (GETNDELIM2_MAXIMUM): New macro.
47633         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
47634         instead of the old practice of delim2==0.  All callers changed.
47635         Return -1 on overflow, instead of returning junk.
47636         Do not set *linesize unless allocation succeeds.
47637         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
47638         that we include sys/types.h.
47639         * lib/getnline.h: Likewise.
47640         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
47641         (getndelim2): Reorder arguments.
47642         * lib/getnline.c (getnline, getndelim):
47643         Don't discard the NMAX argument.
47644         (getnline): Invoke getndelim, to avoid code duplication.
47645         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
47646         of (size_t) -1 by callers of the getnline family.
47647
47648 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47649
47650         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
47651         Check for gettimeofday.
47652         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
47653         Check for settimeofday, stime.
47654
47655 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47656
47657         * lib/nanosleep.c (suspended): Change its type from int to
47658         sig_atomic_t volatile.
47659         (first_call): Make it private to rpl_nanosleep, and have it
47660         be zero initially as that's a bit faster.
47661         (my_usleep): Round up fractional times instead of truncating them,
47662         as this is the usual meaning for 'sleep'.
47663
47664         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
47665         doesn't work.
47666         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
47667         (ENOSYS): Define if not defined.
47668         (settime): Fall back on stime if it exists and settimeofday fails.
47669         But don't bother with fallbacks if a method fails with errno == EPERM.
47670
47671 2004-05-11  Jim Meyering  <jim@meyering.net>
47672
47673         Prior to this change, the save_cwd caller required read access to the
47674         current directory on most systems (ones with the fchdir function).
47675
47676         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
47677         fails, try write-only, and finally, resort to using xgetcwd.
47678
47679 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47680
47681         * lib/obstack.c, obstack.h: Import changes from libc.
47682
47683 2004-04-28  Bruno Haible  <bruno@clisp.org>
47684
47685         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
47686         also implicitly appends .exe to executables.
47687         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
47688         accepts Windows pathnames.
47689         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47690         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47691         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47692         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47693         Reported by Derek Robert Price <derek@ximbiot.com>.
47694
47695 2004-04-21  Karl Berry  <karl@gnu.org>
47696
47697         * config/srclist.txt (localcharset.c): break sync.
47698
47699 2004-04-20  Paul Eggert  <eggert@twinsun.com>
47700
47701         * m4/host-os.m4: Add a copyright notice.
47702
47703 2004-04-20  Jim Meyering  <jim@meyering.net>
47704
47705         Change UTILS_ to gl_ in AC_DEFINE'd names.
47706         Change utils_- and jm_-prefixed variables, too.
47707         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
47708         UTILS_FUNC_MKDIR_TRAILING_SLASH.
47709         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
47710
47711         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
47712         Don't emit trailing blanks.
47713         Also rename jm_-prefixed variables to have gl_ prefix.
47714
47715         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
47716         Also rename jm_-prefixed variables to have gl_ prefix.
47717
47718         * m4/jm-macros.m4: Reflect the renamings.
47719         * m4/prereq.m4: Likewise.
47720
47721 2004-04-20  Jim Meyering  <jim@meyering.net>
47722
47723         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
47724         memory.
47725
47726 2004-04-20  Jim Meyering  <jim@meyering.net>
47727             Bruno Haible  <bruno@clisp.org>
47728
47729         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
47730         memory when realloc fails.
47731
47732 2004-04-19  Jim Meyering  <jim@meyering.net>
47733
47734         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
47735         now that readutmp.c may call `free (0)'.
47736
47737 2004-04-19  Bruno Haible  <bruno@clisp.org>
47738
47739         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
47740         * m4/inttypes_h.m4: Likewise.
47741         * m4/stdint_h.m4: Likewise.
47742         * m4/intmax_t.m4: Likewise.
47743         * m4/uintmax_t.m4: Likewise.
47744
47745 2004-04-18  Jim Meyering  <jim@meyering.net>
47746
47747         * m4/prereq.m4: Don't forbid jm_ prefix.
47748
47749         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
47750         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
47751         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
47752         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
47753         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
47754         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
47755         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
47756         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
47757         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
47758         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
47759         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
47760         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
47761         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
47762         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
47763         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
47764         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
47765         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
47766         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
47767         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
47768
47769 2004-04-18  Jim Meyering  <jim@meyering.net>
47770
47771         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
47772         failure, don't leak memory and do call END_UTMP_ENT.
47773
47774 2004-04-16  Jim Meyering  <jim@meyering.net>
47775
47776         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
47777         coreutils' stat program.
47778         (gl_PREREQ): Don't require jm_PREREQ_STAT.
47779
47780 2004-04-11  Paul Eggert  <eggert@twinsun.com>
47781
47782         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
47783         C89.
47784         (CHAR_BIT): Remove, since we assume C89.
47785         Include <stdint.h> if available, as per current Autoconf CVS advice.
47786
47787 2004-03-31  Jim Meyering  <jim@meyering.net>
47788
47789         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
47790         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
47791         * m4/xalloc.m4: Likewise.
47792
47793 2004-03-30  Paul Eggert  <eggert@twinsun.com>
47794
47795         Merge from coreutils.
47796
47797         * m4/inttostr.m4: New file.
47798         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
47799         Require AM_STDBOOL_H and gl_TIMESPEC instead.
47800         Require gl_CLOCK_TIME.
47801         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
47802
47803 2004-03-30  Paul Eggert  <eggert@twinsun.com>
47804
47805         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
47806         not bool, to be more consistent with Unix conventions.
47807         Suggested by Bruno Haible.
47808
47809         Merge from coreutils.
47810
47811         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
47812         * lib/umaxtostr.c: New files.
47813
47814         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
47815         the usual <time.h> dance.
47816         (get_date): Change signature to support fractional time stamps.
47817         All callers changed.
47818         * lib/getdate.y: Include "getdate.h" first, as we can now
47819         assume C89 and don't need to worry about 'const'.
47820         Similarly, include "unlocked-io.h" near start, not in middle.
47821         Include <limits.h>.
47822         (textint.value): Use long int rather than int.
47823         (textint.digits): Use size_t rather than int.
47824         (BILLION, LOG10_BILLION): New constants.
47825         (parser_control): New member rel_ns.  Members day_ordinal,
47826         time_zone, month, day, hour, minutes, rel_year, rel_month,
47827         rel_day, rel_hour, rel_minutes, rel_seconds
47828         are now long int, not int.  Member seconds is now struct timespec,
47829         not int.  New member timespec_seen.  Members dates_seen, days_seen,
47830         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
47831         not int.
47832         (%union.intval): Now long int, not int.
47833         New member timespec.
47834         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
47835         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
47836         (spec): Now is a timespec or an item list.
47837         (timespec, items): New nonterminals.
47838         (time, rel, relunit, number, get_date):
47839         Add support for fractional seconds.
47840         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
47841         (gmtime, localtime, mktime): Remove decls; not needed with C89.
47842         (to_hour): First arg is now long int, not int.
47843         (to_year): Returns long int, not int.
47844         Don't treat year -70 like 70.
47845         (tm_diff): Returns long int, not int.
47846         (lookup_word): Use bool instead of int when appropriate.
47847         (yylex): Use size_t for count, not int.
47848         Detect overflow when parsing large integer constants.
47849         Add support for fractions.
47850         (get_date): Make pointers 'const' if possible.
47851         Use more-portable code to detect integer overflow.
47852         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
47853         Don't use ctime; it's not reliable if the year has >4 digits.
47854
47855         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
47856         This is for compatibility with BSD.
47857
47858         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
47859         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
47860         From coreutils' system.h.
47861
47862         * lib/userspec.c: Don't include "posixver.h".
47863         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
47864         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
47865         compatible extension.  Simplify code by removing a boolean int
47866         that was always nonzero if a string was nonnull.
47867
47868 2004-03-30  Jim Meyering  <jim@meyering.net>
47869
47870         Merge from coreutils.
47871
47872         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
47873         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
47874         on some systems one must include <grp.h> before it.
47875         Reported by Christian Krackowizer.
47876
47877 2004-03-30  Jim Meyering  <jim@meyering.net>
47878
47879         Merge from coreutils.
47880
47881         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
47882
47883         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
47884         an empty input stream.
47885
47886         * lib/readtokens.c: Include <stdbool.h>.
47887         (readtoken): Use `size_t' rather than int/long.
47888         All callers adjusted.
47889         Use `bool' rather than `int' where appropriate.
47890         Use memset rather than an explicit loop.
47891         Use x2nrealloc rather than xrealloc.
47892         Allow the use of `\0' as a delimiter.
47893         (readtokens): Likewise.
47894         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
47895
47896 2004-03-30  Jim Meyering  <jim@meyering.net>
47897
47898         * m4/realloc.m4: Remove file, since now it does no more than
47899         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
47900         the `configure.ac' section of module/realloc.
47901         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
47902
47903 2004-03-30  Bruno Haible  <bruno@clisp.org>
47904
47905         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
47906         nonnull.
47907
47908 2004-03-29  Paul Eggert  <eggert@twinsun.com>
47909
47910         Merge changes to getloadavg.c from coreutils and Emacs.
47911
47912         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
47913         Define to an expression, not to the empty string.
47914         Include cloexec.h and xalloc.h.
47915         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
47916         Use set_cloexec_flag rather than rolling our own.
47917         * lib/cloexec.c, lib/cloexec.h: New files.
47918
47919 2004-03-29  Paul Eggert  <eggert@twinsun.com>
47920
47921         * m4/cloexec.m4: New file.
47922
47923 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47924
47925         * lib/getopt.h: Sync with libc CVS.
47926
47927 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47928             Bruno Haible  <bruno@clisp.org>
47929
47930         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
47931         mbswidth.
47932
47933 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47934             Bruno Haible  <bruno@clisp.org>
47935
47936         * lib/mbswidth.h: Include <wchar.h> only if
47937         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
47938         <wchar.h>.
47939         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
47940
47941 2004-03-09  Paul Eggert  <eggert@twinsun.com>
47942
47943         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
47944         Sync with libc CVS.
47945         * lib/getopt_int.h: New file, also synced from libc.
47946
47947 2004-03-09  Paul Eggert  <eggert@twinsun.com>
47948
47949         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
47950         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
47951         Bring back getopt.c, getopt.h, getopt1.c.
47952
47953 2004-03-07  Paul Eggert  <eggert@twinsun.com>
47954
47955         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
47956         All uses changed.  Check for sa_sigaction member; this fixes
47957         a bug first reported by Jason Andrade in
47958         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
47959
47960 2004-03-07  Paul Eggert  <eggert@twinsun.com>
47961
47962         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
47963         '#if' expressions.  Unlike the code it replaces, it does not
47964         depend on (defined _SC_PAGESIZE).  However, it does depend on
47965         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
47966         first reported by Jason Andrade in
47967         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
47968
47969 2004-02-25  Simon Josefsson  <jas@extundo.com>
47970
47971         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
47972
47973 2004-02-25  Simon Josefsson  <jas@extundo.com>
47974
47975         * lib/strdup.h: New file.
47976         * lib/strdup.c: Include it.
47977         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
47978         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
47979
47980 2004-02-23  Karl Berry  <karl@gnu.org>
47981
47982         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
47983         (from fencepost.gnu.org:/gd/gnuorg).
47984
47985 2004-02-23  Karl Berry  <karl@gnu.org>
47986
47987         * config/srclistvars.sh (GNUORG) [karl]: redefine.
47988         * config/srclist.txt: add maintain/standards documents.
47989
47990 2004-02-18  Bruno Haible  <bruno@clisp.org>
47991
47992         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
47993         Reported by Derek Robert Price <derek@ximbiot.com>.
47994
47995 2004-02-16  Karl Berry  <karl@gnu.org>
47996
47997         * config/mkinstalldirs, install-sh: update from automake.
47998
47999 2004-02-06  Karl Berry  <karl@gnu.org>
48000
48001         * m4/po.m4: update from gettext 0.14.1.
48002
48003 2004-02-06  Karl Berry  <karl@gnu.org>
48004
48005         * lib/config.charset: update from gettext 0.14.1.
48006
48007 2004-02-05  Paul Eggert  <eggert@twinsun.com>
48008
48009         Add comments and code, prompted by suggestions from Bruno Haible
48010         for sh-quote.
48011         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
48012         describing the enum quoting_style values.
48013         * lib/quotearg.c (quotearg_alloc): New function.
48014         (quotearg_buffer_restyled): Treat lone { and } as special.
48015         Treat = as special.  Work around bug with older shells
48016         that "see" a '\' that is really the 2nd byte of a multibyte char.
48017         Quote empty string with shell_quoting_style.
48018
48019 2004-02-03  Bruno Haible  <bruno@clisp.org>
48020
48021         * m4/pipe.m4: New file, from GNU gettext.
48022
48023 2004-02-03  Bruno Haible  <bruno@clisp.org>
48024
48025         * lib/pipe.h: New file, from GNU gettext.
48026         * lib/pipe.c: New file, from GNU gettext.
48027
48028 2004-01-27  Bruno Haible  <bruno@clisp.org>
48029
48030         * m4/execute.m4: New file, from GNU gettext.
48031
48032 2004-01-27  Bruno Haible  <bruno@clisp.org>
48033
48034         * lib/execute.h: New file, from GNU gettext.
48035         * lib/execute.c: New file, from GNU gettext.
48036         * lib/w32spawn.h: New file, from GNU gettext.
48037
48038 2004-01-24  Paul Eggert  <eggert@twinsun.com>
48039
48040         Merge from diffutils.
48041
48042         * lib/file-type.c (file_type): Add typed memory objects.
48043         * lib/file-type.h (S_TYPEISTMO): New macro.
48044
48045         * lib/c-stack.h (c_stack_action): Remove argv argument.
48046         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
48047         (die): Don't calculate message unless segv_action returns.
48048         (get_stack_location, min_address_from_argv, max_address_from_argv,
48049         volatile stack_base, volatile_stack_size): Remove.
48050         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
48051         that every segmentation violation is a stack overflow.  (Ouch!)
48052         See Debian bug 136249 (still outstanding) for more info about why
48053         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
48054
48055 2004-01-24  Paul Eggert  <eggert@twinsun.com>
48056
48057         Exit-status fix from coreutils.
48058
48059         Use exit_failure consistently in place of EXIT_FAILURE,
48060         so that program exit statuses are consistent on failure.
48061
48062         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
48063         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
48064         * lib/argmatch.h: Comment fix to match the above.
48065         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
48066         Now a macro referring to exit_failure, instead of a separate
48067         variable.  Include "exitfail.h" to get it.
48068         * lib/xstrtol.h: Include "exitfail.h".
48069         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
48070
48071         * lib/long-options.c (parse_long_options): Use prototype
48072         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
48073         for clarity.
48074
48075 2004-01-21  Jim Meyering  <jim@meyering.net>
48076
48077         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
48078         so as not to conflict with a different-sized __mktime_internal
48079         function in GNU libc.
48080         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
48081         Problem building statically-linked `ls' reported by Michael Brunnbauer.
48082
48083 2004-01-20  Karl Berry  <karl@gnu.org>
48084
48085         * config/config.guess: update from config.
48086
48087         * config/srclistvars.sh: GNUWWWLICENSES for karl.
48088
48089 2004-01-20  Bruno Haible  <bruno@clisp.org>
48090
48091         Safer stack allocation.
48092         * lib/setenv.c: Include allocsa.h.
48093         (alloca): Remove fallback definition.
48094         (freea): Remove macro.
48095         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
48096         instead of freea.
48097
48098 2004-01-20  Bruno Haible  <bruno@clisp.org>
48099
48100         * m4/eealloc.m4: New file, from GNU gettext.
48101
48102 2004-01-20  Bruno Haible  <bruno@clisp.org>
48103
48104         * m4/allocsa.m4: New file, from GNU gettext.
48105
48106 2004-01-20  Bruno Haible  <bruno@clisp.org>
48107
48108         * lib/xallocsa.h: New file, from GNU gettext.
48109         * lib/xallocsa.c: New file, from GNU gettext.
48110
48111 2004-01-20  Bruno Haible  <bruno@clisp.org>
48112
48113         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
48114
48115 2004-01-20  Bruno Haible  <bruno@clisp.org>
48116
48117         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
48118         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
48119         specially.
48120
48121 2004-01-20  Bruno Haible  <bruno@clisp.org>
48122
48123         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
48124         patch.
48125
48126 2004-01-20  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
48129
48130 2004-01-20  Bruno Haible  <bruno@clisp.org>
48131
48132         * lib/eealloc.h: New file.
48133
48134 2004-01-20  Bruno Haible  <bruno@clisp.org>
48135
48136         * lib/binary-io.h: Avoid warnings on Cygwin.
48137
48138 2004-01-20  Bruno Haible  <bruno@clisp.org>
48139
48140         * lib/allocsa.h: New file, from GNU gettext.
48141         * lib/allocsa.c: New file, from GNU gettext.
48142
48143 2004-01-18  Karl Berry  <karl@gnu.org>
48144
48145         * doc/gpl.texi, doc/lgpl.texi: new files.
48146
48147 2004-01-18  Karl Berry  <karl@gnu.org>
48148
48149         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
48150         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
48151
48152 2004-01-15  Paul Eggert  <eggert@twinsun.com>
48153
48154         Merge from coreutils.
48155
48156         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
48157         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
48158         (gl_DEFAULT_POSIX2_VERSION): Move
48159         the documentation from 'configure' into 'config.hin',
48160         so that 'configure --help' isn't burdened by it and
48161         we don't have to worry about its formatting there.
48162         Reword the documentation so that it's more succinct
48163         and can be run together into a single paragraph.
48164         * m4/same.m4 (gl_SAME): Check for pathconf.
48165
48166 2004-01-15  Paul Eggert  <eggert@twinsun.com>
48167
48168         Merge from coreutils.
48169
48170         * lib/posixver.c: Include posixver.h.
48171
48172         * lib/same.c: Include <stdbool.h>, <limits.h>.
48173         (_POSIX_NAME_MAX): Define if not defined.
48174         (MIN): New macro.
48175         (same_name): If file names are silently truncated, report
48176         that the file names are the same if they are the same after
48177         the silent truncation.
48178
48179         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
48180         conversion function.
48181         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
48182         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
48183         longer needed.
48184
48185 2004-01-15  Jim Meyering  <jim@meyering.net>
48186
48187         Merge from coreutils.
48188
48189         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
48190         if no library is required.
48191         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
48192         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
48193         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
48194         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
48195         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
48196         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
48197         value, $ac_cv_search_crypt, if it's "none required".
48198         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
48199         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
48200         not gl_FUNC_GETLOADAVG.
48201         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
48202         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
48203
48204 2004-01-15  Jim Meyering  <jim@meyering.net>
48205
48206         Merge from coreutils.
48207
48208         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
48209         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
48210         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
48211
48212         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
48213         optional configure-time default.
48214
48215         * lib/version-etc.c (version_etc_copyright): Update copyright date.
48216
48217         * lib/xreadlink.c (xreadlink): Correct outdated comment.
48218
48219 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
48220
48221         Merge from coreutils.
48222
48223         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
48224         value, $ac_cv_search_nanosleep, if it's "none required".
48225
48226 2004-01-14  Paul Eggert  <eggert@twinsun.com>
48227
48228         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
48229         with like-named macro in fnmatch.c.
48230         (EXT): Use an internal constant instead.
48231
48232         Merge fnmatch patches from glibc.
48233         * lib/fnmatch.c (mbsinit): Remove define.
48234         Add libc_hidden_ver (__fnmatch, fnmatch).
48235         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
48236         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
48237
48238 2004-01-14  Karl Berry  <karl@gnu.org>
48239
48240         * config/install-sh: update from automake.
48241
48242 2004-01-13  Karl Berry  <karl@gnu.org>
48243
48244         * config/install-sh: update from automake.
48245
48246 2004-01-09  Karl Berry  <karl@gnu.org>
48247
48248         * config/install-sh: update from automake.
48249
48250 2004-01-05  Karl Berry  <karl@gnu.org>
48251
48252         * config/config.{sub,guess}: update from config.
48253
48254 2003-12-31  Karl Berry  <karl@gnu.org>
48255
48256         * config/depcomp: update from automake.
48257
48258 2003-12-14  Karl Berry  <karl@gnu.org>
48259
48260         * lib/config.charset: update from gettext-runtime.
48261
48262 2003-12-03  Paul Eggert  <eggert@twinsun.com>
48263
48264         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
48265         Bug reported by Alfred M. Szmidt.
48266
48267 2003-12-03  Bruno Haible  <bruno@clisp.org>
48268
48269         * m4/gettext.m4: Upgrade from gettext-0.13.
48270         * m4/po.m4: Upgrade from gettext-0.13.
48271         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
48272         * m4/intmax.m4: New file, from gettext-0.13.
48273         * m4/printf-posix.m4: New file, from gettext-0.13.
48274
48275 2003-11-29  Karl Berry  <karl@gnu.org>
48276
48277         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
48278
48279 2003-11-25  Paul Eggert  <eggert@twinsun.com>
48280             Bruno Haible  <bruno@clisp.org>
48281
48282         * lib/printf-parse.h: Don't include sys/types.h.
48283         (ARG_NONE): New macro.
48284         (char_directive): Change type of *arg_index fields to size_t.
48285         * lib/printf-parse.c: Don't include sys/types.h.
48286         (SSIZE_MAX): Remove macro.
48287         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
48288         Remove unnecessary overflow check.
48289         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
48290         fields.
48291
48292 2003-11-25  Bruno Haible  <bruno@clisp.org>
48293
48294         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
48295
48296 2003-11-25  Bruno Haible  <bruno@clisp.org>
48297
48298         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
48299         gt_TYPE_SSIZE_T.
48300
48301 2003-11-24  Paul Eggert  <eggert@twinsun.com>
48302
48303         * modules/alloca: Remove dependency on xalloc.
48304
48305 2003-11-24  Paul Eggert  <eggert@twinsun.com>
48306
48307         * lib/alloca.c: Remove dependency on xalloc module.
48308         (xalloc_die): Remove.
48309         (memory_full) [!defined emacs]: New macro.
48310         [!defined emacs]: Don't include xalloc.h.
48311         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
48312         address arithmetic overflows.  Change datatypes a bit to avoid
48313         unnecessary casts.
48314
48315 2003-11-22  Jim Meyering  <jim@meyering.net>
48316
48317         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
48318         s/size/size_t/.
48319
48320 2003-11-21  Karl Berry  <karl@gnu.org>
48321
48322         * config/config.{sub,guess}: update from config.
48323
48324 2003-11-18  Karl Berry  <karl@gnu.org>
48325
48326         * config/config.{sub,guess}: update from config.
48327
48328         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
48329
48330 2003-11-17  Paul Eggert  <eggert@twinsun.com>
48331
48332         * README: Mention that S+T cannot overflow if S is the size of
48333         an existing object and T is sufficiently small.
48334
48335 2003-11-17  Jim Meyering  <jim@meyering.net>
48336
48337         On systems without utime and without a utimes function capable of
48338         dealing with a NULL struct utimbuf* argument, this utime replacement
48339         could -- in unusual circumstances -- leak a file descriptor.
48340         * lib/utime.c: Include <unistd.h> and <errno.h>.
48341         (utime_null): Be sure to close `fd' and to preserve errno.
48342         Reported by Geoff Collyer via Arnold Robbins.
48343
48344 2003-11-17  Bruno Haible  <bruno@clisp.org>
48345
48346         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
48347         (Depends-on): Add xsize.
48348
48349 2003-11-17  Bruno Haible  <bruno@clisp.org>
48350
48351         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
48352
48353 2003-11-17  Bruno Haible  <bruno@clisp.org>
48354
48355         * lib/vasnprintf.c (alloca): Remove fallback definition.
48356         (freea): Remove definition.
48357         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
48358         Reported by Paul Eggert.
48359
48360 2003-11-16  Paul Eggert  <eggert@twinsun.com>
48361             Bruno Haible  <bruno@clisp.org>
48362
48363         Protect against address arithmetic overflow.
48364         * lib/printf-args.h: Include stddef.h.
48365         (arguments): Change type of field 'count' to size_t.
48366         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
48367         'unsigned int' where appropriate.
48368         * lib/printf-parse.h: Include sys/types.h.
48369         (char_directive): Change type of *arg_index fields to ssize_t.
48370         (char_directives): Change type of fields 'count', max_*_length to
48371         size_t.
48372         * lib/printf-parse.c: Include sys/types.h and xsize.h.
48373         (SSIZE_MAX): Define fallback value.
48374         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
48375         instead of 'int' where appropriate. Check a_allocated, d_allocated
48376         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
48377         * lib/vasnprintf.c: Include xsize.h.
48378         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
48379         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
48380         overflow. Avoid wraparound when converting a width or precision from
48381         decimal to binary.
48382
48383 2003-11-16  Bruno Haible  <bruno@clisp.org>
48384
48385         Update from GNU gettext.
48386         * lib/printf-parse.c: Generalize to it can be compiled for wide
48387         strings.
48388         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
48389         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
48390         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
48391         SNPRINTF): New macros.
48392         Don't include <alloca.h> if the file is used inside libintl.
48393         (local_wcslen): New function, for Solaris 2.5.1.
48394         (VASNPRINTF): Use it instead of wcslen.
48395
48396 2003-11-16  Bruno Haible  <bruno@clisp.org>
48397
48398         * lib/xsize.h (xmax): New function.
48399         (xsum, xsum3, xsum4): Declare as "pure" functions.
48400
48401 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48402
48403         * modules/xalloc (Files): Undo latest change, since xalloc.h
48404         no longer needs SIZE_MAX or PTRDIFF_MAX.
48405
48406 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48407
48408         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
48409         gl_PTRDIFF_MAX.
48410
48411 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48412
48413         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
48414         "return", to pacify some unknown compiler.  Problem reported
48415         by Joerg Schilling.
48416
48417 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48418
48419         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
48420         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
48421         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
48422         heuristic is just as accurate as far as we know, and it removes a
48423         dependency on size_max.m4 and ptrdiff_max.m4.
48424
48425 2003-11-11  Bruno Haible  <bruno@clisp.org>
48426
48427         * modules/xsize (Files): Add m4/size_max.m4.
48428         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
48429
48430 2003-11-11  Bruno Haible  <bruno@clisp.org>
48431
48432         * m4/size_max.m4: New file.
48433         * m4/ptrdiff_max.m4: New file.
48434         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
48435         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
48436         (gl_XALLOC): Invoke it.
48437
48438 2003-11-11  Bruno Haible  <bruno@clisp.org>
48439
48440         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
48441         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
48442         defined.
48443
48444 2003-11-10  Paul Eggert  <eggert@twinsun.com>
48445
48446         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
48447         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
48448         rejected some allocations of exactly SIZE_MAX - 2 bytes.
48449         From Bruno Haible.
48450         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
48451         not (size_t) -1, since it's defined here.
48452
48453 2003-11-09  Karl Berry  <karl@gnu.org>
48454
48455         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
48456
48457 2003-11-06  Paul Eggert  <eggert@twinsun.com>
48458
48459         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
48460         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
48461         Reject sizes of exactly SIZE_MAX bytes.
48462         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
48463         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
48464
48465 2003-11-05  Bruno Haible  <bruno@clisp.org>
48466
48467         * lib/xsize.h: Include limits.h, to avoid a possible collision with
48468         SIZE_MAX defined in <limits.h> on Solaris.
48469
48470 2003-11-04  Jim Meyering  <jim@meyering.net>
48471
48472         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
48473         variable names, rather than @VAR@.
48474         * modules/poll: Likewise.
48475
48476 2003-11-04  Bruno Haible  <bruno@clisp.org>
48477
48478         * modules/xsize: New file.
48479         * modules/linebreak: Depend on xsize.
48480         * MODULES.html.sh (func_all_modules): Add xsize.
48481
48482 2003-11-04  Bruno Haible  <bruno@clisp.org>
48483
48484         * m4/xsize.m4: New file.
48485
48486 2003-11-04  Bruno Haible  <bruno@clisp.org>
48487
48488         * lib/xsize.h: New file.
48489         * lib/linebreak.c: Include xsize.h.
48490         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
48491         argument for overflow.
48492         Suggested by Paul Eggert.
48493
48494 2003-11-03  Karl Berry  <karl@gnu.org>
48495
48496         * config/config.{guess,sub}: update from config.
48497
48498 2003-11-03  Jim Meyering  <jim@meyering.net>
48499
48500         * modules/userspec (lib_SOURCES): Add userspec.h.
48501         (Include): Add "userspec.h".
48502         Improve description.
48503
48504 2003-11-03  Jim Meyering  <jim@meyering.net>
48505
48506         * lib/userspec.c: Include "userspec.h".
48507         * lib/userspec.h: New file.
48508
48509 2003-11-03  Bruno Haible  <bruno@clisp.org>
48510
48511         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
48512
48513 2003-11-03  Bruno Haible  <bruno@clisp.org>
48514
48515         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
48516         available, to avoid (extremely rare) race condition.
48517         Suggested by Paul Eggert.
48518
48519 2003-11-02  Karl Berry  <karl@gnu.org>
48520
48521         * config/srclist.txt (vasprintf.c): sync broken, sigh.
48522
48523 2003-10-31  Paul Eggert  <eggert@twinsun.com>
48524
48525         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
48526         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
48527         (read_filesystem_list): Set and use me_type_malloced.
48528         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
48529         whatever the type happens to be), for brevity and consistency.
48530         Check for size calculation overflow on Alphas running OSF/1.
48531
48532 2003-10-31  Jim Meyering  <jim@meyering.net>
48533
48534         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
48535
48536         * lib/linebuffer.c: Include <string.h> for declaration of memset.
48537
48538 2003-10-30  Paul Eggert  <eggert@twinsun.com>
48539             Bruno Haible  <bruno@clisp.org>
48540
48541         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
48542         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
48543
48544 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
48545
48546         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
48547         netbsd*-gnu*.  Suggested by Robert Millan.
48548
48549 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48550
48551         * modules/group-member: Depend on stdbool.
48552
48553 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48554
48555         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
48556
48557 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48558
48559         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
48560         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
48561         after the 'gnu' in these cases.  This fixes some bugs in the
48562         previous change, and is based on suggestions by Robert Millan.
48563
48564 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48565
48566         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
48567         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
48568         no longer needed.
48569         * lib/quotearg.c (quotearg_n_options): Use it.
48570         * lib/group-member.c: Include <stdbool.h>.
48571         (free_group_info): Arg is now const *; don't free arg.
48572         (get_group_info): Now returns bool and accepts struct group_info *,
48573         rather than returning a malloc'ed struct group_info *.
48574         All uses changed.  Check for overflow in internal size calculation.
48575
48576         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
48577         rather than xmalloc/xrealloc.
48578         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
48579         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
48580         conformance bug: the old code used a pointer after freeing the
48581         storage that it addressed.
48582         * lib/hash.c (hash_initialize): Simplify the code by using
48583         xalloc_oversized rather than doing it by hand.
48584         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
48585         the buffer preserved.  Use free and xmalloc instead.
48586         * lib/quotearg.c (quotearg_n_options): Likewise.
48587         Use a simpler test for size overflow.  Don't use xalloc_oversized
48588         because unsigned int might be wider than size_t (!); this suggests
48589         that we should switch from unsigned int to size_t for slot numbers.
48590
48591 2003-10-28  Paul Eggert  <eggert@twinsun.com>
48592
48593         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
48594         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
48595         NetBSD kernels.  Requested by Richard Stallman.
48596
48597 2003-10-27  Paul Eggert  <eggert@twinsun.com>
48598
48599         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
48600         to allocate the returned structure.  Do not allocate a subarray,
48601         as x2nrealloc will do that.
48602         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
48603         instead of xnrealloc.
48604         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
48605
48606 2003-10-27  Bruno Haible  <bruno@clisp.org>
48607
48608         * lib/stdbool_.h: Better support for BeOS.
48609
48610 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48611
48612         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
48613         now uses inline.
48614
48615 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48616
48617         * lib/xalloc.h (xalloc_oversized): New static inline function, for
48618         callers that want to do their own size-overflow checking.  Include
48619         <stdbool.h>, since xalloc_oversized returns bool.
48620         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
48621         to use xalloc_oversized.
48622
48623         Add two functions x2realloc, x2nrealloc, for programs that grow
48624         arrays dynamically by doubling their sizes.
48625         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
48626         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
48627         New functions.
48628
48629         Port to C99 semantics for 'inline' of external functions.
48630         Bug reported by Bruno Haible.
48631         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
48632         with the old contents of xnmalloc.
48633         (xnmalloc, xmalloc): Use it.
48634         (xnrealloc_inline): New static inline function,
48635         with the old contents of xnrealloc.
48636         (xnrealloc, xrealloc): Use it.
48637
48638         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
48639         that.
48640
48641 2003-10-26  Karl Berry  <karl@gnu.org>
48642
48643         * config/srclist.txt (COPYING.DOC): no longer available from
48644         /gd/gnuorg; don't know where the ultimate source is.
48645
48646 2003-10-25  Paul Eggert  <eggert@twinsun.com>
48647
48648         Fix several address-calculation bugs in the hash modules,
48649         plus some minor code cleanup.
48650
48651         * lib/hash.h: Include <stdbool.h>, for bool.
48652         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
48653         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
48654         hash_get_n_entries, hash_get_max_bucket_length,
48655         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
48656         hash_rehash): Use size_t rather than unsigned.
48657         * lib/hash.c (struct hash_table, hash_get_n_buckets,
48658         hash_get_n_buckets_used, hash_get_n_entries,
48659         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
48660         hash_get_entries, hash_do_for_each, hash_string, is_prime,
48661         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
48662         Likewise.
48663         (SIZE_MAX): Define if not defined.
48664         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
48665         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
48666         hash_print):
48667         Use const * when possible.
48668         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
48669         (check_tuning): Fix bug: if tuning parameters were very close to
48670         0 or 1, rounding errors could have caused subscript violations.
48671         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
48672         (hash_initialize): Add 'fail:' label
48673         to free table and return NULL, and use it to simplify code.
48674         Use calloc rather than clearing the storage ourself.
48675         (hash_initialize, hash_rehash): Check for arithmetic overflow in
48676         buffer size calculations.
48677         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
48678         Include <stddef.h>, for size_t.
48679         * lib/hash-pjw.c (hash_pjw): Likewise.
48680         Switch to method described by Bruno Haible.
48681         Include <limits.h>, for CHAR_BIT.
48682         (SIZE_BITS): New macro.
48683
48684 2003-10-23  Paul Eggert  <eggert@twinsun.com>
48685
48686         * m4/getline.m4 (AM_FUNC_GETLINE):
48687         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
48688         hosts.  Problem reported by Derek Robert Price in
48689         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
48690         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
48691         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
48692
48693 2003-10-21  Paul Eggert  <eggert@twinsun.com>
48694
48695         * lib/getndelim2.c (getndelim2): When size calculation overflows,
48696         ceiling the allocation at NMAX bytes rather than silently
48697         discarding input bytes before NMAX is reached.  This makes
48698         a difference only if NMAX exceeds SIZE_MAX / 2.
48699
48700         * lib/obstack.c: Merge from glibc.
48701         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
48702         Add libc_hidden_def (_obstack_newchunk).
48703         (_obstack_free) [! defined _LIBC]: Remove.
48704         [defined _LIBC]: Make a strong alias from obstack_free, rather than
48705         a clone of the function body.
48706         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
48707         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
48708
48709         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
48710         glibc.
48711         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
48712         arg to memcpy.
48713
48714         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
48715         (obstack_ptr_grow_fast, obstack_int_grow_fast):
48716         Don't use lvalue casts, as GCC plans to remove support for them
48717         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
48718         was also present in the non-GCC version, indicating that this
48719         code had always been buggy and had never been widely used.
48720         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
48721         Use the fast variant of each macro, rather than copying the
48722         definiens of the fast variant; that way, we'll be more likely to
48723         catch future bugs in the fast variants.
48724
48725 2003-10-20  Bruno Haible  <bruno@clisp.org>
48726
48727         * modules/wait-process: New file.
48728         * MODULES.html.sh (func_all_modules): Add wait-process.
48729
48730 2003-10-20  Bruno Haible  <bruno@clisp.org>
48731
48732         * m4/wait-process.m4: New file.
48733
48734 2003-10-20  Bruno Haible  <bruno@clisp.org>
48735
48736         * lib/wait-process.h: New file, from GNU gettext.
48737         * lib/wait-process.c: New file, from GNU gettext.
48738
48739 2003-10-19  Jim Meyering  <jim@meyering.net>
48740
48741         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
48742         HPUX 10.20.
48743
48744 2003-10-18  Karl Berry  <karl@gnu.org>
48745
48746         * config/config.guess: update from config.
48747
48748 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48749
48750         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
48751         (getgroups): First arg is int, not size_t.
48752         Don't let 'free' mangle errno.
48753
48754 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48755
48756         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
48757
48758 2003-10-16  Karl Berry  <karl@gnu.org>
48759
48760         * config/config.{guess,sub}: update from config.
48761
48762 2003-10-16  Jim Meyering  <jim@meyering.net>
48763
48764         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
48765         memcpy.
48766
48767 2003-10-15  Paul Eggert  <eggert@twinsun.com>
48768
48769         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
48770         (SIZE_MAX): Remove.
48771         (new_exclude, add_exclude_file): Initial size no longer needs to
48772         be a power of 2.
48773         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
48774         our own address arithmetic overflow checking.
48775
48776         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
48777         (fnmatch): Do not alloca more than 2000 wide characters;
48778         instead, use malloc for large buffers.
48779         Check for address arithmetic overflow, and return -1
48780         with errno set to ENOMEM in that case.
48781         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
48782         (NEW_PATTERN): Do not alloca more than 8000 bytes;
48783         instead, return -1.  Check for address arithmetic overflow.
48784
48785 2003-10-14  Paul Eggert  <eggert@twinsun.com>
48786
48787         Handle invalid suffixes and overflow independently, so that
48788         callers can treat them independently as needed.  Fix some bugs in
48789         suffix handling, e.g., "100k@" was not diagnosed as an invalid
48790         suffix for a human-readable blocksize.  The major caller-visible
48791         change is the addition of a new
48792         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
48793         that both overflow and suffix chars were found.
48794
48795         * lib/human.c (humblock): Don't check separately for invalid suffix
48796         char; that is xstrtoumax's job (now that its bug is fixed).
48797         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
48798         INTMAX_MAX]: New macros.
48799         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
48800         TYPE_MAXIMUM): New macros.
48801         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
48802         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
48803         if overflow occurs, as it's what __strtol does and it's more useful
48804         in practice.
48805         (__xstrtol): If __strtol reports some error other than ERANGE,
48806         reflect it to the caller as LONGINT_INVALID.  If it reports
48807         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
48808         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
48809         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
48810         value.
48811         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
48812         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
48813         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
48814         [defined UINTMAX_MAX]: New macros.
48815
48816 2003-10-14  Bruno Haible  <bruno@clisp.org>
48817
48818         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
48819
48820 2003-10-14  Bruno Haible  <bruno@clisp.org>
48821
48822         * m4/sig_atomic_t: New file, from GNU gettext.
48823         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
48824
48825 2003-10-14  Bruno Haible  <bruno@clisp.org>
48826
48827         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
48828         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
48829         Also use volatile where needed.
48830
48831 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48832
48833         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
48834         Change maintainer from Bruno Haible to 'all'.
48835
48836 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48837
48838         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
48839
48840 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48841
48842         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
48843         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
48844         and define in terms of the other primitives.
48845         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
48846         (SIZE_MAX): Define if not already defined.
48847         (array_size_overflow): New function.
48848         (xalloc_die): Abort instead of exiting if 'error' returns.
48849         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
48850         (xmalloc, xrealloc): Use them.
48851         (xcalloc): Check for address arithmetic overflow.
48852         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
48853         a bit faster than strcpy.
48854
48855 2003-10-10  Simon Josefsson  <jas@extundo.com>
48856
48857         * modules/argp (Depends-on): Add restrict and strcase.
48858
48859 2003-10-10  Simon Josefsson  <jas@extundo.com>
48860
48861         * m4/argp.m4: Add AC_C_INLINE.
48862
48863 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48864
48865         Merge getpass from libc, plus a few fixes.
48866
48867         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
48868         Include <stdbool.h>.
48869         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
48870         __fsetlocking to empty.
48871         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
48872         do include <bits/libc-lock.h>.
48873         Do not include <fcntl.h>; not needed.
48874         [_LIBC]: Include <wchar.h>.
48875         (NOTCANCEL_MODE): New macro.
48876         (flockfile, funlockfile) [_LIBC]: New macros.
48877         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
48878         [!_LIBC]: New macros.
48879         (call_fclose): New function.
48880         (getpass): Use it.  Save tty stream separately; this simplifies the
48881         code and makes it more reliable if stdin happens to equal stdout.
48882         Invoke __fsetlocking on tty.
48883         Handle thread cancellation if needed.
48884         Namespace cleanup (use __tcgetattr, __getline).
48885         Use bool for Booleans.
48886         [USE_IN_LIBIO]: Handle wide streams.
48887         [!_LIBC]: Unconditionally do the fseek, since we don't know what
48888         stream might go where.
48889
48890         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
48891         doesn't have to include <stdio.h> before us.
48892         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
48893         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
48894         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
48895         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
48896         if not declared, so that we can use getpass.c code from libc without
48897         rewriting it.
48898         (flockfile, ftrylockfile, funlockfile): New macros.
48899
48900 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48901
48902         * modules/getpass: Depend on stdbool.
48903
48904 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48905
48906         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
48907
48908 2003-10-07  Karl Berry  <karl@gnu.org>
48909
48910         * config/config.{guess,sub}: update from config.
48911
48912 2003-10-06  Jim Meyering  <jim@meyering.net>
48913             Bruno Haible  <bruno@clisp.org>
48914
48915         This lets translators provide better translations for the
48916         "Written by ..." part of --version output.
48917         * lib/version-etc.h: Include stdarg.h.
48918         (version_etc_copyright): Declare as readonly.
48919         (version_etc): Make this function variadic with a NULL-terminated list
48920         of author name strings.
48921         (version_etc_va): New declaration.
48922         * lib/version-etc.c: Include stdarg.h, stdlib.h.
48923         (version_etc_copyright): Declare as readonly.
48924         (version_etc_va): New function. Provide a different translatable string
48925         for each possible number of authors < 10. Abbreviate when there are 10
48926         authors or more.
48927         (version_etc): Make this function variadic. Call version_etc_va.
48928         Suggestion from Gary V. Vaughan.
48929
48930         * lib/long-options.h (parse_long_options): Change prototype: the
48931         authors string is moved to the end and becomes variadic.
48932         * lib/long-options.c: Include stdarg.h.
48933         (parse_long_options): Make this function variadic, too.
48934         Call version_etc_va, not version_etc.
48935
48936 2003-10-06  Bruno Haible  <bruno@clisp.org>
48937
48938         * modules/version-etc-2: Remove file.
48939         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
48940
48941 2003-10-06  Bruno Haible  <bruno@clisp.org>
48942
48943         * modules/fatal-signal: New file.
48944         * MODULES.html.sh (func_all_modules): Add fatal-signal.
48945
48946 2003-10-06  Bruno Haible  <bruno@clisp.org>
48947
48948         * m4/fatal-signal.m4: New file.
48949         * m4/signalblocking.m4: New file, from GNU gettext.
48950
48951 2003-10-06  Bruno Haible  <bruno@clisp.org>
48952
48953         * lib/version-etc-2.h: Remove file.
48954         * lib/version-etc-2.c: Remove file.
48955
48956 2003-10-06  Bruno Haible  <bruno@clisp.org>
48957
48958         * lib/fatal-signal.h: New file, from GNU gettext.
48959         * lib/fatal-signal.c: New file, from GNU gettext.
48960
48961 2003-10-05  Paul Eggert  <eggert@twinsun.com>
48962
48963         * README: Rework advice for preventing empty .o files.
48964         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
48965         not <sys/types.h>.
48966
48967 2003-10-04  Karl Berry  <karl@gnu.org>
48968
48969         * lib/argp*: update from libc.
48970
48971 2003-10-04  Karl Berry  <karl@gnu.org>
48972
48973         * config/config.{guess,sub}: update from config.
48974
48975 2003-10-02  Bruno Haible  <bruno@clisp.org>
48976
48977         * modules/lchown (Include): Add lchown.h.
48978         * modules/time_r (Include): Use "..." syntax.
48979         * modules/xgetdomainname (Include): Add xgetdomainname.h.
48980
48981 2003-10-01  Simon Josefsson  <jas@extundo.com>
48982
48983         * MODULES.html.sh (func_all_modules): Move gethostname from section
48984         'based on' to section 'lacking' POSIX:2001.
48985
48986 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
48987
48988         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
48989         to output mode on the same stream.
48990
48991 2003-09-29  Paul Eggert  <eggert@twinsun.com>
48992
48993         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
48994         Fix arg typo in previous patch.
48995
48996 2003-09-28  Jim Meyering  <jim@meyering.net>
48997
48998         * lib/error.c: Correct cpp indentation.
48999
49000 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49001
49002         * modules/free: New file.
49003
49004 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49005
49006         * m4/free.m4: New file.
49007
49008 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49009
49010         * lib/minmax.h (MIN, MAX)
49011         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
49012         Omit the special code that used __typeof__, since we worry that
49013         it could be more trouble than it's worth.  See:
49014         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
49015         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
49016
49017         * lib/free.c: New file.
49018
49019 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
49020
49021         Trivial fixes to Makefile.am parts of module listings.
49022         * modules/strstr: Append strstr.h to lib_SOURCES.
49023         * modules/strcase: Likewise, for strcase.h.
49024
49025 2003-09-27  Karl Berry  <karl@gnu.org>
49026
49027         * config/mkinstalldirs: update from automake.
49028
49029 2003-09-26  Paul Eggert  <eggert@twinsun.com>
49030
49031         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
49032         (error_tail): Do not loop, reallocating temporary buffer, since
49033         the output cannot contain more wide characters than the input
49034         contains bytes, the size must be big enough already.  This avoids
49035         one potential size overflow calculation.  Check for size overflow
49036         when calculating temporary buffer size.  Free temporary buffer
49037         when done, if it was allocated with malloc; this plugs a memory
49038         leak.  Remove casts from void * to pointers, that are no longer
49039         needed now that we're assuming C89 or better.
49040
49041         Merge error changes from glibc.
49042
49043         * lib/error.c, error.h: Update copyright notice header to match glibc.
49044         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
49045         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
49046         Disable cancellation while printing error.
49047         * lib/error.h: Prepend __ to parameter names.
49048
49049 2003-09-26  Jim Meyering  <jim@meyering.net>
49050
49051         * lib/error.c (error_tail): Move some declarations
49052         into inner scope where the local variables are used.
49053
49054 2003-09-26  Bruno Haible  <bruno@clisp.org>
49055
49056         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
49057         stpncpy().
49058         Don't define stpncpy through config.h; it's now done through stpncpy.h.
49059
49060 2003-09-26  Bruno Haible  <bruno@clisp.org>
49061
49062         * lib/stpncpy.h (gnu_stpncpy): New declaration.
49063         (stpncpy): Define as alias for gnu_stpncpy.
49064         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
49065
49066 2003-09-25  Simon Josefsson  <jas@extundo.com>
49067
49068         * lib/xgetdomainname.h: New file.
49069         * lib/xgetdomainname.c: New file.
49070
49071 2003-09-25  Simon Josefsson  <jas@extundo.com>
49072             Bruno Haible  <bruno@clisp.org>
49073
49074         * modules/getdomainname: New file.
49075         * modules/xgetdomainname: New file.
49076         * MODULES.html.sh (func_all_modules): Add getdomainname,
49077         xgetdomainname.
49078
49079 2003-09-25  Simon Josefsson  <jas@extundo.com>
49080             Bruno Haible  <bruno@clisp.org>
49081
49082         * m4/getdomainname.m4: New file.
49083
49084 2003-09-25  Simon Josefsson  <jas@extundo.com>
49085             Bruno Haible  <bruno@clisp.org>
49086
49087         * lib/getdomainname.h: New file.
49088         * lib/getdomainname.c: New file.
49089
49090 2003-09-25  Karl Berry  <karl@gnu.org>
49091
49092         * lib/argp-fmtstream.c, argp-help.c: update from libc.
49093
49094 2003-09-25  Karl Berry  <karl@gnu.org>
49095
49096         * config/install-sh: update from automake.
49097
49098 2003-09-25  Bruno Haible  <bruno@clisp.org>
49099
49100         * modules/version-etc-2: New file, from modules/version-etc with
49101         modifications.
49102         * MODULES.html.sh (func_all_modules): Add version-etc-2.
49103
49104 2003-09-25  Bruno Haible  <bruno@clisp.org>
49105
49106         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
49107         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
49108
49109 2003-09-24  Simon Josefsson  <jas@extundo.com>
49110
49111         * modules/xgethostname: Add xgethostname.h.
49112
49113 2003-09-24  Paul Eggert  <eggert@twinsun.com>
49114
49115         * lib/linebuffer.c (freebuffer): Don't free the argument, just
49116         the buffer associated with the argument.  Bug reported by
49117         Simon Josefsson.
49118
49119 2003-09-24  Paul Eggert  <eggert@twinsun.com>
49120
49121         * README: Document assumptions that 'int' is at least 32 bits
49122         wide, that integer arithmetic is 2's complement without overflow,
49123         that there are no holes in integer values, that adding sizes of
49124         two nonoverlapping objects can't overflow, and that all-bits-zero
49125         yields scalar zero.  Fix spelling and capitalization typos.
49126
49127 2003-09-19  Karl Berry  <karl@gnu.org>
49128
49129         * lib/argp.h: update from libc.
49130
49131 2003-09-17  Paul Eggert  <eggert@twinsun.com>
49132
49133         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
49134         to avoid spurious warnings like "AC_RUN_IFELSE was called before
49135         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
49136
49137 2003-09-17  Paul Eggert  <eggert@twinsun.com>
49138
49139         * gnulib-tool: Use "test -h", not "test -L", for portability
49140         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
49141         (tags_regexp): Remove, since \| doesn't conform to POSIX.
49142         (sed_extract_prog): Issue s commands one-by-one, rather than
49143         using \| in one s command.
49144
49145 2003-09-16  Paul Eggert  <eggert@twinsun.com>
49146
49147         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
49148         input error, instead of returning NULL the next time we are called
49149         (and therefore losing track of errno).
49150
49151 2003-09-16  Bruno Haible  <bruno@clisp.org>
49152
49153         * gnulib-tool (func_create_testdir): Warn about duplicated
49154         dependencies.
49155
49156 2003-09-15  Paul Eggert  <eggert@twinsun.com>
49157
49158         * modules/argmatch, modules/fatal, modules/obstack,
49159         modules/xalloc, modules/xgethostname: Sort dependencies by
49160         importance, not alphabetically.
49161
49162 2003-09-15  Paul Eggert  <eggert@twinsun.com>
49163
49164         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
49165         fails, so that the caller gets the proper errno.
49166
49167         * lib/readutmp.c (read_utmp): Likewise.
49168         Check for fstat error.  Close stream and free storage
49169         when failing.
49170
49171 2003-09-14  Karl Berry  <karl@gnu.org>
49172
49173         * config/srclist.txt (strdup.c): disable for c89 changes.
49174
49175 2003-09-14  Jim Meyering  <jim@meyering.net>
49176
49177         * lib/getloadavg.c: Correct cpp indentation.
49178         * lib/strdup.c: Likewise.
49179         * lib/vasnprintf.c: Likewise.
49180
49181 2003-09-14  Bruno Haible  <bruno@clisp.org>
49182
49183         * modules/fwriteerror: New file.
49184         * MODULES.html.sh (func_all_modules): Add fwriteerror.
49185
49186 2003-09-14  Bruno Haible  <bruno@clisp.org>
49187
49188         * lib/fwriteerror.h: New file.
49189         * lib/fwriteerror.c: New file.
49190
49191 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49192
49193         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
49194         modules/xgethostname, modules/xalloc: Depend on exit.
49195
49196 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49197
49198         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
49199
49200         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
49201         and AC_MINIX, too, so that their extensions are available.
49202
49203         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
49204         This macro has been superseded by gl_BACKUPFILE.
49205
49206         More patches to assume C89 or better.
49207
49208         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
49209
49210         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
49211         unconditionally.
49212         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
49213         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
49214         Include <string.h>, <stdlib.h> unconditionally.
49215         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
49216         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
49217         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
49218         headers or for string.h.
49219         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
49220         or strtoul.
49221
49222         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
49223         headers.
49224         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
49225         * m4/userspec.m4 (gl_USERSPEC): Likewise.
49226         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
49227         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
49228         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49229         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
49230         memcpy, memset.
49231         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
49232         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
49233         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
49234         strtol.
49235         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
49236         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
49237         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
49238         strtoul.
49239
49240 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49241
49242         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
49243         * lib/obstack.c [!defined _LIBC]: Likewise.
49244         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
49245         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
49246         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
49247
49248         More changes to assume C89 or better.
49249
49250         * lib/error.c (error_tail): Assume vprintf.
49251
49252         * lib/argmatch.c (getenv): Remove decl.
49253         * lib/progreloc.c (get_full_program_name): Define via prototype.
49254         * lib/setenv.c (clearenv): Likewise.
49255         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
49256         needed.
49257         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
49258         (malloc, memcpy): Remove decls.
49259         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
49260         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
49261         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
49262         (memcpy): Remove macro.
49263         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
49264         (__P): Remove.  All uses removed.
49265         (PTR): Remove.  All uses changed to void *.
49266         (CHAR_BIT, NULL): Remove.
49267         (spaces, zeros, memset_space, memset_zero)
49268         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
49269         Remove.
49270         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
49271         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
49272         Define with prototype.
49273         Remove now-unnecessary prototype decl.
49274         (extra_args_spec): Assume ANSI C.  All uses changed.
49275         (extra_args_spec_iso): Remove.
49276         (my_strftime, emacs_strftimeu): Define via prototype.
49277         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
49278         unconditionally.
49279         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
49280         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
49281         (strtoul, strtol): Remove decls.
49282         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
49283         LONG_MAX): Remove.
49284         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
49285         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
49286         (LOCALE_PARAM_PROTO): New macro.
49287         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
49288         (INTERNAL (strtol), strtol): Define with a prototype.
49289         (PARAMS): Remove.  All uses removed.
49290         * lib/tempname.c: Include <string.h> unconditionally.
49291         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
49292         * lib/xgethostname.c (main): Define with a prototype.
49293         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
49294         Include <stdlib.h> unconditionally.
49295         (calloc, malloc, realloc, free): Remove decls.
49296         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
49297         Include <stdlib.h> unconditionally.  Sort include file names.
49298         (strtod): Remove.
49299         (xstrtod): Define with a prototype.
49300         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
49301         (strtol, strtoul): Remove decls.
49302
49303 2003-09-11  Paul Eggert  <eggert@twinsun.com>
49304
49305         More patches to assume C89 or better.
49306         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
49307         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
49308         string.h, memchr, STDC_HEADERS.
49309
49310 2003-09-11  Paul Eggert  <eggert@twinsun.com>
49311
49312         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
49313         Include <stdlib.h>, <string.h> unconditionally.
49314         Remove now-unnecessary cast to char *.
49315         * lib/strnlen.c: Include <string.h> unconditionally.
49316         * lib/yesno.c (yesno): Define with a prototype.
49317
49318 2003-09-11  Bruno Haible  <bruno@clisp.org>
49319
49320         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
49321
49322 2003-09-10  Jim Meyering  <jim@meyering.net>
49323
49324         * lib/error.c: Correct indentation of cpp directives.
49325
49326 2003-09-10  Bruno Haible  <bruno@clisp.org>
49327
49328         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
49329         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
49330         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
49331         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
49332         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
49333         <stdlib.h> and <string.h> checks.
49334         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
49335         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
49336
49337 2003-09-10  Bruno Haible  <bruno@clisp.org>
49338
49339         * lib/strcspn.c: Include <string.h> unconditionally.
49340         * lib/strpbrk.c: Include <string.h> unconditionally.
49341         * lib/strstr.c: Include <string.h> unconditionally.
49342         * lib/unicodeio.c: Include <string.h> unconditionally.
49343         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
49344         * lib/unsetenv.c: Likewise.
49345         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
49346         * lib/yesno.c: Include <stdlib.h> unconditionally.
49347         (rpmatch): Add prototype.
49348
49349 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49350
49351         More patches to assume C89 or better.
49352         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
49353         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
49354         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
49355         or for string.h.
49356         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
49357         stdlib.h.
49358         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
49359         C headers.
49360         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
49361         string.h.
49362         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
49363         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
49364         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
49365         or for string.h.
49366         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
49367         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
49368         C headers.
49369         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
49370         memcpy.
49371         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
49372         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
49373         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
49374         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
49375         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
49376         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
49377         string.h, free.
49378         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
49379         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
49380         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
49381         C headers, or for string.h.
49382         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
49383         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
49384         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
49385         headers, memory.h, stdlib.h, string.h, strings.h.
49386         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
49387         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
49388         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
49389         strchr.
49390         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
49391         headers, memory.h, string.h.
49392         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
49393         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
49394         free.
49395         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
49396         headers.
49397         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
49398         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
49399         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
49400         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
49401         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
49402
49403 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49404
49405         More K&R removal.
49406
49407         * lib/acosl.c (main): Use a prototype.
49408         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
49409         tanl.c: Likewise.
49410
49411         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
49412
49413         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
49414         (getopt, etopt_long, getopt_long_only, _getopt_internal)
49415         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
49416         with a prototype.
49417         * lib/getopt.c (const): Remove macro.
49418         Include <string.h> unconditionally.
49419         (my_index): Remove; all uses changed to strchr.
49420         (strlen): Remove decl.
49421         (exchange): Remove forward decl; no longer needed.
49422         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
49423         Define with prototype.
49424         * lib/getopt1.c (const): Remove macro.
49425         (getopt_long, getopt_long_only, main): Define with prototype.
49426
49427         * lib/getugroups.c: Include <string.h> unconditionally.
49428
49429         * lib/getusershell.c: Include <stdlib.h> unconditionally.
49430         (getusershell, setusershell, endusershell, readname, main):
49431         Define with prototypes.
49432
49433         * lib/group-member.c: Include group-member.h first.
49434         Include <stdlib.h> unconditionally.
49435
49436         * lib/hard-locale.c: Include hard-locale.h first.
49437         Include <stdlib.h>, <string.h> unconditionally.
49438
49439         * lib/hash.c (free, malloc): Remove decls.
49440         Include <stdlib.h> unconditionally.
49441
49442         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
49443         (getenv): Do not declare.
49444
49445         * lib/idcache.c: Include <string.h> unconditionally.
49446
49447         * lib/long-options.c: Include long-options.h first, to test interface.
49448         Include <stdlib.h> unconditionally.
49449
49450         * lib/makepath.c: Include makepath.h first, to test interface.
49451         Include <stdlib.h> and <string.h> unconditionally.
49452
49453         * lib/linebuffer.c: Include <stdlib.h>.
49454         (free): Remove decl.
49455
49456         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
49457         stddef.h. rpl_malloc returns void *, not char *.
49458         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
49459         prototype.
49460
49461         * lib/md5.h: Include <limits.h> unconditionally.
49462         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
49463         (__P): Remove; all uses removed.
49464         * lib/md5.c: Include "md5.h" first.
49465         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
49466         md5_buffer, md5_process_bytes, md5_process_block):
49467         Define with prototypes.
49468         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
49469         * lib/sha.c: Include "sha.h" first.
49470         Include <stdlib.h>, <string.h> unconditionally.
49471
49472         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
49473         * lib/memcmp.c (__ptr_t): Likewise.
49474         * lib/memrchr.c (__ptr_t): Likewise.
49475         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
49476         Include <string.h> unconditionally.
49477         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
49478         * lib/memchr.c: Include <stdlib.h> unconditionally.
49479         * lib/memchr.c (LONG_MAX): Remove.
49480         * lib/memrchr.c (LONG_MAX): Likewise.
49481         * lib/memchr.c (__memchr): Define via a prototype.
49482         * lib/memrchr.c (__memrchr): Likewise.
49483         * lib/memcmp.c (__P): Remove, and remove all uses.
49484         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
49485         Remove forward decls; no longer needed.
49486         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
49487         Use types required by C89 in prototype.
49488
49489         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
49490         * lib/savedir.c: Likewise.
49491         * lib/mkdir.c (free): Remove decl.
49492         * lib/rmdir.c (rmdir): Define with a prototype.
49493         * lib/savedir.c: Include savedir.h first, to test interface.
49494
49495         * lib/mktime.c (STDC_HEADERS): Remove.
49496         Include <stdlib.h>, <string.h> unconditionally.
49497
49498         * lib/modechange.c: Include <stdlib.h> unconditionally.
49499         (malloc): Remove decl.
49500
49501         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
49502         (free): Remove decl.
49503
49504         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
49505         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
49506         (This type really should be intptr_t, but that's a C99ism.)
49507         (_obstack_memcpy): Remove: all uses changed to memcpy.
49508         Include <string.h> unconditionally.
49509         (struct obstack): Assume __STDC__ for types of members
49510         chunkfun, freefun, extra_arg.
49511         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
49512         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
49513         obstack_begin, obstack_specify_allocation,
49514         obstack_specify_allocation_with_arg, obstack_chunkfun,
49515         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
49516         Remove unprototyped decls and the macros that use them.
49517         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
49518         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
49519         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
49520         (defined __STDC__ && __STDC__)]:
49521         Remove nonprototyped code.
49522         Include <stdlib.h> unconditionally.
49523         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
49524         _obstack_allocated_p, _obstack_free, obstack_free,
49525         _obstack_memory_used, print_and_abort):
49526         Define using prototypes.
49527         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
49528         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
49529         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
49530         obstack_next_free, obstack_object_size, obstack_room) [0]:
49531         Remove unused, unprototyped code.
49532
49533         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
49534
49535         * lib/physmem.c (physmem_total, physmem_available, main): Define
49536         with prototypes.
49537
49538         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
49539         (main): Define with a prototype.
49540
49541         * lib/posixver.c (getenv): Remove decl.
49542
49543         * lib/putenv.c (malloc): Returns void *, not char *.
49544         Include <string.h> unconditionally.
49545         (strchr, memcpy, NULL): Do not define.
49546
49547         * lib/readtokens.c: Include readtokens.h first, to test interface.
49548         Include <stdlib.h>, <string.h> unconditionally.
49549         (init_tokenbuffer): Define with a prototype.
49550
49551         * lib/regex.c (PARAMS): Remove.  All uses removed.
49552         All uses of _RE_ARGS removed, too.
49553         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
49554         unconditionally.
49555         (bzero): Assume memset exists.
49556         (memcmp, memcpy, NULL): Remove.
49557         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
49558         char, or assignments to local vars of type signed char.
49559         (init_syntax_once, PREFIX(extract_number_and_incr),
49560         PREFIX(print_partial_compiled_pattern),
49561         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
49562         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
49563         PREFIX(regex_grow_registers), PREFIX(regex_compile),
49564         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
49565         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
49566         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
49567         wcs_compile_range, byte_compile_range, truncate_wchar,
49568         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
49569         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
49570         count_mbs_length, wcs_re_match_2_internal,
49571         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
49572         PREFIX(alt_match_null_string_p),
49573         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
49574         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
49575         regfree, PREFIX(extract_number)): Define with prototype.  Remove
49576         now-unnecessary declaration, if any.
49577         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
49578         regcomp, regexec):
49579         Remove now-unnecessary casts among pointer types.
49580         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
49581
49582         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
49583         (free): Remove decl.
49584
49585         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
49586
49587         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
49588         (free): Remove decl.
49589
49590         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
49591         * lib/xgetcwd.c: Likewise.
49592
49593         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
49594         (free): Remove decl.
49595
49596         * lib/strchrnul.c (strchrnul): Define with a prototype.
49597         Fix bug: c_in was not converted to char before searching.
49598
49599         The following changes are not K&R related:
49600
49601         * lib/group-member.h: Include <sys/types.h>, so that this file is
49602         self-contained.
49603         * lib/makepath.h: Likewise.
49604
49605         * lib/getusershell.c (readname, default_index, line_size, readname):
49606         Use size_t, not int, for sizes.
49607         (readname): If the size overflows, report an error instead of
49608         looping forever.
49609
49610 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49611
49612         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
49613         libc.
49614
49615 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49616
49617         * README: New section: portability guidelines.
49618
49619 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49620
49621         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
49622         C89 spec.
49623
49624 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49625
49626         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
49627
49628 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49629
49630         Assume C89 or better; remove K&R cruft.
49631         A few of these changes were first proposed by Derek Robert Price
49632         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
49633
49634         * lib/addext.c: Include <string.h> unconditionally.
49635         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
49636         Don't declare getenv or malloc.
49637
49638         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
49639         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
49640         (NULL): Remove.
49641         (find_stack_direction, alloca): Use prototypes.
49642
49643         * lib/atexit.c (atexit): Define using a prototype.
49644
49645         * lib/basename.c, dirname.c, stripslash.c:
49646         Include <string.h> unconditionally.
49647
49648         * lib/bcopy.c: Include <stddef.h>.
49649         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
49650
49651         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
49652
49653         * lib/error.h (error, error_at_line, error_print_progname)
49654         [! (defined (__STDC__) && __STDC__)]: Remove decls.
49655         * lib/error.c: Include error.h first, to check interface.
49656         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49657         (VA_START): Remove; all uses changeed to va_start.
49658         (exit, strerror): Remove decls.
49659         (error_print_progname): Prototype uncondionally.
49660         Don't include <errno.h>; no longer needed.
49661         (private_strerror): Remove.
49662         (error_tail): Always define.
49663         (error, error_at_line): Assume C89 or better; always use prototypes.
49664         * lib/fatal.c: Include "fatal.h" first, to test interface.
49665         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49666         (VA_START): Remove; all uses changed to va_start.
49667         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
49668         this case.
49669         (exit): Remove decl.
49670         (fatal): Prototype unconditionally.  Assume va_start works.
49671         Abort at end, to pacify gcc.
49672
49673         * lib/euidaccess.c (main): Define with a prototype.
49674
49675         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
49676
49677         * lib/exitfail.c: Include <stdlib.h> unconditionally.
49678
49679         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
49680         prototypes.
49681         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
49682         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
49683         (getenv): Remove decl.
49684         (fnmatch): Define using a prototype.
49685         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
49686         (FCT): Define using a prototype.
49687
49688         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
49689
49690         * lib/gethostname.c: Include <stddef.h>.
49691         (gethostname): Define with prototype.  Length is size_t, not int.
49692
49693 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49694
49695         Assume C89 or better; remove K&R cruft.
49696         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
49697         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
49698         string.h, getenv, malloc.
49699         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
49700         headers.
49701         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
49702         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
49703         do not check for strerror.
49704         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
49705         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
49706         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
49707         do not check for doprnt or vprintf.
49708         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
49709         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
49710
49711 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49712
49713         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
49714         getversion.c should have been removed then, but was accidentally
49715         preserved.
49716
49717         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
49718         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
49719
49720 2003-09-08  Karl Berry  <karl@gnu.org>
49721
49722         * config/config.sub, config.guess, srclistvars.sh: update from savannah
49723                 config, forget about prep.
49724
49725         * config/depcomp, missing: update from automake.
49726
49727 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49728
49729         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
49730         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49731
49732 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49733
49734         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
49735         copy_tm_result.  Bug reported by Simon Josefsson in
49736         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49737
49738 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49739
49740         * m4/time_r.m4: New file.
49741         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
49742         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
49743         is. Check for timegm declaration.
49744         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
49745         Do not check for gmtime_r.
49746         Replace mktime if __mktime_internal does not exist and if mktime
49747         hasn't been replaced already.
49748
49749 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49750
49751         * lib/time_r.c, lib/time_r.h: New files.
49752
49753         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
49754         __localtime_r.
49755         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
49756         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
49757
49758         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
49759         __gmtime_r.
49760         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
49761         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
49762         Include <time_r.h>.
49763
49764         * lib/timegm.c: Switch to glibc implementation, with the following
49765         changes:
49766         [defined HAVE_CONFIG_H]: Include <config.h>.
49767         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
49768         (__mktime_internal) [!defined _LIBC]: New decl.
49769         (__gmtime_r) [!defined _LIBC]: New macro and function.
49770         (timegm): Use a prototype, since gnulib assumes C89.
49771         Do not bother declaring tmp to be const, as it's not really usefu.
49772         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
49773         (timegm): Declare only if HAVE_DECL_TIMEGM.
49774
49775 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49776
49777         * MODULES.html.sh (func_all_modules): Add time_r.
49778         * modules/time_r: New file.
49779         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
49780         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
49781
49782 2003-09-03  Paul Eggert  <eggert@twinsun.com>
49783
49784         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
49785         Bug reported by Lute Kamstra in
49786         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
49787
49788         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
49789         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
49790         course with correspondingly smaller numbers for tomorrow and
49791         yesterday.  From Tadayoshi Funaba.  Originally installed into
49792         sh-utils on 1999-08-07, but the patch got lost (I guess during the
49793         coreutils merge?).
49794
49795 2003-08-31  Simon Josefsson  <jas@extundo.com>
49796
49797         * modules/timegm: New file.
49798         * MODULES.html.sh (func_all_modules): Add timegm.
49799
49800 2003-08-31  Simon Josefsson  <jas@extundo.com>
49801
49802         * m4/timegm.m4: New file.
49803
49804 2003-08-31  Simon Josefsson  <jas@extundo.com>
49805
49806         * lib/timegm.h: New file.
49807         * lib/timegm.c: New file.  Based on
49808         wget-1.8.2/src/http.c:mktime_from_utc.
49809
49810 2003-08-31  Karl Berry  <karl@gnu.org>
49811
49812         * lib/argp.h: update from libc.
49813
49814 2003-08-28  Bruno Haible  <bruno@clisp.org>
49815
49816         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
49817         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
49818         followed by '#define fnmatch fnmatch_posix' gives an error.
49819
49820 2003-08-28  Bruno Haible  <bruno@clisp.org>
49821
49822         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
49823         warning on QNX, which defines O_BINARY to 000000.
49824
49825 2003-08-27  Jim Meyering  <jim@meyering.net>
49826
49827         * m4/mkstemp.m4: Require that the system mkstemp be able to create
49828         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
49829         would fail after 32.  Reported by Danny Levinson.  Details here:
49830         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
49831
49832 2003-08-24  Bruno Haible  <bruno@clisp.org>
49833
49834         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
49835         MSVC7 <stdio.h> is included later.
49836
49837 2003-08-22  Simon Josefsson  <jas@extundo.com>
49838
49839         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
49840
49841 2003-08-20  Karl Berry  <karl@gnu.org>
49842
49843         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
49844
49845 2003-08-20  Bruno Haible  <bruno@clisp.org>
49846
49847         * modules/progname: New file.
49848         * MODULES.html.sh (func_all_modules): Add progname.
49849
49850 2003-08-20  Bruno Haible  <bruno@clisp.org>
49851
49852         * lib/progname.h: New file, from GNU gettext.
49853         * lib/progname.c: New file, from GNU gettext.
49854         * lib/progreloc.c: New file, from GNU gettext.
49855
49856 2003-08-19  Jim Meyering  <jim@meyering.net>
49857
49858         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
49859         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
49860
49861 2003-08-19  Bruno Haible  <bruno@clisp.org>
49862
49863         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
49864         more.
49865
49866 2003-08-19  Bruno Haible  <bruno@clisp.org>
49867
49868         * lib/xstrdup.c: Assume <string.h> exists.
49869
49870 2003-08-18  Paul Eggert  <eggert@twinsun.com>
49871
49872         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
49873         in makefile rules.
49874
49875 2003-08-18  Jim Meyering  <jim@meyering.net>
49876
49877         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
49878         * m4/lib-ld.m4: Likewise.
49879
49880 2003-08-18  Jim Meyering  <jim@meyering.net>
49881
49882         * lib/setenv.h: Indent nested cpp directive.
49883         * lib/vasnprintf.c: Remove trailing blanks.
49884
49885 2003-08-17  Simon Josefsson  <jas@extundo.com>
49886
49887         * modules/xstrndup: New file.
49888         * MODULES.html.sh (func_all_modules): Add xstrndup.
49889
49890 2003-08-17  Simon Josefsson  <jas@extundo.com>
49891
49892         * modules/argp: Fix autoconf macro name. Add more dependencies.
49893
49894 2003-08-17  Simon Josefsson  <jas@extundo.com>
49895
49896         * m4/xstrndup.m4: New file.
49897
49898 2003-08-17  Simon Josefsson  <jas@extundo.com>
49899
49900         * m4/argp.m4: New file.
49901
49902 2003-08-17  Simon Josefsson  <jas@extundo.com>
49903             Bruno Haible  <bruno@clisp.org>
49904
49905         * lib/xstrndup.h: New file.
49906         * lib/xstrndup.c: New file.
49907
49908 2003-08-17  Bruno Haible  <bruno@clisp.org>
49909
49910         * modules/strndup (Files, Include): Add lib/strndup.h.
49911
49912 2003-08-17  Bruno Haible  <bruno@clisp.org>
49913
49914         * modules/euidaccess (Files): Add lib/euidaccess.h.
49915
49916 2003-08-17  Bruno Haible  <bruno@clisp.org>
49917
49918         * lib/strndup.h: New file.
49919
49920 2003-08-17  Bruno Haible  <bruno@clisp.org>
49921
49922         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
49923         like AC_GNU_SOURCE.
49924         * modules/extensions (configure.ac): Comment out the invocation of
49925         gl_USE_SYSTEM_EXTENSIONS.
49926
49927 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49928
49929         Merges from coreutils, etc.
49930         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
49931         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
49932         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
49933         fixing a typo.
49934         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
49935         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
49936
49937 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49938
49939         Document merge from coreutils.
49940         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
49941         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
49942         * modules/utime: Add m4/utimes-null.m4.
49943
49944 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49945
49946         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
49947         space, undoing this 2003-08-12 change:
49948         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
49949
49950 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49951
49952         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
49953         strtoul.c from libc, undoing this 2003-08-12 change:
49954         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
49955
49956 2003-08-16  Jim Meyering  <jim@meyering.net>
49957
49958         Merges from coreutils.
49959         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
49960         prefix.  Adjust cache variables similarly.  Create 500 rather than
49961         just 300 files, to exercise bug on Darwin6.5, too.
49962         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
49963         $missing_dir.
49964         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
49965         AM_SYS_POSIX_TERMIOS.
49966         Reported by mkc@mathdogs.com.
49967         Also change use of $am_cv_sys_posix_termios
49968         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
49969         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
49970         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
49971         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
49972         in /proc/mounts until it finds one with matching device number.  This
49973         is unnecessary when the FILE argument *is* a mount point.  No stat call
49974         is necessary in that case.  So, disable the statvfs-testing code on
49975         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
49976         as RedHat bug# 84846.
49977         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
49978         to 1MB, so as not to render systems with no stack size limit (e.g.,
49979         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
49980         Include <unistd.h>.  On some systems,
49981         it is required for the definition of _SC_PAGESIZE.
49982
49983 2003-08-16  Jim Meyering  <jim@meyering.net>
49984
49985         Merge from coreutils.
49986         * lib/xstrtoimax.c: #else #if -> #elif.
49987         * lib/xstrtoumax.c: Likewise.
49988
49989 2003-08-16  Jim Meyering  <jim@meyering.net>
49990
49991         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
49992         * m4/utimes.m4: Removed.
49993         * m4/utimes-null.m4: Renamed from utimes.m4.
49994
49995         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
49996         to 1MB, so as not to render systems with no stack size limit (e.g.,
49997         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
49998         Include <unistd.h>.  On some systems,
49999         it is required for the definition of _SC_PAGESIZE.
50000
50001 2003-08-16  Jim Meyering  <jim@meyering.net>
50002         and Paul Eggert  <eggert@cs.ucla.edu>
50003
50004         Merges from coreutils, etc.
50005
50006         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
50007         using the latest version from cvs.  This avoids problems with #line
50008         directives using a vendor (Sun) compiler.
50009         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
50010         Don't set GETGROUPS_LIB here; now it's
50011         done via getgroups.m4's wrapper function.
50012         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
50013         rather than just in sh-util/configure.in, so that the
50014         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
50015         same.
50016         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
50017         AC_FUNC_GETLOADAVG where to find getloadavg.c.
50018         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
50019         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
50020         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
50021         Remove code that is now done by the newly-required macros.
50022         Append $(EXEEXT) to DF_PROG.
50023         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
50024         Do not invoke or require the following here,
50025         since prereq.m4 or some gnulib .m4 now does this for us:
50026         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
50027         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
50028         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
50029         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
50030         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
50031         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
50032         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
50033         AC_FUNC_OBSTACK.
50034         Do not replace the following functions, as this is now the job
50035         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
50036         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
50037         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
50038         atexit getpass, strdup, getpagesize.
50039         Replace 'raise'.
50040         Do not check for the following functions, as this is now the job
50041         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
50042         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
50043         setregid.
50044         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
50045         Check for sys/sysctl.h.
50046         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
50047         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
50048         of checking for ssize_t ourselves.
50049
50050         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
50051         Require every macro that gnulib/modules/* suggests for us.
50052         (jm_PREREQ_ADDEXT): New macro.
50053         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
50054         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
50055
50056         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
50057         (gl_PHYSMEM): Use it.
50058         Also check for `table' function.
50059         Check for new headers and functions.
50060         Add check for sys/sysmp.h.
50061         With suggestions from Kaveh Ghazi.
50062         Ignore headers that are present but cannot be compiled.  This
50063         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
50064         C 5.4.
50065
50066 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50067
50068         Document merge from coreutils.
50069         * modules/userspec: Depend on posixver.
50070         * modules/strftime: Depend on tzset.
50071
50072 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50073
50074         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
50075         rather than tab, after '#' in shell-script copyright notices.
50076         Suggested by Bruno Haible.
50077
50078 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50079
50080         * config/srclist-update: Use three spaces, rather than tab, after '#'
50081         in shell-script copyright notices.  Suggested by Bruno Haible.
50082         Remove unnecessary parenthesization in regular expression.
50083
50084 2003-08-15  Jim Meyering  <jim@meyering.net>
50085
50086         Merge from coreutils.
50087         * lib/xgethostname.c: Include <stdlib.h>.
50088         (xghostname): Don't exit for anything other than memory-related
50089         failure; just return NULL.
50090         * lib/userspec.c: Include "posixver.h".
50091         (parse_user_spec): Accept `.' as a separator only
50092         in pre-POSIX-200112 mode.
50093         * lib/strtoimax.c: Use #elif rather than #else #if.
50094         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
50095         Remove function, now that we can rely on a working tzset function.
50096         [!_LIBC]: Ensure that the required autoconf test has been run.
50097         [!defined _NL_CURRENT && HAVE_STRFTIME]:
50098         Use underlying_strftime for %r.
50099         * lib/sha.c: Merge in some clean-up and optimization changes from
50100         glibc.
50101         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
50102         Ensure that it is a multiple of 64.
50103         Rearrange loop exit tests so as to avoid performing an
50104         additional fread after encountering an error or EOF.
50105         * lib/realloc.c: Update copyright date.
50106
50107 2003-08-15  Jim Meyering  <jim@meyering.net>
50108         and Paul Eggert  <eggert@twinsun.com>
50109
50110         Merge from coreutils.
50111         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
50112         member but strut utmpx does not.  Needed for AIX 4.3.3.
50113         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
50114
50115 2003-08-15  Jim Meyering  <jim@meyering.net>
50116         and Paul Eggert  <eggert@cs.ucla.edu>
50117
50118         Merges from coreutils, etc.
50119         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
50120         Require gl_FUNC_TZSET_CLOBBER.
50121         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
50122         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
50123         members.
50124
50125 2003-08-14  Paul Eggert  <eggert@twinsun.com>
50126
50127         Help the merge from coreutils.
50128         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
50129         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
50130         * m4/tzset.m4: Use it too.
50131
50132 2003-08-14  Paul Eggert  <eggert@twinsun.com>
50133
50134         * modules/tzset: New file.
50135
50136 2003-08-14  Jim Meyering  <jim@meyering.net>
50137
50138         Merges from coreutils.
50139         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
50140         variable names, rather than @FNMATCH_H@.
50141         * modules/alloca: Likewise for $(ALLOCA_H).
50142
50143         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
50144         the three copies of the literal target, `fnmatch.h'.
50145         * modules/alloca (alloca.h): Likewise.
50146
50147 2003-08-14  Jim Meyering  <jim@meyering.net>
50148
50149         Merge from coreutils.
50150         * m4/tzset.m4: New file.
50151         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
50152         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
50153         otherwise, AIX 5.1 systems would end up using the latter.
50154         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
50155         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
50156         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
50157         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
50158
50159 2003-08-14  Jim Meyering  <jim@meyering.net>
50160
50161         Merge from coreutils.
50162         * lib/obstack.h: Whitespace changes.
50163         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
50164         and xcalloc return values.
50165         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
50166         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
50167         hang on OSF/1 5.1 for DIR on both local and remote file systems.
50168         Reported by (and fix confirmed by) Nelson H. F. Beebe.
50169         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
50170         error from mntctl.
50171         Use mntctl's return value to drive the entry-processing loop, since
50172         we can't rely on the value of the vmt_length member in the last
50173         entry.  On some systems doing so could result in exhausting
50174         virtual memory.  Based in part on a patch from Mike Jetzer.
50175
50176 2003-08-14  Jim Meyering  <jim@meyering.net>
50177         and Paul Eggert  <eggert@twinsun.com>
50178
50179         Merges from coreutils, plus other fixes.
50180         * lib/physmem.c: Merge in portability changes from gcc/libiberty
50181         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
50182         for credits and details.  Thanks to Kaveh Ghazi for helping
50183         to keep these files in sync.
50184         (ARRAY_SIZE): Define it.
50185         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
50186         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
50187         (memcasecmp): Don't assume size_t fits in unsigned int.
50188         Remove casts and duplicate code.
50189         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
50190         (memcpy): Remove definition.
50191         Merge in some clean-up and optimization changes from glibc.
50192         [BLOCKSIZE]: Move definition to top of file.
50193         Ensure that it is a multiple of 64.
50194         Rearrange loop exit tests so as to avoid performing an
50195         additional fread after encountering an error or EOF.
50196         * lib/md5.h (md5_uintptr): Define.
50197         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
50198         return to the initial working directory.  Preserve errno
50199         for caller.
50200         * lib/idcache.c: Include "xalloc.h".
50201         (xmalloc, xrealloc): Remove decls.
50202         (getuser): Remove casts no longer required in C89.
50203         * lib/human.c: Include stdio.h, for sprintf.
50204         * lib/group-member.c: Include "xalloc.h".
50205         (xmalloc, xrealloc): Remove decls.
50206         (get_group_info): Remove casts no longer required in C89.
50207         * lib/getusershell.c (readname): Remove casts no longer required in
50208         C89.
50209         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
50210         * lib/getline.c: Whitespace fix, from coreutils.
50211
50212 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50213
50214         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
50215         Check for isascii.
50216
50217         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
50218         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
50219         Undo previous (whitespace-only) change.
50220
50221 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50222
50223         * lib/exclude.c: Include <ctype.h>
50224         (IN_CTYPE_DOMAIN): New macro.
50225         (is_space): New fn.
50226         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
50227         and empty lines.
50228
50229         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
50230         Undo previous (whitespace-only) change.
50231
50232 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50233
50234         * config/srclist-update: Change update back to the old behavior,
50235         leaving whitespace alone.  Use one 'sed' command rather than a
50236         pipeline.
50237         (fixlicense): Now a variable, not a function.
50238         (remove_trailing_blanks): Remove.
50239         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
50240         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
50241         Undo previous (whitespace-only) change.
50242
50243 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50244
50245         Merge from coreutils.
50246         * modules/euidaccess: Add lib_SOURCES, include for new
50247         file euidaccess.h
50248
50249 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50250
50251         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
50252         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
50253         Normalize leading white space and remove trailing white space.
50254
50255         Merge from coreutils
50256         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
50257
50258         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
50259         0.12.1.  These files are now being upgraded automatically by
50260         ../config/srclist-update.
50261
50262 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50263
50264         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
50265         Normalize leading white space and remove trailing white space.
50266         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
50267         notice, as per ../config/srclist-update.
50268
50269         Merge from coreutils.
50270         * lib/euidaccess.h: New file.
50271         * lib/euidaccess.c: Include it.
50272         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
50273         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
50274         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
50275
50276 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50277
50278         * config/srclist-update: Add copyright notice.
50279         (remove_id_lines, remove_trailing_blanks): New constants.
50280         (fixfile): Use them to normalize spacing a bit in copied files.
50281         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
50282         Normalize leading white space and remove trailing white space.
50283
50284         * config/texinfo.tex: Sync with texinfo.
50285
50286         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
50287         strtoul.c from libc, to merge coreutils whitespace changes.
50288
50289         * config/srclist.txt: Get the following m4 files from gettext:
50290         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
50291         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
50292         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
50293         wint_t.m4.
50294
50295 2003-08-12  Karl Berry  <karl@gnu.org>
50296
50297         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
50298         been made.
50299
50300 2003-08-11  Paul Eggert  <eggert@twinsun.com>
50301
50302         * modules/gnu-source, m4/gnu-source.m4:
50303         Remove; we're assuming Autoconf 2.54 or later now.
50304         Suggested by Bruno Haible.
50305         * MODULES.html.sh (func_all_modules): Remove gnu-source.
50306
50307 2003-08-11  Bruno Haible  <bruno@clisp.org>
50308
50309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
50310
50311 2003-08-11  Bruno Haible  <bruno@clisp.org>
50312
50313         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
50314         (vasnprintf): Use it instead of wcslen.
50315
50316 2003-08-11  Bruno Haible  <bruno@clisp.org>
50317
50318         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
50319         value to ensure that _Bool promotes to int. Use #define for _Bool when
50320         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
50321
50322 2003-08-10  Karl Berry  <karl@gnu.org>
50323
50324         * lib/regex.h: update from libc (whitespace fix).
50325
50326 2003-08-09  Paul Eggert  <eggert@twinsun.com>
50327
50328         Merge some files from coreutils.  These changes were
50329         originally made by Jim Meyering.
50330         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
50331         many older Unixes require this.
50332         * lib/alloca.c (alloca): Remove cast to argument of free;
50333         no longer needed in C89.
50334         * lib/alloca_.h, regex.h: Fix white space to match
50335         what GNU indent does.
50336
50337 2003-08-09  Paul Eggert  <eggert@twinsun.com>
50338
50339         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
50340         apparently Emacs's Unicode mode got confused before my 2003-08-05
50341         checkin.
50342
50343 2003-08-08  Paul Eggert  <eggert@twinsun.com>
50344
50345         * m4/extensions.m4: New file.
50346         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
50347         Require gl_USE_SYSTEM_EXTENSIONS.
50348         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
50349         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
50350
50351 2003-08-08  Paul Eggert  <eggert@twinsun.com>
50352
50353         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
50354         * modules/extensions, modules/gnu-source: New files.
50355         * modules/timespec, modules/unlocked-io: Depend on extensions.
50356
50357 2003-08-07  Paul Eggert  <eggert@twinsun.com>
50358
50359         * modules/restrict: New file.
50360         * MODULES.html.sh (func_all_modules): Add restrict.
50361         * modules/regex: Depend on restrict.
50362
50363 2003-08-07  Paul Eggert  <eggert@twinsun.com>
50364
50365         * m4/restrict.m4: New file.
50366         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
50367
50368 2003-08-07  Bruno Haible  <bruno@clisp.org>
50369
50370         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
50371         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
50372
50373 2003-08-07  Bruno Haible  <bruno@clisp.org>
50374
50375         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
50376         makes the module 'getndelim2' compatible with the module 'getline'.
50377
50378 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50379
50380         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
50381         byte with "\201" to avoid glitches when editing that source file
50382         with multi-gnome-terminal.
50383
50384 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50385
50386         * lib/bumpalloc.h: Remove.
50387
50388 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50389
50390         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
50391         * modules/bumpalloc: Remove.
50392
50393 2003-08-04  Paul Eggert  <eggert@twinsun.com>
50394
50395         * lib/getloadavg.c: Change copyright notice and spacing to conform to
50396         GNU coding style.
50397
50398         Merge from coreutils.
50399         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
50400         1. From glibc.
50401         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
50402         from Karl Berry, implemented by Jim Meyering.
50403         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
50404         from Dmitry V. Levin.
50405         Remove anachronistic cast of xrealloc.
50406         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
50407         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
50408         type. Otherwise, it wouldn't compile with at least /bin/cc on
50409         ymp-cray-unicos9.0.2.X.
50410         Combine two mostly-identical uses of alloca into one.
50411         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
50412
50413 2003-08-04  Dave Love  <d.love@dl.ac.uk>
50414
50415         [From Emacs.]
50416
50417         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
50418         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
50419         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
50420         obsolete NLIST_NAME_UNION.
50421         [__GNU__]: Undef BSD and FSCALE.
50422         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
50423
50424 2003-08-03  Paul Eggert  <eggert@twinsun.com>
50425
50426         * lib/stdbool_.h (_Bool): Make it signed char, instead of
50427         an enum type, so that it's guaranteed to promote to int.  See:
50428         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
50429
50430 2003-08-03  Karl Berry  <karl@gnu.org>
50431
50432         * config/depcomp: update from automake.
50433
50434 2003-07-31  Paul Eggert  <eggert@twinsun.com>
50435
50436         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
50437         (strerror): Don't assume that a printable int fits in 14 bytes.
50438
50439 2003-07-31  Bruno Haible  <bruno@clisp.org>
50440
50441         * modules/getpass-gnu: New file.
50442         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
50443
50444 2003-07-31  Bruno Haible  <bruno@clisp.org>
50445
50446         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
50447
50448 2003-07-24  Karl Berry  <karl@gnu.org>
50449
50450         * config/missing: update from automake.
50451
50452 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
50453             Bruno Haible  <bruno@clisp.org>
50454
50455         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
50456         * lib/getline.c (getline, getdelim): Likewise.
50457         Remove _GNU_SOURCE define; now it's defined in config.h through
50458         m4/getline.m4.
50459
50460 2003-07-23  Karl Berry  <karl@gnu.org>
50461
50462         * config/config.sub: update from prep.
50463
50464 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50465
50466         * modules/xalloc (Depends-on): Add exitfail.
50467         * modules/xmemcoll: Likewise.
50468
50469 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50470
50471         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
50472         over-parenthesization in macros.
50473
50474         Sync with coreutils.
50475
50476         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
50477         required by C99.
50478
50479         Use `exit_failure' for xalloc and xmemcoll instead of their own
50480         private exit-failure variables.
50481         * lib/xalloc.h (xalloc_exit_failure): Remove.
50482         * lib/xmalloc.c: Likewise.  Include exitfail.h.
50483         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
50484         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
50485         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
50486         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
50487
50488 2003-07-20  Jim Meyering  <jim@meyering.net>
50489
50490         * modules/closeout (Depends-on): Add exitfail.
50491         Suggestion from Bruno Haible.
50492
50493 2003-07-19  Karl Berry  <karl@gnu.org>
50494
50495         * config/config.sub: update from prep.
50496
50497 2003-07-18  Paul Eggert  <eggert@twinsun.com>
50498
50499         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
50500         Remove.
50501         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
50502         to test that it can stand by itself.  Include "exitfail.h".
50503         Clients should set exit_failure instead.
50504         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
50505
50506 2003-07-18  Bruno Haible  <bruno@clisp.org>
50507
50508         * modules/getndelim2: New file.
50509         * modules/getline: Share files with module getndelim2.
50510         * modules/getnline: Depend on getndelim2 instead of sharing files with
50511         it. Add getnline.c to lib_SOURCES.
50512         * MODULES.html.sh (func_all_modules): Add getndelim2.
50513
50514 2003-07-18  Bruno Haible  <bruno@clisp.org>
50515
50516         * m4/getndelim2.m4: New file.
50517         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
50518         invoke gl_PREREQ_GETNDELIM2.
50519         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
50520         gl_PREREQ_GETNDELIM2.
50521         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
50522         gl_GETNDELIM2.
50523
50524 2003-07-18  Bruno Haible  <bruno@clisp.org>
50525
50526         * lib/getndelim2.h: New file.
50527         * lib/getndelim2.c: Make into a module of its own. Include config.h,
50528         getndelim2.h.
50529         (getndelim2): Make non-static. Change return type to ssize_t.
50530         * lib/getline.h: Change argument names.
50531         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
50532         * lib/getnline.c: Include getndelim2.h.
50533
50534 2003-07-18  Andreas Schwab  <schwab@suse.de>
50535
50536         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
50537
50538 2003-07-17  Karl Berry  <karl@gnu.org>
50539
50540         * config/config.sub: update from prep.
50541
50542 2003-07-17  Bruno Haible  <bruno@clisp.org>
50543
50544         * modules/getnline: New file.
50545         * modules/getline: Add lib/getndelim2.c to source file list.
50546         * MODULES.html.sh (func_all_modules): Add getnline.
50547
50548 2003-07-17  Bruno Haible  <bruno@clisp.org>
50549
50550         * m4/getnline.m4: New file.
50551
50552 2003-07-17  Bruno Haible  <bruno@clisp.org>
50553
50554         * m4/Makefile.am.in: Remove file.
50555         * m4/Makefile.am: Remove file.
50556         * m4/Makefile.in: Remove file.
50557
50558 2003-07-17  Bruno Haible  <bruno@clisp.org>
50559
50560         * lib/getnline.h: New file.
50561         * lib/getnline.c: New file.
50562         * lib/getndelim2.c: New file, extracted from getline.c.
50563         (getndelim2): Renamed from getdelim2, with added nmax argument.
50564         * lib/getline.c: Include getndelim2.c.
50565         (getdelim2): Moved out to getndelim2.c.
50566         (getline, getdelim): Update.
50567
50568 2003-07-17  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/Makefile.am: Remove file.
50571         * lib/Makefile.in: Remove file.
50572
50573 2003-07-17  Bruno Haible  <bruno@clisp.org>
50574
50575         * configure.in: Remove file.
50576         * Makefile.in: Remove file.
50577
50578 2003-07-17  Bruno Haible  <bruno@clisp.org>
50579
50580         * MODULES.html.sh: Put the </BODY> right before </HTML>.
50581
50582 2003-07-16  Karl Berry  <karl@gnu.org>
50583
50584         * config/srclist-update: was running fixlicense twice, which caused
50585                 texinfo.tex to be nullified for some reason.  Simplify,
50586                 $gplsrc is no longer needed as far as I can see?
50587
50588 2003-07-16  Jim Meyering  <jim@meyering.net>
50589
50590         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
50591
50592 2003-07-15  Paul Eggert  <eggert@twinsun.com>
50593
50594         * config/srclist.txt: Get the following files from gettext-runtime/intl
50595         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
50596         ref-del.sin.  From Bruno Haible.
50597         * config/srclist-update (fixfile): Change grep pattern again, since the
50598         previous fix didn't work (there was another trailing $).  Use
50599         '[$]' to escape the $s.
50600
50601 2003-07-15  Karl Berry  <karl@gnu.org>
50602
50603         * lib/vasnprintf.c: update from gettext.
50604
50605 2003-07-15  Karl Berry  <karl@gnu.org>
50606
50607         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
50608         gets expanded when surrounded by '$'.
50609
50610 2003-07-15  Jim Meyering  <jim@meyering.net>
50611
50612         * modules/save-cwd: Don't depend on error.  From Derek Price.
50613
50614 2003-07-15  Jim Meyering  <jim@meyering.net>
50615
50616         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
50617
50618 2003-07-14  Simon Josefsson  <jas@extundo.com>
50619
50620         * modules/mempcpy: New file.
50621         * MODULES.html.sh (func_all_modules): Add mempcpy.
50622
50623 2003-07-14  Simon Josefsson  <jas@extundo.com>
50624
50625         * m4/mempcpy.m4: New file.
50626
50627 2003-07-14  Simon Josefsson  <jas@extundo.com>
50628
50629         * lib/mempcpy.h: New file.
50630         * lib/mempcpy.c: New file.
50631
50632 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50633
50634         * modules/getdate, modules/posixtm: Depend on mktime.
50635
50636 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50637
50638         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
50639         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
50640         unicodeio.c, unicodeio.h, unlocked-io.h:
50641         Switch from LGPL to GPL.
50642
50643 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50644
50645         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
50646         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
50647         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
50648         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
50649         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
50650         updated automatically by ../config/srclist-update.  This changes
50651         their license from LPGL to GPL.
50652
50653 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50654
50655         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
50656         assumed to refer to the root of the most recent stable gettext version.
50657         * config/srclistvars.sh: Add defaults for eggert.
50658         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
50659         Match "This program" as well as "The program".  This is needed
50660         for gettext.
50661
50662 2003-07-14  Jim Meyering  <jim@meyering.net>
50663
50664         Don't emit diagnostics.  Let callers do that.
50665         * lib/save-cwd.c: Don't include "error.h".
50666         (save_cwd): Don't call error.  Ensure that errno is valid
50667         when returning nonzero.
50668
50669         * lib/save-cwd.h (restore_cwd): Update prototype.
50670         * lib/save-cwd.c (restore_cwd): Remove two parameters.
50671         Simplify.  Don't call error upon failure.  Let callers do that.
50672         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
50673         when auditing is enabled.  But don't bother updating the #if.
50674
50675 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
50676
50677         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
50678         it breaks C++ compilation.
50679         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
50680
50681 2003-07-10  Simon Josefsson  <jas@extundo.com>
50682
50683         * modules/strchrnul (Makefile.am): Add strchrnul.h.
50684
50685 2003-07-10  Jim Meyering  <jim@meyering.net>
50686
50687         * m4/clock_time.m4: Remove trailing blank.
50688         * m4/intmax_t.m4: Likewise.
50689
50690 2003-07-10  Jim Meyering  <jim@meyering.net>
50691
50692         * lib/vasnprintf.c: Remove trailing blanks.
50693         Make cpp indentation consistent.
50694
50695 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50696
50697         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
50698         posixver.c, strftime.c, strnlen.c, strverscmp.c:
50699         Switch from LGPL to GPL.
50700
50701 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50702
50703         * config/srclist.txt: Sort sublists.  Add
50704         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
50705         that differ from gnulib for one reason or another; we'd like this list
50706         to be smaller but for now let's document what we have.
50707
50708 2003-07-08  Paul Eggert  <eggert@twinsun.com>
50709
50710         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
50711         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
50712         and sweeter "eval x=$x".
50713         * config/srclist.txt: Get lib/argp* from glibc.
50714
50715 2003-07-07  Paul Eggert  <eggert@twinsun.com>
50716
50717         * lib/mktime.c: Fix some boundary cases and remove need for floating
50718         point.
50719
50720         Issue a compile-time diagnostic if time_t is floating point, or if
50721         two's complement arithmetic is not in effect, or if arithmetic
50722         right shift does not propagate the sign.  These assumptions were
50723         all in the original code but they weren't checked.
50724
50725         (TIME_T_MIDPOINT, verify): New macros.
50726         (__isleap): Remove; it has integer overflow problems.
50727         (leapyear): New function, without those problems.
50728         (ydhms_tm_diff): Remove; splitting into two parts.
50729         (ydhms_diff): New function, containing the arithmetic part of
50730         the old ydhms_tm_diff function.  Issue a compile-time
50731         diagnostic if we are not using C99 integer division.
50732         Avoid casts when possible.
50733         (guess_time_tm): New function, containing the checking part of
50734         the old ydhms_tm_diff function.  Return the new value, rather than
50735         the difference between it and the old.  Accept a new argument T
50736         so that *T specifies the old value.  Check for overflow in the result.
50737
50738         (__mktime_internal): Use a time_t offset, not a long int offset.
50739         This undoes the 2003-06-04 change, which is no longer needed now
50740         that we have better overflow checking.
50741         (localtime_offset): Likewise.
50742
50743         (__mktime_internal): Avoid harmful overflow on hosts where time_t
50744         and long are 64-bit but int is only 32-bit.
50745         (ydhms_diff): Use long int to store year1 and yday1.
50746         Issue a compile-time diagnostic if long int is not wide enough.
50747
50748         (__mktime_internal): Use long int to store adjusted year and yday.
50749         Use plain C rather than preprocessor commands, if that doesn't
50750         affect efficiency.
50751         Check for overflow (and try to repair) after each probe
50752         rather than checking only at the very end.  This avoids some bugs
50753         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
50754         does not equal GMT offset at maximum time).
50755         Use integer to check for overflow rather than floating point; this
50756         is more portable to non-IEEE hosts, and is a tad faster.
50757         When we detect that we are oscillating between two values,
50758         don't check whether tm_isdst has the requested value, since
50759         we already know the answer.  When tm_isdst has the wrong value,
50760         use a different heuristic to find the right one, based on the
50761         extreme values actually observed in practice in tz2003a,
50762         rather than the (overly optimistic) "previous 3 calendar quarters".
50763
50764         (not_equal_tm, print_tm, check_result): Use "const T" rather than
50765         "T const" to accommodate glibc style.
50766         (check_result): Use less-confusing report format.  "long" -> "long int.
50767         (main): Likewise.
50768         Don't loop if the iteration overflows time_t.
50769         Allow a negative step in the iteration.
50770
50771 2003-07-06  Karl Berry  <karl@gnu.org>
50772
50773         * config/depcomp: update from automake.
50774         * config/config.sub: update from prep.
50775
50776 2003-07-03  Karl Berry  <karl@gnu.org>
50777
50778         * config/config.guess: update from prep.
50779
50780 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50781
50782         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
50783         xreadlink.c now includes it unconditionally.
50784
50785 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50786
50787         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
50788         having it depend on HAVE_SYS_TYPES_H.
50789
50790 2003-07-01  Bruno Haible  <bruno@clisp.org>
50791
50792         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
50793         <sys/types.h> should be sufficient.
50794         Reported by Paul Eggert.
50795
50796 2003-06-26  Karl Berry  <karl@gnu.org>
50797
50798         * config/depcomp: update from automake.
50799
50800 2003-06-26  Bruno Haible  <bruno@clisp.org>
50801
50802         * modules/human: Depend on module stdbool.
50803
50804 2003-06-25  Bruno Haible  <bruno@clisp.org>
50805
50806         * modules/readlink: New file.
50807         * modules/xreadlink: Depend on it.
50808         * MODULES.html.sh (func_all_modules): Add readlink.
50809
50810 2003-06-25  Bruno Haible  <bruno@clisp.org>
50811
50812         * m4/readlink.m4: New file.
50813
50814 2003-06-25  Bruno Haible  <bruno@clisp.org>
50815
50816         * lib/readlink.c: New file.
50817
50818 2003-06-22  Karl Berry  <karl@gnu.org>
50819
50820         * config/srclist.txt: update mkinstalldirs from automake.
50821         * config/mkinstalldirs: update.
50822
50823 2003-06-22  Bruno Haible  <bruno@clisp.org>
50824
50825         Portability to mingw32.
50826         * m4/ssize_t.m4: New file, from GNU gettext.
50827         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
50828         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
50829
50830 2003-06-22  Bruno Haible  <bruno@clisp.org>
50831
50832         * modules/safe-read: Add m4/ssize_t.m4.
50833         * modules/xreadlink: Add m4/ssize_t.m4.
50834
50835 2003-06-20  Bruno Haible  <bruno@clisp.org>
50836
50837         Assume C89, so PARAMS isn't needed.
50838         * lib/unicodeio.h (PARAMS): Remove.
50839         * lib/unicodeio.c: Don't use PARAMS.
50840
50841 2003-06-18  Karl Berry  <karl@gnu.org>
50842
50843         * config/config.{guess,sub}: update from prep.
50844
50845 2003-06-18  Jim Meyering  <jim@meyering.net>
50846
50847         Merge changes from coreutils.
50848         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
50849         Remove explicit declarations of xmalloc and realloc.
50850         Include xalloc.h.
50851         (read_utmp): Remove anachronistic cast of xmalloc.
50852
50853 2003-06-17  Paul Eggert  <eggert@twinsun.com>
50854
50855         Assume C89, so PARAMS isn't needed.
50856         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
50857         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
50858         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
50859         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
50860         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
50861         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
50862         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
50863         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
50864         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
50865         lib/xstrtod.h, lib/xstrtol.h: Likewise.
50866         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
50867         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
50868         no longer needed. Anyway, config.h should always be included before any
50869         other file.
50870
50871 2003-06-11  Simon Josefsson  <jas@extundo.com>
50872
50873         * modules/sysexits: New file.
50874         * MODULES.html.sh (func_all_modules): Add sysexits.
50875
50876 2003-06-11  Simon Josefsson  <jas@extundo.com>
50877
50878         * lib/sysexit_.h: New file.
50879
50880 2003-06-11  Derek Price  <derek@ximbiot.com>
50881
50882         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
50883         necessary.
50884
50885 2003-06-11  Bruno Haible  <bruno@clisp.org>
50886
50887         * m4/sysexits.m4: New file.
50888
50889 2003-06-10  Simon Josefsson  <jas@extundo.com>
50890
50891         * lib/argp.h: New file, from glibc.
50892         * lib/argp-ba.c: New file, from glibc.
50893         * lib/argp-eexst.c: New file, from glibc.
50894         * lib/argp-fmtstream.c: New file, from glibc.
50895         * lib/argp-fmtstream.h: New file, from glibc.
50896         * lib/argp-fs-xinl.c: New file, from glibc.
50897         * lib/argp-help.c: New file, from glibc.
50898         * lib/argp-namefrob.h: New file, from glibc.
50899         * lib/argp-parse.c: New file, from glibc.
50900         * lib/argp-pv.c: New file, from glibc.
50901         * lib/argp-pvh.c: New file, from glibc.
50902         * lib/argp-xinl.c: New file, from glibc.
50903
50904 2003-06-10  Simon Josefsson  <jas@extundo.com>
50905
50906         * modules/strchrnul: New file.
50907
50908 2003-06-10  Simon Josefsson  <jas@extundo.com>
50909
50910         * modules/argp: New file.
50911
50912 2003-06-10  Simon Josefsson  <jas@extundo.com>
50913
50914         * m4/strchrnul.m4: New file.
50915
50916 2003-06-10  Simon Josefsson  <jas@extundo.com>
50917
50918         * lib/strchrnul.h: New file.
50919         * lib/strchrnul.c: New file.
50920
50921 2003-06-10  Bruno Haible  <bruno@clisp.org>
50922
50923         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
50924
50925 2003-06-07  Karl Berry  <karl@gnu.org>
50926
50927         * config/config.{guess,sub}: update from prep.
50928
50929 2003-06-07  Jim Meyering  <jim@meyering.net>
50930
50931         * modules/strtod: Use $(...) notation, not @...@ for
50932         AC_REPLACE'd variables.
50933         * modules/localcharset: Likewise.
50934
50935 2003-06-07  Jim Meyering  <jim@meyering.net>
50936
50937         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
50938         in place of my name in the copyright comment.
50939         Remove definition and uses of __P.
50940
50941         From coreutils.
50942         * lib/stat.c: Don't declare xmalloc explicitly.
50943         Instead, include "xalloc.h".
50944         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
50945         xrealloc, and xcalloc return values.
50946         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
50947         Improve comment.
50948         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
50949
50950 2003-06-07  Bruno Haible  <bruno@clisp.org>
50951
50952         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
50953         avoid AC_CONFIG_LINKS.
50954         * modules/fnmatch (Makefile.am): Use explicit creation rule for
50955         fnmatch.h, to avoid AC_CONFIG_LINKS.
50956         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
50957
50958 2003-06-07  Bruno Haible  <bruno@clisp.org>
50959
50960         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
50961         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
50962         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
50963         directory.
50964         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
50965         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
50966         directory.
50967
50968 2003-06-06  Jim Meyering  <jim@meyering.net>
50969
50970         Merge from coreutils.
50971         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
50972         Consolidate declarations and initializations of *_base* locals.
50973
50974         Merge from coreutils.
50975         This avoids a core dump on systems without GNU putenv,
50976         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
50977         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
50978         (unsetenv): New static function, from GNU libc.
50979         (rpl_putenv): Use it.
50980
50981         * lib/modechange.c: Remove trailing blanks.
50982
50983         Merge from coreutils.
50984         * lib/fsusage.c: Remove declaration of statfs.
50985         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
50986
50987         * lib/posixtm.c: Include <stdbool.h> unconditionally.
50988
50989 2003-06-06  Jim Meyering  <jim@meyering.net>
50990
50991         * lib/stdbool_.h: Renamed from stdbool.h.in.
50992
50993 2003-06-06  Jim Meyering  <jim@meyering.net>
50994             Bruno Haible  <bruno@clisp.org>
50995
50996         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
50997         Adjust Makefile.am snippet not to redirect directly to target.
50998         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
50999
51000 2003-06-05  Paul Eggert  <eggert@twinsun.com>
51001
51002         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
51003         mismatch, look in future quarters as well as past.  This fixes a
51004         bug when processing fall-backwards gaps immediately after a long
51005         period of daylight-saving time.
51006
51007         * lib/mktime.c: Assume freestanding C89 or better.
51008         (HAVE_LIMITS_H): Remove.  Assume it's 1.
51009         (__P): Remove; not used.
51010         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
51011         (mktime, not_equal_tm, print_tm, check_result,
51012         main): Use prototypes.  Use const * where appropriate.
51013         (main): Fix typo in testing code that uncovered by above changes.
51014         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
51015
51016 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51017
51018         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
51019         locale.h, localeconv.  This merges changes from coreutils.
51020
51021         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
51022         It can be removed after the next Autoconf is released.
51023         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
51024         needed.
51025
51026 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51027
51028         * lib/mktime.c: Fix Debian bug 177940
51029         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
51030         (localtime_offset): Now long int, not time_t, because we want it
51031         to be guaranteed to be signed.  All uses changed.
51032         (__mktime_internal): If overflow would occur when adding offset,
51033         don't add it.
51034
51035         Merge 'human' changes from coreutils.  Rewrite to support
51036         locale-specific notations like thousands separators.
51037         * lib/human.c: Simplify authorship notice.
51038         Include human.h immediately after config.h.
51039         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
51040         <limits.h>: Do not include, since human.h does.
51041         (SIZE_MAX, UINTMAX_MAX): New macros.
51042         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
51043         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
51044         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
51045         (power_letter): Renamed from suffixes.
51046         (generate_suffix_backwards): Remove.
51047         (adjust_value): Now takes int style (because of human.h changes)
51048         and long double value (for greater precision on some platforms).
51049         (group_number): New function.
51050         (human_readable): Use it.  Use integer options, not enum.
51051         Put the options before the sizes in the arg list.
51052         Support all the new options.
51053         The old human_readable function has been removed;
51054         use inttostr.h instead.
51055         (human_readable, default_block_size, humblock):
51056         Use uintmax_t, not int, for block sizes.
51057         (human_readable_inexact, block_size_types): Remove.
51058         (block_size_opts): New constant.
51059         (human_options): Renamed from human_block_size, with new signature
51060         that allows block sizes up to UINTMAX_MAX.  All callers changed.
51061         * lib/human.h: Add copyright and authorship notice.
51062         Include <limits.h> and <stdbool.h> unconditionally.
51063         (PARAMS): Remove.  All uses removed.
51064         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
51065         (enum human_inexact_style): Remove tag; now a nameless enum.
51066         (human_floor, human_ceiling, human_round_to_even): Now have
51067         values 2, 0, 1 rather than -1, 1, 0.
51068         (human_group_digits, human_suppress_point_zero, human_autoscale,
51069         human_base_1024, human_SI, human_B): New constants.
51070         (human_readable_inexact, human_block_size): Remove.
51071         (human_readable): Size args are now uintmax_t, not int.
51072         (human_options): New decl.
51073
51074         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
51075         unnecessary now that we assume C89 or better.  This change
51076         imported from coreutils.
51077
51078         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
51079         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
51080         in the 2003-05-30 sync from glibc.
51081
51082         .h files should stand alone, but we shouldn't include <sys/types.h>
51083         if we can get away with just <stddef.h>.
51084
51085         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
51086         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
51087         rather than <sys/types.h>, as we merely need size_t.
51088         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
51089         to get size_t.
51090         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
51091         Include <stdio.h>, to get FILE.
51092         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
51093         memcasecmp.h has included <stddef.h> and all we need is size_t.
51094         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
51095         our interface, instead of including <sys/types.h>
51096
51097 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51098
51099         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
51100         now, as glibc mktime is buggy on non-glibc systems.
51101
51102 2003-06-03  Karl Berry  <karl@gnu.org>
51103
51104         * config/config.sub: update from prep.
51105
51106 2003-06-02  Paul Eggert  <eggert@twinsun.com>
51107
51108         [from coreutils]
51109         Fix some minor time-related bugs with POSIX time arguments.
51110         Some valid time stamps were being rejected (notably -1, and
51111         time stamps before 1900 on 64-bit hosts).  And some invalid
51112         time stamps were being accepted, e.g. September 31.
51113
51114         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
51115         that we can return (time_t) -1 successfully.
51116         * lib/posixtm.c: Likewise.
51117         [HAVE_STDBOOL_H]: Include <stdbool.h>.
51118         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
51119         (t): Remove static var.
51120         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
51121         of static var.  All uses changed.
51122         (year): Do not reject years before 1900; they can occur with
51123         64-bit time_t.
51124         (posix_time_parse): Do not check for out-of-range components;
51125         that is now the caller's responsibility, since our checks were
51126         only approximations.
51127         (posixtime): Use mktime to check for out-of-range components,
51128         since it knows them exactly.
51129         If mktime returns (time_t) -1, check whether an error actually occurred
51130         by invoking localtime on -1.
51131         (main) [TEST_POSIXTIME]: Check for input data errors, and report
51132         posixtime failures better.
51133         Improve the test data (in comments only).
51134
51135 2003-06-02  Karl Berry  <karl@gnu.org>
51136
51137         * config/mkinstalldirs (version): new variable.
51138         (--version): new option.
51139         (usage): improve message.
51140
51141 2003-05-30  Karl Berry  <karl@gnu.org>
51142
51143         * lib/mktime.c: update from libc.
51144
51145 2003-05-30  Bruno Haible  <bruno@clisp.org>
51146
51147         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
51148         * config/config.rpath: Upgrade to gettext-0.12.1.
51149
51150 2003-05-30  Bruno Haible  <bruno@clisp.org>
51151
51152         * m4/gettext.m4: Upgrade to gettext-0.12.1.
51153         * m4/nls.m4: New file, from gettext-0.12.1.
51154         * m4/po.m4: New file, from gettext-0.12.1.
51155         * m4/progtest.m4: Upgrade to gettext-0.12.1.
51156
51157 2003-05-30  Bruno Haible  <bruno@clisp.org>
51158
51159         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
51160         * lib/localcharset.h: Likewise.
51161         * lib/localcharset.c: Likewise.
51162
51163 2003-05-29  Karl Berry  <karl@gnu.org>
51164
51165         * config/config.rpath: update from gettext.
51166
51167 2003-05-28  Paul Eggert  <eggert@twinsun.com>
51168
51169         Assume the headers required for C89 freestanding compilers.
51170         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
51171         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
51172         * m4/human.m4 (gl_HUMAN): Likewise.
51173         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
51174         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
51175         * m4/userspec.m4 (gl_USERSPEC): Likewise.
51176         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
51177         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51178         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
51179
51180 2003-05-28  Paul Eggert  <eggert@twinsun.com>
51181
51182         Assume the headers required for C89 freestanding compilers.
51183         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
51184         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
51185         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
51186         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
51187         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
51188         define, since <limits.h> is guaranteed to do that.
51189         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
51190         * lib/exclude.c: Include <stdbool.h> unconditionally.
51191         * lib/tempname.c: Include <stddef.h> unconditionally.
51192         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
51193         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
51194         <stddef.h> does that.
51195         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
51196         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
51197         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
51198         needed.
51199         * lib/xstrtol.c: Likewise.
51200         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
51201         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
51202
51203         * lib/addext.c (addext): Use assignment rather than cast, to avoid
51204         warnings on some platforms.
51205
51206         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
51207         arbitrarily.
51208
51209 2003-05-26  Jim Meyering  <jim@meyering.net>
51210
51211         Merge in a change from coreutils:
51212         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
51213         that is guaranteed to be `no'.  Use `no_such_member' to indicate
51214         that condition, rather than `-1' which is slightly misleading.
51215         Change the name of the cache variable to have the gl_ prefix.
51216         Prompted by a patch from Richard Dawe for DJGPP.
51217
51218 2003-05-24  Karl Berry  <karl@gnu.org>
51219
51220         * config/config.guess: update from prep.
51221
51222 2003-05-22  Karl Berry  <karl@gnu.org>
51223
51224         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
51225
51226 2003-05-20  Karl Berry  <karl@gnu.org>
51227
51228         * config/config.guess: update from prep.
51229
51230 2003-05-18  Karl Berry  <karl@gnu.org>
51231
51232         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
51233         might actually be set by the user.
51234
51235         * config/depcomp, install-sh, mdate-sh: update from automake.
51236
51237 2003-05-17  Bruno Haible  <bruno@clisp.org>
51238
51239         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
51240         invalid expansion for AC_EGREP_CPP.
51241         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
51242         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
51243         Suggested by Akim Demaille <akim@epita.fr> in
51244         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
51245
51246 2003-05-12  Jim Meyering  <jim@meyering.net>
51247
51248         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
51249         the space-padded-by-default conversion specifiers, %e, %k, %l.
51250
51251 2003-05-12  Bruno Haible  <bruno@clisp.org>
51252
51253         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
51254         the string is longer than 4 KB.
51255
51256 2003-05-11  Karl Berry  <karl@gnu.org>
51257
51258         * config/config.{guess,sub}: update from prep.
51259
51260 2003-05-09  Bruno Haible  <bruno@clisp.org>
51261
51262         * modules/error: Add m4/strerror_r.m4 to file list.
51263
51264 2003-05-03  Bruno Haible  <bruno@clisp.org>
51265
51266         Upgrade to Unicode-4.0.
51267         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
51268         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
51269         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
51270         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
51271         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
51272         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
51273         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
51274         Change width of U+E0100..U+E01EF from 1 to 0.
51275
51276 2003-04-25  Jim Meyering  <jim@meyering.net>
51277
51278         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
51279         of type size_t, not int.
51280
51281 2003-04-25  Bruno Haible  <bruno@clisp.org>
51282
51283         * lib/copy-file.c: Include <stddef.h>, for size_t.
51284
51285 2003-04-21  Paul Eggert  <eggert@twinsun.com>
51286
51287         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
51288         code which expansion is under static control.  Patch imported from
51289         Akim Demaille's patch to Bison; see
51290         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
51291
51292 2003-04-14  Bruno Haible  <bruno@clisp.org>
51293
51294         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
51295
51296 2003-04-11  Jim Meyering  <jim@meyering.net>
51297
51298         Merge changes from Coreutils.
51299
51300         2003-03-22  Jim Meyering  <jim@meyering.net>
51301
51302         * lib/strftime.c (widen): Cast alloca return value to proper type.
51303
51304         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
51305
51306         From GNU libc.
51307         * lib/strftime.c (my_strftime): Handle very large width
51308         specifications for numeric values correctly.  Improve checks for
51309         overflow.
51310
51311         2003-01-19  Jim Meyering  <jim@meyering.net>
51312
51313         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
51314         definitions.
51315         (nl_get_alt_digit) [! defined my_strftime]: Define.
51316         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
51317         _nl_get_alt_digit and _nl_get_walt_digit.
51318
51319         * lib/strftime.c (my_strftime): Merge in locale-related changes from
51320         libc. These changes have no effect outside of _LIBC.
51321
51322 2003-04-10  Bruno Haible  <bruno@clisp.org>
51323
51324         * modules/findprog: New file.
51325         * MODULES.html.sh (func_all_modules): Add it.
51326
51327 2003-04-10  Bruno Haible  <bruno@clisp.org>
51328
51329         * m4/findprog.m4: New file.
51330         * m4/eaccess.m4: New file.
51331
51332 2003-04-10  Bruno Haible  <bruno@clisp.org>
51333
51334         * lib/findprog.h: New file, from GNU gettext.
51335         * lib/findprog.c: New file, from GNU gettext.
51336
51337 2003-04-05  Jim Meyering  <jim@meyering.net>
51338
51339         Merge changes from Coreutils.
51340
51341         * lib/exclude.h (PARAMS): Remove definition and uses.
51342         * lib/exclude.c: Remove uses of `PARAMS'.
51343
51344         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
51345         Add test-cases for DOS filenames. Declare program_name.
51346         (main): Set up program_name.  Patch by Rich Dawe.
51347
51348         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
51349         error from mntctl.
51350         Use mntctl's return value to drive the entry-processing loop, since
51351         we can't rely on the value of the vmt_length member in the last
51352         entry.  On some systems doing so could result in exhausting
51353         virtual memory.  Based in part on a patch from Mike Jetzer.
51354
51355 2003-04-04  Bruno Haible  <bruno@clisp.org>
51356
51357         * modules/linebreak: New file.
51358         * MODULES.html.sh (func_all_modules): Add it.
51359
51360 2003-04-04  Bruno Haible  <bruno@clisp.org>
51361
51362         * m4/linebreak.m4: New file.
51363
51364 2003-04-04  Bruno Haible  <bruno@clisp.org>
51365
51366         * lib/linebreak.h: New file, from GNU gettext.
51367         * lib/linebreak.c: New file, from GNU gettext with slight
51368         modifications.
51369         * lib/lbrkprop.h: New file, from GNU gettext.
51370
51371 2003-04-03  Bruno Haible  <bruno@clisp.org>
51372
51373         * modules/utf8-ucs4: New file.
51374         * modules/utf16-ucs4: New file.
51375         * modules/ucs4-utf8: New file.
51376         * modules/ucs4-utf16: New file.
51377         * MODULES.html.sh (func_all_modules): Add them.
51378
51379 2003-04-03  Bruno Haible  <bruno@clisp.org>
51380
51381         * m4/utf-ucs4.m4: New file.
51382         * m4/ucs4-utf.m4: New file.
51383
51384 2003-04-03  Bruno Haible  <bruno@clisp.org>
51385
51386         * lib/utf8-ucs4.h: New file, from GNU gettext.
51387         * lib/utf16-ucs4.h: New file, from GNU gettext.
51388         * lib/ucs4-utf8.h: New file, from GNU gettext.
51389         * lib/ucs4-utf16.h: New file, from GNU gettext.
51390
51391 2003-04-02  Bruno Haible  <bruno@clisp.org>
51392
51393         * modules/binary-io: New file.
51394         * MODULES.html.sh (func_all_modules): Add it.
51395
51396 2003-04-02  Bruno Haible  <bruno@clisp.org>
51397
51398         * lib/binary-io.h: New file, from GNU gettext.
51399
51400 2003-04-01  Bruno Haible  <bruno@clisp.org>
51401
51402         * modules/pathname: New file.
51403         * MODULES.html.sh (func_all_modules): Add it.
51404
51405 2003-04-01  Bruno Haible  <bruno@clisp.org>
51406
51407         * lib/pathname.h: New file, from GNU gettext.
51408         * lib/concatpath.c: New file, from GNU gettext.
51409
51410 2003-03-30  Bruno Haible  <bruno@clisp.org>
51411
51412         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
51413
51414 2003-03-30  Bruno Haible  <bruno@clisp.org>
51415
51416         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
51417         function chown() doesn't exist.
51418
51419 2003-03-28  Bruno Haible  <bruno@clisp.org>
51420
51421         * modules/copy-file: New file.
51422         * MODULES.html.sh (func_all_modules): Add it.
51423
51424 2003-03-28  Bruno Haible  <bruno@clisp.org>
51425
51426         * m4/copy-file.m4: New file.
51427
51428 2003-03-28  Bruno Haible  <bruno@clisp.org>
51429
51430         * lib/copy-file.h: New file, from GNU gettext.
51431         * lib/copy-file.c: New file, from GNU gettext.
51432
51433 2003-03-18  Jim Meyering  <jim@meyering.net>
51434
51435         * lib/quote.c (quote_n): Fix typo in comment.
51436
51437 2003-03-18  Bruno Haible  <bruno@clisp.org>
51438
51439         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
51440         checking.
51441         * m4/onceonly_2_57.m4: Likewise.
51442
51443 2003-03-17  Bruno Haible  <bruno@clisp.org>
51444
51445         * m4/onceonly.m4: Require autoconf 2.54 or newer.
51446         (m4_quote): Remove macro.
51447         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
51448
51449 2003-03-14  Jim Meyering  <jim@meyering.net>
51450
51451         Merge changes from Coreutils.
51452         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
51453         to be const, in order to avoid warnings.
51454         (obstack_room): Likewise.
51455         (obstack_empty_p): Likewise.
51456
51457 2003-03-14  Bruno Haible  <bruno@clisp.org>
51458
51459         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
51460         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
51461
51462 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51463
51464         Merge changes from Bison.
51465         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
51466         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
51467         when compiling Bison 1.875's `bitset bset = obstack_alloc
51468         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
51469         * lib/hash.c: Include <stdbool.h> unconditionally.
51470
51471 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51472
51473         * m4/onceonly.m4 (m4_quote): New macro.
51474         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
51475         Quote AC_FOREACH variable-expansions properly.
51476
51477 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51478
51479         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
51480
51481 2003-03-09  Paul Eggert  <eggert@twinsun.com>
51482
51483         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
51484         Reported by Bruce Becker; see:
51485         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
51486
51487 2003-03-03  Paul Eggert  <eggert@twinsun.com>
51488             Bruno Haible  <bruno@clisp.org>
51489
51490         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
51491         Reported by John Hughes, see
51492         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
51493
51494 2003-02-20  Bruno Haible  <bruno@clisp.org>
51495
51496         * MODULES.html.sh (func_all_modules): Add poll.
51497
51498 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51499
51500         * modules/poll: New file.
51501
51502 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51503
51504         * lib/poll_.h: New file.
51505         * lib/poll.c: New file.
51506
51507 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51508
51509         * m4/poll.m4: New file.
51510
51511 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51512
51513         * modules/mathl: New file.
51514
51515 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51516
51517         * lib/mathl.h: New file.
51518         * lib/acosl.c: New file.
51519         * lib/asinl.c: New file.
51520         * lib/atanl.c: New file.
51521         * lib/ceill.c: New file.
51522         * lib/cosl.c: New file.
51523         * lib/expl.c: New file.
51524         * lib/floorl.c: New file.
51525         * lib/frexpl.c: New file.
51526         * lib/ldexpl.c: New file.
51527         * lib/logl.c: New file.
51528         * lib/sincosl.c: New file.
51529         * lib/sinl.c: New file.
51530         * lib/sqrtl.c: New file.
51531         * lib/tanl.c: New file.
51532         * lib/trigl.c: New file.
51533         * lib/trigl.h: New file.
51534
51535 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51536
51537         * m4/mathl.m4: New file.
51538
51539 2003-02-18  Bruno Haible  <bruno@clisp.org>
51540
51541         * MODULES.html.sh (func_all_modules): Add mathl.
51542
51543 2003-02-17  Bruno Haible  <bruno@clisp.org>
51544
51545         * modules/mkdtemp: New module.
51546         * MODULES.html.sh (func_all_modules): Add it.
51547
51548 2003-02-17  Bruno Haible  <bruno@clisp.org>
51549
51550         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
51551
51552 2003-02-17  Bruno Haible  <bruno@clisp.org>
51553
51554         * lib/mkdtemp.h: New file, from GNU gettext.
51555         * lib/mkdtemp.c: New file, from GNU gettext.
51556
51557 2003-02-02  Jim Meyering  <jim@meyering.net>
51558
51559         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
51560         e.g. glibc-2.2.93.
51561
51562 2003-01-31  Bruno Haible  <bruno@clisp.org>
51563
51564         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
51565         'rpl_rename'.
51566         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
51567         'rpl_strnlen'.
51568         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
51569         'rpl_strtod'.
51570         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
51571         'rpl_utime'.
51572
51573 2003-01-31  Bruno Haible  <bruno@clisp.org>
51574
51575         * lib/rename.c: #undef rename before defining rpl_rename.
51576         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
51577
51578 2003-01-30  Bruno Haible  <bruno@clisp.org>
51579
51580         * modules/vasnprintf, modules/vasprintf: New modules.
51581         * MODULES.html.sh (func_all_modules): Add them.
51582
51583 2003-01-30  Bruno Haible  <bruno@clisp.org>
51584
51585         * m4/signed.m4: New file, from GNU gettext.
51586         * m4/longdouble.m4: New file, from GNU gettext.
51587         * m4/wchar_t.m4: New file, from GNU gettext.
51588         * m4/wint_t.m4: New file, from GNU gettext.
51589         * m4/vasnprintf.m4: New file.
51590         * m4/vasprintf.m4: New file.
51591
51592 2003-01-30  Bruno Haible  <bruno@clisp.org>
51593
51594         * lib/printf-args.h: New file, from GNU gettext.
51595         * lib/printf-args.c: New file, from GNU gettext.
51596         * lib/printf-parse.h: New file, from GNU gettext.
51597         * lib/printf-parse.c: New file, from GNU gettext.
51598         * lib/vasnprintf.h: New file, from GNU gettext.
51599         * lib/vasnprintf.c: New file, from GNU gettext.
51600         * lib/asnprintf.c: New file, from GNU gettext.
51601         * lib/vasprintf.h: New file, from GNU gettext with modifications.
51602         * lib/vasprintf.c: New file, from GNU gettext.
51603         * lib/asprintf.c: New file, from GNU gettext.
51604
51605 2003-01-29  Bruno Haible  <bruno@clisp.org>
51606
51607         * modules/stpncpy: New module.
51608         * MODULES.html.sh (func_all_modules): Add it.
51609
51610 2003-01-29  Bruno Haible  <bruno@clisp.org>
51611
51612         * m4/stpncpy.m4: New file.
51613
51614 2003-01-29  Bruno Haible  <bruno@clisp.org>
51615
51616         * lib/stpncpy.h: New file, from GNU gettext with modifications.
51617         * lib/stpncpy.c: New file, from GNU gettext with modifications.
51618
51619 2003-01-28  Bruno Haible  <bruno@clisp.org>
51620
51621         * modules/c-ctype: New module.
51622         * MODULES.html.sh (func_all_modules): Add it.
51623
51624 2003-01-28  Bruno Haible  <bruno@clisp.org>
51625
51626         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
51627         Paul Eggert.
51628         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
51629         Paul Eggert.
51630
51631 2003-01-27  Bruno Haible  <bruno@clisp.org>
51632
51633         * modules/xsetenv: New module.
51634         * MODULES.html.sh (func_all_modules): Add it.
51635
51636 2003-01-27  Bruno Haible  <bruno@clisp.org>
51637
51638         * lib/xsetenv.h: New file, from GNU gettext.
51639         * lib/xsetenv.c: New file, from GNU gettext.
51640
51641 2003-01-23  Jim Meyering  <jim@meyering.net>
51642
51643         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
51644         from working on systems without dirfd (at least Irix and OSF1/Tru64).
51645
51646 2003-01-23  Bruno Haible  <bruno@clisp.org>
51647
51648         * modules/minmax: New module.
51649         * MODULES.html.sh (func_all_modules): Add it.
51650
51651 2003-01-23  Bruno Haible  <bruno@clisp.org>
51652
51653         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
51654         Eggert.
51655
51656 2003-01-22  Bruno Haible  <bruno@clisp.org>
51657
51658         * modules/exit: New module.
51659         * MODULES.html.sh (func_all_modules): Add it.
51660
51661 2003-01-22  Bruno Haible  <bruno@clisp.org>
51662
51663         * lib/exit.h: New file, from GNU gettext.
51664
51665 2003-01-19  Bruno Haible  <bruno@clisp.org>
51666
51667         * gnulib-tool: Recognize option --extract-maintainer.
51668         (func_get_maintainer): New function.
51669         * modules/*: Add Maintainer entry.
51670
51671 2003-01-16  Jim Meyering  <jim@meyering.net>
51672
51673         * m4/regex.m4: The `regex' struct is both input and output.
51674         Initialize it before each use.  Patch by Tim Waugh.
51675
51676 2003-01-16  Bruno Haible  <bruno@clisp.org>
51677
51678         * MODULES.html.sh: Add a table of contents. Add the module name as
51679         leftmost column. Add hyperlinks.
51680
51681 2003-01-15  Bruno Haible  <bruno@clisp.org>
51682
51683         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
51684
51685 2003-01-15  Bruno Haible  <bruno@clisp.org>
51686
51687         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
51688         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
51689         suffix.
51690
51691 2003-01-15  Bruno Haible  <bruno@clisp.org>
51692
51693         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
51694
51695 2003-01-15  Bruno Haible  <bruno@clisp.org>
51696
51697         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
51698         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
51699
51700 2003-01-14  Jim Meyering  <jim@meyering.net>
51701
51702         * lib/same.c (same_name): Tweak a comment.
51703
51704 2003-01-14  Bruno Haible  <bruno@clisp.org>
51705
51706         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
51707         when a string comparison is sufficient.
51708
51709 2003-01-14  Bruno Haible  <bruno@clisp.org>
51710
51711         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
51712         'unsigned int'.
51713
51714 2003-01-14  Bruno Haible  <bruno@clisp.org>
51715
51716         * lib/hash-pjw.c: Add comment about low quality of this function.
51717
51718 2003-01-13  Bruno Haible  <bruno@clisp.org>
51719
51720         * modules/stpcpy: Distribute lib/stpcpy.h.
51721         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
51722
51723 2003-01-13  Bruno Haible  <bruno@clisp.org>
51724
51725         * modules/*: Add a description.
51726         * modules/strpbrk: Fix Makefile.am snippet.
51727         * modules/strtoimax: Fix dependencies.
51728         * modules/strtoumax: Likewise.
51729
51730 2003-01-13  Bruno Haible  <bruno@clisp.org>
51731
51732         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
51733         * modules/alloca (Makefile.am): All object files depend on alloca.h.
51734         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
51735
51736 2003-01-13  Bruno Haible  <bruno@clisp.org>
51737
51738         * gnulib-tool (func_create_testdir): Store config/* files in the main
51739         directory.
51740         * config.rpath: Move to ...
51741         * config/config.rpath: ... here.
51742         * modules/gettext: Contains config/config.rpath, not config.rpath.
51743         * modules/iconv: Likewise.
51744
51745 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51746
51747         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51748         to avoid collisions with libcurses and libreadline.
51749
51750         * m4/getstr.m4: Remove.
51751         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
51752
51753 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51754
51755         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51756         to avoid collisions with libcurses and libreadline.
51757
51758         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
51759         * lib/getstr.h, getstr.c: Remove.
51760         * lib/getline.c: Include "getline.h", to check interface.
51761         Move body of old getstr.c here: this defines MIN_CHUNK and
51762         declares getdelim2, which is renamed from getstr.
51763         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
51764
51765         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
51766         All uses changed.
51767         * lib/linebuffer.h: Likewise.
51768         (readline): Remove backward-compatibility macro.
51769
51770 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51771
51772         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51773         to avoid collisions with libcurses and libreadline.
51774         * getstr: Remove.
51775         * MODULES.html.sh: Remove getstr.
51776         * modules/getline: Depend on unlocked-io, not getstr.
51777
51778 2003-01-12  Jim Meyering  <jim@meyering.net>
51779
51780         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
51781
51782 2003-01-10  Bruno Haible  <bruno@clisp.org>
51783
51784         * modules/alloca: Change Makefile.am requirements. Simplify Include
51785         requirements. Add lib/alloca_.h to file list.
51786
51787 2003-01-10  Bruno Haible  <bruno@clisp.org>
51788
51789         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
51790
51791 2003-01-10  Bruno Haible  <bruno@clisp.org>
51792
51793         * lib/alloca_.h: New file.
51794         * lib/getdate.y: Unconditionally include alloca.h.
51795         * lib/makepath.c: Likewise.
51796         * lib/setenv.c: Likewise.
51797         * lib/userspec.c: Likewise.
51798
51799 2003-01-09  Karl Berry  <karl@gnu.org>
51800
51801         * MODULES.html.sh: include `dirname $0` in PATH, to find
51802         gnulib-tool.
51803
51804 2003-01-09  Bruno Haible  <bruno@clisp.org>
51805
51806         * modules/stdbool: Change configure.ac, Makefile.am requirements.
51807         Simplify Include requirements. Add lib/stdbool.h.in to file list.
51808
51809 2003-01-09  Bruno Haible  <bruno@clisp.org>
51810
51811         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
51812
51813 2003-01-09  Bruno Haible  <bruno@clisp.org>
51814
51815         * lib/stdbool.h.in: New file.
51816
51817 2003-01-09  Bruno Haible  <bruno@clisp.org>
51818
51819         * gnulib-tool (func_all_modules): Ignore files ending in ~.
51820         * MODULES.html.sh: Likewise.
51821
51822 2003-01-08  Jim Meyering  <jim@meyering.net>
51823
51824         * lib/full-write.c: Undefine and define-away `const' after inclusion
51825         of errno.h, not before.  Suggestion from Bruno Haible.
51826
51827 2003-01-08  Bruno Haible  <bruno@clisp.org>
51828
51829         * modules/full-read: Depend on full-write.
51830
51831 2003-01-08  Bruno Haible  <bruno@clisp.org>
51832
51833         * lib/safe-read.c: Include specification header first, to ensure its
51834         selfcontainedness.
51835         * lib/full-write.c: Likewise.
51836
51837 2003-01-07  Jim Meyering  <jim@meyering.net>
51838
51839         * lib/full-write.c: Rework so that it may serve to define full_read,
51840         too.
51841         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
51842
51843 2003-01-07  Bruno Haible  <bruno@clisp.org>
51844
51845         * lib/strtoimax.c: Include <stdint.h> as an alternative to
51846         <inttypes.h>.
51847         * lib/xstrtol.h: Likewise.
51848         * lib/xstrtoimax.c: Likewise.
51849         * lib/xstrtoumax.c: Likewise.
51850         * lib/human.h: Likewise.
51851
51852         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
51853         on systems that have <inttypes.h> but not <stdint.h>.
51854
51855 2003-01-07  Bruno Haible  <bruno@clisp.org>
51856
51857         * MODULES.html.sh: Add copyright notice.
51858         (missed_files): Omit CVS directory entries.
51859         (func_module): Make it work with sed-3.02.
51860         * MODULES.txt: Remove file.
51861
51862 2003-01-06  Jim Meyering  <jim@meyering.net>
51863
51864         * lib/version-etc.c: Update year in translatable copyright string.
51865
51866 2003-01-03  Karl Berry  <karl@gnu.org>
51867
51868         * config/config.{guess,sub}: update from prep.
51869
51870 2003-01-02  Karl Berry  <karl@gnu.org>
51871
51872         * doc/COPYING.DOC: belatedly updated to 1.2.
51873
51874 2003-01-01  Karl Berry  <karl@gnu.org>
51875
51876         * gnulib-tool (func_verify_module): report module name $module in
51877         error message, not $1.
51878         * gnulib-tool (create-testdir): don't complain if destdir couldn't
51879         be created, only if it doesn't exist.
51880         * gnulib-tool (last_checkin_date): don't expand the $Date here.
51881
51882 2002-12-31  Paul Eggert  <eggert@twinsun.com>
51883
51884         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
51885
51886 2002-12-31  Paul Eggert  <eggert@twinsun.com>
51887
51888         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
51889         memcmp if strcoll doesn't work.
51890
51891 2002-12-31  Bruno Haible  <bruno@clisp.org>
51892
51893         * lib/utime.c (utime_null): No need to call ftruncate if the file was
51894         nonempty.
51895
51896 2002-12-31  Bruno Haible  <bruno@clisp.org>
51897
51898         * lib/memcoll.c (STRCOLL): New macro.
51899         (memcoll): Use it.
51900
51901 2002-12-31  Bruno Haible  <bruno@clisp.org>
51902
51903         * lib/localcharset.h: New file.
51904         * lib/localcharset.c: Include it.
51905         * lib/unicodeio.c: Likewise.
51906
51907 2002-12-31  Bruno Haible  <bruno@clisp.org>
51908
51909         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
51910         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
51911
51912 2002-12-31  Bruno Haible  <bruno@clisp.org>
51913
51914         * lib/getline.h: Include <stddef.h>, for size_t.
51915
51916         * lib/unicodeio.h: Include <stddef.h>, for size_t.
51917         * lib/unicodeio.c: Don't include <stddef.h>.
51918
51919 2002-12-31  Bruno Haible  <bruno@clisp.org>
51920
51921         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
51922         HAVE_TM_ZONE.
51923
51924 2002-12-24  Karl Berry  <karl@gnu.org>
51925
51926         * config/config.guess: update from prep.
51927
51928 2002-12-24  Bruno Haible  <bruno@clisp.org>
51929
51930         General infrasructure.
51931         * m4/README: Rewritten.
51932         * m4/onceonly.m4: New file.
51933         * m4/onceonly_2_57.m4: New file.
51934
51935         Module atexit.
51936         * m4/atexit.m4: New file.
51937
51938         Module strtod.
51939         * m4/strtod.m4: New file.
51940
51941         Module strtol.
51942         * m4/strtol.m4: New file.
51943
51944         Module strtoul.
51945         * m4/strtoul.m4: New file.
51946
51947         Module memchr.
51948         * m4/memchr.m4: New file.
51949
51950         Module memcmp.
51951         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
51952         (jm_FUNC_MEMCMP): Invoke it.
51953
51954         Module memcpy.
51955         * m4/memcpy.m4: New file.
51956
51957         Module memmove.
51958         * m4/memmove.m4: New file.
51959
51960         Module memset.
51961         * m4/memset.m4: New file.
51962
51963         Module strcspn.
51964         * m4/strcspn.m4: New file.
51965
51966         Module strpbrk.
51967         * m4/strpbrk.m4: New file.
51968
51969         Module strstr.
51970         * m4/strstr.m4: New file.
51971
51972         Module strerror.
51973         * m4/strerror.m4: New file.
51974
51975         Module mktime.
51976         * m4/mktime.m4: Renamed from jm-mktime.m4.
51977         (gl_PREREQ_MKTIME): New macro.
51978         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
51979
51980         Module malloc.
51981         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
51982         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
51983         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
51984
51985         Module realloc.
51986         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
51987         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
51988         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
51989
51990         Module strftime.
51991         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
51992         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
51993         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
51994         gl_TM_GMTOFF.
51995         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
51996
51997         Module xalloc.
51998         * m4/xalloc.m4: New file.
51999
52000         Module alloca.
52001         * m4/alloca.m4: New file.
52002
52003         Module putenv.
52004         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
52005         (jm_FUNC_PUTENV): Invoke it.
52006
52007         Module setenv.
52008         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
52009         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
52010         when invoked twice.
52011         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
52012         gt_FUNC_SETENV.
52013
52014         Module memrchr.
52015         * m4/memrchr.m4: New file.
52016
52017         Module stpcpy.
52018         * m4/stpcpy.m4: New file.
52019
52020         Module strcase.
52021         * m4/strcase.m4: New file.
52022
52023         Module strdup.
52024         * m4/strdup.m4: New file.
52025
52026         Module strnlen.
52027         * m4/strnlen.m4: New file.
52028
52029         Module strndup.
52030         * m4/strndup.m4: New file.
52031
52032         Module xstrtod.
52033         * m4/xstrtod.m4: New file.
52034
52035         Module xstrtol.
52036         * m4/xstrtol.m4: New file.
52037
52038         Module getdate.
52039         * m4/getdate.m4: New file.
52040
52041         Module unlocked-io.
52042         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
52043         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
52044         * m4/jm-glibc-io.m4n: Remove file.
52045
52046         Module long-options.
52047         * m4/long-options.m4: New file.
52048
52049         Module md5.
52050         * m4/md5.m4: New file.
52051
52052         Module sha.
52053         * m4/sha.m4: New file.
52054
52055         Module getstr.
52056         * m4/getstr.m4: New file.
52057
52058         Module getline.
52059         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
52060         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
52061         <sys/types.h>, for size_t. Use the function name gnu_getline, not
52062         simply getline. Infoke gl_PREREQ_GETLINE.
52063
52064         Module obstack.
52065         * m4/obstack.m4: New file.
52066
52067         Module hash.
52068         * m4/hash.m4: New file.
52069
52070         Module readtokens.
52071         * m4/readtokens.m4: New file.
52072
52073         Module strverscmp.
52074         * m4/strverscmp.m4: New file.
52075
52076         Module stdbool.
52077         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
52078         OSF/1.
52079
52080         Module strtoll.
52081         * m4/strtoll.m4: New file.
52082
52083         Module strtoull.
52084         * m4/strtoull.m4: New file.
52085
52086         Module strtoimax.
52087         * m4/strtoimax.m4: New file.
52088
52089         Module strtoumax.
52090         * m4/strtoumax.m4: New file.
52091
52092         Module xstrtoimax.
52093         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
52094         jm_AC_PREREQ_XSTRTOIMAX.
52095         Moved the strtol prerequisites to strtol.m4.
52096         Moved the strtoll prerequisites to strtoll.m4.
52097         Moved the strtoimax prerequisites to strtoimax.m4.
52098
52099         Module xstrtoumax.
52100         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
52101         jm_AC_PREREQ_XSTRTOUMAX.
52102         Moved the strtoul prerequisites to strtoul.m4.
52103         Moved the strtoull prerequisites to strtoull.m4.
52104         Moved the strtoumax prerequisites to strtoumax.m4.
52105
52106         Module chown.
52107         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
52108         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
52109
52110         Module dup2.
52111         * m4/dup2.m4: New file.
52112
52113         Module ftruncate.
52114         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
52115         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
52116
52117         Module getgroups.
52118         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
52119         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
52120
52121         Module gettimeofday.
52122         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
52123         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
52124         gl_PREREQ_GETTIMEOFDAY.
52125
52126         Module mkdir.
52127         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
52128         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
52129
52130         Module mkstemp.
52131         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
52132         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
52133         jm_AC_TYPE_UINTMAX_T.
52134         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
52135
52136         Module stat.
52137         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
52138         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
52139
52140         Module lstat.
52141         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
52142         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
52143
52144         Module timespec.
52145         * m4/timespec.m4 (gl_TIMESPEC): New macro.
52146         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
52147         * m4/st_mtim.m4: Indentation.
52148
52149         Module nanosleep.
52150         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
52151         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
52152         gl_PREREQ_NANOSLEEP.
52153
52154         Module regex.
52155         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
52156         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
52157         (gl_REGEX): New macro.
52158
52159         Module rename.
52160         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
52161         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
52162
52163         Module rmdir.
52164         * m4/rmdir.m4: New file.
52165
52166         Module utime.
52167         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
52168         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
52169         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
52170
52171         Module dirname.
52172         * m4/dirname.m4: New file.
52173
52174         Module getopt.
52175         * m4/getopt.m4: New file.
52176
52177         Module unistd-safer.
52178         * m4/unistd-safer.m4: New file.
52179
52180         Module fnmatch.
52181         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
52182         declaration.
52183         (gl_PREREQ_FNMATCH_EXTRA): New macro.
52184         (gl_FUNC_FNMATCH_POSIX): New macro.
52185         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
52186         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
52187         simply fnmatch.
52188
52189         Module exclude.
52190         * m4/exclude.m4: New file.
52191
52192         Module human.
52193         * m4/human.m4: New file.
52194
52195         Module acl.
52196         * m4/acl.m4: Nop.
52197
52198         Module backupfile.
52199         * m4/backupfile.m4: New file.
52200         * m4/d-ino.m4: Indentation.
52201
52202         Module fsusage.
52203         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
52204         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
52205         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
52206
52207         Module dirfd.
52208         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
52209         requirements.
52210
52211         Module euidaccess.
52212         * m4/euidaccess.m4: New file.
52213
52214         Module file-type.
52215         * m4/file-type.m4: New file.
52216
52217         Module fileblocks.
52218         * m4/fileblocks.m4: New file.
52219
52220         Module filemode.
52221         * m4/filemode.m4: New file.
52222
52223         Module isdir.
52224         * m4/isdir.m4: New file.
52225
52226         Module lchown.
52227         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
52228         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
52229
52230         Module makepath.
52231         * m4/makepath.m4: New file.
52232
52233         Module modechange.
52234         * m4/modechange.m4: New file.
52235
52236         Module mountlist.
52237         * m4/mountlist.m4: New file.
52238         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
52239         Indentation.
52240
52241         Module path-concat.
52242         * m4/path-concat.m4: New file.
52243
52244         Module pathmax.
52245         * m4/pathmax.m4: New file.
52246
52247         Module same.
52248         * m4/same.m4: New file.
52249
52250         Module save-cwd.
52251         * m4/save-cwd.m4: New file.
52252
52253         Module savedir.
52254         * m4/savedir.m4: New file.
52255
52256         Module xgetcwd.
52257         * m4/xgetcwd.m4: New file.
52258         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
52259
52260         Module xreadlink.
52261         * m4/xreadlink.m4: New file.
52262
52263         Module safe-read.
52264         * m4/safe-read.m4: New file.
52265
52266         Module safe-write.
52267         * m4/safe-write.m4: New file.
52268
52269         Module closeout.
52270         * m4/closeout.m4: New file.
52271
52272         Module stdio-safer.
52273         * m4/stdio-safer.m4: New file.
52274
52275         Module getpass.
52276         * m4/getpass.m4: New file.
52277
52278         Module getugroups.
52279         * m4/getugroups.m4: New file.
52280
52281         Module group-member.
52282         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
52283         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
52284
52285         Module idcache.
52286         * m4/idcache.m4: New file.
52287
52288         Module userspec.
52289         * m4/userspec.m4: New file.
52290
52291         Module gettime.
52292         * m4/clock_time.m4: New file.
52293         * m4/gettime.m4: New file.
52294
52295         Module settime.
52296         * m4/settime.m4: New file.
52297
52298         Module posixtm.
52299         * m4/posixtm.m4: New file.
52300
52301         Module gethostname.
52302         * m4/gethostname.m4: New file.
52303
52304         Module canon-host.
52305         * m4/canon-host.m4: New file.
52306
52307         Module gettext.
52308         * m4/codeset.m4: New file, from gettext-0.11.5.
52309         * m4/gettext.m4: New file, from gettext-0.11.5.
52310         * m4/glibc21.m4: New file, from gettext-0.11.5.
52311         * m4/iconv.m4: New file, from gettext-0.11.5.
52312         * m4/intdiv0.m4: New file, from gettext-0.11.5.
52313         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
52314         * m4/inttypes.m4: New file, from gettext-0.11.5.
52315         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
52316         * m4/isc-posix.m4: New file, from gettext-0.11.5.
52317         * m4/lcmessage.m4: New file, from gettext-0.11.5.
52318         * m4/lib-ld.m4: New file, from gettext-0.11.5.
52319         * m4/lib-link.m4: New file, from gettext-0.11.5.
52320         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
52321         * m4/progtest.m4: New file, from gettext-0.11.5.
52322         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
52323         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
52324         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
52325
52326         Module localcharset.
52327         * m4/localcharset.m4: New file.
52328
52329         Module hard-locale.
52330         * m4/hard-locale.m4: New file.
52331
52332         Module mbswidth.
52333         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
52334         onceonly macros.
52335         * m4/mbrtowc.m4: Add comment.
52336
52337         Module memcasecmp.
52338         * m4/memcasecmp.m4: New file.
52339
52340         Module memcoll.
52341         * m4/memcoll.m4: New file.
52342
52343         Module unicodeio.
52344         * m4/unicodeio.m4: New file.
52345
52346         Module rpmatch.
52347         * m4/rpmatch.m4: New file.
52348
52349         Module yesno.
52350         * m4/yesno.m4: New file.
52351
52352         Module exitfail.
52353         * m4/exitfail.m4: New file.
52354
52355         Module c-stack.
52356         * m4/c-stack.m4 (gl_C_STACK): New macro.
52357         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
52358
52359         Module error.
52360         * m4/error.m4 (gl_ERROR): New macro.
52361         (jm_PREREQ_ERROR): Use onceonly macros.
52362
52363         Module fatal.
52364         * m4/fatal.m4: New file.
52365
52366         Module getloadavg.
52367         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
52368         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
52369
52370         Module getpagesize.
52371         * m4/getpagesize.m4: New file.
52372
52373         Module getusershell.
52374         * m4/getusershell.m4: New file.
52375
52376         Module physmem.
52377         * m4/physmem.m4: New file.
52378
52379         Module posixver.
52380         * m4/posixver.m4: New file.
52381
52382         Module quotearg.
52383         * m4/quotearg.m4: New file.
52384
52385         Module quote.
52386         * m4/quote.m4: New file.
52387
52388         Module readutmp.
52389         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
52390
52391         Module sig2str.
52392         * m4/sig2str.m4: New file.
52393
52394         Other.
52395         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
52396         ulonglong.m4.
52397         * m4/intmax_t.m4: New file.
52398         * m4/d-type.m4: Indentation.
52399         * m4/jm-macros.m4: Update.
52400         * m4/prereq.m4 (jm_PREREQ): Update.
52401         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
52402         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
52403         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
52404         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
52405         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
52406         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
52407         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
52408         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
52409         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
52410         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
52411         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
52412         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
52413         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
52414         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
52415         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
52416         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
52417         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
52418         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
52419         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
52420
52421 2002-12-24  Bruno Haible  <bruno@clisp.org>
52422
52423         * MODULES.txt: Update according to m4/ changes.
52424
52425         Module gettext.
52426         * config.rpath: New file, from gettext-0.11.5.
52427
52428         * modules/*: New module descriptions.
52429         * gnulib-tool: New file.
52430         * MODULES.html.sh: New file.
52431
52432 2002-12-21  Karl Berry  <karl@gnu.org>
52433
52434         * doc/fdl.texi: update to version 1.2.
52435
52436 2002-12-19  Karl Berry  <karl@gnu.org>
52437
52438         * config/config.guess: update from prep.
52439
52440 2002-12-18  Bruno Haible  <bruno@clisp.org>
52441
52442         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
52443         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
52444
52445 2002-12-17  Bruno Haible  <bruno@clisp.org>
52446
52447         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
52448         stdlib.h, string.h.
52449
52450 2002-12-17  Bruno Haible  <bruno@clisp.org>
52451
52452         * lib/canon-host.c (strdup): Remove unused declaration.
52453
52454         * lib/fsusage.c: Include full_read.h.
52455         (get_fs_usage): Use full_read instead of safe_read.
52456
52457         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
52458
52459 2002-12-12  Karl Berry  <karl@gnu.org>
52460
52461         * config/config.guess: update from prep.
52462
52463 2002-12-11  Bruno Haible  <bruno@clisp.org>
52464
52465         * m4/setenv.m4: New file, from gettext-0.11.5.
52466
52467 2002-12-11  Bruno Haible  <bruno@clisp.org>
52468
52469         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
52470         not unsetenv().
52471         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
52472         modifications:
52473
52474         2002-12-11  Bruno Haible  <bruno@clisp.org>
52475
52476                 * setenv.c (alloca): Fall back to malloc.
52477                 (freea): New macro.
52478                 (setenv): Use freea() to free memory allocated with alloca().
52479
52480         2002-11-13  Bruno Haible  <bruno@clisp.org>
52481
52482                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
52483                 function declarations.
52484                 * unsetenv.c (unsetenv): Likewise.
52485
52486         2002-03-04  Bruno Haible  <bruno@clisp.org>
52487
52488                 Portability to AIX 4.3.3.
52489                 * unsetenv.c: New file, extracted from setenv.c.
52490                 * setenv.c: Move the unsetenv() function to unsetenv.c.
52491
52492         2001-12-20  Bruno Haible  <bruno@clisp.org>
52493
52494                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
52495                 use malloc instead. For SunOS 4.
52496
52497         2001-12-11  Bruno Haible  <bruno@clisp.org>
52498
52499                 * setenv.c: Declare alloca.
52500                 (compar_fn_t): New typedef.
52501                 (KNOWN_VALUE, STORE_VALUE): Use it.
52502
52503         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
52504         setenv.h.
52505
52506 2002-12-10  Paul Eggert  <eggert@twinsun.com>
52507
52508         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
52509         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
52510         Choose values that are less likely to collide with system fnmatch
52511         options.
52512         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
52513         defined (e.g., a pure POSIX system).
52514         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
52515         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
52516
52517 2002-12-06  Paul Eggert  <eggert@twinsun.com>
52518
52519         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
52520         a pain in practice to deal with generated m4 files.  This change
52521         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
52522
52523         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
52524         and jm-glibc-io.m4, as they are no longer a special case.
52525         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
52526         kludge and the auto-generation stuff.  Check only whether the
52527         functions are declared, not whether they exist, since older hosts
52528         that don't declare the functions can't use the optimization anyway.
52529
52530 2002-12-06  Jim Meyering  <jim@meyering.net>
52531
52532         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
52533
52534         Merge in changes from libc's misc/error.c, in preparation
52535         for the merge of gnulib's changes back into libc.
52536
52537         * lib/error.c (_): Define only if not already defined.
52538         Move definition to follow all #include directives.
52539         Include unlocked-io.h only if !_LIBC.
52540         [_LIBC]: Include <libio/libioP.h>.
52541         [USE_IN_LIBIO]: Include <libio/iolibio.h>
52542         (fflush): Tweak definition to use INTUSE.
52543         (putc): Define.
52544
52545 2002-12-05  Paul Eggert  <eggert@twinsun.com>
52546
52547         * lib/alloca.c [defined emacs]: Include "lisp.h".
52548         (xalloc_die) [defined emacs]: New macro.
52549         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
52550         [! defined emacs]: Include <xalloc.h>.
52551         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
52552         (pointer): Typedef to POINTER_TYPE *.
52553         (malloc): Remove decl; we now always use xmalloc.
52554         (alloca): Use old-style definition, since Emacs needs this.
52555         Check for arithmetic overflow when computing combined size.
52556
52557 2002-12-04  Paul Eggert  <eggert@twinsun.com>
52558
52559         Do not generate unlocked-io.h automatically, since it's easier to
52560         maintain it by hand.
52561
52562         * lib/unlocked-io.h: New file, from GNU diffutils,
52563         but with proper copyright notice and attribution.
52564         * lib/gen-uio: Remove.
52565         * lib/Makefile.am: Add copyright notice.
52566         (libfetish_a_SOURCES): Add unlocked-io.h.
52567         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
52568         (DISTCLEANFILES, io_functions): Remove macros.
52569         (EXTRA_DIST): Remove gen_uio.
52570         (unlocked-io.h): Remove rule.
52571
52572 2002-12-04  Jim Meyering  <jim@meyering.net>
52573
52574         Reflect the fact that stat.c and lstat.c are no longer generated.
52575         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
52576         (DISTCLEANFILES): Likewise.
52577         (EXTRA_DIST): Likewise.
52578         (all_local): Don't depend on stat.c or lstat.c.
52579         (stat.c, lstat.c): Remove rules.
52580         (EXTRA_DIST): Remove xstat.in.
52581
52582         * lib/xstat.in: Remove file.  Contents moved into stat.c.
52583         * lib/stat.c: New file.  Contents mostly from xstat.in.
52584         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
52585         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
52586
52587         * lib/safe-read.c: Rework so that it may serve to define safe_write,
52588         too.
52589         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
52590
52591 2002-12-03  Jim Meyering  <jim@meyering.net>
52592
52593         * lib/safe-read.c, safe-write.c: Change variable names and comments,
52594         but not semantics, to minimize the differences between these two files.
52595         (safe_read): Change comment to mention SAFE_READ_ERROR.
52596
52597         * lib/safe-read.c (IS_EINTR): Define.
52598         (safe_read): Use IS_EINTR in place of in-function cpp directives.
52599
52600 2002-12-02  Jim Meyering  <jim@meyering.net>
52601
52602         * lib/safe-read.c (EINTR): Define.
52603         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
52604         (INT_MAX): Provide fallback.
52605         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
52606
52607         * lib/safe-read.h (SAFE_READ_ERROR): Define.
52608
52609 2002-12-02  Bruno Haible  <bruno@clisp.org>
52610
52611         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
52612         Define, taken from safe-read.c.
52613         (INT_MAX): Provide fallback.
52614         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
52615         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
52616
52617         * lib/safe-read.c (EINTR): Remove definition.
52618         (safe_read): Don't use EINTR if it is absent.
52619
52620 2002-12-01  Jim Meyering  <jim@meyering.net>
52621
52622         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
52623         zero.
52624         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
52625
52626 2002-11-27  Paul Eggert  <eggert@twinsun.com>
52627
52628         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
52629         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
52630         with `if (! (value < limit)) abort ();', for readability.
52631
52632 2002-11-26  Karl Berry  <karl@gnu.org>
52633
52634         * lib/strdup.c: copy from libc again, with jim's ok.
52635         * lib/.cppi-disable: re-add strdup.c
52636
52637 2002-11-25  Karl Berry  <karl@gnu.org>
52638
52639         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
52640         instead of "strtol.c".
52641
52642 2002-11-25  Karl Berry  <karl@gnu.org>
52643
52644         * config/install-sh: update from automake for variable quoting, $0 in
52645         error msgs, etc.
52646
52647         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
52648         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
52649         entry.
52650
52651 2002-11-25  Jim Meyering  <jim@meyering.net>
52652
52653         * lib/mktime.c: Sync from libc, now that it has the latest fix.
52654
52655 2002-11-24  Karl Berry  <karl@gnu.org>
52656
52657         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
52658         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
52659
52660 2002-11-24  Jim Meyering  <jim@meyering.net>
52661
52662         Update from coreutils:
52663
52664         * lib/mktime.c: Merge in changes from libc.
52665
52666         Avoid a link-time failure on some Linux systems.
52667         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
52668         (otherwise).
52669         (__mon_yday): Declare with the STATIC attribute.
52670         (__mktime_internal): Likewise.
52671         Based on a report from Greg Schafer.
52672
52673 2002-11-23  Jim Meyering  <jim@meyering.net>
52674
52675         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
52676         Use `unsigned', not `int', as type of index.
52677
52678         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
52679
52680         * lib/fsusage.c: Remove unneeded parentheses around operands of
52681         `defined'.
52682
52683 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52684
52685         * lib/quotearg.h: Allow multiple inclusion by surrounding with
52686         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
52687         so that we can be included first.
52688         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
52689         * lib/quotearg.c: Include quotearg.h immediately after config.h.
52690         No need to include stddef.h or sys/types.h any more.
52691         Surround local include files with "", not "<>".
52692         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
52693         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
52694         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
52695         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
52696         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
52697         (ISPRINT): Remove; no longer needed now that we assume C89.
52698
52699         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
52700         Preserve errno.
52701
52702         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
52703         quotearg_char): Use SIZE_MAX rather than
52704         (size_t) -1 when we are talking about "infinity".
52705
52706         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
52707
52708 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52709
52710         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
52711         hint that one should use `if (! x) abort ();' rather than `assert
52712         (x);', and anyway it's one less thing to worry about configuring.
52713         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
52714         hash_rehash, hash_insert): Use abort rather than assert.
52715
52716 2002-11-22  Bruno Haible  <bruno@clisp.org>
52717
52718         * lib/safe-read.h: Assume C89. Add comments.
52719         (safe_read): Change return type to size_t.
52720         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
52721         byte counts > SSIZE_MAX correctly.
52722         * lib/safe-write.h: New file.
52723         * lib/safe-write.c: New file.
52724         * lib/full-read.h: New file.
52725         * lib/full-read.c: New file.
52726         * lib/full-write.h: Assume C89. Add comments.
52727         * lib/full-write.c: Include safe-write.h.
52728         (full_write): Rewritten to use safe_write.
52729         Suggested by Jim Meyering and Paul Eggert.
52730
52731 2002-11-21  Jim Meyering  <jim@meyering.net>
52732
52733         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
52734
52735         Merge in changes from the coreutils.
52736
52737         2002-09-25  Paul Eggert  <eggert@twinsun.com>
52738         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
52739         <stdint.h>.
52740         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
52741         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
52742         int.  Work more efficiently if X is the same width as uintmax_t.
52743         Do not compare X to -1, to avoid bogus compiler warning.
52744         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
52745         Don't assume that f_frsize and f_bsize are the same type.
52746
52747         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
52748         warning on FreeBSD.
52749
52750         * lib/makepath.c (make_path): Restore umask *before* creating the final
52751         component.
52752         (make_path): Minor reformatting.
52753
52754         * lib/xmalloc.c: Adjust to work with new autoconf macros,
52755         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
52756         HAVE_MALLOC/HAVE_REALLOC.
52757
52758         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
52759         dummy ones.  At least on GNU/Linux systems, `auto' means something
52760         else.
52761         From Michael Stone.
52762
52763 2002-11-21  Bruno Haible  <bruno@clisp.org>
52764
52765         Remove case insensitive option matching.
52766         * lib/argmatch.h (argcasematch): Remove declaration.
52767         (ARGCASEMATCH): Remove macro.
52768         (__xargmatch_internal): Remove case_sensitive argument.
52769         (XARGMATCH): Update.
52770         (XARGCASEMATCH): Remove macro.
52771         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
52772         case_sensitive argument.
52773         (argcasematch): Remove function.
52774         (__xargmatch_internal): Remove case_sensitive argument.
52775         (main): Use XARGMATCH instead of XARGCASEMATCH.
52776
52777         * lib/xmalloc.c: Change compile-time error message. Add comment about
52778         required autoconf version.
52779
52780 2002-11-20  Paul Eggert  <eggert@twinsun.com>
52781
52782         Merge argmatch cleanups from Bison.  Assume C89.
52783
52784         * lib/argmatch.c: Include config.h here, not in argmatch.h.
52785         Include stdlib.h, for EXIT_FAILURE.
52786         Always include <string.h>, since we assume C89.
52787         (EXIT_FAILURE): Remove pre-C89 bug workaround.
52788         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
52789         Include <stddef.h> instead, since it's all we need for size_t.
52790         (PARAMS): Remove.  All uses removed.
52791         (ARRAY_CARDINALITY): Do not bother to #undef.
52792         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
52793         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
52794         Remove unnecessary parentheses.
52795         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
52796         Insert necessary parentheses.
52797         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
52798         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
52799
52800 2002-11-19  Bruno Haible  <bruno@clisp.org>
52801
52802         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
52803         * lib/mbswidth.h: Include <stddef.h>, for size_t.
52804
52805         * lib/mbswidth.h (PARAMS): Remove macro.
52806         (mbswidth, mbsnwidth): Use ANSI C function declarations.
52807         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
52808
52809         * lib/gcd.h (PARAMS): Remove macro.
52810         (gcd): Use ANSI C function declarations.
52811         * lib/gcd.c (gcd): Likewise.
52812
52813 2002-11-15  Bruno Haible  <bruno@clisp.org>
52814
52815         * lib/strcspn.c: Include <stddef.h>.
52816         (strcspn): Use ANSI C function declaration. Change return type to
52817         size_t. Use NULL.
52818         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
52819         (strpbrk): Use NULL.
52820         * lib/strpbrk.h (PARAMS): Remove macro.
52821         (strpbrk): Use ANSI C function declaration.
52822         * lib/strstr.c: Don't include <sys/types.h>.
52823         * lib/strstr.h (PARAMS): Remove macro.
52824         (strstr): Use ANSI C function declarations.
52825
52826 2002-11-14  Karl Berry  <karl@gnu.org>
52827
52828         * config/mkinstalldirs: `do' on separate line, instead of
52829         `for var; do'.
52830
52831 2002-11-06  Bruno Haible  <bruno@clisp.org>
52832
52833         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
52834         * lib/gcd.c (gcd): Likewise.
52835
52836 2002-11-05  Bruno Haible  <bruno@clisp.org>
52837
52838         * lib/gcd.h: New file, from gettext-0.11.5.
52839         * lib/gcd.c: New file, from gettext-0.11.5.
52840
52841 2002-11-05  Bruno Haible  <bruno@clisp.org>
52842
52843         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52844         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52845         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52846         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52847
52848         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
52849         <libintl.h>.
52850         * lib/makepath.c: Include gettext.h instead of <locale.h> and
52851         <libintl.h>.
52852
52853         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
52854         * lib/human.c: Include gettext.h instead of <libintl.h>.
52855         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
52856         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
52857         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
52858         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
52859         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
52860         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
52861         (textdomain): Remove definition.
52862         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
52863
52864         * lib/long-options.c: Remove include of <libintl.h> and definition of
52865         _.
52866         * lib/same.c: Remove include of <libintl.h> and definition of _.
52867
52868 2002-11-04  Owen Taylor  <otaylor@redhat.com>
52869
52870         * lib/config.charset: A few additions for Solaris.
52871
52872 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
52873
52874         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
52875         * lib/localcharset.c (locale_charset): Declare as extern "C".
52876
52877 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
52878
52879         * lib/config.charset: msdos in uk_UA uses CP1125.
52880
52881 2002-11-04  Bruno Haible  <bruno@clisp.org>
52882
52883         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
52884         * lib/strcase.h: New file, from GNU gettext-0.11.5.
52885         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
52886         * lib/strstr.h: New file, from GNU gettext-0.11.5.
52887         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
52888
52889 2002-11-04  Bruno Haible  <bruno@clisp.org>
52890
52891         * lib/localcharset.c (locale_charset): Don't return an empty string.
52892
52893 2002-11-04  Bruno Haible  <bruno@clisp.org>
52894
52895         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
52896         aliases.
52897
52898 2002-11-04  Bruno Haible  <bruno@clisp.org>
52899
52900         * lib/config.charset: Update for newest glibc. Add canonical names
52901         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
52902
52903 2002-11-04  Bruno Haible  <bruno@clisp.org>
52904
52905         * lib/config.charset: Add support for NetBSD.
52906
52907 2002-11-04  Bruno Haible  <bruno@clisp.org>
52908
52909         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
52910
52911 2002-11-01  Bruno Haible  <bruno@clisp.org>
52912
52913         * configure.in: Add AC_CONFIG_AUX_DIR call.
52914         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
52915         test/Makefile.
52916         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
52917
52918 2002-09-28  Karl Berry  <karl@gnu.org>
52919
52920         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
52921         installed automake until the next release, since changes have been
52922         made.
52923
52924 2002-09-25  Karl Berry  <karl@gnu.org>
52925
52926         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
52927         * lib/getopt*: copy from libc/posix.
52928         * lib/gettext.h: copy from gettext.
52929         * lib/.cppi-disable: add strdup.c, gettext.h.
52930
52931 2002-09-25  Karl Berry  <karl@gnu.org>
52932
52933         * config/srclist.txt: enable gettext.h check.
52934         * config/config.{guess,sub}: update from prep.
52935         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
52936                 from automake 1.6.3.
52937         See srclist*.
52938
52939 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
52940
52941         * regex.c (PATFETCH): Remove the translating fetch.
52942         (PATFETCH_RAW): Rename to PATFETCH.
52943         (set_image_of_range): New fun.
52944         (SET_RANGE_TABLE_WORK_AREA): Use it.
52945         (regex_compile): Don't translate the pattern chars so eagerly.
52946         Only do it when inserting an `exactn' bytecode or when handling
52947         a char-range.
52948         (mutually_exclusive_p): Avoid empty statement.
52949
52950 2002-07-06  Jim Meyering  <meyering@lucent.com>
52951
52952         * m4/README: Don't mention Makefile.am.in.
52953         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
52954
52955 2002-07-01  Jim Meyering  <meyering@lucent.com>
52956
52957         * lib/c-stack.c: Include sys/time.h.
52958         From Volker Borchert.
52959
52960 2002-06-26  Paul Eggert  <eggert@twinsun.com>
52961
52962         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
52963
52964 2002-06-26  Paul Eggert  <eggert@twinsun.com>
52965
52966         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
52967         New macro.  Use it uniformly instead of
52968         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
52969         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
52970         reported by Vin Shelton.
52971
52972 2002-06-22  Paul Eggert  <eggert@twinsun.com>
52973
52974         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
52975         Do not assume SA_SIGINFO behavior.
52976         Bug reported by Jim Meyering on NetBSD 1.5.2.
52977
52978 2002-06-22  Jim Meyering  <meyering@lucent.com>
52979
52980         * m4/c-stack.m4: New file, from diffutils-2.8.2.
52981         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
52982
52983         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
52984         now that configure.ac uses AC_GNU_SOURCE.
52985         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
52986         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
52987
52988         Update to latest tools.  Suggestions from Paul Eggert.
52989         * m4/stdbool.m4: New file, from diffutils-2.8.2.
52990         * m4/gnu-source.m4: Update from diffutils-2.8.2.
52991         * m4/fnmatch.m4: Likewise.
52992         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
52993         to AC_HEADER_STDBOOL
52994
52995 2002-06-22  Jim Meyering  <meyering@lucent.com>
52996
52997         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
52998         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
52999
53000 2002-06-22  Jim Meyering  <meyering@lucent.com>
53001
53002         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
53003
53004         * lib/exitfail.c, exitfail.h: Likewise.
53005         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
53006
53007         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
53008         of fnmatch.h.
53009         (EXTRA_DIST): Add fnmatch_loop.c.
53010         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
53011
53012         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
53013         * lib/fnmatch.c: Update from diffutils-2.8.2.
53014         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
53015         * lib/fnmatch.h: Remove file.
53016
53017 2002-06-21  Jim Meyering  <meyering@lucent.com>
53018
53019         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
53020         * m4/mbrtowc.m4: Likewise.
53021
53022         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
53023         * m4/mbswidth.m4: Reflect name change:
53024         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
53025         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
53026
53027         * m4/lib-link.m4: Update from gettext-0.11.2.
53028         * m4/gettext.m4: Likewise.
53029
53030         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
53031         From Alfred M. Szmidt.
53032
53033 2002-06-18  Paul Eggert  <eggert@twinsun.com>
53034
53035         * lib/file-type.h: Report an error if neither S_ISREG nor
53036         S_IFREG is defined, instead of using a test specific to glibc
53037         2.2.  This should be safe, since POSIX requires S_ISREG and
53038         Unix Version 7 had S_IFREG.  We don't need to check for
53039         <sys/types.h> since we don't use any symbols that it defines.
53040
53041 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
53042
53043         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
53044         $@-t, so that each temporary file name is unique and valid in the first
53045         8 characters, for operation under DOS.
53046
53047 2002-06-15  Paul Eggert  <eggert@twinsun.com>
53048
53049         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
53050
53051 2002-06-15  Jim Meyering  <meyering@lucent.com>
53052
53053         Work even with DJGPP 2.03, which lacks support for symlinks.
53054         From Richard Dawe.
53055         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
53056         is defined.
53057         * lib/lchown.c (S_ISLNK): Likewise.
53058
53059 2002-06-15  Jim Meyering  <meyering@lucent.com>
53060
53061         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
53062         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
53063         have been included before this file.
53064
53065 2002-06-14  Jim Meyering  <meyering@lucent.com>
53066
53067         * lib/file-type.h: Use the version from diffutils-2.8.2.
53068         * lib/file-type.c: Likewise.
53069
53070 2002-06-07  Jim Meyering  <meyering@lucent.com>
53071
53072         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
53073         They're needed at least for NetBSD 1.5.2.
53074         ($statxfs_includes): Include those same headers.
53075         ($statxfs_includes): Include sys/vfs.h if available.
53076         ($statxfs_includes): Likewise for sys/statvfs.h.
53077         Check for the following members in both structs statfs and statvfs:
53078         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
53079
53080 2002-06-01  Jim Meyering  <meyering@lucent.com>
53081
53082         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
53083         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
53084
53085 2002-05-28  Jim Meyering  <meyering@lucent.com>
53086
53087         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
53088         Reported by Volker Borchert.
53089
53090 2002-05-27  Jim Meyering  <meyering@lucent.com>
53091
53092         Fix a problem seen only on nonconforming systems whereby ls.c's
53093         use of localtime, and then of gettimeofday would cause trouble:
53094         the localtime call used to initialize rpl_gettimeofday's save
53095         mechanism would clobber ls's current local time information so
53096         that in any long listing the first file would always be listed
53097         with date 1970-01-01.  Analysis by Volker Borchert.
53098
53099         * lib/gettimeofday.c (localtime): Undefine.
53100         (rpl_localtime): New function.
53101
53102 2002-05-27  Jim Meyering  <meyering@lucent.com>
53103
53104         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
53105         localtime.
53106
53107         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
53108         use the replacement function; it wouldn't resolve at link time.
53109         Reported by Volker Borchert.
53110
53111 2002-05-22  Jim Meyering  <meyering@lucent.com>
53112
53113         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
53114         file-type.h.
53115         * lib/file-type.h: New file.
53116         * lib/file-type.c (file_type): New file/function.  Extracted from
53117         diffutils.
53118
53119 2002-04-30  Jim Meyering  <meyering@lucent.com>
53120
53121         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
53122
53123 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53124
53125         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
53126
53127 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53128
53129         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
53130         Do not check for alloca.h (no longer used) or stdbool.h (was never
53131         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
53132
53133 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53134
53135         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
53136
53137 2002-04-29  Jim Meyering  <meyering@lucent.com>
53138
53139         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
53140         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
53141         Use AC_FUNC_STRNLEN here instead.
53142
53143         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
53144         With autoconf-2.53a, it's part of AC_PROG_CC.
53145
53146 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53147
53148         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
53149         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
53150
53151 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53152
53153         * lib/sig2str.h, lib/sig2str.c: New files.
53154         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
53155
53156 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53157
53158         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
53159         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
53160         of 127, since 64 is the largest conceivable number for ancient
53161         nonstandard hosts.
53162         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
53163
53164 2002-04-28  Jim Meyering  <meyering@lucent.com>
53165
53166         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
53167
53168 2002-04-24  Jim Meyering  <meyering@lucent.com>
53169
53170         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
53171         (jm_PREREQ): Use it.
53172
53173         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
53174         mach/mach.h fcntl.h.
53175         Check for this function: setlocale.
53176
53177 2002-04-24  Jim Meyering  <meyering@lucent.com>
53178
53179         * lib/gettext.h: New file, from Gettext.
53180         * lib/Makefile.am (INCLUDES): Remove -I../intl.
53181         (libfetish_a_SOURCES): Add gettext.h.
53182
53183 2002-04-16  Jim Meyering  <meyering@lucent.com>
53184
53185         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
53186         ut_pid, ut_id, ut_exit.
53187
53188 2002-04-16  Jim Meyering  <meyering@lucent.com>
53189
53190         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
53191         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
53192         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
53193
53194 2002-04-12  Jim Meyering  <meyering@lucent.com>
53195
53196         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
53197         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
53198         existence of the getmntinfo function.  Needed for Darwin 5.3.
53199
53200         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
53201         This is necessary at least on Darwin 5.3.
53202
53203         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
53204         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
53205         strnlen.o in the library, and that makes some versions of ranlib
53206         object.
53207
53208 2002-04-12  Jim Meyering  <meyering@lucent.com>
53209
53210         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
53211
53212 2002-04-09  Jim Meyering  <meyering@lucent.com>
53213
53214         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
53215         to be more precise.  Rather than saying we're checking whether the
53216         function `works', say what we're testing.
53217         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
53218         Reported by Bruno Haible.
53219
53220 2002-03-10  Jim Meyering  <meyering@lucent.com>
53221
53222         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
53223         Suggestion from Santiago Vila.
53224
53225 2002-03-08  Jim Meyering  <meyering@lucent.com>
53226
53227         * lib/rename.c: Mention that this wrapper is needed also on
53228         mips-dec-ultrix4.4 systems.
53229
53230 2002-03-02  Jim Meyering  <meyering@lucent.com>
53231
53232         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
53233         not HAVE_CLOCK_SETTIME.
53234
53235 2002-02-27  Paul Eggert  <eggert@twinsun.com>
53236
53237         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
53238         Check for clock_settime.
53239
53240 2002-02-27  Paul Eggert  <eggert@twinsun.com>
53241
53242         * lib/nanosleep.h: Rename to....
53243         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
53244
53245         * lib/gettime.c: New file.
53246         * lib/settime.c: New file.
53247         * lib/stime.c: Remove.
53248
53249         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
53250         timespec.h.  Remove nanosleep.h.
53251
53252 2002-02-25  Paul Eggert  <eggert@twinsun.com>
53253
53254         * m4/acl.m4: New file.
53255         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
53256         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
53257
53258 2002-02-25  Paul Eggert  <eggert@twinsun.com>
53259
53260         * lib/acl.c, lib/acl.h: New files.
53261         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
53262
53263 2002-02-24  Jim Meyering  <meyering@lucent.com>
53264
53265         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
53266         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
53267         cause trouble.  Reported by Nelson Beebe.
53268
53269 2002-02-23  Paul Eggert  <eggert@twinsun.com>
53270
53271         * lib/path-concat.c (xpath_concat): Reorder code to pacify
53272         compilers that don't know that xalloc_die never returns.
53273
53274 2002-02-20  Jim Meyering  <meyering@lucent.com>
53275
53276         * lib/getdate.c: Regenerate using bison-1.33.
53277
53278 2002-02-17  Jim Meyering  <meyering@lucent.com>
53279
53280         * config/config.guess (main): Don't use `head -1'; it's no longer
53281         portable. Use `sed 1q' instead.
53282
53283 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
53284
53285         * m4/codeset.m4: Upgrade to gettext-0.11.
53286         * m4/gettext.m4: Upgrade to gettext-0.11.
53287         * m4/glibc21.m4: Upgrade to gettext-0.11.
53288         * m4/iconv.m4: Upgrade to gettext-0.11.
53289         * m4/isc-posix.m4: Upgrade to gettext-0.11.
53290         * m4/lcmessage.m4: Upgrade to gettext-0.11.
53291         * m4/lib-ld.m4: New file, from gettext-0.11.
53292         * m4/lib-link.m4: New file, from gettext-0.11.
53293         * m4/lib-prefix.m4: New file, from gettext-0.11.
53294         * m4/progtest.m4: Upgrade to gettext-0.11.
53295
53296 2002-02-15  Paul Eggert  <eggert@twinsun.com>
53297
53298         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
53299         (jm_PREREQ): Use it.
53300
53301 2002-02-15  Paul Eggert  <eggert@twinsun.com>
53302
53303         * lib/posixver.c, lib/posixver.h: New files.
53304         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
53305
53306 2002-02-02  Paul Eggert  <eggert@twinsun.com>
53307             Bruno Haible  <bruno@clisp.org>
53308
53309         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
53310         (fwrite_success_callback): New declaration.
53311         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
53312         print_unicode_char. Call failure callback instead of error.
53313         (fwrite_success_callback): New function.
53314         (exit_failure_callback): New function.
53315         (fallback_failure_callback): New function.
53316         (print_unicode_char): Call unicode_to_mb.
53317
53318 2002-01-26  Jim Meyering  <meyering@lucent.com>
53319
53320         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
53321         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
53322
53323 2002-01-26  Jim Meyering  <meyering@lucent.com>
53324
53325         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
53326
53327 2002-01-22  Paul Eggert  <eggert@twinsun.com>
53328
53329         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
53330
53331 2002-01-22  Jim Meyering  <meyering@lucent.com>
53332
53333         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
53334         Otherwise, some versions of automake would omit the rule that makes
53335         Makefile from Makefile.in.
53336
53337 2002-01-21  Paul Eggert  <eggert@twinsun.com>
53338
53339         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
53340         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
53341         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
53342         (memcoll): Set errno to zero if there is no error.
53343
53344         * lib/quotearg.c (quotearg_buffer_restyled):
53345         Fix bug with quoting buffers containing NUL when backslashing escapes.
53346         This bug was exposed by the other changes in this patch.
53347         (quotearg_n_options): New arg ARGSIZE.
53348         All callers changed.
53349         (quoting_options_from_style): New function.
53350         (quotearg_n_style): Use it.
53351         (quotearg_n_style_mem): New function.
53352
53353         * lib/quotearg.h (quotearg_n_style_mem): New function.
53354
53355 2002-01-19  Jim Meyering  <meyering@lucent.com>
53356
53357         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
53358         Remove useless quotes: DF_PROG="df".
53359         * m4/strnlen.m4: New file.
53360
53361 2002-01-16  Paul Eggert  <eggert@twinsun.com>
53362
53363         * lib/backupfile.c (ISDIGIT): Comment fix.
53364         * lib/getdate.y (ISDIGIT): Likewise.
53365         * lib/posixtm.c (ISDIGIT, year): Likewise.
53366         * lib/strverscmp.c (ISDIGIT): Likewise.
53367         * lib/userspec.c (ISDIGIT): Likewise.
53368
53369 2002-01-16  Jim Meyering  <meyering@lucent.com>
53370
53371         * lib/getdate.y: Add three semicolons, each just before a closing
53372         brace. Bison (as of version 1.31) no longer papers over that mistake.
53373
53374 2002-01-05  Jim Meyering  <meyering@lucent.com>
53375
53376         * lib/version-etc.c (version_etc_copyright): Update copyright year.
53377
53378 2001-12-19  Paul Eggert  <eggert@twinsun.com>
53379
53380         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
53381         not silently exit merely because the output buffer happens to
53382         have nothing pending.
53383
53384 2001-12-18  Paul Eggert  <eggert@twinsun.com>
53385
53386         See the big note in ../ChangeLog.
53387         * lib/human.c (suffixes): Prefer K to k for 1024.
53388         (generate_suffix_backwards): New function.
53389         (human_readable_inexact): Use it.
53390         * lib/xstrtol.c (__xstrtol): If there is no number but there
53391         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
53392         Accept 'K' as well as 'k'.
53393
53394 2001-12-15  Jim Meyering  <meyering@lucent.com>
53395
53396         * lib/regex.h (__restrict_arr): Update from libc.
53397
53398         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
53399         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
53400         (STREQ): Define.
53401
53402 2001-12-14  Jim Meyering  <meyering@lucent.com>
53403
53404         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
53405         Suggestion from Bruno Haible.
53406
53407 2001-12-10  Jim Meyering  <meyering@lucent.com>
53408
53409         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
53410         xrealloc, Instead, include "xalloc.h".
53411         (initbuffer): Don't cast xmalloc return value to char*.
53412         (readline): Reword comment.
53413         Don't cast xrealloc return value to char*
53414         Return NULL, not 0.
53415
53416 2001-12-09  Jim Meyering  <meyering@lucent.com>
53417
53418         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
53419         about `signed and unsigned type in conditional expression'.
53420         * lib/posixtm.c (posix_time_parse): Likewise.
53421
53422         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
53423
53424         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
53425         to avoid a pedantic warning.
53426
53427         * lib/getstr.c: Don't include assert.h.
53428         (getstr): Remove warning-evoking assertions.
53429         Return -1 if offset parameter is out of bounds.
53430         Change the type of a local from int to size_t.
53431
53432         * lib/strftime.c (my_strftime_localtime_r): Include this function
53433         definition in the `#if ! HAVE_TM_GMTOFF' block.
53434
53435         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
53436         Include xalloc.h instead.
53437
53438 2001-12-02  Jim Meyering  <meyering@lucent.com>
53439
53440         * lib/tempname.c: Don't declare getenv, thus reverting the change of
53441         2001-11-18.  It's no longer necessary, now that stdlib.h is always
53442         included.
53443
53444         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
53445         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
53446
53447 2001-11-30  Akim Demaille  <akim@epita.fr>
53448
53449         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
53450         before being defined.
53451
53452 2001-11-27  Paul Eggert  <eggert@twinsun.com>
53453
53454         * lib/quotearg.h (quotearg_n, quotearg_n_style):
53455         First arg is int, not unsigned.
53456         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
53457         (SIZE_MAX, UINT_MAX): New macros.
53458         (quotearg_n_options): Abort if N is negative.
53459         Avoid overflow check on hosts where size_t is 64 bits and int
53460         is 32 bits, as overflow is impossible there.
53461         Fix off-by-one typo that caused unnecessary reallocation.
53462
53463 2001-11-27  Jim Meyering  <meyering@lucent.com>
53464
53465         * lib/tempname.c: Merge with version from libc.
53466         * lib/regex.c: Likewise.
53467
53468         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
53469         systems for which STDC_HEADERS is 0, it was not included, resulting in
53470         a warning about an integer-to-pointer conversion problem with getenv.
53471         Reported by Volker Borchert.
53472
53473 2001-11-26  Jim Meyering  <meyering@lucent.com>
53474
53475         * lib/gtod.h: Remove file.
53476         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
53477         * lib/gettimeofday.c: Don't include gtod.h.
53478         (GTOD_init): Remove function.
53479         (rpl_gettimeofday): Do its job here instead, rather than aborting.
53480         Suggestion from Volker Borchert.
53481
53482 2001-11-23  Jim Meyering  <meyering@lucent.com>
53483
53484         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
53485         it.
53486         * lib/hash.c (struct hash_table): Define it here instead.
53487
53488 2001-11-22  Jim Meyering  <meyering@lucent.com>
53489
53490         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
53491
53492 2001-11-20  Jim Meyering  <meyering@lucent.com>
53493
53494         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
53495         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
53496
53497 2001-11-19  Jim Meyering  <meyering@lucent.com>
53498
53499         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
53500         directory.  Use "conftestXXXXXX" as the template.
53501         Suggestion from Paul Eggert.
53502
53503         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
53504         immediately, so the test doesn't mistakenly hit the max-open-files
53505         limit.
53506
53507 2001-11-18  Paul Eggert  <eggert@twinsun.com>
53508
53509         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
53510         (TEMPORARIES): New macro.
53511         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
53512         removes an artificial limitation (e.g. HP-UX 10.20, where
53513         TMP_MAX is 17576).
53514
53515 2001-11-18  Jim Meyering  <meyering@lucent.com>
53516
53517         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
53518
53519 2001-11-18  Jim Meyering  <meyering@lucent.com>
53520
53521         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
53522         on SunOS 4.
53523
53524         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
53525         files will be created before anything else.
53526
53527 2001-11-17  Paul Eggert  <eggert@twinsun.com>
53528
53529         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
53530         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
53531
53532 2001-11-17  Jim Meyering  <meyering@lucent.com>
53533
53534         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
53535         Prompted by a report from Bob Proulx.
53536
53537         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
53538         Instead, require UTILS_FUNC_MKSTEMP.
53539
53540 2001-11-17  Jim Meyering  <meyering@lucent.com>
53541
53542         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
53543         Now, that's done as part of AC_FUNC_STRTOD.
53544
53545 2001-11-17  Jim Meyering  <meyering@lucent.com>
53546
53547         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
53548         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
53549         rather than group writable.  Patch by Juan F. Codagnone.
53550
53551         * lib/readtokens.c: Remove explicit declarations of xmalloc and
53552         xrealloc, Instead, include "xalloc.h".
53553
53554         * lib/mountlist.c: Include unlocked-io.h after all system headers.
53555         Remove explicit declarations of xmalloc, xrealloc,
53556         and xstrdup.  Instead, include "xalloc.h".
53557
53558         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
53559         unlocked-io.h.
53560         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
53561         Likewise.
53562         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
53563
53564         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
53565         Reported by Padraig Brady.
53566
53567         * lib/mkstemp.c: #undef mkstemp.
53568         Include config.h.
53569         (rpl_mkstemp): Rename from mkstemp.
53570         Protoize.
53571
53572 2001-11-16  Jim Meyering  <meyering@lucent.com>
53573
53574         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
53575         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
53576         determine the amount of total physical memory, use pstat_getstatic.
53577         HPUX-11 doesn't define _SC_PHYS_PAGES.
53578         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
53579         If sysconf couldn't be used to determine the amount of available
53580         physical memory, use both pstat_getstatic and pstat_getdynamic.
53581         Based on a patch from Bob Proulx.
53582
53583 2001-11-10  Jim Meyering  <meyering@lucent.com>
53584
53585         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
53586         (jm_PREREQ): Use it.
53587
53588 2001-11-09  Jim Meyering  <meyering@lucent.com>
53589
53590         * m4/jm-macros.m4: Require autoconf-2.52f.
53591         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
53592         Use these AC_-prefixed names, not the AM_-prefixed ones.
53593
53594         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
53595
53596 2001-11-05  Jim Meyering  <meyering@lucent.com>
53597
53598         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
53599
53600 2001-11-04  Jim Meyering  <meyering@lucent.com>
53601
53602         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
53603         $DEFS.
53604
53605 2001-11-03  Jim Meyering  <meyering@lucent.com>
53606
53607         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
53608         of AC_DEFUN.
53609
53610         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
53611         know the name of the variable in the macro definition.
53612
53613 2001-11-03  Jim Meyering  <meyering@lucent.com>
53614
53615         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
53616         in argmatch_to_argument call.
53617
53618         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
53619         argument.
53620
53621         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
53622         e.g., a fault due to an attempt to free a NULL pointer.
53623
53624 2001-11-01  Jim Meyering  <meyering@lucent.com>
53625
53626         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
53627         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
53628
53629 2001-11-01  Jim Meyering  <meyering@lucent.com>
53630
53631         * lib/dirfd.c, lib/dirfd.h: New files.
53632         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
53633
53634         * lib/hash.c (hash_print) [TESTING]: Clean up.
53635
53636 2001-10-22  Paul Eggert  <eggert@twinsun.com>
53637
53638         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
53639         to avoid a warning if -Wall.
53640
53641 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
53642
53643         * README: New file
53644         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
53645         (per RMS's instructions, this is now the canonical source)
53646         * lgpl/, gpl/: New directories.
53647
53648 2001-10-21  Paul Eggert  <eggert@twinsun.com>
53649
53650         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
53651
53652 2001-10-21  Jim Meyering  <meyering@lucent.com>
53653
53654         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
53655         this code would end up calling gettext even in packages built
53656         with --disable-nls.
53657         * lib/getopt.c (_): Likewise.
53658         * lib/regex.c (_): Likewise.
53659
53660 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53661
53662         * m4/error.m4 (jm_PREREQ_ERROR):
53663         Do not invoke AC_CHECK_FUNCS with strerror_r, as
53664         AC_FUNC_STRERROR_R does that.
53665         Check for strerror declaration.
53666
53667         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
53668         are supposed to have them these days.
53669         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
53670         Merge changes from latest Autoconf CVS.
53671         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
53672         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
53673         POSIX decided to standardize on the int flavor of strerror_r.
53674
53675 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53676
53677         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
53678         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
53679         Use strerror_r that is only a macro, even if it is not a function.
53680         (strerror): Check for HAVE_DECL_STRERROR before declaring.
53681         (private_strerror): Use prototypes, not old-style function definition.
53682         (print_errno_message): New function.
53683         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
53684         char*-flavored one.
53685         (error_tail, error, error_at_line): Use it.
53686
53687 2001-10-11  Jim Meyering  <meyering@lucent.com>
53688
53689         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
53690         and quote_n (1, ... to avoid clobbering a buffer.
53691
53692 2001-10-05  Jim Meyering  <meyering@lucent.com>
53693
53694         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
53695         hash-pjw.h.
53696         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
53697         * lib/hash-pjw.h: New file.
53698
53699 2001-09-30  Jim Meyering  <meyering@lucent.com>
53700
53701         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
53702         `struct fsstat' has the `f_fstypename' member.
53703         Use that to define FS_TYPE, which is now used to make
53704         the getfsstat link test tighter.
53705
53706 2001-09-30  Jim Meyering  <meyering@lucent.com>
53707
53708         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
53709         Include <sys/ucred.h>, for Apple Darwin.
53710         Include sys/mount.h and sys/fs_types.h only if available.
53711         (FS_TYPE): Define.
53712         (read_filesystem_list): Use FS_TYPE.
53713
53714 2001-09-29  Paul Eggert  <eggert@twinsun.com>
53715
53716         * lib/exclude.c (excluded_filename): 0 -> false, since it's
53717         a boolean context.
53718
53719 2001-09-29  Jim Meyering  <meyering@lucent.com>
53720
53721         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53722         [one-argument getmntent function]): Include stdio.h before mntent.h.
53723         SunOS 4.1.x needs it for the declaration of `FILE'.
53724         Patch by Volker Borchert.
53725
53726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53727         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
53728         sys/fs_types.h, and make the link-test for getfsstat guard #include
53729         directives with appropriate #if HAVE_*_H tests so that we can
53730         detect getfsstat on Apple Darwin1.3.7 systems.
53731         Reported by Nelson Beebe.
53732         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
53733
53734 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53735
53736         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53737         #defines strtoimax.  Also treat the other strto* functions
53738         like strtoimax.
53739
53740         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
53741         Check for strtoul and strtoumax,
53742         as those declarations are made even in the signed case.
53743         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
53744         Likewise, for strtol and strtoimax.
53745
53746 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53747
53748         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53749         #defines strtoimax.  Also treat the other strto* functions
53750         like strtoimax.
53751
53752         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
53753         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
53754         (strtoimax, strtoumax): Do not declare if already defined as a macro.
53755
53756 2001-09-26  Jim Meyering  <meyering@lucent.com>
53757
53758         Most macros in unlocked-io.h had the wrong number of arguments.
53759         * lib/gen-uio: New script.
53760         (USE_UNLOCKED_IO): Define to 1 if not already defined.
53761         * lib/unlocked-io.hin: Remove file.
53762         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
53763         rather than trying to embed it here.
53764         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
53765         Reported by Padraig Brady.
53766
53767 2001-09-25  Volker Borchert  <bt@teknon.de>
53768
53769         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
53770         `result'.
53771
53772 2001-09-24  Jim Meyering  <meyering@lucent.com>
53773
53774         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
53775
53776 2001-09-23  Jim Meyering  <meyering@lucent.com>
53777
53778         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
53779         instead of the mere test for existence of mntent.h.  The latter
53780         would get a false-positive on AIX 3.4 systems.
53781         In the outer getmntent if-block, don't die if neither of the getmntent
53782         tests succeeds.  Instead, just fall through and continue with the
53783         remaining tests.
53784
53785 2001-09-23  Jim Meyering  <meyering@lucent.com>
53786
53787         * lib/mountlist.c: Remove useless parentheses in #if directives.
53788         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
53789         the deprecated MOUNTED symbol is no longer defined in mntent.h.
53790
53791 2001-09-22  Jim Meyering  <meyering@lucent.com>
53792
53793         * m4/gettext.m4: New file.  From gettext.
53794         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
53795         * m4/progtest.m4: Likewise
53796         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
53797         * m4/glibc21.m4: Likewise.
53798
53799         * m4/libintl.m4: Remove.  No longer used.
53800
53801 2001-09-22  Jim Meyering  <meyering@lucent.com>
53802
53803         * lib/localcharset.c: Update from latest gettext.
53804         * lib/config.charset: Likewise.
53805
53806 2001-09-20  Jim Meyering  <meyering@lucent.com>
53807
53808         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
53809         strtoimax.
53810         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
53811         strtoumax.
53812
53813 2001-09-20  Jim Meyering  <meyering@lucent.com>
53814
53815         * lib/xstrtol.c (strtoimax): Guard declaration with
53816         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
53817         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
53818         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
53819         (strtoumax): Likewise, for completeness (it wasn't necessary).
53820
53821 2001-09-17  Paul Eggert  <eggert@twinsun.com>
53822
53823         * lib/strtoimax.c (HAVE_LONG_LONG):
53824         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
53825         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
53826         to work around bug in IBM C compiler.
53827
53828 2001-09-17  Jim Meyering  <meyering@lucent.com>
53829
53830         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
53831         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
53832         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
53833         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
53834         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
53835         whenever the right hand side need not be expanded by the shell.
53836
53837 2001-09-16  Paul Eggert  <eggert@twinsun.com>
53838
53839         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
53840         library.  It's not correct, as some older glibcs are buggy.
53841         fnmatch wasn't fixed until glibc 2.2.
53842
53843         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
53844         special shell magic here.
53845
53846 2001-09-16  Jim Meyering  <meyering@lucent.com>
53847
53848         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
53849         * m4/jm-macros.m4: Require it.
53850
53851 2001-09-16  Jim Meyering  <meyering@lucent.com>
53852
53853         * lib/mkdir.c: New file.
53854
53855 2001-09-15  Jim Meyering  <meyering@lucent.com>
53856
53857         * m4/jm-macros.m4: Check for help2man.
53858
53859 2001-09-11  Jim Meyering  <meyering@lucent.com>
53860
53861         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
53862         The body, by Paul Eggert, was moved here from configure.in.
53863         * m4/jm-macros.m4: Require UTILS_HOST_OS.
53864
53865 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53866
53867         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
53868         (jm_PREREQ): Use it.
53869
53870 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53871
53872         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
53873         Use ssize_t, not int, to store result of readlink.
53874         Check for ssize_t overflow as well as size_t overflow,
53875         as POSIX says the result of readlink is implementation-defined
53876         when ssize_t overflows.
53877         Remove unnecessary cast to char*.
53878         Use free+malloc instead of realloc, as the storage doesn't need
53879         to be preserved and it's clearer and can be more efficient that way.
53880         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
53881         * lib/xreadlink.h (xreadlink): Update prototype.
53882
53883 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53884
53885         * lib/xgetcwd.c: Revert some of the previous change; intead,
53886         fix the HAVE_GETCWD_NULL code to behave more like the
53887         !HAVE_GETCWD_NULL code used to.
53888
53889         Include "xalloc.h".
53890         (xgetcwd): Do not return NULL when memory is exhausted; instead,
53891         invoke xalloc_die.
53892
53893 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53894
53895         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
53896         sys/param.h, as pathmax.h includes them.
53897
53898 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53899
53900         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
53901         (jm_PREREQ_XGETCWD): New macro.
53902
53903         * m4/getcwd.m4: New file.
53904
53905 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53906
53907         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
53908         like the HAVE_GETCWD_NULL code.
53909         Include pathmax.h if not HAVE_GETCWD.
53910         Do not include xalloc.h.
53911         (INITIAL_BUFFER_SIZE): New symbol.
53912         Do not use xmalloc / xrealloc, since the caller is responsible for
53913         handling errors.  Preserve errno around `free' during failure.
53914         Do not overrun buffer when using getwd.
53915
53916 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53917
53918         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
53919         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
53920         getcwd (NULL, 0).
53921
53922 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53923
53924         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
53925         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
53926         spotted by Jim Meyering.
53927
53928 2001-09-03  Jim Meyering  <meyering@lucent.com>
53929
53930         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
53931         failure.
53932
53933 2001-09-02  Jim Meyering  <meyering@lucent.com>
53934
53935         * lib/error.c: Update from GNU libc.
53936
53937 2001-09-01  Jim Meyering  <meyering@lucent.com>
53938
53939         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
53940         Used by df.
53941
53942 2001-09-01  Jim Meyering  <meyering@lucent.com>
53943
53944         * lib/xreadlink.c: New file.
53945         * lib/xreadlink.h: New file.
53946         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
53947         xreadlink.h.
53948
53949         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
53950         doesn't conflict with sparc Solaris 7's definition in
53951         /usr/include/sys/int_types.h.
53952
53953         * lib/exclude.c: Use `""', not `<>' to #include non-system header
53954         files.
53955         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
53956         and strncasecmp as r-values.  Unixware didn't have declarations.
53957
53958 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53959
53960         * lib/xstrtol.h: Add copyright notice.
53961         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
53962         LONGINT_INVALID_SUFFIX_CHAR.
53963
53964 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53965
53966         * lib/xstrtol.c (strtoimax): New decl.
53967
53968 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53969
53970         * lib/xgetcwd.c: Don't include pathmax.h.
53971         Include stdlib.h and unistd.h if available.
53972         Include xalloc.h.
53973         (xmalloc, xstrdup, free): Remove decls.
53974         (xgetcwd): Don't assume sizes fit in unsigned.
53975         Check for overflow when computing sizes.
53976         Simplify reallocation code.
53977
53978 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53979
53980         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
53981         a directory's st_size can have an arbitrary value, so the old
53982         usage could waste an arbitrary amount of memory.  All uses
53983         changed.
53984         * lib/savedir.h: Update prototype.
53985
53986 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53987
53988         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
53989
53990         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
53991         old strtoimax.c.
53992
53993         Also, make the following further changes to make this file's
53994         configuration more similar to that of strtol.c:
53995         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
53996         (strtoumax, uintmax_t, strtoull, strtol): Remove.
53997         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
53998         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
53999         changed to signed values.
54000
54001         And make the following changes as well:
54002         Fix copyright notice, as 1999 was missing.
54003         (verify): New macro.
54004         (strtoimax): Check sizes at compile-time, not run-time.
54005         Prefer strtol to strtoll if both work.
54006         (main): Remove; it was not that useful and was a pain to maintain.
54007
54008         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
54009
54010 2001-08-31  Jim Meyering  <meyering@lucent.com>
54011
54012         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
54013         Use an initial, malloc'd, buffer of length 128 rather than
54014         a statically allocated one of length 1024.
54015
54016 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54017
54018         Simplify code, partly by assuming autoconf 2.52 semantics.
54019
54020         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
54021
54022         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
54023         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
54024         All uses removed.
54025         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
54026         Move AC_REQUIRE to next-to-top level, to avoid confusion.
54027         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
54028         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
54029         jm_AC_HEADER_INTTYPES_H.
54030         * m4/jm-macros.m4 (jm_MACROS): Likewise.
54031
54032         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
54033
54034         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
54035         Quote first arg of AC_DEFUN.
54036         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
54037         since they are needed to parse the include file even if we need
54038         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
54039         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
54040         but with opposite signedness.
54041
54042 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54043
54044         Merge 'exclude' changes from tar 1.13.22.
54045         This fixes one or two unlikely storage allocation overflow bugs,
54046         but doesn't change user-visible behavior otherwise.
54047
54048 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54049
54050         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
54051         (jm_PREREQ_EXCLUDE): New macro.
54052
54053 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54054
54055         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
54056         tm to be declared.
54057
54058 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54059
54060         * lib/hash.c: Remove '2001' from copyright notice.
54061
54062 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54063
54064         * lib/full-write.h: New file.
54065         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
54066         * lib/full-write.c: Correct credits, as cccp.c no longer
54067         exists and anyway it was so heavily changed from the old cccp
54068         code as to be unrecognizable.  Include full-write.h.
54069         (full_write) Return size_t, with short writes meaning failure.
54070         All callers changed.  This fixes a bug with large buffers
54071         on 64-bit hosts.
54072         * lib/utime.c: Include full-write.h.
54073
54074 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54075
54076         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
54077         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
54078         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
54079         Include if available.
54080         (<xalloc.h>): Include
54081         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
54082         (verify): New macro.  Use it to verify that EXCLUDE macros do not
54083         collide with FNM macros.
54084         (struct patopts): New struct.
54085         (struct exclude): Use it, as exclude patterns now come with options.
54086         (new_exclude): Support above changes.
54087         (new_exclude, add_exclude_file):
54088         Initial size must now be a power of two to simplify overflow checking.
54089         (free_exclude, fnmatch_no_wildcards): New function.
54090         (excluded_filename): No longer requires options arg, as the options
54091         are determined by add_exclude.  Now returns bool, not int.
54092         (excluded_filename, add_exclude):
54093         Add support for the fancy new exclusion options.
54094         (add_exclude, add_exclude_file): Now takes int options arg.
54095         Check for arithmetic overflow when computing sizes.
54096         (add_exclude_file): xrealloc might modify errno, so don't
54097         realloc until after errno might be used.
54098
54099         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
54100         New macros.
54101         (free_exclude): New decl.
54102         (add_exclude, add_exclude_file): Now takes int options arg.
54103         (excluded_filename): No longer requires options arg, as the options
54104         are determined by add_exclude.  Now returns bool, not int.
54105
54106 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54107
54108         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
54109
54110 2001-08-27  Jim Meyering  <meyering@lucent.com>
54111
54112         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
54113
54114         * lib/version-etc.c (N_): Remove definition.
54115         Revert most of last change.
54116         Instead, simply don't mark the `Copyright...' string for translation.
54117         Based on advice from Paul Eggert.
54118
54119         * lib/strtoxmax.c: Tweak comment.
54120
54121 2001-08-26  Jim Meyering  <meyering@lucent.com>
54122
54123         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
54124
54125         * m4/xstrtoimax.m4: New file.
54126         * m4/xstrtoumax.m4: Add comments explaining why we
54127         AC_REPLACE_FUNCS(strtol).
54128
54129 2001-08-26  Jim Meyering  <meyering@lucent.com>
54130
54131         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
54132         of copyright with `%s' so translators don't get an untranslated
54133         message in 2002.
54134         (COPYRIGHT_YEAR): Define.
54135         (version_etc): Use fprintf rather than fputs.
54136         Suggestion from Ulrich Drepper.
54137
54138         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
54139
54140         * lib/strtoll.c: New file, from GNU libc.
54141         * lib/xstrtoimax.c: New file.
54142
54143         * lib/xstrtol.h: Add xstrtoimax.
54144         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
54145         * lib/strtoimax.c: New file.  Likewise, but first define
54146         STRTOUXMAX_SIGNED.
54147
54148         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
54149         ...
54150         * lib/strtoxmax.c: ... then renamed to this.
54151
54152 2001-08-18  Paul Eggert  <eggert@twinsun.com>
54153
54154         * m4/inttypes.m4: Add AC_PREREQ(2.13).
54155         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
54156         (jm_AC_TYPE_INTMAX_T): New macro.
54157         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
54158
54159         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
54160
54161         * m4/longlong.m4: Renamed from ulonglong.m4.
54162         * m4/inttypes.m4: Renamed from inttypes_h.m4.
54163         * m4/uintmax_t.m4: Removed.
54164
54165 2001-08-13  Paul Eggert  <eggert@twinsun.com>
54166
54167         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
54168         Port to Solaris 8, where 'sed' requires a space after the 'r'
54169         command, and where sh dislikes "$/".  Clean up the spacing a bit.
54170         Redirect output to $tmp just once.
54171
54172 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
54173
54174         * lib/addext.c (<errno.h>): Include.
54175         (errno): Declare if not defined.
54176         (addext): Work correctly when pathconf returns -1 and leaves
54177         errno alone because there is no limit.  Also, work even if
54178         pathconf returns a value greater than SIZE_MAX.
54179
54180 2001-08-12  Jim Meyering  <meyering@lucent.com>
54181
54182         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
54183         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
54184         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
54185         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
54186         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
54187         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
54188         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
54189         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
54190         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
54191         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
54192         utime.m4, utimes.m4, xstrtoumax.m4:
54193         Quote the first argument in each use of AC_DEFUN.
54194
54195 2001-08-12  Jim Meyering  <meyering@lucent.com>
54196
54197         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
54198         Simply `return getcwd (NULL, 0);'.
54199         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
54200         Use 1300 as initial value for length, not PATH_MAX.
54201
54202         * lib/pathmax.h: Clean up cpp syntax.
54203
54204 2001-08-12  Jim Meyering  <meyering@lucent.com>
54205
54206         * lib/gettimeofday.c: New file.
54207         * lib/gtod.h: New file.
54208         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
54209
54210 2001-08-05  Jim Meyering  <meyering@lucent.com>
54211
54212         * m4/jm-macros.m4: Require autoconf-2.52.
54213
54214 2001-08-04  Jim Meyering  <meyering@lucent.com>
54215
54216         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
54217         stmt, to get in sync with glibc.
54218
54219 2001-08-03  Paul Eggert  <eggert@twinsun.com>
54220
54221         The following changes are from gettext 0.10.39 as maintained by
54222         Bruno Haible.
54223
54224         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
54225         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
54226         with inverted sense.  All uses changed.
54227
54228         * lib/mbswidth.c: Don't include <limits.h>.
54229         Include <stdlib.h> and <string.h> unconditionally.
54230         (iswcntrl, mbsinit, ISCNTRL): New macros.
54231         (mbsnwidth): Use K&R style function declarations.
54232         Don't bother checking for MB_LEN_MAX == 1, since the compiler
54233         can optimize it when MB_CUR_MAX == 1.
54234         The width of control characters is zero, not 1.
54235
54236 2001-08-03  Paul Eggert  <eggert@twinsun.com>
54237
54238         The following changes are from gettext 0.10.39 as maintained by
54239         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
54240
54241         * m4/codeset.m4: Upgrade to serial AM1.
54242         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
54243         all uses changed.  Quote first arg of AC_DEFUN.
54244         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
54245
54246         * m4/iconv.m4: Upgrade to serial AM2.
54247         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
54248         Add --with-libconv-prefix.
54249         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
54250         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
54251         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
54252         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
54253         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
54254
54255         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
54256         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
54257         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
54258         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
54259         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
54260         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
54261         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
54262         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
54263         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
54264
54265         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
54266         string.h any more.
54267
54268         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
54269         not the default value.
54270
54271         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
54272         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
54273         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
54274         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
54275         Also check for iswcntrl, used for wcwidth fallback.
54276         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
54277         to Autoconf 2.13.
54278
54279 2001-08-03  Jim Meyering  <meyering@lucent.com>
54280
54281         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
54282         as it was in the original.  Reported by Paul Eggert.
54283
54284 2001-07-16  Jim Meyering  <meyering@lucent.com>
54285
54286         * m4/gettimeofday.m4: New file.
54287         Prompted by a report from Bernhard Baehr.
54288
54289 2001-07-15  Jim Meyering  <meyering@lucent.com>
54290
54291         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
54292         stuff. Now it's in ../Makefile.cfg.
54293
54294 2001-07-15  Jim Meyering  <meyering@lucent.com>
54295
54296         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
54297         (BUILT_SOURCES): Add unlocked-io.h.
54298         (io_functions): Define.
54299         (unlocked-io.h): New rule.
54300         (DISTCLEANFILES): Add unlocked-io.h.
54301         (all-local): Depend on unlocked-io.h, to ensure it is created.
54302
54303         * lib/unlocked-io.hin: New file
54304
54305         * lib/regex.c: Update from glibc.
54306
54307 2001-07-05  Jim Meyering  <meyering@lucent.com>
54308
54309         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
54310         recommendation.
54311         (libfetish_a_SOURCES): Put all .h files here instead.
54312         Remove a thus-exposed (better checks in automake) duplicate and
54313         two unnecessary .h files.
54314
54315 2001-07-04  Jim Meyering  <meyering@lucent.com>
54316
54317         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
54318         that generates jm-glibc-io.m4 so that it doesn't trigger any make
54319         distcheck failure.
54320
54321 2001-07-02  Jim Meyering  <meyering@lucent.com>
54322
54323         The following changes were prompted by suggestions from Bruno Haible.
54324
54325         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
54326         is now generated.
54327         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
54328         definition of EXTRA_DIST.
54329         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
54330         ensure that the generated file is created/updated whenever the list
54331         of $(unlocked_functions) is changed.
54332         (jm-glibc-io.m4): New rule.
54333         (unlocked-io.h): New rule -- currently unused.
54334
54335 2001-06-24  Jim Meyering  <meyering@lucent.com>
54336
54337         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
54338         unmatched right bracket, rather than kludging it with an extra,
54339         falsely-matching quote in a comment.  Patch by Akim Demaille.
54340
54341 2001-06-11  Jim Meyering  <meyering@lucent.com>
54342
54343         * lib/regex.c: Update from GNU libc.
54344
54345 2001-05-27  Jim Meyering  <meyering@lucent.com>
54346
54347         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
54348         Check for ut_type in struct utmp.
54349
54350 2001-05-27  Jim Meyering  <meyering@lucent.com>
54351
54352         * lib/readutmp.h (UT_TYPE): Define.
54353
54354 2001-05-24  Jim Meyering  <meyering@lucent.com>
54355
54356         * lib/argmatch.c: Include "quote.h".
54357         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
54358         quote function.  Reported by Göran Uddeborg.
54359
54360 2001-05-22  Jim Meyering  <meyering@lucent.com>
54361
54362         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
54363         now that we use the package-supplied version unconditionally.
54364         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
54365
54366 2001-05-21  Jim Meyering  <meyering@lucent.com>
54367
54368         * m4/regex.m4: Change a couple backticks to single quotes to avoid
54369         shell syntax errors.
54370
54371 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54372
54373         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
54374
54375 2001-05-20  Paul Eggert  <eggert@twinsun.com>
54376
54377         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
54378         Don't bother to check library strftime, since
54379         we'll be using our own my_strftime function anyway.
54380         Define my_strftime instead of strftime.
54381
54382 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
54383
54384         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
54385         which is not yet declared.
54386
54387 2001-05-15  Jim Meyering  <meyering@lucent.com>
54388
54389         * m4/regex.m4: Use proper quoting so brackets appear in the test
54390         program.
54391         Reported by, and with help from, Bruno Haible.
54392
54393 2001-05-13  Jim Meyering  <meyering@lucent.com>
54394
54395         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
54396         undefined.
54397
54398 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54399
54400         dirname code cleanup.  base_name now behaves more compatibly
54401         with POSIX basename when given file names that have trailing
54402         slashes, and similarly for dir_name.  Add new primitives
54403         base_len and dir_len.  Put the directory-name-related decls
54404         into dirname.h.
54405
54406         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
54407         * lib/backupfile.c (base_name): Likewise.
54408         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
54409         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
54410         * lib/makepath.c (strip_trailing_slashes): Likewise.
54411         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
54412         ISSLASH): Likewise.
54413         * lib/rename.c (strip_trailing_slashes): Likewise.
54414         * lib/same.c (base_name): Likewise.
54415         * lib/stripslash.c (ISSLASH): Likewise.
54416
54417         * lib/addext.c: Include <dirname.h> after size_t is defined.
54418         * lib/backupfile.c: Likewise.
54419
54420         * lib/addext.c (addext): Use base_len to trim redundant
54421         trailing slashes instead of doing it ourselves.
54422         But do not trim the last slash if it is not redundant.
54423
54424         * lib/backupfile.c (find_backup_file_name,
54425         max_backup_version): Use base_len instead of rolling it ourselves.
54426         Handle the case of "" and (on DOS) "C:" correctly.
54427
54428         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
54429         needed. Include <string.h>, <dirname.h>.
54430         (base_name): Allow file names ending in slashes, other than names
54431         that are all slashes.  In this case, return the basename followed
54432         by the slashes.  This is more general, and can be used in places
54433         where the original base_name purposely had an assertion failure.
54434         (base_len): New function.
54435
54436         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
54437         Do not include <assert.h>; no longer needed.
54438         Include xalloc.h.
54439         (memrchr): Remove decl.
54440         (dir_name_r): Remove.
54441         (dir_len): Renamed from dirlen.  All callers changed.
54442         Rewrite in terms of base_name, for simplicity and consistency.
54443         (dir_name): Never return NULL.  All callers changed.
54444         Do not include <stdlib.h> in test program; no longer needed.
54445         return 0; is fine for test program.
54446
54447         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
54448         New macros.
54449         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
54450
54451         * lib/path-concat.c (path_concat): Use base_len to compute
54452         base length, not strlen; this means we cannot rely on memcpy
54453         to null-terminate.
54454
54455         * lib/same.c (STREQ): Remove.
54456         (same_name): Handle the case where the basename ends in trailing '/'.
54457
54458         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
54459         a slash was stripped.  Do not strip the last slash after a
54460         file system prefix.
54461
54462 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54463
54464         * lib/Makefile.am (libfetish_a_SOURCES):
54465         Add strftime.c, since we now compile it on all hosts.
54466
54467         * lib/strftime.c (my_strftime):
54468         Define to nstrftime if emacs, but only if my_strftime is not defined.
54469         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
54470         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
54471         Add one more extra argument: a nanoseconds value.
54472         All uses changed.
54473         (ns): New macro.
54474         (my_strftime function): Add %N format.
54475         (emacs_strftimeu): Renamed from emacs_strftime,
54476         with extra ut argument.
54477
54478 2001-05-09  Paul Eggert  <eggert@twinsun.com>
54479
54480         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
54481
54482 2001-04-21  Jim Meyering  <meyering@lucent.com>
54483
54484         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
54485         doesn't interfere.
54486
54487 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54488
54489         * m4/ftruncate.m4: Check for chsize.
54490         Link with ftruncate.o unconditionally if ftruncate is missing.
54491         This was required when cross-compiling to i586-mingw32msvc.
54492
54493 2001-04-08  Jim Meyering  <meyering@lucent.com>
54494
54495         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
54496         recomputed; that's necessary when the offset spans a DST transition.
54497         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
54498
54499 2001-04-02  Jim Meyering  <meyering@lucent.com>
54500
54501         * lib/regex.h, regex.c: Update from GNU libc.
54502
54503 2001-03-24  Jim Meyering  <meyering@lucent.com>
54504
54505         * m4/jm-macros.m4: Require autoconf-2.49d.
54506
54507 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
54508
54509         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
54510
54511 2001-03-19  Paul Eggert  <eggert@twinsun.com>
54512
54513         * lib/version-etc.c (version_etc_copyright): Update to 2001.
54514
54515 2001-03-17  Jim Meyering  <meyering@lucent.com>
54516
54517         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
54518         now that the version in autoconf is equivalent.
54519         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
54520
54521         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
54522         Suggestion from Akim Demaille.
54523
54524         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
54525         (jm_PREREQ_TEMPNAME): New function.
54526
54527 2001-03-16  Paul Eggert  <eggert@twinsun.com>
54528
54529         * lib/tempname.c (uint64_t): Define to uintmax_t if
54530         not defined, and if UINT64_MAX is not defined.
54531         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
54532         Reported by John David Anglin.
54533
54534 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
54535
54536         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
54537         resolve alias if codeset is empty.
54538         * lib/config.charset (BeOS): Use wildcard syntax.
54539
54540 2001-03-13  Jim Meyering  <meyering@lucent.com>
54541
54542         * lib/path-concat.c (path_concat)
54543         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
54544         concatenating e.g., `C:' and `foo'.
54545         From Bruno Haible.
54546
54547 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54548
54549         * lib/localcharset.c (locale_charset): Don't use
54550         setlocale(LC_CTYPE,NULL). Don't return NULL.
54551         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
54552
54553 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54554
54555         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
54556         support for DOS/DJGPP.
54557
54558 2001-03-01  Paul Eggert  <eggert@twinsun.com>
54559
54560         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
54561         lacks mkstemp.  Compile our own tempname.c if we compile our own
54562         mkstemp.c, as mkstemp relies on tempname.
54563
54564 2001-03-01  Jim Meyering  <meyering@lucent.com>
54565
54566         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
54567         AH_VERBATIM really does output its argument verbatim.
54568
54569 2001-02-28  Paul Eggert  <eggert@twinsun.com>
54570
54571         * lib/Makefile.am (libfetish_a_SOURCES):
54572         Add dup-safer.c, fopen-safer.c.
54573         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
54574
54575         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
54576         * lib/unistd-safer.h: New files.
54577
54578 2001-02-25  Paul Eggert  <eggert@twinsun.com>
54579
54580         The mkstemp replacement is taken from glibc 2.2.2, with some
54581         portability fixes for use outside glibc, as follows:
54582
54583         * lib/tempname.c (struct_stat64): New macro.
54584         (direxists, __gen_tempname): Use it.
54585         This avoids a portability problem with Solaris 8.
54586
54587         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
54588         (<stddef.h>, <stdint.h>, <string.h>):
54589         Include only if STDC_HEADERS || _LIBC.
54590         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
54591         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
54592         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
54593         (__set_errno): Define this macro if <errno.h> doesn't.
54594         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
54595         Define these macros if <stdio.h> doesn't.
54596         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
54597         Define these macros if <sys/stat.h>
54598         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
54599         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
54600         __xstat64): Define if not _LIBC.
54601         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
54602         (__gen_tempname): Invoke gettimeofday only if
54603         HAVE_GETTIMEOFDAY || _LIBC;
54604         otherwise, fall back on plain "time".
54605         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
54606
54607         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
54608
54609         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
54610
54611 2001-02-18  Paul Eggert  <eggert@twinsun.com>
54612
54613         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
54614
54615 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54616
54617         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
54618         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
54619         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
54620         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
54621
54622 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54623
54624         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
54625         Remove workaround macros for hosts that have mbrtowc but not
54626         mbstate_t, as we now insist on proper declarations for both
54627         before using mbrtowc.
54628
54629 2001-02-17  Jim Meyering  <meyering@lucent.com>
54630
54631         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
54632         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
54633         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
54634         UnixWare 7.1.1.
54635
54636         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
54637         rather than AC_CACHE_VAL.
54638
54639 2001-02-17  Jim Meyering  <meyering@lucent.com>
54640
54641         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
54642         around included file name.
54643
54644         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
54645
54646         * lib/strftime.c: Update from GNU libc (the only changes were to
54647         comments).
54648
54649 2001-02-17  Jim Meyering  <meyering@lucent.com>
54650
54651         * lib/regex.c: Update from libc.
54652
54653 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
54654
54655         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
54656         clash.
54657
54658 2001-02-16  Paul Eggert  <eggert@twinsun.com>
54659
54660         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
54661         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
54662         Reported by Mark Hounschell via Paul Eggert.
54663
54664 2001-02-07  Jim Meyering  <meyering@lucent.com>
54665
54666         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
54667
54668 2001-02-05  Jim Meyering  <meyering@lucent.com>
54669
54670         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
54671         it includes the patch required for `large file' support with at least
54672         HP-UX's 10.20 /bin/cc.
54673
54674 2001-02-03  Jim Meyering  <meyering@lucent.com>
54675
54676         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
54677         AS_IF, now that it works once again (mysteriously).
54678         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54679
54680 2001-01-30  Jim Meyering  <meyering@lucent.com>
54681
54682         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
54683         * m4/chown.m4: Rename conftestchown to conftest.chown.
54684         * m4/rename.m4: s/conftestdir/conftest.d1/ and
54685         s/conftestdir2/conftest.d2/.
54686         * m4/utimes.m4: s/conftestdata/conftest.data/
54687         Inspired by Pavel Roskin's change in autoconf.
54688
54689 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
54690
54691         * lib/config.charset: Update for FreeBSD 4.2.
54692
54693 2001-01-27  Jim Meyering  <meyering@lucent.com>
54694
54695         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
54696         a use of AS_IF.
54697         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54698
54699 2001-01-26  Jim Meyering  <meyering@lucent.com>
54700
54701         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
54702         quotearg.c includes it.
54703
54704 2001-01-26  Jim Meyering  <meyering@lucent.com>
54705
54706         * lib/quotearg.c: Include stddef.h.
54707         * lib/quote.c: Include stddef.h.
54708         Reported by Axel Kittenberger.
54709
54710         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
54711         line in double quotes so that it evokes a better diagnostic.
54712         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
54713         Reported by Axel Kittenberger.
54714
54715 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
54716
54717         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
54718         as if it was a `charset'.
54719
54720 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54721
54722         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
54723         has const.
54724
54725 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54726
54727         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
54728         to avoid a warning.  Add back 'const' to inptr.
54729
54730 2001-01-20  Jim Meyering  <meyering@lucent.com>
54731
54732         Be sure that headers are checked before used in code compiled
54733         for the type checks.
54734         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
54735         In place of that, invoke jm_CHECK_ALL_TYPES.
54736         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
54737         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
54738         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
54739         The check for ssize_t was mistakenly run before the test for unistd.h.
54740
54741         The configure-time check for stdbool.h was missing.
54742         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
54743         (jm_PREREQ_HASH): New function.
54744
54745 2001-01-17  Jim Meyering  <meyering@lucent.com>
54746
54747         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
54748         for autoconf-2.49c.
54749         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
54750
54751 2001-01-16  Jim Meyering  <meyering@lucent.com>
54752
54753         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
54754         From Bruno Haible.
54755
54756 2001-01-14  Jim Meyering  <meyering@lucent.com>
54757
54758         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
54759         foo and bar.  Create conftestdir/ in the script, not in the C code.
54760         Remove directories in the script, not in the C code.
54761         Remove conftestdir{,2} before trying to create the directory.
54762         Make the entire configure script fail if the mkdir fails.
54763
54764 2001-01-14  Jim Meyering  <meyering@lucent.com>
54765
54766         * lib/rename.c: New file.  From Volker Borchert.
54767         Include stdlib.h, string.h or strings.h, and xalloc.h.
54768         Use strip_trailing_slashes rather than open-coding it.
54769
54770 2001-01-03  Paul Eggert  <eggert@twinsun.com>
54771
54772         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
54773
54774 2001-01-03  Jim Meyering  <meyering@lucent.com>
54775
54776         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
54777         of local `inptr' to avoid warning with some system declarations of
54778         iconv.
54779
54780 2001-01-02  Volker Borchert  <bt@teknon.de>
54781
54782         * m4/rename.m4: New file.
54783         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
54784
54785 2001-01-01  Jim Meyering  <meyering@lucent.com>
54786
54787         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
54788         even on systems with utmpx.h.  It's necessary for the declaration of
54789         utmp's ut_user member.  Reported by Andreas Jaeger.
54790
54791         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
54792         available. They are required for the declarations of getgrgid and
54793         getpwuid resp.
54794         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
54795         Reported by Andreas Jaeger.
54796
54797 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
54798
54799         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
54800         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
54801         so `make install' also works in VPATH builds.
54802
54803 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
54804
54805         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
54806         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
54807         can be used in subdirectories.
54808
54809 2000-12-29  Paul Eggert  <eggert@twinsun.com>
54810
54811         * lib/modechange.c: Do not assume that mode_t uses the
54812         traditional octal encoding.  E.g. "chmod 1 FOO" should set
54813         the other-execute bit of FOO even if S_IXOTH != 1.
54814
54815         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
54816         WOTH, XOTH, ALLM): New macros.
54817         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
54818          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
54819         Use them.
54820         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
54821         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
54822         (mode_compile):
54823         No need to use uintmax_t; unsigned long is long enough.
54824         Don't bother to get suffix since we don't use it.
54825
54826 2000-12-26  Jim Meyering  <meyering@lucent.com>
54827
54828         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
54829         better with autoheader.
54830
54831 2000-12-24  Jim Meyering  <meyering@lucent.com>
54832
54833         * lib/hash.c (is_prime): Return explicit boolean values.
54834         (hash_get_first): Return NULL to appease Irix5.6's 89.
54835         Reported by Nelson Beebe.
54836
54837 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
54838
54839         * lib/localcharset.c (locale_charset): Add support for Win32.
54840
54841 2000-12-18  Paul Eggert  <eggert@twinsun.com>
54842
54843         * lib/physmem.h, lib/physmem.c: New files.
54844
54845         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
54846         (noinst_HEADERS): Add physmem.h.
54847
54848         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
54849         't' for compatibility with Solaris 8 sort.
54850
54851 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
54852
54853         * lib/config.charset: Add support for BeOS.
54854
54855 2000-12-17  Jim Meyering  <meyering@lucent.com>
54856
54857         * m4/dos.m4 (jm_AC_DOS): New file and macro.
54858         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
54859
54860 2000-12-16  Jim Meyering  <meyering@lucent.com>
54861
54862         This bug had a serious impact on chown: `chown N:M FILE' (for integer
54863         N and M) would have treated it like `chown N:N FILE'.
54864
54865         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
54866
54867 2000-12-16  Jim Meyering  <meyering@lucent.com>
54868
54869         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
54870         SHELLS_FILE to a file name that's useful on djgpp systems.
54871         Include stdlib.h.
54872         (ADDITIONAL_DEFAULT_SHELLS): Define.
54873         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
54874         Based mostly on a patch from Prashant TR.
54875
54876 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
54877
54878         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
54879         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
54880         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
54881
54882 2000-12-08  Andreas Schwab  <schwab@suse.de>
54883
54884         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
54885         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
54886
54887 2000-12-07  Jim Meyering  <meyering@lucent.com>
54888
54889         * lib/stripslash.c (ISSLASH): Define.
54890         (strip_trailing_slashes): Use ISSLASH rather than comparing against
54891         `/'.
54892         From Prashant TR.
54893
54894         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
54895         (dir_name_r): Declare this function as static.
54896         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
54897         manifest itself on a name containing a mix of slashes and
54898         backslashes.
54899         Make this function work with names starting with a DOS-style
54900         drive letter and colon prefix.
54901         (dir_name): Append `.' if necessary.
54902         Based mostly on patches from Prashant TR and Eli Zaretskii.
54903
54904         * lib/dirname.h (dir_name_r): Remove prototype.
54905
54906 2000-12-06  Paul Eggert  <eggert@twinsun.com>
54907
54908         * m4/off_t-format.m4: Remove this file.
54909         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
54910
54911 2000-12-06  Jim Meyering  <meyering@lucent.com>
54912
54913         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
54914         replacement strtoull, we may well need the replacement strtoul, too.
54915         Check for declarations of strtoul and strtoull.
54916         Check for strtol.  Mainly as a cue to cause automake to include
54917         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
54918         Check for limits.h -- strtol.c needs it.
54919
54920 2000-12-05  Jim Meyering  <meyering@lucent.com>
54921
54922         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
54923
54924 2000-12-04  Jim Meyering  <meyering@lucent.com>
54925
54926         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
54927         Also include memory.h, stdlib.h, unistd.h if appropriate.
54928         Reported by Andreas Jaeger (conflicting declaration of malloc).
54929
54930 2000-12-02  Jim Meyering  <meyering@lucent.com>
54931
54932         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
54933         * m4/jm-macros.m4 (jm_MACROS): require it.
54934
54935 2000-12-02  Jim Meyering  <meyering@lucent.com>
54936
54937         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
54938
54939 2000-12-01  Paul Eggert  <eggert@twinsun.com>
54940
54941         * lib/memrchr.c: Include <config.h> before any system include file.
54942
54943 2000-11-30  Jim Meyering  <meyering@lucent.com>
54944
54945         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
54946
54947 2000-11-30  Jim Meyering  <meyering@lucent.com>
54948
54949         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
54950
54951 2000-11-29  Paul Eggert  <eggert@twinsun.com>
54952
54953         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
54954
54955 2000-11-26  Jim Meyering  <meyering@lucent.com>
54956
54957         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
54958
54959 2000-11-22  Paul Eggert  <eggert@twinsun.com>
54960
54961         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
54962         size of (size_t) -1; it's not portable.
54963
54964 2000-11-17  Jim Meyering  <meyering@lucent.com>
54965
54966         * lib/strstr.c: Update from GNU libc.
54967
54968 2000-11-17  Akim Demaille  <akim@epita.fr>
54969
54970         * lib/obstack.h: Formatting changes.
54971         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
54972         prevent type checking.
54973         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
54974         cast the value to (void *): assigning a `foo *' to a `void *'
54975         variable is valid.
54976         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
54977
54978 2000-11-16  Jim Meyering  <meyering@lucent.com>
54979
54980         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
54981
54982 2000-11-11  Jim Meyering  <meyering@lucent.com>
54983
54984         * lib/error.c: Add a couple #includes, merging from GNU libc version.
54985
54986 2000-11-10  Jim Meyering  <meyering@lucent.com>
54987
54988         * lib/obstack.h: Update from GNU libc.
54989         * lib/obstack.c: Likewise.
54990
54991 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
54992
54993         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
54994
54995 2000-11-06  Paul Eggert  <eggert@twinsun.com>
54996
54997         * lib/getusershell.c (setusershell): Use rewind rather than
54998         fseek/fseeko, to avoid configuration hassles with fseeko.
54999         Don't bother opening SHELLS_FILE if shellstream is NULL;
55000         it's not necessary.
55001
55002 2000-11-05  Jim Meyering  <meyering@lucent.com>
55003
55004         * lib/makepath.h (make_dir): Declare.
55005         * lib/makepath.c (make_dir): Remove `static' attribute.
55006         Tweak a comment.
55007
55008 2000-11-04  Jim Meyering  <meyering@lucent.com>
55009
55010         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
55011
55012 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
55013
55014         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
55015         last one in a bucket, advance to the next bucket.
55016
55017 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
55018
55019         * lib/fnmatch.c: Do not comment out all the code if we are using
55020         the GNU C library, because in some cases we are replacing buggy
55021         code in the GNU C library itself.
55022
55023 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
55024
55025         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
55026         (regex_compile): Catch bogus \(\1\).
55027
55028 2000-10-30  Paul Eggert  <eggert@twinsun.com>
55029
55030         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
55031         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
55032         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
55033
55034 2000-10-30  Paul Eggert  <eggert@twinsun.com>
55035
55036         * lib/error.h, getline.h, modechange.h:
55037         Remove "2000" from Copyright line, as the file hasn't been
55038         changed this year other than in the copyright notice.
55039
55040         * lib/xalloc.h: Add "2000" to Copyright line, as this file
55041         was changed this year.
55042
55043 2000-10-29  Jim Meyering  <meyering@lucent.com>
55044
55045         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
55046         renaming.
55047         * m4/ls-mntd-fs.m4: Likewise
55048
55049 2000-10-29  Jim Meyering  <meyering@lucent.com>
55050
55051         * lib/xstat.in: Fix grammar in comment.
55052
55053 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
55054
55055         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
55056         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
55057         doesn't define __restrict_arr.
55058
55059 2000-10-28  Jim Meyering  <meyering@lucent.com>
55060
55061         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
55062         (jm_PREREQ_MEMCHR): New function.
55063
55064 2000-10-28  Jim Meyering  <meyering@lucent.com>
55065
55066         * lib/memchr.c: Update from libc.
55067         Adjust for portability:
55068         [HAVE_STDLIB_H]: Include stdlib.h.
55069         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
55070         Undef __memchr, too.
55071         [!weak_alias]: Define __memchr to memchr.
55072
55073         * lib/regex.c: Update from libc.
55074         * lib/regex.h: Likewise.
55075         * lib/getopt1.c: Likewise.
55076         * lib/memcmp.c: Likewise.
55077
55078         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
55079         Avoid using fseek, when possible -- it's broken by design.
55080         Patch by Ulrich Drepper.
55081
55082 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
55083
55084         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
55085         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
55086         Giving in to popular pressure to shut up the compiler with casts.
55087
55088 2000-10-26  Jim Meyering  <meyering@lucent.com>
55089
55090         * lib/strftime.c: Update from libc.
55091
55092 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
55093
55094         * regex.c: More `unsigned char' -> `re_char' changes.
55095         Also change several `int' into `re_wchar_t'.
55096         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
55097         (PUSH_FAILURE_POINTER): Don't cast any more.
55098         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
55099         We want GCC to complain, since this piece of code makes
55100         re_match non-reentrant, which *should* be fixed.
55101         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
55102         (EXTEND_BUFFER): Use RETALLOC.
55103         (SET_LIST_BIT): Don't cast.
55104         (re_wchar_t): New type.
55105         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
55106         that those two functions will always properly return.
55107         (IMMEDIATE_QUIT_CHECK): Cast to void.
55108         (analyse_first): Use recursion rather than an explicit stack.
55109         (re_compile_fastmap): Can't fail anymore.
55110         (re_search_2): Don't check re_compile_fastmap for failure.
55111         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
55112         Now also sets the new value (passed in a new argument).
55113         (re_match_2_internal): Use it.
55114         Also, use a new var `reg' of type size_t when looping through regs
55115         rather than reuse the inappropriate `mcnt'.
55116
55117 2000-10-25  Jim Meyering  <meyering@lucent.com>
55118
55119         * lib/obstack.c: Update from libc.
55120
55121 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
55122
55123         * regex.c (regex_compile): Change the way of handling a range from
55124         a char less than 256 to a char not less than 256.
55125
55126 2000-10-24  Andrew Innes  <andrewi@gnu.org>
55127
55128         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
55129         NT-Emacs only.
55130         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
55131         so that re_search functions only quit when callers expect them to.
55132
55133 2000-10-23  Jim Meyering  <meyering@lucent.com>
55134
55135         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
55136         wrong.  That set_locale call must not have any side effects.
55137         From Paul Eggert.
55138
55139 2000-10-22  Jim Meyering  <meyering@lucent.com>
55140
55141         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
55142         [CYCLIC]: Remove now-unused definition.
55143
55144         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
55145         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
55146         Suggestion from Ulrich Drepper.
55147
55148 2000-10-21  Jim Meyering  <meyering@lucent.com>
55149
55150         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
55151         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
55152         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
55153
55154 2000-10-21  Jim Meyering  <meyering@lucent.com>
55155
55156         * lib/dirname.c (memrchr): Declare if necessary.
55157         (dir_name): Remove the restriction that there be no
55158         trailing slashes.  Now, this code skips past them, effectively
55159         ignoring them.
55160         [TEST_DIRNAME] (main): New unit tests.
55161
55162         * lib/memrchr.c: New file from GNU libc.
55163         Undef __memrchr, too.
55164         [!weak_alias]: Define __memrchr to memrchr.
55165         Guard weak_alias use with `#ifdef weak_alias'.
55166
55167 2000-10-21  Jim Meyering  <meyering@lucent.com>
55168
55169         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
55170         (dir_name): Use dir_name_r.
55171         * lib/dirname.h (dir_name_r): Declare it.
55172
55173 2000-10-17  Jim Meyering  <meyering@lucent.com>
55174
55175         * lib/quote.h (PARAMS): Define and use.
55176         Reported by Akim Demaille.
55177
55178         * lib/getopt.c: Update from libc.
55179
55180 2000-10-16  Jim Meyering  <meyering@lucent.com>
55181
55182         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
55183         setlocale.
55184         From Jan Fedak.
55185
55186 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
55187
55188         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
55189
55190 2000-09-25  Jim Meyering  <meyering@lucent.com>
55191
55192         * lib/md5.h (rol): Define (from GnuPG).
55193
55194         * lib/sha.c: Give credit (GnuPG) where due.
55195         (M): Use rol rather than open-coding it.
55196         Add a FIXME comment.
55197
55198 2000-09-21  Jim Meyering  <meyering@lucent.com>
55199
55200         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
55201         Reported by Michael Stone.
55202
55203 2000-09-20  Jim Meyering  <meyering@lucent.com>
55204
55205         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
55206         (noinst_HEADERS): Add sha.h.
55207         Based on code from Scott G. Miller and from GnuPG.
55208
55209 2000-09-18  Jim Meyering  <meyering@lucent.com>
55210
55211         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
55212         LIBS. Otherwise, everyone ends up linking with -lelf for some
55213         configurations.
55214         Reported by Mike Stone.
55215
55216 2000-09-15  Jim Meyering  <meyering@lucent.com>
55217
55218         * lib/regex.c: Update from libc.
55219
55220 2000-09-10  Jim Meyering  <meyering@lucent.com>
55221
55222         * lib/getopt.c (_getopt_internal): Update from glibc.
55223
55224 2000-09-09  Jim Meyering  <meyering@lucent.com>
55225
55226         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
55227         think it should be used as a general replacement for isascii.
55228         * lib/fnmatch.c: Likewise.
55229         * lib/mbswidth.c: Likewise
55230         * lib/regex.c: Likewise.
55231
55232         Don't use atoi.
55233         * lib/userspec.c: Include sys/param.h and limits.h.
55234         Include xstrtol.h.
55235         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
55236         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
55237         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
55238         UID, GID.  Check range.
55239
55240 2000-09-06  Jim Meyering  <meyering@lucent.com>
55241
55242         * lib/getopt.c (_getopt_internal): Update from glibc.
55243
55244 2000-08-30  Jim Meyering  <meyering@lucent.com>
55245
55246         * lib/strftime.c: Merge in changes from GNU libc.
55247
55248 2000-08-26  Jim Meyering  <meyering@lucent.com>
55249
55250         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
55251         * m4/fpending.m4: New file.
55252
55253 2000-08-26  Jim Meyering  <meyering@lucent.com>
55254
55255         * lib/closeout.c: Include "__fpending.h".
55256         (close_stdout_status): Return right away if there's nothing to flush.
55257
55258         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
55259         * lib/__fpending.c: New file.
55260         * lib/__fpending.h: New file.
55261
55262 2000-08-20  Jim Meyering  <meyering@lucent.com>
55263
55264         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
55265         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
55266         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
55267
55268 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
55269
55270         Improve fileutils installation on systems where running
55271         programs (like install) can't be unlinked.
55272         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
55273         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
55274
55275 2000-08-07  Paul Eggert  <eggert@twinsun.com>
55276
55277         Standardize on "memory exhausted" instead of "Memory exhausted"
55278         or "virtual memory exhausted".
55279         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
55280         "virtual memory exhausted".
55281         * lib/same.c (same_name): Invoke xalloc_die instead of printing
55282         our own message.
55283         * lib/userspec.c (parse_user_spec): Likewise.
55284         * lib/bumpalloc.h: comment fix
55285         * lib/same.c, userspec.c: Include xalloc.h.
55286
55287         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
55288         not char *const and pointing to a constant array.
55289         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
55290         (xrealloc): Comment fix.
55291
55292         * lib/userspec.c (parse_user_spec):
55293         Don't translate a message until just before returning,
55294         to avoid unnecessary translation.
55295
55296 2000-08-07  Jim Meyering  <meyering@lucent.com>
55297
55298         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
55299         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
55300         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
55301         getgroups.c, gethostname.c, getopt.h, group-member.c,
55302         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
55303         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
55304         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
55305         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
55306         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
55307         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
55308         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
55309         yesno.c: Back out Copyright date changes for each file with no change
55310         this year.  This eases coordination with other programs using the same
55311         source code modules.  From Paul Eggert.
55312
55313 2000-08-06  Paul Eggert  <eggert@twinsun.com>
55314
55315         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
55316         not char, for compatibility with glibc 2.1.3 strftime.c.
55317
55318 2000-08-03  Greg McGary  <greg@mcgary.org>
55319
55320         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
55321         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
55322         (EXTEND_BUFFER): Use them.
55323
55324 2000-08-01  Jim Meyering  <meyering@lucent.com>
55325
55326         * lib/dirname.c (ISSLASH): Define.
55327         (BACKSLASH_IS_PATH_SEPARATOR): Define.
55328         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
55329         both `\' and `/' may be use as path separators.
55330         Based on a patch from Prashant TR.
55331
55332 2000-07-31  Paul Eggert  <eggert@twinsun.com>
55333
55334         * lib/quotearg.c (quotearg_n_options): Don't make the initial
55335         slot vector a constant, since it might get modified.
55336
55337 2000-07-31  Jim Meyering  <meyering@lucent.com>
55338
55339         * lib/xmalloc.c: Use `virtual memory exhausted', not
55340         `Memory exhausted'.
55341         * lib/obstack.c (print_and_abort): Likewise.
55342
55343 2000-07-30  Paul Eggert  <eggert@twinsun.com>
55344
55345         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
55346         buffer, so that the caller can always quote one small
55347         component of a "memory exhausted" message in slot 0.
55348         From a suggestion by Jim Meyering.
55349
55350 2000-07-30  Jim Meyering  <meyering@lucent.com>
55351
55352         * lib/makepath.c (make_path): Quote the other instance, too.
55353
55354         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
55355         (STATIC_BUF_SIZE): Define.
55356         (quotearg_n_options): Use only statically allocated storage when
55357         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
55358         than STATIC_BUF_SIZE.
55359
55360 2000-07-29  Jim Meyering  <meyering@lucent.com>
55361
55362         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
55363         * lib/dirname.c (dir_name): Likewise.
55364
55365         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
55366         `/'.
55367
55368         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
55369         (dir_name): Assert that there are no trailing slashes.
55370
55371 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
55372
55373         * lib/mbswidth.h (mbswidth): Add a flags argument.
55374         (mbswidth): New declaration.
55375         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
55376         * lib/mbswidth.c (mbswidth): Add a flags argument.
55377         (mbsnwidth): New function.
55378
55379 2000-07-24  Jim Meyering  <meyering@lucent.com>
55380
55381         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
55382
55383 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55384
55385         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
55386
55387 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55388
55389         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
55390         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
55391         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
55392         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
55393         invoke multibyte primitives.
55394
55395 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55396
55397         * lib/quotearg.c:
55398         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
55399         so that mbstate_t is always defined.
55400
55401         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
55402         be 1 in at least one GCC installation, and this configuration
55403         error is likely to be common.  Ignoring MB_LEN_MAX hurts
55404         performance on hosts that have mbrtowc but have only unibyte
55405         locales, but I assume these hosts are rare.
55406
55407 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55408
55409         * lib/mbswidth.c (_XOPEN_SOURCE):
55410         Don't define; this causes problems on Solaris 7.
55411         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
55412
55413 2000-07-23  Jim Meyering  <meyering@lucent.com>
55414
55415         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
55416         too: getgrgid, getpwuid, getuid.
55417
55418 2000-07-23  Jim Meyering  <meyering@lucent.com>
55419
55420         * lib/basename.c (base_name): Add an assertion.
55421
55422 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
55423
55424         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
55425         shadow its mbsinit function.
55426
55427 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55428
55429         * lib/mbswidth.h: New file.
55430         * lib/mbswidth.c: New file.
55431         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
55432         (noinst_HEADERS): Add mbswidth.h.
55433
55434 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55435
55436         * lib/config.charset: Add support for FreeBSD. Improve support for
55437         HP-UX and IRIX 6.
55438
55439 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
55440
55441         * m4/mbswidth.m4: New file.
55442         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
55443
55444 2000-07-15  Jim Meyering  <meyering@lucent.com>
55445
55446         * lib/makepath.c: Include quote.h.
55447         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
55448         corresponding argument in a `quote (...)' call.
55449         Give better diagnostics.
55450
55451         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
55452         (noinst_HEADERS): Add quote.h.
55453
55454         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
55455         from tar's src/misc.c.
55456         * lib/quote.h: New file.  Prototypes for same.
55457
55458 2000-07-14  Paul Eggert  <eggert@twinsun.com>
55459
55460         From a suggestion by Bruno Haible.
55461         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
55462         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
55463         to decide whether to define the BeOS workaround macro;
55464         this adjusts to the change to AC_MBSTATE_T.
55465
55466 2000-07-14  Jim Meyering  <meyering@lucent.com>
55467
55468         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
55469         jm_AC_TYPE_UINTMAX_T.
55470
55471 2000-07-13  Paul Eggert  <eggert@twinsun.com>
55472
55473         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
55474
55475         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
55476         quotearg_buffer_restyled): Add support for
55477         clocale_quoting_style.  Undo previous change to
55478         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
55479         and "{RIGHT QUOTATION MARK}" msgids.
55480
55481 2000-07-10  Paul Eggert  <eggert@twinsun.com>
55482
55483         From a suggestion by Bruno Haible.
55484         * m4/mbstate_t.m4 (AC_MBSTATE_T):
55485         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
55486         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
55487         and mbstate_t, to a single-part test that simply defines mbstate_t.
55488         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
55489         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
55490
55491 2000-07-10  Jim Meyering  <meyering@lucent.com>
55492
55493         * m4/strerror_r.m4: Mirror the correction made in autoconf.
55494
55495         * m4/gnu-source.m4: Output to confdefs.h directly.
55496         Suggestion from Akim Demaille.
55497
55498 2000-07-09  Paul Eggert  <eggert@twinsun.com>
55499
55500         The old behavior of quoting `like this' doesn't look good with
55501         newer, ISO-style fonts.  See:
55502         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
55503
55504         Instead, quote "like this" by default.  Let the translator
55505         tailor the locale-specific quoting behavior by providing
55506         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
55507
55508         * lib/quotearg.c (N_): New macro.
55509         (gettext_default): New function.
55510         (quotearg_buffer_restyled): Use
55511         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
55512         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
55513
55514 2000-07-09  Jim Meyering  <meyering@lucent.com>
55515
55516         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
55517         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
55518
55519         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
55520         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
55521
55522 2000-07-09  Jim Meyering  <meyering@lucent.com>
55523
55524         * lib/Most files: Update copyright dates to include 2000.
55525
55526 2000-07-08  Jim Meyering  <meyering@lucent.com>
55527
55528         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
55529         if not defined.
55530         (xgethostname): Remove now-unnecessary #ifdef.
55531         Move declaration of `err' into loop where it's used.
55532
55533 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55534         and Bruno Haible  <haible@clisp.cons.org>
55535
55536         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
55537         only if the test for an object-type mbstate_t fails.  This
55538         prevents us from mistakenly reporting that mbstate_t is a
55539         system object type after we "#define mbstate_t int" to work
55540         around its lack.
55541
55542 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55543         and Bruno Haible  <haible@clisp.cons.org>
55544
55545         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
55546
55547 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55548
55549         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
55550         to strerror_r.
55551         Include <ctype.h> for use of isalpha.
55552
55553 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55554
55555         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
55556         by allocating a larger buffer. Test the gethostname return value for
55557         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
55558         returns an error and ENAMETOOLONG isn't defined.
55559
55560 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55561
55562         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
55563         dimension.
55564
55565 2000-07-04  Jim Meyering  <meyering@lucent.com>
55566
55567         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
55568         of the deprecated AC_CHECKING.
55569
55570 2000-07-04  Jim Meyering  <meyering@lucent.com>
55571
55572         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
55573         Reported by Bruno Haible.
55574
55575 2000-07-04  Jim Meyering  <meyering@lucent.com>
55576
55577         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
55578         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
55579         lacks mbrtowc.
55580
55581 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55582
55583         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
55584         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
55585
55586 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55587         and Bruno Haible  <haible@clisp.cons.org>
55588
55589         * lib/quotearg.c (mbrtowc):
55590         Assign to *pwc, and return 1 only if result is nonzero.
55591         (iswprint): Use ISPRINT when substituting our own mbrtowc.
55592
55593 2000-07-03  Jim Meyering  <meyering@lucent.com>
55594
55595         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
55596
55597 2000-07-03  Jim Meyering  <meyering@lucent.com>
55598
55599         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
55600         This is necessary to get a definition of e.g., UTMP_FILE on
55601         HP-UX 10.20.
55602         From Bob Proulx.
55603
55604 2000-07-02  Jim Meyering  <meyering@lucent.com>
55605
55606         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
55607
55608         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
55609         AC_LIBOBJ(function_name).
55610         * m4/chown.m4: Likewise.
55611         * m4/fnmatch.m4: Likewise.
55612         * m4/ftruncate.m4: Likewise.
55613         * m4/getgroups.m4: Likewise.
55614         * m4/getline.m4: Likewise.
55615         * m4/group-member.m4: Likewise.
55616         * m4/jm-macros.m4: Likewise.
55617         * m4/lstat.m4: Likewise.
55618         * m4/malloc.m4: Likewise.
55619         * m4/memcmp.m4: Likewise.
55620         * m4/nanosleep.m4: Likewise.
55621         * m4/putenv.m4: Likewise.
55622         * m4/realloc.m4: Likewise.
55623         * m4/regex.m4: Likewise.
55624         * m4/stat.m4: Likewise.
55625         * m4/strftime.m4: Likewise.
55626
55627 2000-07-02  Jim Meyering  <meyering@lucent.com>
55628
55629         * lib/quotearg.c (mbstate_t): Don't define here.
55630
55631 2000-07-02  Jim Meyering  <meyering@lucent.com>
55632
55633         * lib/nanosleep.c (SIGCONT): Define if not already defined.
55634
55635 2000-07-01  Jim Meyering  <meyering@lucent.com>
55636
55637         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
55638
55639 2000-07-01  Jim Meyering  <meyering@lucent.com>
55640
55641         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
55642         problem.
55643
55644 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55645
55646         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
55647         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
55648
55649 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55650
55651         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
55652         per change in ../m4/ls-mntd-fs.m4.
55653         (read_filesystem_list): Ignore symbolic links.
55654
55655 2000-06-29  Jim Meyering  <meyering@lucent.com>
55656
55657         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
55658         for declaration of strcmp.
55659
55660         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
55661
55662         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
55663         Avoid warning by casting result to `char *' to remove `const'.
55664
55665 2000-06-28  Jim Meyering  <meyering@lucent.com>
55666
55667         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
55668         included by quotearg.c, for which we perform this test.  From
55669         Bruno Haible.
55670
55671 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55672
55673         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
55674         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
55675         <utmpx.h> exists, put readutmp.o into LIBOBJS.
55676
55677 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55678
55679         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
55680
55681 2000-06-26  Paul Eggert  <eggert@twinsun.com>
55682
55683         savedir now sets errno on failure and invokes xmalloc to get memory.
55684         Fix a couple of other minor bugs while we're at it.
55685
55686         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
55687         (NAMLEN): Remove macro.
55688         (malloc, realloc): Remove decls.
55689         (stpcpy): Likewise.
55690         ("xalloc.h"): Include.
55691         (NAME_SIZE_DEFAULT): New macro.
55692         (savedir): Use xmalloc / xrealloc to allocate memory.
55693         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
55694         Skip "" directory entries.
55695         Use strlen to calculate directory entry length, since the old method
55696         is rarely used these days and isn't worth supporting.
55697         Don't use a pointer after freeing it.
55698         Check for integer overflow when calculating allocation size.
55699         Use memcpy to copy entries, instead of stpcpy.
55700         Set errno properly when returning NULL.
55701         Check for readdir error.
55702
55703 2000-06-26  Jim Meyering  <meyering@lucent.com>
55704
55705         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
55706
55707 2000-06-25  Jim Meyering  <meyering@lucent.com>
55708
55709         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
55710         Linux header bug when _XOPEN_SOURCE is defined to 500.
55711
55712 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55713
55714         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
55715         deficiency.
55716
55717 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55718
55719         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
55720         Include xalloc.h.
55721         Don't include <stdlib.h>.  Don't declare malloc, realloc.
55722
55723 2000-06-24  Jim Meyering  <meyering@lucent.com>
55724
55725         * m4/strerror_r.m4: Revive this file -- to try out an experimental
55726         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
55727         for which strerror does return char*, but which lacks a conveniently
55728         accessible declaration of the function.  If the compile-test says
55729         strerror_r doesn't work, then resort to a `run'-test that works on
55730         BeOS and segfaults on DEC Unix.
55731
55732 2000-06-24  Jim Meyering  <meyering@lucent.com>
55733
55734         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
55735
55736 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55737
55738         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
55739         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
55740
55741 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55742
55743         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
55744         (mbrtowc, mbstate_t): Define substitutes if
55745         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
55746         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
55747         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
55748
55749 2000-06-23  Jim Meyering  <meyering@lucent.com>
55750
55751         * m4/afs.m4: Add missing AC_MSG_RESULT.
55752         Reported by Bruno Haible.
55753
55754         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
55755         Suggestion from Bruno Haible.
55756
55757 2000-06-23  Jim Meyering  <meyering@lucent.com>
55758
55759         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
55760
55761 2000-06-21  Jim Meyering  <meyering@lucent.com>
55762
55763         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
55764
55765 2000-06-21  Jim Meyering  <meyering@lucent.com>
55766
55767         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
55768         (noinst_HEADERS): Add getstr.h.
55769
55770         * lib/getline.c (getstr): Move into a separate file.
55771         * lib/getstr.c (getstr): New file, extracted from getline.c, with
55772         the following changes: new parameter, delim2; both delim[12]
55773         parameters have type `int', not `char'.  The latter would lose
55774         with 8-bit delimiters.
55775         * lib/getstr.h: New file.
55776
55777 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55778
55779         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
55780         than 1024, return a memory chunk of least possible size, instead
55781         of size PATH_MAX + 2. In the loop, increment the size proportionally.
55782         Use free/xmalloc instead of xrealloc to avoid copying for very long
55783         paths.
55784
55785 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55786
55787         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
55788         the empty string.
55789
55790 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55791
55792         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
55793         address, not strdup.  Include <stdlib.h> and don't declare free().
55794
55795 2000-06-19  Jim Meyering  <meyering@lucent.com>
55796
55797         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
55798
55799 2000-06-18  Jim Meyering  <meyering@lucent.com>
55800
55801         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
55802
55803         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
55804         `checking whether...' message to be consistent with that of the
55805         lstat test.
55806
55807 2000-06-18  Jim Meyering  <meyering@lucent.com>
55808
55809         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
55810         Besides, these days every porting target provides a mkdir function.
55811
55812         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
55813         needed. (this snippet comes from src/system.h).
55814
55815 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
55816
55817         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
55818
55819 2000-06-15  Paul Eggert  <eggert@twinsun.com>
55820
55821         * lib/human.c (adjust_value): New function.
55822         (human_readable_inexact): Apply rounding style even when
55823         printing approximate values.
55824
55825 2000-06-14  Paul Eggert  <eggert@twinsun.com>
55826
55827         * lib/human.c (human_readable_inexact): Allow an input block
55828         size that is not a multiple of the output block size, and vice versa.
55829         Reported by Piergiorgio Sartor.
55830
55831 2000-06-14  Paul Eggert  <eggert@twinsun.com>
55832
55833         * lib/getdate.y (get_date): Apply relative times after time
55834         zone indicator, not before.  Reported by Todd A. Jacobs.
55835
55836 2000-06-13  Jim Meyering  <meyering@lucent.com>
55837
55838         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
55839
55840         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
55841
55842 2000-06-12  Paul Eggert  <eggert@twinsun.com>
55843
55844         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
55845
55846 2000-06-12  Jim Meyering  <meyering@lucent.com>
55847
55848         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
55849         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
55850         optional argument.
55851         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
55852         the optional argument, `lib'.
55853
55854 2000-06-08  Jim Meyering  <meyering@lucent.com>
55855
55856         * m4/largefile.m4: Remove file (now that it's part of autoconf).
55857
55858 2000-06-04  Paul Eggert  <eggert@twinsun.com>
55859
55860         Rewrite largefile configuration so that we don't need to run
55861         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
55862         AC_CANONICAL_HOST in configure.in -- jmm]
55863
55864         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
55865         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
55866         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
55867         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
55868         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
55869         All uses changed.
55870         Instead of inspecting the output of getconf, try to compile the
55871         test program without and with the macro definition.
55872         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
55873         for getconf.  Instead, check for the needed flags by compiling
55874         test programs.
55875
55876 2000-06-04  Paul Eggert  <eggert@twinsun.com>
55877
55878         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
55879
55880 2000-06-04  Jim Meyering  <meyering@lucent.com>
55881
55882         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
55883         SunOS 4.1.4 for which gid_t is an unsigned type.
55884
55885 2000-06-03  Jim Meyering  <meyering@lucent.com>
55886
55887         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
55888         now that autoconf requires that.
55889
55890         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
55891         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
55892         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
55893
55894 2000-06-03  Jim Meyering  <meyering@lucent.com>
55895
55896         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
55897
55898 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
55899
55900         * m4/glibc21.m4: New file.
55901         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
55902
55903 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
55904
55905         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
55906         newer, don't install charset.alias.
55907         * lib/config.charset: Change the Linux/glibc rules so they become empty
55908         on glibc-2.1 or newer.
55909
55910 2000-06-02  Jim Meyering  <meyering@lucent.com>
55911
55912         * lib/mountlist.c: Back out last change.  Instead, do this...
55913         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
55914         me_dummy member using the same `ignore'-testing code.
55915         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
55916         fs_type strings.
55917         From Mark D. Roth.
55918
55919 2000-05-29  Jim Meyering  <meyering@lucent.com>
55920
55921         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
55922         mounts with the `ignore' attribute.  Based on a patch from
55923         Mark D. Roth.
55924
55925 2000-05-28  Jim Meyering  <meyering@lucent.com>
55926
55927         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
55928         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55929         * m4/stat.m4: Likewise.
55930         * m4/lstat.m4: Likewise.
55931         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
55932
55933         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
55934         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
55935
55936 2000-05-26  Jim Meyering  <meyering@lucent.com>
55937
55938         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
55939
55940 2000-05-24  Jim Meyering  <meyering@lucent.com>
55941
55942         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
55943         autoconf requires that.
55944         * m4/lib-check.m4: Likewise.
55945         * m4/jm-macros.m4: Likewise.
55946         * m4/strftime.m4: Likewise.
55947
55948         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
55949         AC_CHECK_DECLS, now that autoconf requires that.
55950
55951 2000-05-22  Jim Meyering  <meyering@lucent.com>
55952
55953         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55954         * m4/lstat.m4: Likewise.
55955
55956 2000-05-22  Jim Meyering  <meyering@lucent.com>
55957
55958         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
55959
55960 2000-05-20  Jim Meyering  <meyering@lucent.com>
55961
55962         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
55963         (jm_PREREQ): Use it.
55964
55965 2000-05-18  Jim Meyering  <meyering@lucent.com>
55966
55967         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
55968         back, too, since it may have been modified by allocate_entry.
55969         (hash_delete): Rewrite to use neither the assignment operator
55970         nor the comma operator in an if-expression.
55971
55972 2000-05-15  Paul Eggert  <eggert@twinsun.com>
55973
55974         * lib/closeout.c:
55975         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
55976         Remove; no longer needed.
55977         "quotearg.h": Add include.
55978         (file_name): Do not bother to explicitly initialize to NULL; it's less
55979         efficient on some hosts.
55980         (close_stdout_status): Remove test as to whether stdout was already
55981         closed; it breaks for the case "echo x | sort >&-".
55982         Quote file name colons.
55983         Do not assume that _("write error") lacks format strings.
55984
55985 2000-05-15  Jim Meyering  <meyering@lucent.com>
55986
55987         * lib/version-etc.c (version_etc_copyright): Update the copyright
55988         string used in all --version output.
55989
55990 2000-05-14  Jim Meyering  <meyering@lucent.com>
55991
55992         * lib/closeout.c (close_stdout_set_file_name): New function.
55993         (close_stdout_status): Use new file-scoped global.
55994         Return right away if fstat says the stdout file descriptor is invalid.
55995         * lib/closeout.h (close_stdout_set_file_name): Declare.
55996
55997 2000-05-10  Jim Meyering  <meyering@lucent.com>
55998
55999         * lib/closeout.c [default_exit_status]: New file-scoped variable.
56000         (close_stdout_set_status): New function.
56001         * lib/closeout.h (close_stdout_set_status): Declare.
56002
56003 2000-05-09  Jim Meyering  <meyering@lucent.com>
56004
56005         * m4/gettext.m4: Rename this...
56006         * m4/libintl.m4: ...to this.
56007
56008 2000-05-08  Jim Meyering  <meyering@lucent.com>
56009
56010         * lib/long-options.c: Don't include closeout.h.
56011         (parse_long_options): Don't call close_stdout for --version.
56012
56013 2000-05-06  Paul Eggert  <eggert@twinsun.com>
56014
56015         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
56016         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
56017         2.1.3 bug.  This avoids a clash when files like regex.c define
56018         _GNU_SOURCE.
56019
56020 2000-05-06  Jim Meyering  <meyering@lucent.com>
56021
56022         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
56023         (AC_REPLACE_FUNCS): Add strnlen.
56024
56025         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
56026         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
56027
56028         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
56029         AC_SEARCH_LIBS call for nanosleep.
56030         (LIB_NANOSLEEP): Set and AC_SUBST.
56031
56032 2000-05-06  Jim Meyering  <meyering@lucent.com>
56033
56034         * lib/strnlen.c: Undefine __strnlen and strnlen.
56035         [!weak_alias]: Define __strnlen to strnlen.
56036
56037         * lib/atexit.c: New file, from libiberty.
56038
56039 2000-05-06  Jim Meyering  <meyering@lucent.com>
56040
56041         * lib/closeout.c (close_stdout_status): Also check for errors on the
56042         stderr stream.
56043
56044 2000-05-05  Jim Meyering  <meyering@lucent.com>
56045
56046         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
56047         AC_SEARCH_LIBS call for clock_gettime.
56048         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
56049
56050         * m4/search-libs.m4: Update from autoconf.
56051
56052         su doesn't work on Solaris 2.6.
56053         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
56054         <shadow.h>.  Reported by Dragos Harabor.
56055
56056 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
56057
56058         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
56059         memcpy instead of xmalloc, xrealloc, path_concat.
56060         (locale_charset): Treat empty environment variables as absent.
56061         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
56062
56063 2000-05-04  Jim Meyering  <meyering@lucent.com>
56064
56065         * lib/getopt.c: Update from glibc.
56066         * lib/obstack.c: Likewise.
56067         * lib/obstack.h: Likewise.
56068         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
56069         file
56070
56071         * lib/regex.h: Likewise.
56072         * lib/strndup.c: Likewise.
56073         * lib/strnlen.c: New file, from glibc.
56074
56075 2000-05-03  Jim Meyering  <meyering@lucent.com>
56076
56077         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
56078
56079 2000-05-02  Paul Eggert  <eggert@twinsun.com>
56080
56081         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
56082         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
56083         compile-time test, rather than inspecting host and OS, to
56084         decide whether to define _LARGEFILE_SOURCE.
56085
56086 2000-05-01  Jim Meyering  <meyering@lucent.com>
56087
56088         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
56089
56090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
56091         Based on a patch from Bruno Haible.
56092
56093 2000-05-01  Jim Meyering  <meyering@lucent.com>
56094
56095         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
56096
56097 2000-04-29  Jim Meyering  <meyering@lucent.com>
56098
56099         * lib/path-concat.c: Declare strdup only if it's not defined.
56100         * lib/canon-host.c: Likewise.
56101
56102 2000-04-28  Jim Meyering  <meyering@lucent.com>
56103
56104         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
56105         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
56106         is included first, then limits.h is included by locale.h by libintl.h.
56107         From John David Anglin.
56108
56109 2000-04-25  Jim Meyering  <meyering@lucent.com>
56110
56111         * lib/makepath.c (S_IRWXUGO): Define.
56112         (make_path): Always perform explicit chmod if MODE specifies any
56113         of the `special' permission bits.  Prompted by a bug report against
56114         install from Mate Wierdl and Joost van Baal.
56115
56116 2000-04-18  Jim Meyering  <meyering@lucent.com>
56117
56118         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
56119         (jm_PREREQ): Use it.
56120
56121 2000-04-18  Jim Meyering  <meyering@lucent.com>
56122
56123         * lib/README: New file.
56124
56125         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
56126         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
56127
56128 2000-04-17  Jim Meyering  <meyering@lucent.com>
56129
56130         Get it right :-)
56131         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
56132         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
56133         Suggestion from Akim Demaille.
56134
56135 2000-04-17  Jim Meyering  <meyering@lucent.com>
56136
56137         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
56138         the definition of it to rpl_strftime also defined-away the system's
56139         declaration.
56140
56141 2000-04-15  Jim Meyering  <meyering@lucent.com>
56142
56143         Use `C' to denote so-called `contiguous' files, the same way
56144         that tar does.
56145         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
56146         (ftypelet): Use S_ISCTG.
56147         From Michael Deutschmann.
56148
56149 2000-04-14  Jim Meyering  <meyering@lucent.com>
56150
56151         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
56152         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
56153         clobbered.
56154
56155 2000-04-14  Jim Meyering  <meyering@lucent.com>
56156
56157         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
56158
56159 2000-04-13  Jim Meyering  <meyering@lucent.com>
56160
56161         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
56162         AH_VERBATIM to insert required #ifndef into config.h.in.
56163         Suggestion from Akim Demaille.
56164
56165 2000-04-12  Jim Meyering  <meyering@lucent.com>
56166
56167         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
56168         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
56169         Christian Krackowizer.
56170
56171         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
56172         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
56173         (AC_SYS_LARGEFILE): Require.
56174         (AM_C_PROTOTYPES): Require.
56175
56176 2000-04-08  Jim Meyering  <meyering@lucent.com>
56177
56178         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
56179         names don't conflict.  Reported by Eli Zaretskii.
56180
56181 2000-04-07  Jim Meyering  <meyering@lucent.com>
56182
56183         * lib/putenv.c: Move inclusion of errno.h so it follows that of
56184         sys/types.h, to work around system header problems on AIX 3.2.5.
56185         From Bruno Haible.
56186
56187 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
56188
56189         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
56190         bug.  Deal with the different error behavior of Irix iconv.
56191
56192 2000-04-05  Paul Eggert  <eggert@twinsun.com>
56193
56194         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
56195         IRIX if the installer said otherwise.
56196
56197 2000-04-05  Jim Meyering  <meyering@lucent.com>
56198
56199         Portability tweaks required for ultrix4.3.
56200         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
56201         (jm_CHECK_DECLS): Add getutent to the list of functions.
56202         (_jm_DECL_HEADERS): Add utmpx.h.
56203         From John David Anglin.
56204
56205         * m4/strftime.m4: Back out the 2000-04-02 change.
56206         Instead of that change, simply undefine putenv in the test program.
56207
56208 2000-04-05  Jim Meyering  <meyering@lucent.com>
56209
56210         Portability tweaks required for ultrix4.3.
56211         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
56212         getutent.
56213         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
56214         * lib/canon-host.c: Declare strdup.
56215         * lib/path-concat.c: Likewise.
56216         From John David Anglin.
56217
56218 2000-04-04  Jim Meyering  <meyering@lucent.com>
56219
56220         Be more DOS 8.3-friendly.
56221         * lib/ref-add.sin: Renamed from ref-add.sed.in.
56222         * lib/ref-del.sin: Renamed from ref-del.sed.in.
56223         * lib/Makefile.am: Reflect renaming.
56224         Reported by Eli Zaretskii.
56225
56226         Use a temporary file name that won't clash with `charset.alias'
56227         in the DOS 8.3 name space.
56228         * lib/Makefile.am (charset_tmp): Define.
56229         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
56230         (uninstall-local): Likewise.
56231         Reported by Eli Zaretskii.
56232
56233 2000-04-03  Jim Meyering  <meyering@lucent.com>
56234
56235         * m4/gettext.m4: Fix typo in comment.
56236
56237         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
56238         textutils/configure.in).  Suggestion from Paul Eggert.
56239         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
56240
56241 2000-04-02  Paul Eggert  <eggert@twinsun.com>
56242
56243         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
56244         variable in the shell rather than using putenv, which isn't
56245         portable.  This avoids the configure-time inter-test dependency
56246         on the potentially-renamed putenv function.
56247
56248 2000-03-30  Paul Eggert  <eggert@twinsun.com>
56249
56250         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
56251         before checking struct stat.st_blksize, so that
56252         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
56253
56254 2000-03-29  Paul Eggert  <eggert@twinsun.com>
56255
56256         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
56257         since strftime.c uses HAVE_STRFTIME to decide whether to use
56258         the underlying strftime.
56259
56260 2000-03-29  Paul Eggert  <eggert@twinsun.com>
56261
56262         * lib/time/strftime.c (my_strftime): Make sure we call the system
56263         strftime, not ourselves, when invoking the underlying strftime.
56264
56265 2000-03-24  Jim Meyering  <meyering@lucent.com>
56266
56267         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
56268         (charset_alias): Define.
56269         (install-exec-local): Factor out common code.
56270         (uninstall-local): Split lines longer than 80.
56271         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
56272         (SUFFIXES): Define.
56273         (.sed.in.sed): New rule.  Don't redirect directly to $@.
56274         (CLEANFILES): Add ref-add.sed and ref-del.sed.
56275
56276 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
56277
56278         * lib/config.charset: Output a line containing "Packages using this
56279         file".
56280         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
56281         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
56282         ref-del.sed): New rules.
56283
56284 2000-03-17  Jim Meyering  <meyering@lucent.com>
56285
56286         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
56287         Otherwise, include <strings.h>
56288
56289 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
56290
56291         * lib/unicodeio.c (utf8_wctomb): New function.
56292         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
56293         format instead of in UCS-4 with platform dependent endianness.
56294
56295 2000-03-10  Jim Meyering  <meyering@lucent.com>
56296
56297         * m4/lib-check.m4: Look for getspnam in -lgen, too.
56298         From Marco Franzen.
56299
56300 2000-03-07  Paul Eggert  <eggert@twinsun.com>
56301
56302         * lib/savedir.c (savedir): Work even if directory size is
56303         negative; this can happen with some screwy NFS configurations.
56304
56305 2000-03-06  Jim Meyering  <meyering@lucent.com>
56306
56307         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
56308         if it's NULL (because we ran out of memory).  From Bruno Haible.
56309
56310 2000-03-05  Jim Meyering  <meyering@lucent.com>
56311
56312         * lib/localcharset.c ("path-concat.h"): Include.
56313         (get_charset_aliases): Use path_concat instead of ANSI string
56314         concatenation.
56315
56316         * lib/unicodeio.h (PARAMS): Define.
56317         Use it to guard prototype.
56318
56319 2000-03-04  Jim Meyering  <meyering@lucent.com>
56320
56321         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
56322         for lib/localcharset.c.
56323
56324 2000-03-04  Jim Meyering  <meyering@lucent.com>
56325
56326         * lib/Makefile.am (install-exec-local): Create $(libdir) before
56327         installing into it.
56328         (uninstall-local): Uncomment this rule so `make distcheck' works
56329         once again.
56330
56331         * lib/unicodeio.c (<errno.h>): Include it.
56332         (errno): Declare if not defined.
56333
56334         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
56335
56336         * lib/config.charset: New version, incorporating remarks from a linux
56337         i18n mailing list.  From Bruno Haible.
56338
56339 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
56340
56341         * m4/codeset.m4: New file.
56342         * m4/iconv.m4: New file.
56343         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
56344
56345 2000-03-03  Jim Meyering  <meyering@lucent.com>
56346
56347         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
56348
56349 2000-03-02  Jim Meyering  <meyering@lucent.com>
56350
56351         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
56352         the messages come out on separate lines.
56353
56354         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
56355         rather than jm_CHECK_DECLARATIONS.
56356         * m4/decl.m4: Remove now-unused file.
56357
56358         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
56359         geteuid.
56360
56361 2000-03-02  Jim Meyering  <meyering@lucent.com>
56362
56363         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
56364
56365 2000-03-01  Jim Meyering  <meyering@lucent.com>
56366
56367         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
56368         * lib/unicodeio.c: Likewise.
56369
56370 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
56371
56372         * lib/config.charset: New file.
56373         * lib/localcharset.c: New file.
56374         * lib/unicodeio.h, lib/unicodeio.c: New files.
56375         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
56376         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
56377         (noinst_HEADERS): Add unicodeio.h.
56378         (all-local, install-exec-local, charset.alias): New targets.
56379
56380 2000-02-28  Paul Eggert  <eggert@twinsun.com>
56381
56382         * lib/quotearg.c (ALERT_CHAR): New macro.
56383         (quotearg_buffer_restyled): Use it.
56384
56385 2000-02-27  Jim Meyering  <meyering@lucent.com>
56386
56387         * m4/check-decl.m4: Add getenv to the list.
56388
56389 2000-02-27  Jim Meyering  <meyering@lucent.com>
56390
56391         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
56392         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
56393
56394         * lib/backupfile.c: Guard inclusion of stdlib.h with
56395         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
56396         Declare malloc if needed.
56397
56398         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
56399         `#ifndef HAVE_DECL..'
56400         now that autoconf always defines the HAVE_DECL_ symbols.
56401         * lib/human.c: Likewise.
56402         * lib/same.c: Likewise.
56403         * lib/strtoumax.c: Likewise.
56404
56405         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
56406         declaration check was not run.
56407         * lib/hash.c: Likewise.
56408         * lib/human.c: Likewise.
56409         * lib/same.c: Likewise.
56410         * lib/strtoumax.c: Likewise.
56411
56412         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
56413         `.', then first look up the entire `.'-containing string as a login
56414         name.
56415
56416 2000-02-23  Jim Meyering  <meyering@lucent.com>
56417
56418         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
56419         in place of my hack.
56420
56421 2000-02-18  Paul Eggert  <eggert@twinsun.com>
56422
56423         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
56424         (textint): New typedef.
56425         (parser_control): Member year changed from int to textint.
56426         All uses changed.
56427         (YYSTYPE): Removed; replaced by %union with int and textint members.
56428         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
56429         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
56430         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
56431         (tSNUMBER, tUNUMBER): Now of type <textintval>.
56432         (date, number, to_year): Use width of number in digits, not its value,
56433         to determine whether it's a 2-digit year, or a 2-digit time.
56434         (yylex): Store number of digits of numeric tokens.
56435         Reported by John Kendall.
56436
56437         (parser_control): Changed from struct parser_control to typedef (for
56438         consistency).  All uses changed.
56439
56440         (tID): Removed; not used.
56441         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
56442
56443 2000-02-14  Paul Eggert  <eggert@twinsun.com>
56444
56445         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
56446         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
56447
56448 2000-02-12  Jim Meyering  <meyering@lucent.com>
56449
56450         * lib/userspec.c (ISDIGIT): Define it.
56451         (isdigit): Remove definition.
56452         (is_number): Use ISDIGIT, not isdigit.
56453         <libintl.h>: Include.
56454         (_ and N_): Define.
56455         (parse_user_spec): Mark translatable strings.
56456
56457 2000-02-10  Jim Meyering  <meyering@lucent.com>
56458
56459         With these changes, nanosleep.[ch] are finally enough like the other
56460         lib/* replacement files to compile on a few more losing systems.
56461
56462         * lib/nanosleep.h: Don't include config.h.
56463         Remove prototype from declaration of nanosleep.
56464         (PARAMS): Remove now-unneeded definition.
56465         * lib/nanosleep.c: #undef nanosleep.
56466         (rpl_nanosleep): Rename from nanosleep.
56467
56468 2000-02-10  Jim Meyering  <meyering@lucent.com>
56469
56470         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
56471         gnu_nanosleep to rpl_nanosleep.
56472
56473 2000-02-09  Jim Meyering  <meyering@lucent.com>
56474
56475         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
56476         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
56477
56478 2000-02-08  Akim Demaille  <akim@epita.fr>
56479
56480         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
56481         `[' and `]' and remove uses of `changequote'.
56482         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
56483         (AC_SYS_LARGEFILE): Likewise.
56484         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
56485         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
56486         of changequote.
56487         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
56488         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
56489         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
56490         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
56491
56492 2000-02-05  Jim Meyering  <meyering@lucent.com>
56493
56494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
56495         Remove explicit use of AC_HEADER_TIME.  It is required by
56496         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
56497         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
56498         in autoconf whereby the expansion of the latter ended up preceding
56499         the expansion of its prerequisite, AC_HEADER_TIME.
56500         Reported by Volker Borchert.
56501
56502 2000-02-03  Jim Meyering  <meyering@lucent.com>
56503
56504         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
56505
56506 2000-02-03  Jim Meyering  <meyering@lucent.com>
56507
56508         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
56509         rather than with `#if HAVE_UTMPNAME'.
56510
56511 2000-02-02  Jim Meyering  <meyering@lucent.com>
56512
56513         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
56514         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
56515         Reported by Eli Zaretskii.
56516
56517 2000-02-01  Jim Meyering  <meyering@lucent.com>
56518
56519         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
56520
56521 2000-01-31  Jim Meyering  <meyering@lucent.com>
56522
56523         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
56524         functions.  Add the time.h and sys/time.h headers along with the
56525         AC_REQUIRE'ment of AC_HEADER_TIME.
56526
56527 2000-01-31  Jim Meyering  <meyering@lucent.com>
56528
56529         * lib/nanosleep.h (nanosleep): Guard declaration with
56530         `#if ! HAVE_DECL_NANOSLEEP'.
56531         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
56532         the declaration in that vendor's sys/timers.h.
56533         Reported by Christian Krackowizer.
56534
56535         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
56536         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
56537         (ISPRINT): Likewise.
56538         Reported by Tom Tromey.
56539
56540 2000-01-30  Jim Meyering  <meyering@lucent.com>
56541
56542         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
56543
56544         * m4/prereq.m4 (utmp_includes): Define.
56545         Check for ut_user and ut_name members in both struct utmpx
56546         and struct utmp.
56547
56548 2000-01-30  Jim Meyering  <meyering@lucent.com>
56549
56550         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
56551         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
56552         header files where only utmpx.ut_user is declared.
56553
56554         * lib/readutmp.h (UT_USER): Define.
56555
56556 2000-01-29  Jim Meyering  <meyering@lucent.com>
56557
56558         * m4/lib-check.m4: New file containing library-related checks from
56559         fileutils and sh-utils (textutils had none).
56560
56561 2000-01-28  Jim Meyering  <meyering@lucent.com>
56562
56563         * m4/perl.m4: Change format of warning message to look more like that
56564         from the missing script.  Suggestion from François Pinard.
56565
56566 2000-01-25  Jim Meyering  <meyering@lucent.com>
56567
56568         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
56569         well as time.h in the compile check.
56570         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
56571         Fix typo in cross-compiling case: s/yes/no/.
56572
56573 2000-01-23  Jim Meyering  <meyering@lucent.com>
56574
56575         * m4/jm-macros.m4: Move df-related tests here from
56576         fileutils/configure.in
56577
56578         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
56579         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
56580
56581         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
56582         s/space/ac_fsusage_space/.
56583         (jm_FILE_SYSTEM_USAGE): Take two parameters.
56584
56585         * m4/ftruncate.m4: New file (derived from part of
56586         fileutils/configure.in).
56587         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
56588         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
56589
56590         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
56591         AC_SUBST these here, rather than just in sh-util/configure.in, so
56592         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
56593         all the same.
56594         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
56595         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
56596         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
56597         (AC_SUBST(POW_LIBM)): Likewise.
56598         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
56599
56600 2000-01-23  Jim Meyering  <meyering@lucent.com>
56601
56602         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
56603         obstack.c.
56604
56605 2000-01-22  Jim Meyering  <meyering@lucent.com>
56606
56607         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
56608
56609         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
56610
56611         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
56612         configure.in
56613         (AC_CHECK_HEADERS): Likewise for sh-utils.
56614         (AC_CHECK_HEADERS): Likewise for textutils.
56615         Merge the three lists of headers.
56616
56617         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
56618         from fileutils' configure.in.
56619
56620         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
56621         code. Moved tests into their own function (_jm_DECL_HEADERS) in
56622         check-decl.m4.
56623
56624         * m4/check-decl.m4: Use #if rather than #ifdef.
56625         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
56626         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
56627         (_jm_DECL_HEADERS): Define new function.
56628         (jm_CHECK_DECLARATIONS): Require it.
56629
56630 2000-01-22  Jim Meyering  <meyering@lucent.com>
56631
56632         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
56633         [! HAVE_DECL_STRTOULL]: Declare strtoull.
56634         Required for some AIX systems.  Reported by Christian Krackowizer.
56635         [TESTING] (main): New function.
56636
56637         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
56638         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
56639         letters.
56640
56641         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
56642         iswprint.
56643
56644         * lib/strverscmp.c (ISDIGIT): Define.
56645         (strverscmp): Use ISDIGIT, not isdigit.
56646
56647 2000-01-19  Jim Meyering  <meyering@lucent.com>
56648
56649         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
56650         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
56651         defines `struct timespec' in <sys/time.h>
56652
56653         * m4/c-bs-a.m4: Remove uses of changequote altogether.
56654         Thanks to Akim for explaining.
56655
56656 2000-01-17  Paul Eggert  <eggert@twinsun.com>
56657
56658         * lib/nanosleep.c (nanosleep):
56659         Don't use SA_INTERRUPT to decide whether to call sigaction, as
56660         POSIX.1 doesn't require SA_INTERRUPT and some systems
56661         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
56662         it's been part of POSIX.1 since day 1 (in 1988).
56663
56664 2000-01-17  Jim Meyering  <meyering@lucent.com>
56665
56666         * lib/interlock: Remove unused file.  Reported by François Pinard.
56667
56668 2000-01-16  Paul Eggert  <eggert@twinsun.com>
56669
56670         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
56671         alert, backslash, formfeed, and vertical tab unnecessarily in
56672         shell quoting style.
56673
56674 2000-01-16  Jim Meyering  <meyering@lucent.com>
56675
56676         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
56677         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
56678         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
56679         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
56680
56681 2000-01-16  Jim Meyering  <meyering@lucent.com>
56682
56683         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
56684         because the latter didn't work.
56685
56686 2000-01-15  Jim Meyering  <meyering@lucent.com>
56687
56688         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
56689         (AC_REPLACE_FUNCS): Add memcpy and memset.
56690         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
56691         Add strpbrk.
56692         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
56693
56694 2000-01-12  Jim Meyering  <meyering@lucent.com>
56695
56696         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
56697         (jm_PREREQ): Use it.
56698         (jm_PREREQ_READUTMP): New macro.
56699         (jm_PREREQ): Use it.
56700
56701 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56702
56703         Quote multibyte characters correctly.
56704         * m4/c-bs-a.m4: New file.
56705         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
56706         (jm_PREREQ): Use it.
56707
56708 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56709
56710         * m4/uintmax_t.m4: Port to autoconf 2.13.
56711
56712 2000-01-08  Jim Meyering  <meyering@ascend.com>
56713
56714         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
56715         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
56716
56717 2000-01-04  Jim Meyering  <meyering@ascend.com>
56718
56719         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
56720         jm_STRUCT_DIRENT_D_TYPE.
56721         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
56722         jm_STRUCT_DIRENT_D_INO.
56723         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
56724         jm_STRUCT_UTIMBUF.
56725         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
56726         renamings.
56727         * m4/utime.m4: Likewise.
56728
56729         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
56730         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
56731
56732 2000-01-03  Paul Eggert  <eggert@twinsun.com>
56733
56734         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
56735         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
56736
56737 2000-01-02  Jim Meyering  <meyering@ascend.com>
56738
56739         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
56740         remember if this is necessary.
56741
56742 1999-12-26  Jim Meyering  <meyering@ascend.com>
56743
56744         * m4/jm-macros.m4: Use it here.
56745         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
56746
56747 1999-12-23  Jim Meyering  <meyering@ascend.com>
56748
56749         * m4/jm-macros.m4: Check for clock_gettime (moved from
56750         fileutils/configure.in)
56751         Check for gettimeofday.
56752
56753 1999-12-20  Jim Meyering  <meyering@ascend.com>
56754
56755         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
56756         autoconf-2.14a-1999-12-20.
56757
56758 1999-12-19  Jim Meyering  <meyering@ascend.com>
56759
56760         * m4/lstat-slash.m4: New file.
56761         * m4/jm-macros.m4: Use the new macro:
56762         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56763
56764 1999-12-07  Jim Meyering  <meyering@ascend.com>
56765
56766         * m4/perl.m4: Require that File::Compare be available, too.
56767         Too many systems seem to lack it.
56768
56769         * m4/strftime.m4: Add checks for most of the cpp macros tested in
56770         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
56771
56772 1999-11-18  Paul Eggert  <eggert@twinsun.com>
56773
56774         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
56775         problem with the QNX 4.25 shell, which doesn't propagate exit
56776         status of failed commands inside shell assignments.
56777
56778 1999-11-17  Jim Meyering  <meyering@ascend.com>
56779
56780         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
56781
56782 1999-11-07  Jim Meyering  <meyering@ascend.com>
56783
56784         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
56785
56786 1999-11-06  Jim Meyering  <meyering@ascend.com>
56787
56788         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
56789         * m4/jm-macros.m4 (jm_MACROS): Use it here.
56790
56791 1999-11-05  Jim Meyering  <meyering@ascend.com>
56792
56793         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
56794         configure.in of textutils, fileutils, and sh-utils into this one
56795         (shared between those packages) file.
56796         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
56797         AC_STRUCT_ST_BLKSIZE.
56798
56799 1999-11-03  Jim Meyering  <meyering@ascend.com>
56800
56801         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
56802         of AC_CHECK_TYPE checks includes unistd.h.
56803         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
56804         Suggestion from Akim Demaille.
56805
56806 1999-10-30  Jim Meyering  <meyering@ascend.com>
56807
56808         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
56809         m4-quoted string.
56810         * m4/ls-mntd-fs.m4: Likewise.
56811         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
56812         * m4/jm-winsz1.m4: Likewise.
56813
56814         * m4/const.m4: Remove file, since the fix made it into the experimental
56815         version of autoconf.
56816         * m4/mktime.m4: Likewise.
56817
56818         * m4/check-type.m4: Remove file, now that the latest version of
56819         AC_CHECK_TYPE takes a third arg to specify additional #includes.
56820
56821         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
56822         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
56823         AC_CHECK_TYPE.
56824
56825 1999-10-04  Jim Meyering  <meyering@ascend.com>
56826
56827         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
56828
56829 1999-09-22  Paul Eggert  <eggert@twinsun.com>
56830
56831         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
56832         2.95.1 bug with HP-UX 10.20.
56833
56834 1999-09-17  Jim Meyering  <meyering@ascend.com>
56835
56836         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
56837         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
56838         due to missing strdup (against sh-utils-2.0).
56839
56840 1999-08-29  Jim Meyering  <meyering@ascend.com>
56841
56842         * m4/jm-macros.m4: Require jm_BISON.
56843         * m4/bison.m4: New file.
56844
56845 1999-08-17  Paul Eggert  <eggert@twinsun.com>
56846
56847         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
56848         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
56849
56850 1999-08-05  Jim Meyering  <meyering@ascend.com>
56851
56852         * m4/getline.m4: Rename test file from conftestdata to conftest.data
56853         to avoid conflicts with `conftest' on 8+3 filesystems.
56854         Suggestion from Eli Zaretskii.
56855
56856 1999-08-04  Jim Meyering  <meyering@ascend.com>
56857
56858         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
56859         fileutils and sh-utils (textutils's getline test was inadequate).
56860         (AM_FUNC_GETLINE): Run this test.
56861         (AC_CHECK_FUNCS): Check for getdelim.
56862         Reported by Bob Proulx.
56863
56864 1999-08-02  Jim Meyering  <meyering@ascend.com>
56865
56866         * m4/jm-macros.m4: Add a comment.
56867
56868 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56869
56870         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
56871         <inttypes.h> defines strtoumax as a macro (and not as a
56872         function).
56873
56874 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56875
56876         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
56877         that we can shift, multiply and divide unsigned long long
56878         values; Ultrix cc can't do it.
56879
56880 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56881
56882         * m4/mktime.m4: New file, which is a preview of what should appear
56883         in the next public autoconf release.
56884
56885 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56886
56887         * m4/lfs.m4: Remove this file.
56888         * m4/largefile.m4: New file.  It contains the old contents of
56889         lfs.m4, except that all names with prefix AC_LFS have been
56890         changed to use the prefix AC_SYS_LARGEFILE instead, to be
56891         compatible with future autoconf versions.  Also, some minor m4
56892         quoting problems have been fixed.
56893
56894 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56895
56896         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
56897         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
56898         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
56899         and simplify the shell code.
56900
56901 1999-08-01  Jim Meyering  <meyering@ascend.com>
56902
56903         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
56904         m4.
56905
56906 1999-07-20  Jim Meyering  <meyering@ascend.com>
56907
56908         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
56909
56910 1999-07-15  Jim Meyering  <meyering@ascend.com>
56911
56912         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
56913
56914 1999-05-22  Jim Meyering  <meyering@ascend.com>
56915
56916         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
56917
56918 1999-05-20  Jim Meyering  <meyering@ascend.com>
56919
56920         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
56921         Add a colon after each `then' in case $4 is empty.
56922
56923 1999-05-16  Jim Meyering  <meyering@ascend.com>
56924
56925         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
56926
56927 1999-05-10  Jim Meyering  <meyering@ascend.com>
56928
56929         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
56930
56931         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
56932         AC_FUNC_MKTIME.
56933
56934 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
56935
56936         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
56937
56938 1999-05-04  Paul Eggert  <eggert@twinsun.com>
56939
56940         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
56941         not CPPFLAGS, so that linking works correctly in IRIX.
56942
56943 1999-04-30  Paul Eggert  <eggert@twinsun.com>
56944
56945         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
56946
56947 1999-04-20  Paul Eggert  <eggert@twinsun.com>
56948
56949         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
56950         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
56951         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
56952         jm_AC_TYPE_UNSIGNED_LONG_LONG.
56953         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
56954
56955         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
56956
56957 1999-04-20  Jim Meyering  <meyering@ascend.com>
56958
56959         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
56960         AC_REPLACE xstroull if necessary.  From Paul Eggert.
56961         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
56962
56963 1999-04-18  Jim Meyering  <meyering@ascend.com>
56964
56965         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
56966         * m4/jm-macros.m4: Use it.
56967
56968 1999-04-06  Jim Meyering  <meyering@ascend.com>
56969
56970         * m4/strftime.m4: Remove test for %f.
56971
56972 1999-03-29  Jim Meyering  <meyering@ascend.com>
56973
56974         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
56975         superset of the AC_TYPE_* checks in the textutils, fileutils,
56976         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
56977         AC_TYPE_PID_T.
56978
56979 1999-03-28  Jim Meyering  <meyering@ascend.com>
56980
56981         * m4/jm-macros.m4: Define GNU_PACKAGE here.
56982         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
56983         replaced e.g., in the *.sh files of the sh-utils.
56984
56985 1999-03-20  Jim Meyering  <meyering@ascend.com>
56986
56987         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
56988         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
56989         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
56990
56991 1999-03-19  Jim Meyering  <meyering@ascend.com>
56992
56993         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
56994
56995 1999-03-12  Jim Meyering  <meyering@ascend.com>
56996
56997         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
56998
56999 1999-03-07  Jim Meyering  <meyering@ascend.com>
57000
57001         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
57002         declared.
57003
57004 1999-02-17  Jim Meyering  <meyering@ascend.com>
57005
57006         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
57007         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
57008
57009 1999-02-07  Jim Meyering  <meyering@ascend.com>
57010
57011         * m4/group-member.m4: New file -- extracted from sh-utils'
57012         configure.in.
57013
57014         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
57015         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
57016
57017 1999-02-06  Jim Meyering  <meyering@ascend.com>
57018
57019         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
57020         * m4/fnmatch.m4: Likewise.
57021         * m4/getgroups.m4: Likewise.
57022         * m4/lstat.m4: Likewise.
57023         * m4/malloc.m4: Likewise.
57024         * m4/putenv.m4: Likewise.
57025         * m4/realloc.m4: Likewise.
57026         * m4/regex.m4: Likewise.
57027         * m4/stat.m4: Likewise.
57028         * m4/strftime.m4: Likewise.
57029         Suggestion from Alain Magloire.
57030
57031         * m4/chown.m4: Use `.$ac_objext', not `.o'.
57032         * m4/fnmatch.m4: Likewise.
57033         * m4/getgroups.m4: Likewise.
57034         * m4/getline.m4: Likewise.
57035         * m4/lstat.m4: Likewise.
57036         * m4/malloc.m4: Likewise.
57037         * m4/memcmp.m4: Likewise.
57038         * m4/putenv.m4: Likewise.
57039         * m4/realloc.m4: Likewise.
57040         * m4/regex.m4: Likewise.
57041         * m4/stat.m4: Likewise.
57042         * m4/strftime.m4: Likewise.
57043         Suggestion from Alain Magloire.
57044
57045         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
57046         an argument.
57047
57048         * m4/regex.m4: Add a run-time Test for proper operation of
57049         re_compile_pattern.
57050
57051 1999-01-31  Jim Meyering  <meyering@ascend.com>
57052
57053         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
57054
57055 1999-01-30  Jim Meyering  <meyering@ascend.com>
57056
57057         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
57058
57059         * m4/jm-mktime.m4: Make this a wrapper around the official
57060         AM_FUNC_MKTIME rather than my private copy, now that the official one
57061         is up to date.
57062         * m4/mktime.m4: Remove file.
57063
57064         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
57065         * m4/uptime.m4: Likewise.
57066         * m4/uintmax_t.m4: Likewise.
57067
57068 1999-01-28  Jim Meyering  <meyering@ascend.com>
57069
57070         * m4/jm-macros.m4: Use jm_AFS.
57071         * m4/afs.m4: New file (from fileutils' configure.in).
57072
57073         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
57074         * m4/chown.m4: Likewise.
57075         * m4/d-ino.m4: Likewise.
57076         * m4/d-type.m4: Likewise.
57077         * m4/fnmatch.m4: Likewise.
57078         * m4/getgroups.m4: Likewise.
57079         * m4/gettext.m4: Likewise.
57080         * m4/jm-mktime.m4: Likewise.
57081         * m4/jm-winsz2.m4: Likewise.
57082         * m4/lcmessage.m4: Likewise.
57083         * m4/ls-mntd-fs.m4: Likewise.
57084         * m4/malloc.m4: Likewise.
57085         * m4/memcmp.m4: Likewise.
57086         * m4/putenv.m4: Likewise.
57087         * m4/realloc.m4: Likewise.
57088         * m4/st_mtim.m4: Likewise.
57089         * m4/strftime.m4: Likewise.
57090
57091 1999-01-16  Jim Meyering  <meyering@ascend.com>
57092
57093         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
57094         (ARGMATCH_DIE_DECL): Define.
57095
57096 1999-01-12  Jim Meyering  <meyering@ascend.com>
57097
57098         * m4/Makefile.am.in: Rewrite to avoid using fmt.
57099         Reported by Lars Hecking.
57100
57101 1999-01-10  Jim Meyering  <meyering@ascend.com>
57102
57103         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
57104         gross kludge.
57105         * m4/inttypes_h.m4: Likewise.
57106         * m4/lstat.m4: Likewise.
57107         * m4/malloc.m4: Likewise.
57108         * m4/readdir.m4: Likewise.
57109         * m4/realloc.m4: Likewise.
57110         * m4/st_dm_mode.m4: Likewise.
57111         * m4/stat.m4: Likewise.
57112         * m4/utimbuf.m4: Likewise.
57113         * m4/utimes.m4: Likewise.
57114
57115         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
57116         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
57117         comments in config.h.in are meaningful.
57118
57119         * m4/jm-macros.m4: Require autoconf-2.13 here.
57120
57121         * m4/regex.m4: By default, don't use the included regex.c on systems
57122         with glibc 2.  Suggestion from Uli Drepper.
57123
57124 1999-01-02  Jim Meyering  <meyering@ascend.com>
57125
57126         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
57127
57128 1998-12-18  Jim Meyering  <meyering@ascend.com>
57129
57130         * m4/Makefile.am.in (Makefile.am): Simplify rule.
57131         Based on a suggestion from Lars Hecking.
57132
57133 1998-11-16  Paul Eggert  <eggert@twinsun.com>
57134
57135         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
57136
57137 1998-11-16  Jim Meyering  <meyering@ascend.com>
57138
57139         * m4/lfs.m4: Double-quote the `uname...` expression.
57140
57141 1998-11-14  Jim Meyering  <meyering@ascend.com>
57142
57143         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
57144         * m4/stat.m4: Likewise.
57145
57146 1998-11-03  Jim Meyering  <meyering@ascend.com>
57147
57148         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
57149         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
57150
57151 1998-10-18  Jim Meyering  <meyering@ascend.com>
57152
57153         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
57154
57155 1998-10-17  Jim Meyering  <meyering@ascend.com>
57156
57157         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
57158         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
57159         calls for those previously hard-coded headers.  Instead, take a new
57160         parameter.
57161         (jm_CHECK_DECLARATIONS): Reflect interface change.
57162         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
57163         (jm_CHECK_DECL_LOCALTIME_R): New macro.
57164
57165         * m4/mktime.m4: Test for spring-forward gap before long-running test.
57166
57167 1998-10-14  Jim Meyering  <meyering@ascend.com>
57168
57169         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
57170         instead of "TZ=America/Vancouver".  From Paul Eggert.
57171
57172 1998-10-11  Jim Meyering  <meyering@ascend.com>
57173
57174         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
57175         This adds a test for a recently added compatibility fix for mktime.c.
57176         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
57177
57178 1998-09-27  Jim Meyering  <meyering@ascend.com>
57179
57180         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
57181
57182         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
57183         ../configure.in, including a change from Gordon Matzigkeit to allow
57184         cross-compiling for the Hurd.
57185
57186         * m4/glibc.m4: New file/macro to test for the GNU C Library
57187         versions 1 and 2.  From Gordon Matzigkeit.
57188         Indent.
57189
57190 1998-09-21  Jim Meyering  <meyering@ascend.com>
57191
57192         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
57193
57194 1998-08-18  Paul Eggert  <eggert@twinsun.com>
57195
57196         Port nanosecond-resolution times to UnixWare 2.1.2 and
57197         pedantic Solaris 2.6.
57198
57199         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
57200         AC_STRUCT_ST_MTIM.
57201         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
57202         Generate name of ns member, instead of just 1 or undef.
57203         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
57204
57205 1998-08-15  Jim Meyering  <meyering@ascend.com>
57206
57207         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
57208         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
57209         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
57210         instead of jm_TYPE_SSIZE_T.
57211
57212 1998-08-12  Jim Meyering  <meyering@ascend.com>
57213
57214         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
57215
57216 1998-08-02  Jim Meyering  <meyering@ascend.com>
57217
57218         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
57219         in acconfig.h manually.
57220
57221 1998-07-31  Paul Eggert  <eggert@twinsun.com>
57222
57223         * m4/st_mtim.m4: New file.
57224
57225 1998-07-28  Jim Meyering  <meyering@ascend.com>
57226
57227         * m4/utimes.m4: Undef stat.
57228
57229 1998-07-25  Jim Meyering  <meyering@ascend.com>
57230
57231         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
57232         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
57233
57234 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
57235
57236         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
57237         uid and gid actually remain unchanged.
57238
57239 1998-07-07  Jim Meyering  <meyering@ascend.com>
57240
57241         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
57242
57243 1998-07-04  Jim Meyering  <meyering@ascend.com>
57244
57245         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
57246         to prove that this macro can be used in packages without regex.c.
57247
57248 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
57249
57250         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
57251         is to be used.
57252
57253 1998-07-03  Jim Meyering  <meyering@ascend.com>
57254
57255         * m4/gettext.m4: Add -lintl if it's found to be necessary.
57256
57257         * m4/gettext.m4: New file -- from gettext-0.10.35.
57258         * m4/lcmessage.m4: Likewise.
57259         * m4/progtest.m4: Likewise.
57260
57261         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
57262         * m4/jm-macros.m4: Require the new macro.
57263
57264 1998-06-29  Jim Meyering  <meyering@ascend.com>
57265
57266         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
57267         for the definition of NGROUPS (used in a system header included
57268         by sys/mount.h).
57269
57270 1998-06-28  Jim Meyering  <meyering@ascend.com>
57271
57272         * m4/ls-mntd-fs.m4: New file.
57273         * m4/fstypename.m4: New file.
57274
57275         * m4/jm-macros.m4: Require the new macro.
57276         * m4/jm-glibc-io.m4: New file.
57277
57278 1998-05-19  Jim Meyering  <meyering@ascend.com>
57279
57280         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
57281         * m4/lchown.m4: New file.
57282
57283         * m4/Makefile.am.in: New file.
57284         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
57285
57286 1998-05-14  Jim Meyering  <meyering@ascend.com>
57287
57288         * m4/Makefile.am (EXTRA_DIST): Add them.
57289         * m4/jm-macros.m4: New file.
57290         * m4/utimbuf.m4: New file.
57291
57292 1998-05-12  Jim Meyering  <meyering@ascend.com>
57293
57294         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
57295
57296 1998-05-11  Jim Meyering  <meyering@ascend.com>
57297
57298         * m4/isc-posix.m4: New file.
57299
57300 1998-05-10  Jim Meyering  <meyering@ascend.com>
57301
57302         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
57303
57304 1998-05-09  Jim Meyering  <meyering@ascend.com>
57305
57306         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
57307         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
57308         with automake.
57309
57310         * m4/ssize_t.m4: New file.
57311         * m4/mktime.m4: Remove file -- the new automake has this now.
57312
57313 1998-04-26  Jim Meyering  <meyering@ascend.com>
57314
57315         * m4/assert.m4: New file.
57316         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
57317
57318 1998-04-05  Jim Meyering  <meyering@ascend.com>
57319
57320         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
57321         (jm_PREREQ): Use it here.
57322
57323 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
57324
57325         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
57326         in acconfig.h.
57327
57328 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
57329
57330         * m4/prereq.m4: New file.
57331         * m4/error.m4: New file.
57332         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
57333
57334 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
57335
57336         * m4/getline.m4: Don't set am_cv_func_working_getline before the
57337         cache-check for the same variable -- that defeated the purpose of
57338         the test; the test program was never run.  This was a problem only
57339         on systems with losing getline functions -- HP-UX 10.20 is one.
57340         Reported by Bjorn Helgaas.
57341
57342 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
57343
57344         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
57345
57346 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
57347
57348         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
57349
57350         * m4/const.m4: New file.  Use an initializer in this declaration
57351         typedef int charset[2]; const charset x;
57352         Reported by Bob Glickstein.
57353
57354 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
57355
57356         * m4/chown.m4: Fix reversed types on -1 args to chown.
57357         From Kaveh Ghazi.
57358
57359 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
57360
57361         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
57362         Add lseek and memchr.
57363
57364         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
57365         T.E.Dickey <dickey@clark.net> said that some older preprocessors
57366         have a 20-character limit on names.
57367
57368 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
57369
57370         * m4/inttypes_h.m4: New file.
57371         * m4/uintmax_t.m4: New file.
57372         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
57373
57374
57375         -----
57376
57377         Local Variables:
57378         coding: utf-8
57379         End:
57380
57381         Copyright (C) 1997-2009 Free Software Foundation, Inc.
57382
57383         Copying and distribution of this file, with or without
57384         modification, are permitted provided the copyright notice
57385         and this notice are preserved.