test-xalloc-die: avoid spurious failure due to libtool argv difference
[pspp] / ChangeLog
1 2009-11-27  Jim Meyering  <meyering@redhat.com>
2
3         test-xalloc-die: avoid spurious failure due to libtool argv difference
4         In a libtool-enabled project, this test would fail due to a difference
5         in the emitted program name, e.g.,
6         -test-xalloc-die: memory exhausted
7         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8         Use program to avoid that.
9         * modules/xalloc-die-tests (Depends-on): Add progname.
10         * tests/test-xalloc-die.c: Include progname.h".
11         (program_name): Remove decl.
12         (main): Call set_program_name.
13         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
14
15 2009-11-26  Richard Jones  <rjones@redhat.com>
16
17         w32sock: leave win32 error in place.
18         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
19
20 2009-11-26  Eric Blake  <ebb9@byu.net>
21
22         init.sh: suggest to use skip_ and fail_ functions in comments
23         * tests/init.sh: Add a sentence.
24
25 2009-11-25  Bruno Haible  <bruno@clisp.org>
26
27         init.sh: add documentation in comments
28         * tests/init.sh: Add some developer and user documentation.
29
30 2009-11-26  Jim Meyering  <meyering@redhat.com>
31
32         init.sh: accommodate even those who specify bogus srcdir manually
33         * tests/init.sh: Normally, srcdir is guaranteed by automake and
34         configure-time tests to be sanitized, so that there is no need to
35         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36         (with no double quotes) suffices.  However, since tests may be
37         invoked manually, and since you may explicitly set srcdir to the
38         name of a directory containing spaces, do quote its uses here.
39         * tests/test-pread.sh: Likewise.
40         Suggested by Bruno Haible.
41
42         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
43         * tests/test-pread.sh: Write no data into the pipe, because
44         test-pread actually reads none.  This avoids a diagnostic,
45         "bash: echo: write error: Broken pipe", that arises in the unusual
46         event something is ignoring SIGPIPE, and might be interpreted
47         as some sort of failure.  Reported by Bruno Haible.
48
49 2009-11-25  Jim Meyering  <meyering@redhat.com>
50
51         test-pread: cover failure with ESPIPE and EINVAL
52         * tests/test-pread.c (main): Test for failure, too.
53         * tests/test-pread.sh: Invoke with stdin on a pipe.
54         Suggested by Eric Blake.
55
56         pread: improvement and fix
57         * modules/pread (Depends-on): Depend on lseek, for portability to
58         e.g., mingw.  Suggested by Eric Blake.
59         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60
61         unistd.in.h: correct declaration of pread
62         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
63         Reported by Richard W.M. Jones.
64
65         test-pread.sh: distribute the test script
66         * modules/pread-tests (Files): Include test-pread.sh.
67
68         test-pread.sh: clean up
69         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
70         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
71         That is unnecessary, since it's always ".".
72         Suggestion from Eric Blake.
73
74         test-pread.sh: make executable
75         * tests/test-pread.sh: Set executable bit.
76         Reported by Eric Blake.
77
78         correct typo in test-pread.sh
79         * tests/test-pread.sh: Add #! line.
80
81         test pread
82         * tests/test-pread.c: New file.
83         * tests/test-pread.sh: Likewise.
84         * modules/pread-tests: Likewise.
85
86         pread: new module
87         * modules/pread: New file.
88         * lib/unistd.in.h (pread): Define/declare.
89         * lib/pread.c (pread): New file.
90         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
91         * modules/unistd (Makefile.am): Substitute witnesses.
92         * doc/posix-functions/pread.texi (pread): Update.
93         * MODULES.html.sh: Add pread.
94
95 2009-11-25  Jim Meyering  <meyering@redhat.com>
96
97         tests/init.sh: new file to be used via most *.sh tests
98         * tests/init.sh: New file.
99
100 2009-11-25  Eric Blake  <ebb9@byu.net>
101
102         utimens: work around older Linux failure with symlinks
103         * lib/utimens.c (lutimensat_works_really): New variable.
104         (fdutimens, lutimens): Use it to manage kernels that support
105         nanosecond times on files, but not on symlinks.
106         Reported by Ondřej Vašík.
107
108         utimes: fix configure grammar
109         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
110
111 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
112
113         regex: Fix fastmap for multibyte character ranges.
114         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
115         characters when a multibyte character range is included.
116
117 2009-11-22  Andy Wingo  <wingo@pobox.com>
118
119         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
120         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
121
122 2009-11-24  Bruno Haible  <bruno@clisp.org>
123
124         doc: Most *_l functions exist in MacOS X 10.5.
125         * doc/posix-functions/duplocale.texi: Update platforms list.
126         * doc/posix-functions/freelocale.texi: Likewise.
127         * doc/posix-functions/newlocale.texi: Likewise.
128         * doc/posix-functions/uselocale.texi: Likewise.
129         * doc/posix-functions/isalnum_l.texi: Likewise.
130         * doc/posix-functions/isalpha_l.texi: Likewise.
131         * doc/posix-functions/isblank_l.texi: Likewise.
132         * doc/posix-functions/iscntrl_l.texi: Likewise.
133         * doc/posix-functions/isdigit_l.texi: Likewise.
134         * doc/posix-functions/isgraph_l.texi: Likewise.
135         * doc/posix-functions/islower_l.texi: Likewise.
136         * doc/posix-functions/isprint_l.texi: Likewise.
137         * doc/posix-functions/ispunct_l.texi: Likewise.
138         * doc/posix-functions/isspace_l.texi: Likewise.
139         * doc/posix-functions/isupper_l.texi: Likewise.
140         * doc/posix-functions/iswalnum_l.texi: Likewise.
141         * doc/posix-functions/iswalpha_l.texi: Likewise.
142         * doc/posix-functions/iswblank_l.texi: Likewise.
143         * doc/posix-functions/iswcntrl_l.texi: Likewise.
144         * doc/posix-functions/iswctype_l.texi: Likewise.
145         * doc/posix-functions/iswdigit_l.texi: Likewise.
146         * doc/posix-functions/iswgraph_l.texi: Likewise.
147         * doc/posix-functions/iswlower_l.texi: Likewise.
148         * doc/posix-functions/iswprint_l.texi: Likewise.
149         * doc/posix-functions/iswpunct_l.texi: Likewise.
150         * doc/posix-functions/iswspace_l.texi: Likewise.
151         * doc/posix-functions/iswupper_l.texi: Likewise.
152         * doc/posix-functions/iswxdigit_l.texi: Likewise.
153         * doc/posix-functions/isxdigit_l.texi: Likewise.
154         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
155         * doc/posix-functions/strcasecmp_l.texi: Likewise.
156         * doc/posix-functions/strcoll_l.texi: Likewise.
157         * doc/posix-functions/strfmon_l.texi: Likewise.
158         * doc/posix-functions/strftime_l.texi: Likewise.
159         * doc/posix-functions/strncasecmp_l.texi: Likewise.
160         * doc/posix-functions/strxfrm_l.texi: Likewise.
161         * doc/posix-functions/tolower_l.texi: Likewise.
162         * doc/posix-functions/toupper_l.texi: Likewise.
163         * doc/posix-functions/towctrans_l.texi: Likewise.
164         * doc/posix-functions/towlower_l.texi: Likewise.
165         * doc/posix-functions/towupper_l.texi: Likewise.
166         * doc/posix-functions/wcscoll_l.texi: Likewise.
167         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
168         * doc/posix-functions/wctrans_l.texi: Likewise.
169         * doc/posix-functions/wctype_l.texi: Likewise.
170         * doc/glibc-functions/strptime_l.texi: Likewise.
171         * doc/glibc-functions/strtod_l.texi: Likewise.
172         * doc/glibc-functions/strtof_l.texi: Likewise.
173         * doc/glibc-functions/strtol_l.texi: Likewise.
174         * doc/glibc-functions/strtold_l.texi: Likewise.
175         * doc/glibc-functions/strtoll_l.texi: Likewise.
176         * doc/glibc-functions/strtoul_l.texi: Likewise.
177         * doc/glibc-functions/strtoull_l.texi: Likewise.
178         * doc/glibc-functions/wcsftime_l.texi: Likewise.
179         * doc/glibc-functions/wcstod_l.texi: Likewise.
180         * doc/glibc-functions/wcstof_l.texi: Likewise.
181         * doc/glibc-functions/wcstol_l.texi: Likewise.
182         * doc/glibc-functions/wcstold_l.texi: Likewise.
183         * doc/glibc-functions/wcstoll_l.texi: Likewise.
184         * doc/glibc-functions/wcstoul_l.texi: Likewise.
185         * doc/glibc-functions/wcstoull_l.texi: Likewise.
186
187 2009-11-24  Bruno Haible  <bruno@clisp.org>
188
189         duplocale: Fix logic bug.
190         * lib/duplocale.c: Don't include <langinfo.h>.
191         (_NL_LOCALE_NAME): Remove macro.
192         (rpl_duplocale): Use setlocale instead of nl_langinfo.
193         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
194
195 2009-11-23  Jim Meyering  <meyering@redhat.com>
196
197         test-update-copyright: don't hard-code /usr/bin/perl
198         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
199         perl to print the current year.  Gilles Espinasse reported that
200         the replaced use of perl was hard-coded as /usr/bin/perl.
201
202 2009-11-23  Bruno Haible  <bruno@clisp.org>
203
204         duplocale: Add support for glibc 2.3.x.
205         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
206
207 2009-11-22  Bruno Haible  <bruno@clisp.org>
208
209         vasnprintf: Tiny optimization.
210         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
211         MacOS X.
212
213 2009-11-22  Bruno Haible  <bruno@clisp.org>
214
215         Tests for module 'duplocale'.
216         * modules/duplocale-tests: New file.
217         * tests/test-duplocale.c: New file.
218
219         New module 'duplocale'.
220         * m4/duplocale.m4: New file.
221         * lib/locale.in.h (duplocale): New declaration.
222         * lib/duplocale.c: New file.
223         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
224         gl_LOCALE_H_DEFAULTS): New macros.
225         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
226         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
227         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
228         REPLACE_DUPLOCALE.
229         * modules/duplocale: New file.
230         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
231
232 2009-11-22  Bruno Haible  <bruno@clisp.org>
233
234         * modules/locale-tests (configure.ac): Test for newlocale function.
235         * tests/test-locale.c: When the system has extended locale functions,
236         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
237
238         locale: Make locale_t available when possible.
239         * lib/locale.in.h: Include <xlocale.h> when it exists.
240         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
241         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
242         * modules/locale (Depends-on): Add extensions.
243         (Makefile.am): Also substitute HAVE_XLOCALE_H.
244         * doc/posix-headers/locale.texi: Document the problem with locale_t.
245
246 2009-11-22  Bruno Haible  <bruno@clisp.org>
247
248         Add comments.
249         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
250         invocation.
251         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
252         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
253         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
254
255 2009-11-22  Bruno Haible  <bruno@clisp.org>
256
257         error: account for the possibility of freopen (stdout).
258         * lib/error.c: Include <unistd.h>.
259         (flush_stdout): New function, extracted from error and error_at_line.
260         Determine stdout's fd dynamically.
261         (error, error_at_line): Invoke flush_stdout.
262         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
263         * modules/error (Depends-on): Add unistd.
264
265 2009-11-22  Bruno Haible  <bruno@clisp.org>
266
267         diffseq: Add comment.
268         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
269
270 2009-11-22  Jim Meyering  <meyering@redhat.com>
271
272         c-stack: avoid defining an unused static function
273         * lib/c-stack.c (find_stack_direction): Do not define this function
274         when it will not be used.
275
276         diffseq: avoid spurious gcc warnings
277         * lib/diffseq.h (IF_LINT2): Define.
278         (compareseq): Use it to initialize two members of "part".
279         This avoids two used-uninitialized warnings.
280
281 2009-11-21  Jim Meyering  <meyering@redhat.com>
282
283         c-stack: avoid "ignoring return value of `write'" warning
284         * lib/c-stack.c: Include "ignore-value.h".
285         (die): Explicitly ignore each write return value.
286         * modules/c-stack (Depends-on): Add ignore-value.
287
288 2009-11-21  Bruno Haible  <bruno@clisp.org>
289
290         diffseq: reduce scope of variable 'best'.
291         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
292         variable, earlier used for two different purposes.
293
294 2009-11-21  Jim Meyering  <meyering@redhat.com>
295
296         diffseq: remove useless assignment to "best"
297         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
298         assignment.  At that point "best" is already guaranteed to be zero.
299
300 2009-11-20  Eric Blake  <ebb9@byu.net>
301
302         build: mention ftp redirector in release announcements
303         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
304         values that used to come from cfg.mk; mention FTP redirect URL.
305         * build-aux/announce-gen: Mention the mirror list.
306         Suggested by Karl Berry.
307
308         nanosleep: improve port to mingw
309         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
310         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
311         LIB_NANOSLEEP, but only when needed.
312         * modules/select (Link): Document LIBSOCKET.
313         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
314         enough.
315
316         nanosleep: work around cygwin bug
317         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
318         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
319         bug.
320         (getnow): Delete, not needed.
321         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
322         LIB_CLOCK_GETTIME.
323         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
324         clock-time, gettime.
325         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
326         bug.
327         * modules/nanosleep-tests: New test.
328         * tests/test-nanosleep.c: New file.
329
330         sleep: work around cygwin bug
331         * lib/sleep.c (rpl_sleep): Work around the bug.
332         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
333         (gl_PREREQ_SLEEP): Delete unused macro.
334         * modules/sleep (Depends-on): Add verify.
335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
336         * modules/unistd (Makefile.am): Substitute witness.
337         * lib/unistd.in.h (sleep): Update prototype.
338         * doc/posix-functions/sleep.texi (sleep): Document the bug.
339         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
340         * modules/sleep-tests (Depends-on): Check for alarm.
341
342 2009-11-20  Jim Meyering  <meyering@redhat.com>
343
344         maint.mk: improve sc_prohibit_magic_number_exit
345         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
346         so it does not match uses like System.exit(1).
347         Add comments showing how to correct all offenders.
348
349 2009-11-19  Eric Blake  <ebb9@byu.net>
350
351         xalloc-die-tests: add missing library
352         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
353
354         test-xvasprintf: silence compiler warnings
355         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
356         empty string from gcc.
357
358 2009-11-19  Jim Meyering  <meyering@redhat.com>
359
360         xfreopen: new module, from coreutils
361         * modules/xfreopen: New module.
362         * lib/xfreopen.c: New file.
363         * lib/xfreopen.h: New file.
364         * MODULES.html.sh (File stream based Input/Output"): Add it.
365
366 2009-11-19  Eric Blake  <ebb9@byu.net>
367
368         manywarnings: depend on warnings
369         * modules/manywarnings (Depends-on): Add warnings.
370
371         build: avoid compiler warnings
372         * lib/select.c (rpl_select): Delete unused variable.
373         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
374
375 2009-11-18  Eric Blake  <ebb9@byu.net>
376
377         tests: avoid false negative with --with-packager
378         * tests/test-version-etc.sh: Discard packager information.
379         * tests/test-argp-version-etc-1.sh: Likewise.
380         Reported by Mike Frysinger.
381
382         utimens: fix regression on Solaris
383         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
384         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
385         can only change fd timestamps via futimesat.  Instead, use an
386         additional witness macro to avoid BSD bug.
387         Reported by Jim Meyering.
388
389 2009-11-17  Eric Blake  <ebb9@byu.net>
390
391         usleep: use it to simplify tests
392         * modules/stat-time-tests (Depends-on): Add usleep.
393         (configure.ac): Drop usleep check.
394         * modules/chown-tests (Depends-on, configure.ac): Likewise.
395         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
396         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
397         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
398         * modules/openat-tests (Depends-on, configure.ac): Likewise.
399         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
400         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
401         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
402         Likewise.
403         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
404         * tests/test-lchown.h (nap): Likewise.
405         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
406         * tests/test-stat-time.c (nap): Likewise.
407         * tests/test-utimens-common.h (nap): Update comments.
408
409         usleep: new module
410         * modules/usleep: New file.
411         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
412         * lib/usleep.c (usleep): Likewise.
413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
414         * modules/unistd (Makefile.am): Substitute witnesses.
415         * lib/unistd.in.h (usleep): Add declaration.
416         * doc/pastposix-functions/usleep.texi (usleep): Document this.
417         * MODULES.html.sh (Date and time): Likewise.
418         * modules/usleep-tests (Depends-on): New test.
419         * tests/test-usleep.c: New file.
420
421         chown: work around OpenBSD bug
422         * lib/chown.c (rpl_chown): Work around the bug.
423         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
424         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
425         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
426         * modules/chown (Depends-on): Add stdbool.
427         * modules/lchown (Depends-on): Likewise.
428         * doc/posix-functions/chown.texi (chown): Document the bug.
429         * doc/posix-functions/lchown.texi (lchown): Likewise.
430         * tests/test-lchown.h (test_chown): Relax test.
431
432         mkstemp: avoid conflict with C++ keyword template
433         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
434         * lib/mkostemp.c (mkostemp): Likewise.
435         * lib/mkostemps.c (mkostemps): Likewise.
436         * lib/mkstemp.c (mkstemp): Likewise.
437         * lib/mkstemps.c (mkstemps): Likewise.
438
439         xalloc-die-tests: optimize
440         * tests/test-xalloc-die.sh: Reduce number of processes.
441
442 2009-11-17  Simon Josefsson  <simon@josefsson.org>
443
444         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
445         patch from ludo@gnu.org (Ludovic Courtès).
446
447 2009-11-17  Jim Meyering  <meyering@redhat.com>
448
449         version-etc: use proper license string
450         * modules/version-etc (License): Use LGPL, not LGPLv3+.
451         * modules/version-etc-fsf: Likewise.
452
453 2009-11-17  Simon Josefsson  <simon@josefsson.org>
454
455         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
456         printed to stdout.  Deal with EOL differences.
457
458 2009-11-17  Eric Blake  <ebb9@byu.net>
459
460         unsetenv: work around Solaris bug
461         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
462         * lib/unsetenv.c (rpl_unsetenv): Work around it.
463         Reported by Jim Meyering.
464
465         vasnprintf: avoid compiler warnings
466         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
467         variables.
468         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
469
470 2009-11-17  Simon Josefsson  <simon@josefsson.org>
471
472         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
473         settings since xalloc-die is no longer the self test,
474         xalloc-die.sh is.
475
476 2009-11-17  Jim Meyering  <meyering@redhat.com>
477
478         test-xalloc-die.sh: make the code agree with the commit log
479         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
480         at the end, just in case you happen to have a test-xalloc-die
481         program in some other PATH directory.
482
483         test-xalloc-die.sh: fix a portability bug
484         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
485         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
486         Otherwise, argv[0] (as often seen in diagnostics) would be too
487         system-dependent, sometimes with, and sometimes without the leading "./".
488
489         version-etc-fsf: relax license to LGPLv3+
490         * modules/version-etc-fsf (License): Relax license.
491
492 2009-11-16  Eric Blake  <ebb9@byu.net>
493
494         xalloc-die-tests: avoid printing null pointer
495         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
496         shell script.
497         * tests/test-xalloc-die.c (program_name): Declare.
498         * tests/test-xalloc-die.sh (tmpfiles): New file.
499
500         setenv, unsetenv: work around various bugs
501         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
502         (setenv) [HAVE_SETENV]: Work around bugs.
503         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
504         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
505         for bugs.
506         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
507         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
509         * modules/stdlib (Makefile.am): Update substitutions.
510         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
511         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
512         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
513         * modules/setenv-tests: New test.
514         * modules/unsetenv-tests: Likewise.
515         * tests/test-setenv.c: New file.
516         * tests/test-unsetenv.c: Likewise.
517
518 2009-11-16  Jim Meyering  <meyering@redhat.com>
519
520         version-etc: relax license to LGPLv3+
521         * modules/version-etc (License): Relax license.
522
523         better AC_REQUIRE expanded-before-required-warning avoidance
524         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
525         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
526         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
527         which is no longer needed.
528
529 2009-11-16  Eric Blake  <ebb9@byu.net>
530
531         test-freading: clean up temporary file
532         * tests/test-freading.c (main): Remove file on success, and use
533         ASSERT more liberally.
534         Reported by Jim Meyering.
535
536 2009-11-16  Jim Meyering  <meyering@redhat.com>
537
538         avoid new AC_REQUIRE expanded-before-required warnings
539         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
540         merely using it.
541         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
542         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
543
544 2009-11-15  Simon Josefsson  <simon@josefsson.org>
545
546         * tests/test-xalloc-die.c: New file.
547         * modules/xalloc-die-tests: New file.
548         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
549         XFAIL_TESTS so it can be appended by modules.
550
551 2009-11-15  Simon Josefsson  <simon@josefsson.org>
552
553         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
554         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
555
556 2009-11-14  Eric Blake  <ebb9@byu.net>
557
558         fnmatch: avoid compiler warning
559         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
560         to silence compiler warning about mismatch signedness in ?:.
561         Reported by Robert Millan.
562
563         intprops: add double-inclusion guard
564         * lib/intprops.h: Allow idempotent includes.
565         Suggested by Bruce Korb.
566
567         openat: detect Solaris fchownat bug
568         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
569         penalizing glibc chownat when only lchownat is broken.
570         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
571         trailing slash bugs.
572         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
573         * modules/openat-tests (Files): Include more files.
574         (Depends-on): Add mgetgroups, sleep, stat-time.
575         (configure.ac): Add additional checks.
576         (Makefile.am): Build new test.
577         * tests/test-fchownat.c: New file.
578
579         lchown: detect Solaris and FreeBSD bug
580         * lib/lchown.c (rpl_lchown): Work around bug.
581         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
583         * modules/unistd (Makefile.am): Populate it.
584         * lib/unistd.in.h (lchown): Update declaration.
585         * doc/posix-functions/lchown.texi (lchown): Document the bug.
586         * modules/lchown-tests: New file.
587         * tests/test-lchown.h (test_lchown): Likewise.
588         * tests/test-lchown.c (main): Likewise.
589
590         chown: detect Solaris and FreeBSD bug
591         * lib/chown.c (rpl_chown): Work around bug.
592         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
593         (gl_PREREQ_CHOWN): Delete.
594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
595         * modules/unistd (Makefile.am): Populate it.
596         * lib/unistd.in.h (chown): Update declaration.
597         * lib/lchown.c (chown): Update client.
598         * modules/lchown (Depends-on): Add lstat.
599         * doc/posix-functions/chown.texi (chown): Document the bug.
600         * doc/posix-functions/getgroups.texi (getgroups): Document
601         getgroups pitfall.
602         * modules/chown-tests: New file.
603         * tests/test-chown.h (test_chown): Likewise.
604         * tests/test-chown.c (main): Likewise.
605
606 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
607
608         gnulib-tool: correctly detect absence of m4 directories
609         * gnulib-tool: Avoid extra newline on data passed to wc -l.
610
611 2009-11-14  Jim Meyering  <meyering@redhat.com>
612
613         maint.mk: Prohibit inclusion of "xalloc.h" without use.
614         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
615
616 2009-11-14  John W. Eaton  <jwe@gnu.org>
617
618         strftime.h: wrap funtion declaration in extern "C" block
619         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
620
621 2009-11-13  Eric Blake  <ebb9@byu.net>
622
623         getgroups: avoid compiler warning
624         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
625
626         getgroups: work around FreeBSD bug
627         * lib/getgroups.c (rpl_getgroups): Work around the bug.
628         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
629         * doc/posix-functions/getgroups.texi (getgroups): Document it.
630         * tests/test-getgroups.c (main): Fix buffer overrun.
631
632         getgroups: avoid compilation failure
633         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
634         * modules/getgroups (Depends-on): Add stdint.
635
636 2009-11-13  Jim Meyering  <meyering@redhat.com>
637
638         test-getgroups: avoid compilation failure
639         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
640
641 2009-11-13  Eric Blake  <ebb9@byu.net>
642
643         mgetgroups: new module, taken from coreutils
644         * modules/mgetgroups: New file.
645         * lib/mgetgroups.h: Likewise.
646         * lib/mgetgroups.c (mgetgroups): Likewise.
647         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
648         * MODULES.html.sh (Users and groups): Mention it.
649
650         getgroups: don't expose GETGROUPS_T to user
651         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
652         an element at a time if GETGROUPS_T is wrong size.
653         * lib/getugroups.h (getugroups): Change signature.
654         * lib/unistd.in.h (getgroups): Likewise.
655         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
656         signature needs fixing.
657         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
658         AC_TYPE_GETGROUPS.
659         * modules/group-member (Depends-on): Add getgroups.
660         * lib/group-member.c (group_info, get_group_info): Use gid_t.
661         (group_member): Rely on getgroups replacement.
662         * lib/getugroups.c (getugroups): Use gid_t.
663         * tests/test-getgroups.c (main): Likewise.
664         * NEWS: Mention the signature change.
665         * doc/posix-functions/getgroups.texi (getgroups): Mention the
666         problem with signature.
667         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
668         GETGROUPS_T is still useful for setgroups.
669
670         getgroups, getugroups: provide stubs for mingw
671         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
672         * lib/getugroups.c (getugroups): Likewise.
673         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
674         function.  Modernize replacement scheme.
675         (gl_PREREQ_GETGROUPS): Delete.
676         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
677         * modules/getgroups (configure.ac): Declare witness.
678         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
679         * modules/unistd (Depends-on): Substitute witness.
680         * lib/unistd.in.h (getgroups): Declare replacement.
681
682         getgroups: avoid calling exit
683         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
684         drop xalloc.
685         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
686         dependencies.
687         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
688         exiting, in the rare case of malloc failure.
689
690         getgroups: fix logic error
691         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
692         has more than 20 groups.
693         * modules/getgroups-tests: New test.
694         * tests/test-getgroups.c: New file.
695
696 2009-11-13  Simon Josefsson  <simon@josefsson.org>
697
698         * tests/test-base64.c: Improve.
699
700 2009-11-13  Simon Josefsson  <simon@josefsson.org>
701
702         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
703         Blake <ebb9@byu.net>.
704
705 2009-11-13  Simon Josefsson  <simon@josefsson.org>
706
707         * tests/test-xvasprintf.c: Add %s%s related checks.
708
709 2009-11-12  Eric Blake  <ebb9@byu.net>
710
711         version-etc: match standards.texi style
712         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
713         and use <> only for URLs.
714
715 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
716
717         fts: do not fail on a submount during traversal
718         * lib/fts.c (fts_build): Read the stat info again after opening
719         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
720         Original report at http://bugzilla.redhat.com/501848.
721
722 2009-11-12  Jim Meyering  <meyering@redhat.com>
723
724         bootstrap: sync from coreutils
725         * build-aux/bootstrap (bootstrap_epilogue): New function.
726         Use git_modules_config in one more place.  This make bootstrap's
727         --gnulib-srcdir option more useful for testing.
728
729         bootstrap: generalize autoheader check
730         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
731         AC_CONFIG_HEADERS.
732
733 2009-11-11  Eric Blake  <ebb9@byu.net>
734
735         mkfifoat: use new modules for Solaris and BSD bugs
736         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
737         * lib/mkfifoat.c (mknodat): Split...
738         * lib/mknodat.c (mknodat): ...into new file.
739         * modules/mkfifoat (Files): Ship new file.
740         (Depends-on): Add mkfifo, mknod.
741         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
742         (Depends-on): Add symlink.
743         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
744         redundant with test_mkfifo.h.
745         (do_mkfifoat, do_mknodat): New helpers.
746
747         mknod: new module
748         * modules/mknod: New file.
749         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
750         * lib/mknod.c (mknod): Likewise.
751         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
752         defaults.
753         * modules/sys_stat (Makefile.am): Substitute them.
754         * lib/sys_stat.in.h (mknod): Declare replacement.
755         * MODULES.html.sh (Support for systems lacking POSIX:2008):
756         Document it.
757         * doc/posix-functions/mknod.texi (mknod): Likewise.
758         * modules/mknod-tests: New test.
759         * tests/test-mknod.c: Likewise.
760
761         mkfifo: new module
762         * modules/mkfifo: New file.
763         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
764         * lib/mkfifo.c (mkfifo): Likewise.
765         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
766         defaults.
767         * modules/sys_stat (Makefile.am): Substitute them.
768         * lib/sys_stat.in.h (mkfifo): Declare replacement.
769         * MODULES.html.sh (Support for systems lacking POSIX:2008):
770         Document it.
771         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
772         * modules/mkfifo-tests: New test.
773         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
774         from test-mkfifoat.c.
775         * tests/test-mkfifo.c: New file.
776
777         readlink: detect FreeBSD bug
778         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
779         slash on symlink.
780         * doc/posix-functions/readlink.texi (readlink): Document the bug.
781         * tests/test-readlink.h (test_readlink): Enhance test.
782
783         symlink: detect FreeBSD bug
784         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
785         slash on symlink.
786         * doc/posix-functions/symlink.texi (symlink): Document the bug.
787         * tests/test-symlink.h (test_symlink): Enhance test.
788
789 2009-11-10  Eric Blake  <ebb9@byu.net>
790
791         link: detect FreeBSD bug
792         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
793         symlink.
794         * doc/posix-functions/link.texi (link): Document the bug.
795         * tests/test-link.h (test_link): Enhance test.
796         * tests/test-linkat.c (main): Update caller.
797
798         unlink, remove: detect FreeBSD bug
799         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
800         slash on symlink.
801         * doc/posix-functions/unlink.texi (unlink): Document the bug.
802         * doc/posix-functions/remove.texi (remove): Likewise.
803         * tests/test-unlink.h (test_unlink): Enhance test.
804         * tests/test-remove.c (main): Likewise.
805
806 2009-11-09  Eric Blake  <ebb9@byu.net>
807
808         rename: detect FreeBSD bug
809         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
810         slash on symlink.
811         * modules/renameat-tests (Depends-on): Add filenamecat.
812         * tests/test-rename.h (test_rename): Allow one more errno.
813         * tests/test-renameat.c (main): Likewise.
814         * doc/posix-functions/rename.texi (rename): Document the bug.
815
816         open: detect FreeBSD bug
817         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
818         symlink.
819         * doc/posix-functions/open.texi (open): Document the bug.
820         * doc/posix-functions/utimes.texi (utimes): Likewise.
821         * tests/test-open.h (test_open): Add parameters, and test symlink
822         handling.
823         * tests/test-open.c (main): Adjust caller.
824         * tests/test-fcntl-safer.c (main): Likewise.
825         * modules/open-tests (Depends-on): Add stdbool, symlink.
826         * modules/fcntl-safer-tests (Depends-on): Likewise.
827         * tests/test-openat.c (main): Add test-open tests.
828
829         stat: detect FreeBSD bug
830         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
831         symlink.
832         * doc/posix-functions/stat.texi (stat): Document the bug.
833         * tests/test-stat.h (test_stat_func): Add argument.
834         * tests/test-stat.c (main): Adjust caller.
835         * tests/test-fstatat.c (main): Likewise.
836         * modules/stat-tests (Depends-on): Add stdbool, symlink.
837         Reported by Jim Meyering.
838
839 2009-11-09  James Youngman  <jay@gnu.org>
840
841         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
842         * lib/strftime.c: Correct placement of #include "ignore-value.h".
843
844 2009-11-08  Jim Meyering  <meyering@redhat.com>
845
846         utimens: remove invalid futimesat call
847         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
848         It used the file descriptor of the target file as the DIR_FD
849         parameter and NULL as the file name.  That caused failure with
850         errno == EFAULT on FreeBSD-8.0-rc2
851
852 2009-11-07  Eric Blake  <ebb9@byu.net>
853
854         fflush, freadseek: use fseeko, not fseek
855         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
856         (clear_ungetc_buffer): Avoid potential problems on large files.
857         * lib/freadseek.c (freadseek): Likewise.
858         * modules/freadseek (Depends-on): Add fseeko.
859         * modules/fseek (configure.ac): Set a witness.
860         * tests/test-fflush.c (main): Use fseeko.
861         * tests/test-fpurge.c (fseek): Disable link warning.
862         * tests/test-freadable.c (fseek): Likewise.
863         * tests/test-freading.c (fseek): Likewise.
864         * tests/test-fseeko.c (fseek): Likewise.
865         * tests/test-ftell.c (fseek): Likewise.
866         * tests/test-ftello.c (fseek): Likewise.
867         * tests/test-fwritable.c (fseek): Likewise.
868         * tests/test-fwriting.c (fseek): Likewise.
869
870 2009-11-06  Simon Josefsson  <simon@josefsson.org>
871
872         * modules/memchr (Depends-on): Drop getpagesize dependency.
873
874 2009-11-06  Simon Josefsson  <simon@josefsson.org>
875
876         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
877         Reported by Ludovic Courtès.
878         * build-aux/pmccabe2html: Improve example usage.
879         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
880
881 2009-11-06  Jim Meyering  <meyering@redhat.com>
882
883         do-release-commit-and-tag: New module.
884         Automate the release-commit and tag process.
885         * build-aux/do-release-commit-and-tag: New script, from coreutils.
886         * modules/do-release-commit-and-tag: New file.
887         * MODULES.html.sh (Support for maintaining and releasing): Add it.
888
889 2009-11-06  Simon Josefsson  <simon@josefsson.org>
890
891         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
892         because test-select.c uses inet_pton.
893
894 2009-11-06  Simon Josefsson  <simon@josefsson.org>
895
896         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
897         GETADDRINFO_LIB.  Bump serial number.
898         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
899         Suggested by Eric Blake <ebb9@byu.net>.
900
901 2009-11-05  Eric Blake  <ebb9@byu.net>
902
903         strtod: detect darwin bug
904         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
905         Reported by Leo Davis.
906
907         freopen-safer: new module
908         * modules/freopen-safer: New module.
909         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
910         * lib/freopen-safer.c (freopen_safer): New file.
911         * lib/stdio-safer.h (freopen_safer): New declaration.
912         * lib/stdio--.h (freopen): New override.
913         * MODULES.html.sh (File stream based Input/Output): Mention it.
914         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
915         freopen-safer module.
916         * doc/posix-functions/stderr.texi (stderr): Likewise.
917         * doc/posix-functions/stdin.texi (stdin): Likewise.
918         * doc/posix-functions/stdout.texi (stdout): Likewise.
919         * modules/freopen-safer-tests: New test.
920         * tests/test-reopen-safer.c: New file.
921
922 2009-11-05  Jim Meyering  <meyering@redhat.com>
923
924         maint.mk: Prohibit inclusion of "close-stream.h" without use.
925         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
926
927 2009-11-05  Simon Josefsson  <simon@josefsson.org>
928
929         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
930
931 2009-11-05  Simon Josefsson  <simon@josefsson.org>
932
933         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
934
935 2009-11-05  Simon Josefsson  <simon@josefsson.org>
936
937         Fix link error.
938         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
939         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
940
941 2009-11-05  Simon Josefsson  <simon@josefsson.org>
942
943         * tests/test-func.c: Also test value of __func__.
944
945 2009-11-05  Simon Josefsson  <simon@josefsson.org>
946
947         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
948         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
949
950 2009-11-05  Bruno Haible  <bruno@clisp.org>
951
952         Fix link error.
953         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
954         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
955         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
956
957 2009-11-05  Bruno Haible  <bruno@clisp.org>
958
959         Tests for module 'inet_pton'.
960         * modules/inet_pton-tests: New file.
961         * tests/test-inet_pton.c: New file.
962
963 2009-11-05  Bruno Haible  <bruno@clisp.org>
964
965         Tests for module 'inet_ntop'.
966         * modules/inet_ntop-tests: New file.
967         * tests/test-inet_ntop.c: New file.
968
969 2009-11-04  Eric Blake  <ebb9@byu.net>
970
971         stdlib-safer: wrap all mkstemp variants
972         * modules/mkostemp (configure.ac): Set witness.
973         * modules/mkostemps (configure.ac): Likewise.
974         * modules/mkstemps (configure.ac): Likewise.
975         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
976         (mkstemps_safer): Wrap more functions.
977         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
978         wrapping.
979         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
980         (mkstemps_safer): Implement the wrappers.
981
982         mkstemps, mkostemps: new modules
983         * modules/mkostemps: New module.
984         * modules/mkstemps: Likewise.
985         * lib/mkostemps.c (mkostemps): New file.
986         * lib/mkstemps.c (mkstemps): Likewise.
987         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
988         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
989         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
990         * modules/stdlib (Makefile.am): Substitute them.
991         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
992         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
993         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
994         * doc/gnulib.texi (Glibc stdlib.h): Include them.
995         * MODULES.html.sh (File system functions): Mention them.
996
997         tempname: resync from glibc
998         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
999         same values for __GT_FILE as glibc.  Abort even when assertions
1000         are disabled.
1001         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
1002         match its value otherwise.  Allow idempotent inclusion.
1003         * lib/mkdtemp.c (mkdtemp): Adjust caller.
1004         * lib/mkostemp.c (mkostemp): Likewise.
1005         * lib/mkstemp.c (mkstemp): Likewise.
1006         * lib/tmpfile.c (tmpfile): Likewise.
1007         * NEWS: Document this.
1008
1009         utimens: fix use of futimens on older Linux
1010         * lib/utimens.c (fdutimens): Use updated, rather than original,
1011         timespec to avoid bug in older Linux kernel.
1012         Reported by Simon Josefsson.
1013
1014 2009-11-04  Bruno Haible  <bruno@clisp.org>
1015
1016         Make num_processors more flexible and consistent.
1017         * lib/nproc.h (enum nproc_query): New type.
1018         (num_processors): Add a 'query' argument.
1019         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
1020         (num_processors): Add a 'query' argument. Test the value of the
1021         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
1022         mingw, count the number of CPUs available for the current process.
1023         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
1024         Check for sched_getaffinity and sched_getaffinity_np.
1025         * modules/nproc (Depends-on): Add c-ctype, extensions.
1026         * NEWS: Mention the change.
1027
1028 2009-11-03  Bruno Haible  <bruno@clisp.org>
1029
1030         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
1031
1032 2009-11-03  Jim Meyering  <meyering@redhat.com>
1033
1034         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
1035         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
1036         if it is defined.
1037
1038 2009-11-02  Eric Blake  <ebb9@byu.net>
1039
1040         mktime, timegm: share common declaration
1041         * lib/mktime-internal.h: New file.
1042         * lib/mktime.c: Use it rather than open-coding a declaration.
1043         * lib/timegm.c: Likewise.
1044         * modules/mktime (Files): Ship it.
1045         * modules/timegm (Files): Likewise.
1046         Suggested by Bruno Haible.
1047
1048         test-update-copyright: update test to match script changes
1049         * tests/test-update-copyright.sh: Avoid hard-coding perl
1050         location.  Don't update *.bak created by earlier runs.
1051
1052 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
1053             Simon Josefsson  <simon@josefsson.org>
1054             Bruno Haible  <bruno@clisp.org>
1055
1056         Fix link error on Solaris 8.
1057         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
1058         also in libnsl. Define also INET_PTON_LIB.
1059         * modules/inet_pton (Link): New section.
1060
1061 2009-11-02  Simon Josefsson  <simon@josefsson.org>
1062             Bruno Haible  <bruno@clisp.org>
1063
1064         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
1065         * modules/inet_ntop (Link): New section.
1066         Reported by Boyan Kasarov <bkasarov@gmail.com>.
1067
1068 2009-11-02  Eric Blake  <ebb9@byu.net>
1069
1070         maint: avoid compiler warnings in m4 macros
1071         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
1072         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
1073
1074 2009-11-02  Simon Josefsson  <simon@josefsson.org>
1075
1076         * m4/pmccabe2html.m4: Remove file.
1077         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
1078         function.  Change maintainer.
1079         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
1080         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
1081         Courtès).
1082
1083 2009-10-31  Eric Blake  <ebb9@byu.net>
1084
1085         fseeko: fix m4 regression
1086         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
1087         regression from 2009-10-27.
1088         Reported by Ralf Wildenhues.
1089
1090 2009-10-31  Jim Meyering  <meyering@redhat.com>
1091
1092         inttostr: aesthetics and improved (compile-time) safety
1093         Define inttype_is_signed rather than inttype_is_unsigned,
1094         since the sole use is via "#if inttype_is_signed".
1095         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
1096         inttype_is_unsigned.
1097         * lib/offtostr.c (inttype_is_signed): Likewise.
1098         * lib/uinttostr.c (inttype_is_signed): Likewise.
1099         * lib/umaxtostr.c (inttype_is_signed): Likewise.
1100         * lib/inttostr.c (inttostr): Use verify to cross-check the
1101         inttype_is_signed value and the signedness of the actual type.
1102         * modules/inttostr (Depends-on): Add verify.
1103
1104 2009-10-30  Eric Blake  <ebb9@byu.net>
1105
1106         build: avoid compiler warnings
1107         * lib/fchmodat.c (lchmod): Mark unused variables.
1108         * lib/getopt.c (_getopt_initialize): Likewise.
1109         * lib/mktime.c (__mktime_internal): Provide prototype.
1110         * lib/inttostr.c (inttostr): Avoid compiler warning even with
1111         older gcc that do not understand #pragma GCC diagnostic.
1112         * lib/uinttostr.c (inttype_is_unsigned): Define.
1113         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
1114
1115 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1116
1117         stat: fix compilation on AIX
1118         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
1119         only see struct stat64.
1120
1121 2009-10-30  Eric Blake  <ebb9@byu.net>
1122
1123         exclude: make more robust
1124         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
1125         rather than masking a coding bug.
1126         Suggested by Bruno Haible.
1127
1128 2009-10-30  Jim Meyering  <meyering@redhat.com>
1129
1130         perl scripts: remove #!/usr/bin/perl in favor of more portable...
1131         Rather than putting #!/usr/bin/perl on the first line,
1132         start with a variant of what's recommended by "man perlrun" that
1133         invokes the first "perl" program from your shell's search path.
1134         * build-aux/gitlog-to-changelog: Replace #!... as above.
1135         Add a "Local Variables" perl mode setting.
1136         Prompted by a patch from Ludovic Courtès.
1137         Improved by Eric Blake.
1138         * build-aux/useless-if-before-free: Likewise.
1139         * build-aux/announce-gen: Likewise.
1140         * build-aux/update-copyright: Likewise.
1141
1142 2009-10-29  Eric Blake  <ebb9@byu.net>
1143
1144         filenamecat-lgpl: adjust clients
1145         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
1146         filenamecat.
1147         * modules/renameat (Depends-on): Likewise.
1148
1149         filenamecat: split into filenamecat-lgpl
1150         * modules/filenamecat-lgpl: New module.
1151         * modules/filenamecat (Files): Move library-safe files into
1152         filenamecat-lgpl.
1153         (Depends-on): Add filenamecat-lgpl.
1154         (configure.ac): Declare witness.
1155         * lib/filenamecat.h (file_name_concat): Only declare when using
1156         GPL module.
1157         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
1158         Move...
1159         * lib/filenamecat-lgpl.c: ...into new file.
1160         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
1161         (gl_FILE_NAME_CONCAT): Use it.
1162         * MODULES.html.sh (File system functions): Mention new module.
1163
1164         argp: avoid memory leak
1165         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
1166         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
1167         base_name, since the latter malloc()s and can call exit().
1168         Leak introduced 2006-07-03.
1169
1170         dirname-lgpl: adjust clients that don't need full dirname
1171         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
1172         * modules/filenamecat (Depends-on): Likewise.
1173         * modules/linkat (Depends-on): Likewise.
1174         * modules/mkancesdirs (Depends-on): Likewise.
1175         * modules/mkdir (Depends-on): Likewise.
1176         * modules/openat (Depends-on): Likewise.
1177         * modules/savewd (Depends-on): Likewise.
1178         * modules/rename (Depends-on): Likewise.
1179         (License): Relax license.
1180         * modules/mkdir-tests (Depends-on): Drop progname.
1181         (Makefile.am): Delete unneeded LDADD.
1182         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
1183
1184         dirname: split into dirname-lgpl
1185         * modules/dirname-lgpl: New module.
1186         * modules/dirname (Files): Move library-safe files into
1187         dirname-lgpl.
1188         (Depends-on): Add dirname-lgpl.
1189         (configure.ac): Declare witness.
1190         * modules/double-slash-root (License): Relax license.
1191         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
1192         module.
1193         * lib/dirname.c (dir_len, mdir_name): Move...
1194         * lib/dirname-lgpl.c: ...into new file.
1195         * lib/basename.c (last_component, base_len): Move...
1196         * lib/basename-lgpl.c: ...into new file.
1197         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
1198         (gl_DIRNAME): Use it.
1199         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
1200         Mention new module.
1201         * modules/dirname-tests (Depends-on): Add progname.
1202         * tests/test-dirname.c (program_name): Delete.
1203
1204         mkdir: make safe for libraries
1205         * modules/mkdir (Depends-on): Drop xalloc.
1206         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
1207         exit.
1208
1209         tests: avoid some compiler warnings
1210         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
1211         literals.
1212         * tests/test-memchr.c (main): Avoid type mismatch.
1213         * tests/test-arpa_inet.c (main): Avoid unused parameters.
1214         * tests/test-base64.c (main): Likewise.
1215         * tests/test-getdelim.c (main): Likewise.
1216         * tests/test-gethostname.c (main): Likewise.
1217         * tests/test-getline.c (main): Likewise.
1218         * tests/test-netinet_in.c (main): Likewise.
1219         * tests/test-select.c (open_server_socket, main): Likewise.
1220         * tests/test-select-stdin.c (main): Likewise.
1221         * tests/test-sockets.c (main): Likewise.
1222         * tests/test-strsignal.c (main): Likewise.
1223         * tests/test-sys_select.c (main): Likewise.
1224         * tests/test-sys_socket.c (main): Likewise.
1225         * tests/test-u64.c (main): Likewise.
1226         * tests/test-xfprintf-posix.c (main): Likewise.
1227         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
1228
1229         sockets: avoid compiler warning
1230         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
1231
1232         maint: detect usage(1) and other suspicious exits
1233         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
1234
1235 2009-10-29  Jim Meyering  <meyering@redhat.com>
1236
1237         timespec: long-to-int truncation could make timespec_cmp malfunction
1238         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
1239         a multiple of 2^32 nanoseconds as no difference.
1240
1241 2009-10-28  Jim Meyering  <meyering@redhat.com>
1242
1243         fprintftime: wrap macro code argument in "do {...} while(0)"
1244         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
1245         cpy macro must be a statement that can be followed by a semicolon.
1246         Now that the else clause contains a comment and is hence longer
1247         than one line, I require curly braces.  That in turn requires
1248         that we wrap this code block in the standard do...while(0).
1249
1250         fprintftime: remove stray semicolon from previous change
1251         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
1252
1253         fprintftime: avoid a warning about ignored fwrite return value
1254         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
1255         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
1256         that is unsafe.
1257         * modules/fprintftime (Depends-on): Add ignore-value.
1258
1259         exclude: avoid an unwarranted warning
1260         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
1261
1262 2009-10-27  Eric Blake  <ebb9@byu.net>
1263
1264         fseek: avoid compilation failure when fflush is replaced
1265         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
1266         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
1267         module is in use.
1268         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
1269         module is not in use; since REPLACE_FSEEK worked otherwise.
1270         (GNULIB_FTELLO): Likewise for ftell.
1271         Reported by Ian Beckwith and others.
1272
1273 2009-10-27  Bruno Haible  <bruno@clisp.org>
1274
1275         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
1276         Reported by Jim Meyering.
1277
1278 2009-10-27  Jim Meyering  <jim@meyering.net>
1279             Bruno Haible  <bruno@clisp.org>
1280
1281         Avoid warning despite dropping the return value of fwrite.
1282         * lib/unicodeio.c: Include ignore-value.h.
1283         (fwrite_success_callback): Explicitly ignore fwrite's return value.
1284         * modules/unicodeio (Depends-on): Add ignore-value.
1285
1286 2009-10-26  Eric Blake  <ebb9@byu.net>
1287
1288         areadlinkat: fix fallback path
1289         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
1290         pointer and zero.
1291
1292 2009-10-22  Pádraig Brady  <P@draigBrady.com>
1293
1294         Use a better IO block size for modern systems
1295         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
1296         * lib/md2.c: Likewise.
1297         * lib/md4.c: Likewise.
1298         * lib/md5.c: Likewise.
1299         * lib/sha1.c: Likewise.
1300         * lib/sha256.c: Likewise.
1301         * lib/sha512.c: Likewise.
1302
1303 2009-10-22  Eric Blake  <ebb9@byu.net>
1304
1305         tests: avoid several compiler warnings
1306         * tests/test-getcwd.c (main): Avoid buffer underflow.
1307         * tests/test-getdate.c (main): String literals are not safe with
1308         putenv, so use setenv.  Declare unused argument.
1309         * modules/getdate-tests (Depends-on): Add setenv.
1310         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
1311         problems with string literals in char *.
1312         * tests/test-hash.c (main): Avoid shadowing declaration.
1313         (insert_new): Treat string literals as char const *.
1314         * tests/test-getopt.h (test_getopt): Likewise.
1315         (getopt_loop): Alter types to minimize casting elsewhere.
1316         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
1317         (test_getopt_long_posix): Likewise.
1318         (do_getopt_long): Add wrapper to minimize casting.
1319         * tests/test-atexit.c (clear_temp_file): Use void.
1320         * tests/test-areadlink-with-size.c (main): Declare unused
1321         arguments.
1322         * tests/test-areadlink.c (main): Likewise.
1323         * tests/test-areadlinkat-with-size.c (main): Likewise.
1324         * tests/test-areadlinkat.c (main): Likewise.
1325         * tests/test-canonicalize-lgpl.c (main): Likewise.
1326         * tests/test-canonicalize.c (main): Likewise.
1327         * tests/test-dirent-safer.c (main): Likewise.
1328         * tests/test-dirname.c (main): Likewise.
1329         * tests/test-dup2.c (main): Likewise.
1330         * tests/test-fchdir.c (main): Likewise.
1331         * tests/test-fcntl-h.c (main): Likewise.
1332         * tests/test-fcntl-safer.c (main): Likewise.
1333         * tests/test-fdopendir.c (main): Likewise.
1334         * tests/test-fdutimensat.c (main): Likewise.
1335         * tests/test-fflush.c (main): Likewise.
1336         * tests/test-filenamecat.c (main): Likewise.
1337         * tests/test-filevercmp.c (main): Likewise.
1338         * tests/test-fopen-safer.c (main): Likewise.
1339         * tests/test-fopen.c (main): Likewise.
1340         * tests/test-fpending.c (main): Likewise.
1341         * tests/test-fpurge.c (main): Likewise.
1342         * tests/test-freading.c (main): Likewise.
1343         * tests/test-fstatat.c (main): Likewise.
1344         * tests/test-fsync.c (main): Likewise.
1345         * tests/test-futimens.c (main): Likewise.
1346         * tests/test-getndelim2.c (main): Likewise.
1347         * tests/test-gettimeofday.c (main): Likewise.
1348         * tests/test-getopt.c (main): Likewise.
1349         * tests/test-i-ring.c (main): Likewise.
1350         * tests/test-inttypes.c (main): Likewise.
1351         * tests/test-link.c (main): Likewise.
1352         * tests/test-lstat.c (main): Likewise.
1353         * tests/test-math.c (main): Likewise.
1354         * tests/test-md5.c (main): Likewise.
1355         * tests/test-memchr2.c (main): Likewise.
1356         * tests/test-memrchr.c (main): Likewise.
1357         * tests/test-mkdir.c (main): Likewise.
1358         * tests/test-mkdirat.c (main): Likewise.
1359         * tests/test-mkfifoat.c (main): Likewise.
1360         * tests/test-open.c (main): Likewise.
1361         * tests/test-openat-safer.c (main): Likewise.
1362         * tests/test-openat.c (main): Likewise.
1363         * tests/test-quotearg.c (main): Likewise.
1364         * tests/test-rawmemchr.c (main): Likewise.
1365         * tests/test-readlink.c (main): Likewise.
1366         * tests/test-remove.c (main): Likewise.
1367         * tests/test-rename.c (main): Likewise.
1368         * tests/test-renameat.c (main): Likewise.
1369         * tests/test-rmdir.c (main): Likewise.
1370         * tests/test-sha1.c (main): Likewise.
1371         * tests/test-signal.c (main): Likewise.
1372         * tests/test-sigaction.c (main): Likewise.
1373         * tests/test-stat.c (main): Likewise.
1374         * tests/test-stat-time.c (main): Likewise.
1375         * tests/test-stddef.c (main): Likewise.
1376         * tests/test-stdint.c (main): Likewise.
1377         * tests/test-stdio.c (main): Likewise.
1378         * tests/test-stdlib.c (main): Likewise.
1379         * tests/test-strchrnul.c (main): Likewise.
1380         * tests/test-strerror.c (main): Likewise.
1381         * tests/test-string.c (main): Likewise.
1382         * tests/test-strtod.c (main): Likewise.
1383         * tests/test-strverscmp.c (main): Likewise.
1384         * tests/test-symlink.c (main): Likewise.
1385         * tests/test-symlinkat.c (main): Likewise.
1386         * tests/test-sys_stat.c (main): Likewise.
1387         * tests/test-sys_time.c (main): Likewise.
1388         * tests/test-time.c (main): Likewise.
1389         * tests/test-unistd.c (main): Likewise.
1390         * tests/test-unlink.c (main): Likewise.
1391         * tests/test-unlinkat.c (main): Likewise.
1392         * tests/test-utimens.c (main): Likewise.
1393         * tests/test-utimensat.c (main): Likewise.
1394         * tests/test-version-etc.c (main): Likewise.
1395         * tests/test-wchar.c (main): Likewise.
1396         * tests/test-wctype.c (main): Likewise.
1397         * tests/test-xprintf-posix.c (main): Likewise.
1398         * tests/test-posixtm.c (main): Likewise.
1399         (STREQ): Delete unused macro.
1400         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
1401         shadowed variables.
1402         * tests/test-memchr.c (main): Likewise.
1403
1404 2009-10-21  Eric Blake  <ebb9@byu.net>
1405
1406         areadlinkat: avoid failure on older glibc
1407         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
1408         rather than mis-comparing 0 against FUNC_RESULT of char*.
1409
1410 2009-10-21  Bruno Haible  <bruno@clisp.org>
1411
1412         * modules/stpncpy (License): Relicense under LGPLv2+.
1413         Reported by David Lutterkort <lutter@redhat.com>.
1414
1415 2009-10-20  Eric Blake  <ebb9@byu.net>
1416
1417         utimensat: work around Solaris 9 bug
1418         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
1419         has trailing slash bugs.
1420         * tests/test-lutimens.h (test_lutimens): Enhance test.
1421         * tests/test-utimens.h (test_utimens): Likewise.
1422         * doc/posix-functions/utime.texi (utime): Enhance documentation.
1423         * doc/posix-functions/utimes.texi (utimes): Likewise.
1424         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1425         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
1426         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
1427         * doc/posix-functions/futimens.texi (futimens): Likewise.
1428
1429         fdutimensat: new module
1430         * modules/fdutimensat: New file.
1431         * lib/fdutimensat.c (fdutimensat): Likewise.
1432         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
1433         * MODULES.html.sh (File system functions): Mention module.
1434         * modules/fdutimensat-tests: New test.
1435         * tests/test-fdutimensat.c: Likewise.
1436
1437         doc: regenerate INSTALL
1438         * doc/INSTALL: Reflect recent autoconf update.
1439         * doc/INSTALL.ISO: Likewise.
1440         * doc/INSTALL.UTF-8: Likewise.
1441
1442 2009-10-20  Pádraig Brady  <P@draigBrady.com>
1443
1444         acl: warn if ACL support is not detected
1445         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
1446
1447 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
1448
1449         * lib/nproc.h: Add extern "C" block for C++.
1450
1451 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
1452             Bruno Haible  <bruno@clisp.org>
1453
1454         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
1455         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
1456         * doc/posix-functions/isalpha.texi: Likewise.
1457         * doc/posix-functions/isblank.texi: Likewise.
1458         * doc/posix-functions/iscntrl.texi: Likewise.
1459         * doc/posix-functions/isdigit.texi: Likewise.
1460         * doc/posix-functions/isgraph.texi: Likewise.
1461         * doc/posix-functions/islower.texi: Likewise.
1462         * doc/posix-functions/isprint.texi: Likewise.
1463         * doc/posix-functions/ispunct.texi: Likewise.
1464         * doc/posix-functions/isspace.texi: Likewise.
1465         * doc/posix-functions/isupper.texi: Likewise.
1466         * doc/posix-functions/isxdigit.texi: Likewise.
1467
1468 2009-10-18  Bruno Haible  <bruno@clisp.org>
1469
1470         Tests for module 'isblank'.
1471         * modules/isblank-tests: New file.
1472         * tests/test-isblank.c: New file.
1473
1474         New module 'isblank'.
1475         * lib/isblank.c: New file.
1476         * m4/isblank.m4: New file.
1477         * modules/isblank: New file.
1478         * doc/posix-functions/isblank.texi: Mention the new module.
1479
1480 2009-10-18  Bruno Haible  <bruno@clisp.org>
1481
1482         New module 'ctype'.
1483         * lib/ctype.in.h: New file.
1484         * m4/ctype.m4: New file.
1485         * modules/ctype: New file.
1486         * doc/posix-headers/ctype.texi: Mention the new module.
1487
1488 2009-10-18  Jim Meyering  <meyering@redhat.com>
1489
1490         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
1491         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
1492         right after its initialization, rather than farther down.
1493         Keeping these in close proximity makes it easier to ensure
1494         that each such variable is initialized.  E.g.,
1495
1496             LIB_CLOCK_GETTIME=
1497             AC_SUBST([LIB_CLOCK_GETTIME])
1498
1499         This change also increments these serial numbers.
1500         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
1501         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1502         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1503
1504 2009-10-18  Bruno Haible  <bruno@clisp.org>
1505
1506         Don't let environment variables perturb build.
1507         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
1508         (gl_PREREQ_GETHRXTIME): ... not here.
1509
1510 2009-10-18  Bruno Haible  <bruno@clisp.org>
1511
1512         Avoid symlink attack in localcharset module.
1513         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
1514         (O_NOFOLLOW): Define fallback.
1515         (get_charset_aliases): Don't open the file if it is a symbolic link.
1516         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
1517         gl_FCNTL_H.
1518         (gl_FCNTL_H): Require it.
1519         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
1520         * modules/localcharset (Files): Add m4/fcntl_h.m4.
1521         Reported by Fergal Glynn <fglynn@veracode.com>.
1522
1523 2009-10-18  Bruno Haible  <bruno@clisp.org>
1524
1525         Implement nproc for mingw.
1526         * lib/nproc.c: Include <windows.h>
1527         (num_processors): On native Windows platforms, try GetSystemInfo.
1528
1529 2009-10-18  Bruno Haible  <bruno@clisp.org>
1530
1531         Implement nproc for IRIX.
1532         * lib/nproc.c: Include <sys/sysmp.h>.
1533         (num_processors): On IRIX systems, try sysmp.
1534         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
1535
1536 2009-10-18  Bruno Haible  <bruno@clisp.org>
1537
1538         Implement nproc for HP-UX.
1539         * lib/nproc.c: Include <sys/pstat.h>
1540         (num_processors): On HP-UX systems, try pstat_getdynamic.
1541         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
1542         pstat_getdynamic.
1543
1544 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
1545             Bruno Haible  <bruno@clisp.org>
1546
1547         Implement nproc for NetBSD, OpenBSD.
1548         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
1549         (ARRAY_SIZE): New macro.
1550         (num_processors): On BSD systems, try sysctl of HW_NCPU.
1551         * m4/nproc.m4: New file.
1552         * modules/nproc (Files): Add m4/nproc.m4.
1553         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
1554         (Makefile.am): Instead, augment lib_SOURCES.
1555
1556 2009-10-18  Bruno Haible  <bruno@clisp.org>
1557
1558         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
1559         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
1560         sys/param.h.
1561
1562 2009-10-16  Eric Blake  <ebb9@byu.net>
1563
1564         utimensat: new module
1565         * modules/utimensat: New file.
1566         * lib/utimensat.c (utimensat): Likewise.
1567         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1568         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
1569         so we can work around Linux bugs.
1570         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1571         * modules/sys_stat (Makefile.am): Substitute them.
1572         * lib/sys_stat.in.h (utimensat): Declare it.
1573         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1574         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1575         * modules/utimensat-tests: New test.
1576         * tests/test-utimensat.c: Likewise.
1577
1578         utimens: let lutimens work on non-symlinks
1579         * lib/utimens.c (lutimens): Fall back to utimens rather than
1580         failing with ENOSYS, when file is not a symlink.
1581         (utimens): Reduce redirection.
1582         * tests/test-lutimens.h (test_lutimens): Update test to cover
1583         non-symlinks.
1584         * tests/test-utimens.h (test_utimens): Update test to cover
1585         symlinks.
1586         * tests/test-utimens.c (main): Update caller.
1587
1588         utimens: cache whether utimensat syscall works
1589         * lib/utimens.c (utimensat_works_really): New cache variable.
1590         (fdutimens, lutimens): Use it to avoid failing syscall.
1591
1592         test-stat-time, test-utimens: improve portability
1593         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
1594         ext4 on alpha, and for cygwin.
1595         * tests/test-utimens-common.h: New file.
1596         (nap): Factor delays into single function.
1597         * tests/test-lutimens.h (test_lutimens): Use new header.
1598         * tests/test-futimens.h (test_futimens): Likewise.
1599         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
1600         timestamps to occur from same machine, as was done previously for
1601         test_utimens.
1602         * modules/utimens-tests (Files): Ship new file.
1603         * modules/futimens-tests (Files): Likewise.
1604         Reported in part by Jim Meyering.
1605
1606         sys_stat: sort replacement declarations
1607         * lib/sys_stat.in.h: Sort declarations.
1608         * lib/futimens.c (futimens): Fix typo.
1609
1610 2009-10-15  Jim Meyering  <meyering@redhat.com>
1611
1612         don't let environment settings perturb build
1613         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
1614         could cause a configure-time and/or build-time malfunction.
1615         Typically, a configure-time function-in-library test is performed
1616         via code like this:
1617
1618           LIB_VAR=
1619           AC_SUBST([LIB_VAR])
1620           prefix_saved_LIBS=$LIBS
1621             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
1622                        [test "$ac_cv_search_FUNC" = "none required" ||
1623                         LIB_VAR=$ac_cv_search_FUNC])
1624           LIBS=$prefix_saved_LIBS
1625
1626         However, in each of the files affected by this change, the LIB_VAR=
1627         initialization was omitted.  Thus, when set in the environment, its
1628         value would propagate into generated Makefiles when FUNC is not found
1629         in LIB_NAME.
1630         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
1631         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1632         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1633
1634 2009-10-14  Eric Blake  <ebb9@byu.net>
1635
1636         fchdir: avoid infinite recursion in mingw
1637         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
1638         recursing.
1639
1640         test-stat-time: port to mingw
1641         * tests/test-stat-time.c (force_unlink): Return a value.
1642         (test_ctime) [W32]: Fix compilation error.
1643         (nap): Don't call usleep with too large an argument.  Use
1644         force_unlink.
1645         * doc/pastposix-functions/usleep.texi (usleep): Document the
1646         portability issue.
1647
1648 2009-10-13  Jim Meyering  <meyering@redhat.com>
1649
1650         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
1651         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
1652         * modules/pipe-filter-ii: Likewise.
1653         * modules/sys_socket-tests: Likewise.
1654         * modules/tsearch-tests: Likewise.
1655         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
1656         (check): Depend on it.
1657
1658 2009-10-12  Eric Blake  <ebb9@byu.net>
1659
1660         utimens-tests: port to NFS file systems
1661         * tests/test-utimens.h (test_utimens): Refactor utimecmp
1662         comparisons to avoid spurious failures from timestamp drift
1663         between NFS machines.
1664
1665 2009-10-12  Eric Blake  <ebb9@byu.net>
1666
1667         stat-time-tests: minor cleanups
1668         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1669         * tests/test-stat-time.c (nap): Separate assignment from call.
1670         Suggested by Paolo Bonzini and Bruno Haible.
1671
1672         sys_stat: guarantee struct timespec
1673         * lib/sys_stat.in.h (includes): Always include <time.h>
1674         * modules/sys_stat (Depends-on): Add time.
1675         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
1676         mode_t permission values.
1677         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
1678         get at subsecond timestamps.
1679
1680 2009-10-10  Eric Blake  <ebb9@byu.net>
1681
1682         futimens: new module
1683         * modules/futimens: New file.
1684         * lib/futimens.c (futimens): Likewise.
1685         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
1686         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
1687         we can work around Linux bugs.
1688         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1689         * modules/sys_stat (Makefile.am): Substitute them.
1690         * lib/sys_stat.in.h (futimens): Declare it.
1691         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1692         * doc/posix-functions/futimens.texi (futimens): Likewise.
1693         * modules/futimens-tests: New test.
1694         * tests/test-futimens.c: Likewise.
1695
1696         utimens: introduce fdutimens
1697         * lib/utimens.h (fdutimens): New prototype.
1698         * lib/utimens.c (gl_futimens): Move guts...
1699         (fdutimens): ...to new interface.
1700         * tests/test-utimens.c (do_fdutimens): Use it.
1701
1702         utimens: add UTIME_NOW and UTIME_OMIT support
1703         * lib/utimens.c (validate_timespec, update_timespec): New helper
1704         functions.
1705         (gl_futimens, lutimens): Use them.
1706         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
1707         stdbool, sys_stat.
1708         (Link): Mention resulting library dependency.
1709         * modules/utimecmp (Link): Likewise.
1710         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
1711         (Makefile.am): Pick up library dependency.
1712         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
1713         definition.
1714         * tests/test-sys_stat.c: Test the definitions.
1715         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
1716         * NEWS: Document library dependency.
1717
1718         utimecmp: support symlink timestamps
1719         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
1720         hashing when possible.  Use pathconf when available.
1721         (SYSCALL_RESOLUTION): Recognize tighter resolution.
1722         * modules/utimecmp (Depends-on): Add lstat.
1723
1724         utimens: add lutimens interface
1725         * lib/utimens.c (lutimens): New function.
1726         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
1727         * lib/utimens.h (lutimens): Declare new interface.
1728         * tests/test-utimens.c (main): Enhance test.
1729         * tests/test-lutimens.h (test_lutimens): New file.
1730         * modules/utimens-tests (Files): Distribute it.
1731         (Depends-on): Add symlink.
1732         (configure.ac): Check for usleep.
1733
1734         utimens: validate futimens usage
1735         * lib/utimens.c (gl_futimens): Require valid fd up front, using
1736         fewer syscalls on failure later on.  Avoid compiler warning on
1737         mingw.
1738         * modules/utimens (Depends-on): Add dup2.
1739
1740         utimens: add test
1741         * modules/utimens-tests: New test.
1742         * tests/test-utimens.h: New file.
1743         * tests/test-futimens.h: Likewise.
1744         * tests/test-utimens.c: Likewise.
1745
1746         doc: mention timestamp portability issues
1747         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
1748         instead.
1749         * doc/posix-functions/utime.texi (utime): Likewise.
1750         * doc/posix-functions/utimes.texi (utimes): Likewise.
1751         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
1752         instead.
1753         * doc/posix-functions/futimens.texi (futimens): Mention utimens
1754         module.
1755         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1756         Mention weakness with symlink timestamps.
1757         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
1758         to utimensat/futimens instead.
1759         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
1760
1761         test-dup2: enhance test
1762         * tests/test-dup2.c (main): Also check AT_FDCWD.
1763
1764         test-stat-time: avoid more spurious failures
1765         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
1766         xfs; and avoid race if the two timestamps cross quantization edge.
1767
1768         relocatable: prefer 'file system' over 'filesystem'
1769         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
1770         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
1771         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
1772         * doc/relocatable.texi (Enabling Relocatability): Likewise.
1773         * lib/relocatable.c (compute_curr_prefix): Likewise.
1774
1775 2009-10-10  Jim Meyering  <meyering@redhat.com>
1776
1777         stat-time-tests: check for the usleep function
1778         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
1779
1780 2009-10-10  Bruno Haible  <bruno@clisp.org>
1781
1782         * modules/xnanosleep: Put the Link section after the Include section.
1783
1784 2009-10-09  Eric Blake  <ebb9@byu.net>
1785
1786         dup2: work around FreeBSD 6.1 bug
1787         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
1788         * doc/posix-functions/dup2.texi (dup2): Document it.
1789         Reported by Nelson H. F. Beebe and Jim Meyering.
1790
1791         test-stat-time: port to buggy NFS clients
1792         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
1793         (test_ctime): Also skip test if mtime and ctime are skewed.
1794
1795         maint: prefer 'file system' over 'filesystem'
1796         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1797         * doc/posix-functions/lstat.texi (lstat): Likewise.
1798         * lib/file-has-acl.c (file_has_acl): Likewise.
1799         * lib/fwriteerror.c [TEST]: Likewise.
1800         * tests/test-areadlink.h (test_areadlink): Likewise.
1801         * tests/test-areadlinkat-with-size.c (main): Likewise.
1802         * tests/test-areadlinkat.c (main): Likewise.
1803         * tests/test-canonicalize-lgpl.c (main): Likewise.
1804         * tests/test-canonicalize.c (main): Likewise.
1805         * tests/test-fstatat.c (main): Likewise.
1806         * tests/test-linkat.c (main): Likewise.
1807         * tests/test-lstat.h (test_lstat_func): Likewise.
1808         * tests/test-mkdir.h (test_mkdir): Likewise.
1809         * tests/test-readlink.h (test_readlink): Likewise.
1810         * tests/test-remove.c (main): Likewise.
1811         * tests/test-rename.h (test_rename): Likewise.
1812         * tests/test-renameat.c (main): Likewise.
1813         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1814         * tests/test-symlink.h (test_symlink): Likewise.
1815         * tests/test-symlinkat.c (main): Likewise.
1816         * tests/test-unlink.h (test_unlink_func): Likewise.
1817         * tests/test-unlinkat.c (main): Likewise.
1818
1819         maint: make realtime library usage explicit
1820         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
1821         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
1822         * modules/settime (Link): Likewise.
1823         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
1824
1825         test-stat-time: speed up execution
1826         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
1827         warning on mingw.
1828         (nap): New helper function.
1829         (prepare_test): Use it to reduce sleep time.
1830         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
1831         execution.
1832         * modules/stat-time-tests (configure.ac): Check for usleep.
1833
1834 2009-10-09  Jim Meyering  <meyering@redhat.com>
1835
1836         selinux-h: always use getfilecon wrappers
1837         * lib/getfilecon.c: New file.
1838         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
1839         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
1840         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
1841         (fgetfilecon): Provide a stub.
1842         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
1843         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
1844         file unconditionally.
1845         When <selinux/selinux.h> is found, arrange to use wrappers.
1846         * modules/selinux-h (Files): Add getfilecon.c.
1847         (Makefile.am): Substitute include-next-related bits
1848         into the now-always-generated selinux/selinux.h file.
1849         * doc/glibc-functions/lgetfilecon.texi: New file.
1850         * doc/glibc-functions/fgetfilecon.texi: New file.
1851         * doc/glibc-functions/getfilecon.texi: New file.
1852         * doc/glibc-functions/getfilecon-desc.texi: New file.
1853         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
1854         which to pull in the new files.
1855         * MODULES.html.sh (Misc): Add selinux-h.
1856
1857 2009-10-08  Jim Meyering  <meyering@redhat.com>
1858
1859         unistd: fix comment typo
1860         * lib/unistd.in.h (euidaccess): Fix a comment typo.
1861
1862 2009-10-08  Eric Blake  <ebb9@byu.net>
1863
1864         areadlink: use SIZE_MAX consistently
1865         * modules/areadlink (Depends-on): Add stdint.
1866         * modules/areadlink-with-size (Depends-on): Likewise.
1867         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
1868         gives NULL; drop sys/types, since unistd gives size_t; and add
1869         stdint for SIZE_MAX.
1870         (SIZE_MAX): Rely on headers.
1871         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
1872         and add stdint.
1873         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
1874         (SIZE_MAX): Likewise.
1875         (INITIAL_BUF_SIZE): Turn into enum.
1876         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
1877
1878 2009-10-08  Jim Meyering  <meyering@redhat.com>
1879
1880         areadlinkat: avoid compilation failure
1881         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
1882         Fix typo in comment.
1883
1884 2009-10-07  Eric Blake  <ebb9@byu.net>
1885
1886         areadlinkat-with-size: new module
1887         * modules/areadlinkat-with-size: New module.
1888         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
1889         * lib/areadlink.h (areadlinkat): Declare it.
1890         * MODULES.html.sh (File system functions): Mention it.
1891         * modules/areadlinkat-with-size-tests: New test.
1892         * tests/test-areadlinkat-with-size.c: New file.
1893
1894         xreadlinkat: new module
1895         * modules/xreadlinkat: New module.
1896         * lib/xreadlinkat.c (xreadlinkat): New file.
1897         * lib/xreadlink.h (xreadlinkat): Declare it.
1898         * MODULES.html.sh (File system functions): Mention it.
1899
1900         areadlinkat: new module
1901         * lib/at-func.c (FUNC_FAIL): New define.
1902         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
1903         * modules/areadlinkat: New module.
1904         * lib/linkat.c (areadlinkat): Move...
1905         * lib/areadlinkat.c (areadlinkat): ...to new file.
1906         * lib/areadlink.h (areadlinkat): Declare it.
1907         * modules/linkat (Depends-on): Add areadlinkat.
1908         * MODULES.html.sh (File system functions): Mention it.
1909         * modules/areadlinkat-tests: New test.
1910         * tests/test-areadlinkat.c: New file.
1911
1912         areadlink, areadlink-with-size: add tests
1913         * modules/areadlink-tests: New test.
1914         * modules/areadlink-with-size-tests: Likewise.
1915         * tests/test-areadlink.h: New file.
1916         * tests/test-areadlink.c: Likewise.
1917         * tests/test-areadlink-with-size.c: Likewise.
1918
1919         maint: minor cleanups
1920         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
1921         _UNUSED_PARAMETER_ instead.
1922         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
1923         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
1924         * modules/linkat-tests (Files): Distribute test-link.h.
1925
1926         openat, utimens: whitespace cleanup
1927         * lib/openat.c: Prefer space throughout, rather than mix of 8
1928         spaces vs. tabs.
1929         * lib/at-func.c: Likewise.
1930         * lib/utimens.c: Likewise.
1931
1932         openat: avoid using wrong fd
1933         * lib/openat.c (openat_permissive): Reject user's fd if saving the
1934         working directory chooses same fd.
1935         * lib/at-func.c (AT_FUNC_NAME): Likewise.
1936
1937         mkdir, mkdirat: fix cygwin 1.5.x bug
1938         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
1939         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
1940         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
1941         bug.
1942         (gl_PREREQ_MKDIR): Delete unused macro.
1943         * modules/mkdir (Files): Track file rename.
1944         (configure.ac): Update macro name.
1945         * modules/openat (Depends-on): Add mkdir.
1946         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
1947
1948         mkdir, mkdirat: add tests
1949         * modules/mkdir-tests: New test.
1950         * tests/test-mkdir.h: New file.
1951         * tests/test-mkdir.c: Likewise.
1952         * tests/test-mkdirat.c: Likewise.
1953         * modules/openat-tests (Files): Add new files.
1954         (Makefile.am): Run new test.
1955
1956 2009-10-06  Eric Blake  <ebb9@byu.net>
1957
1958         doc: tweak *at function documentation
1959         * doc/posix-functions/faccessat.texi (faccessat): Mention
1960         known issue with replacement.
1961         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
1962         * doc/posix-functions/linkat.texi (linkat): Likewise.
1963         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
1964         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
1965         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1966         * doc/posix-functions/renameat.texi (renameat): Likewise.
1967         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1968
1969         openat: fix GNU/Hurd bug in unlinkat
1970         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
1971         broken.
1972         * doc/posix-functions/unlink.texi (unlink): Document this.
1973         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
1974
1975         fdopendir: fix GNU/Hurd bug
1976         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
1977         allowing non-directory fds.
1978         * lib/fdopendir.c (rpl_fdopendir): Work around it.
1979         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1980         * modules/dirent (Makefile.am): Substitute it.
1981         * lib/dirent.in.h (fdopendir): Declare replacement.
1982         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
1983         * tests/test-fdopendir.c (main): Test something other than
1984         /dev/null, since on Hurd that behaves like a directory.
1985
1986         test-symlink: port to GNU/Hurd
1987         * tests/test-symlink.h (test_symlink): Relax expected errno.
1988
1989         doc: tweak more cygwin information
1990         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
1991         now compatible with glibc.
1992         * doc/posix-functions/getopt.texi (getopt): Likewise.
1993
1994         getopt-gnu: add another test
1995         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
1996         guarantee behavior relied on by m4.
1997         * tests/test-getopt.c (main): Use it.
1998         * modules/getopt-posix-tests (Depends-on): Add setenv.
1999         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
2000
2001         getopt: fix compilation on darwin
2002         * lib/getopt.in.h (includes): Leave breadcrumbs during system
2003         include.
2004         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
2005         Reported by Ludovic Courtès.
2006
2007 2009-10-06  Bruno Haible  <bruno@clisp.org>
2008
2009         * modules/size_max (Description): Discourage its use.
2010         Reported by Simon Josefsson.
2011
2012 2009-10-06  Jim Meyering  <meyering@redhat.com>
2013
2014         linkat: avoid compilation failure
2015         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
2016
2017 2009-10-05  Eric Blake  <ebb9@byu.net>
2018
2019         linkat: support Linux 2.6.17
2020         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
2021         linkat on Linux, but allow cache variable override.
2022         * lib/linkat.c (rpl_linkat): Define override.
2023         * modules/linkat (Depends-on): Add symlinkat.
2024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
2025         * modules/unistd (Makefile.am): Substitute it.
2026         * lib/unistd.in.h (linkat): Declare replacement.
2027         Reported by Pádraig Brady.
2028
2029         quotearg: port test to systems with C.UTF-8 locale
2030         * tests/test-quotearg.c (struct result_strings): Add another
2031         member, differentiating between C.ASCII and C.UTF-8 handling.
2032         (compare_strings): Add parameter.
2033         (main): Adjust all callers.
2034
2035         getopt: avoid clash with FreeBSD _getopt_internal
2036         * lib/getopt.in.h (_getopt_internal): Override the name.
2037         * lib/getopt_int.h (includes): Pick up any overrides.
2038         Reported by Reuben Thomas.
2039
2040         hash: allow C89 compilation
2041         * lib/hash.c (check_tuning): Move declaration before statement.
2042         Reported by Reuben Thomas.
2043
2044 2009-10-05  Karl Berry  <karl@gnu.org>
2045
2046         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
2047
2048 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
2049             Bruno Haible  <bruno@clisp.org>
2050
2051         * lib/uname.c (uname): Use a table-driven algorithm to compute
2052         Windows NT versions.
2053
2054 2009-10-04  Bruno Haible  <bruno@clisp.org>
2055
2056         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
2057         program_invocation_short_name.
2058         * modules/progname (configure.ac): Test for presence of
2059         program_invocation_short_name.
2060         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
2061
2062 2009-10-04  Bruno Haible  <bruno@clisp.org>
2063
2064         * lib/progname.c (set_program_name): Fix comment.
2065         Reported by Jim Meyering.
2066
2067 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
2068             Bruno Haible  <bruno@clisp.org>
2069
2070         * lib/uname.c: Include <string.h>.
2071         (uname): Do only one call to GetVersionEx in the common case.
2072
2073 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
2074             Bruno Haible  <bruno@clisp.org>
2075
2076         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
2077         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
2078         (uname): Add support for Windows CE and various non-x86 CPU types.
2079
2080 2009-10-03  Bruno Haible  <bruno@clisp.org>
2081
2082         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
2083         invocation to tests/configure.ac.
2084         Reported by Ian Beckwith <ianb@erislabs.net>.
2085
2086 2009-10-02  Eric Blake  <ebb9@byu.net>
2087
2088         fchdir: avoid compiler warning
2089         * lib/fchdir.c (canonicalize_file_name)
2090         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
2091
2092         test-open: support mingw errno values
2093         * tests/test-open.h (test_open): Relax test.
2094         * tests/test-fopen.h (test_fopen): Likewise.
2095         * tests/test-openat-safer.c (main): Likewise.
2096
2097         open: fix opening directory on mingw
2098         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
2099
2100         test-open: on GNU/Hurd, /dev/null is a directory
2101         * tests/test-fopen.h (main): Rename...
2102         (test_fopen): ...to this.  Use a guaranteed non-directory when
2103         confirming open behavior on trailing slash.
2104         * tests/test-openat-safer.c (main): Likewise.
2105         * tests/test-open.h (main): Likewise....
2106         (test_open): ...to this.
2107         * tests/test-fopen.c (main): Adjust caller.
2108         * tests/test-fopen-safer.c (main): Likewise.
2109         * tests/test-open.c (main): Likewise.
2110         * tests/test-fcntl-safer.c (main): Likewise.
2111         Reported by Samuel Thibault.
2112
2113         rename, fchdir: don't ignore chdir failure
2114         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
2115         * lib/rename.c (rpl_rename) [W32]: Likewise.
2116         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
2117         an empty destination directory if source cannot be renamed,
2118         although there is still possibility for failure.
2119         * doc/posix-functions/rename.texi (rename): Document the race.
2120         Reported by Jim Meyering.
2121
2122         maint: cleanup whitespace in recent commits
2123         * lib/rename.c (rpl_rename): Remove tabs.
2124         * tests/test-link.h (test_link): Likewise.
2125         * lib/fchdir.c (get_name): Likewise.
2126         Reported by Jim Meyering.
2127
2128 2009-10-02  Ben Pfaff  <blp@gnu.org>
2129
2130         relocatable-prog-wrapper: Add missing dependency on
2131         double-slash-root.
2132         * modules/relocatable-prog-wrapper: Add dependency.
2133         Reported by Ian Beckwith <ianb@erislabs.net>.
2134
2135 2009-10-02  Eric Blake  <ebb9@byu.net>
2136
2137         renameat: fix Solaris bugs
2138         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
2139         needed fixing.
2140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
2141         * modules/stdio (Makefile.am): Substitute it.
2142         * lib/stdio.in.h (renameat): Declare replacement.
2143         * lib/renameat.c (rpl_renameat): Implement fix.
2144
2145         renameat: new module
2146         * modules/renameat: New file.
2147         * lib/renameat.c (renameat): Likewise.
2148         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
2149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
2150         * modules/stdio (Makefile.am): Substitute them.
2151         * lib/stdio.in.h (renameat): Declare it.
2152         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2153         * doc/posix-functions/renameat.texi (renameat): Likewise.
2154         * modules/renameat-tests: New test.
2155         * tests/test-renameat.c: Likewise.
2156
2157         rename: fix mingw bugs
2158         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
2159         directory overwrite bugs.
2160
2161         rename: fix another cygwin 1.5 bug
2162         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
2163         checks.
2164         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
2165         unnecessary cygwin workarounds.  Also work around bug with moving
2166         full directory onto an empty one.
2167         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
2168
2169         rename-dest-slash: merge into rename module
2170         * modules/rename-dest-slash (Status): Mark obsolete.
2171         (Depends-on): Add rename.
2172         (Files): Let rename do it all.
2173         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
2174         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
2175         * m4/rename-dest-slash.m4: ...so this file can be deleted.
2176         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
2177         * lib/rename.c (rpl_rename): Update comments.
2178
2179         rename: fix cygwin 1.5.x bugs
2180         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
2181         * lib/rename.c (rpl_rename): Work around them.
2182         * modules/rename (Depends-on): Add same-inode.
2183
2184         rename: fix Solaris 10 bug
2185         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
2186         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
2187         was the only bug.
2188
2189         rename: fix Solaris 9 bug
2190         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
2191         on non-directory.  Avoid calling exit.
2192         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
2193         strdup.
2194         * modules/rename-tests (Depends-on): Drop lstat.
2195         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
2196         (gl_PREREQ_RENAME): Delete unused macro.
2197
2198         rename-dest-slash: fix NetBSD bug
2199         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
2200         links.
2201         * modules/rename-dest-slash (Depends-on): Add same-inode.
2202
2203         rename-tests: new test, exposes several platform bugs
2204         * modules/rename-tests: New file.
2205         * tests/test-rename.h: Likewise.
2206         * tests/test-rename.c: Likewise.
2207         * doc/posix-functions/rename.texi (rename): Improve documentation,
2208         including bugs that will eventually be fixed in gnulib.
2209
2210 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
2211
2212         * lib/uname.c: Include <stdlib.h>
2213         (uname): Assume version info is available.
2214
2215 2009-10-02  Jim Meyering  <meyering@redhat.com>
2216
2217         gnu-web-doc-update: correct --help output
2218         * build-aux/gnu-web-doc-update: Make --help output relevant.
2219
2220         gnu-web-doc-update: add standard options
2221         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
2222
2223         gnu-web-doc-update: New module.
2224         Use this script to automatically update the on-line web documentation
2225         for your GNU project at http://www.gnu.org/software/$pkg/manual/
2226         * modules/gnu-web-doc-update: New file, from coreutils.
2227         * build-aux/gnu-web-doc-update: New script.
2228
2229 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
2230
2231         link: LoadLibrary is not needed.
2232         * lib/link.c: Use GetModuleHandle.
2233
2234 2009-10-01  Eric Blake  <ebb9@byu.net>
2235
2236         getopt: bump serial number
2237         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
2238         change.
2239
2240         tests: tighten link, rmdir, and remove tests
2241         * tests/test-link.h (includes): No need to use <config.h> here.
2242         Clean up if directory hard link was created, otherwise test for
2243         trailing '.'.
2244         * tests/test-linkat.c (main): Simplify.
2245         * tests/test-remove.c (main): Enhance test for trailing '.'.
2246         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2247
2248 2009-10-01  Jim Meyering  <meyering@redhat.com>
2249
2250         maint.mk: requiring "make major" was annoying, for a "minor" release.
2251         What is intended is "stable", to contrast with alpha and beta,
2252         so require "make stable", not "make major".
2253         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
2254         (get_tool_versions): Likewise.
2255         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
2256
2257 2009-09-30  Ben Pfaff  <blp@gnu.org>
2258
2259         Fix broken build of replacement for Windows tmpfile().
2260         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
2261         flags argument added along with the 'mkostemp' module.
2262
2263 2009-09-28  Bruno Haible  <bruno@clisp.org>
2264
2265         Avoid identifier clash with POSIX function 'remove' defined as a macro.
2266         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
2267         to 'remove_elt'.
2268         (gl_list_remove): Update.
2269         * lib/gl_list.c (gl_list_remove): Update.
2270         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
2271         to 'remove_elt'.
2272         (gl_oset_remove): Update.
2273         * lib/gl_list.c (gl_oset_remove): Update.
2274         Reported by Eric Blake.
2275
2276 2009-09-28  Eric Blake  <ebb9@byu.net>
2277
2278         doc: mention yet more cygwin 1.7 status
2279         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
2280         cygwin.
2281         * doc/glibc-functions/execvpe.texi (execvpe): New file.
2282         * doc/gnulib.texi (Glibc unistd.h): Mention it.
2283
2284         argp: fix test failure
2285         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
2286         that are not upper-case.  Pass correct range to tolower.
2287
2288 2009-09-27  Jim Meyering  <meyering@redhat.com>
2289
2290         test-yesno: work around sparc-dash here-document infelicity
2291         Without this change, the literal \177 byte in a here document
2292         would make dash 0.5.5.1-3 access uninitialized memory.
2293         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
2294         Instead, use a marker, "@", and filter through tr to create the desired
2295         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
2296
2297 2009-09-27  Bruno Haible  <bruno@clisp.org>
2298
2299         Disable untested support for new flavours of ACLs on AIX.
2300         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
2301         progress.
2302         * lib/set-mode-acl.c (qset_acl): Likewise.
2303
2304 2008-12-07  Bruno Haible  <bruno@clisp.org>
2305
2306         Add support for new flavours of ACLs on AIX. (Untested.)
2307         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
2308         (file_has_acl): Add support for newer AIX.
2309         * lib/set-mode-acl.c (qset_acl): Likewise.
2310         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
2311         Rainer Tammer <tammer@tammer.net>.
2312
2313 2009-09-26  Eric Blake  <ebb9@byu.net>
2314
2315         argp: fix compilation of getopt
2316         * lib/getopt.in.h (includes): Use different guard than glibc.
2317         Reported by Sergey Poznyakoff.
2318
2319         doc: mention more cygwin 1.7 status
2320         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
2321         bug.
2322         * doc/posix-functions/execl.texi (execl): Likewise.
2323         * doc/posix-functions/execle.texi (execle): Likewise.
2324         * doc/posix-functions/execlp.texi (execlp): Likewise.
2325         * doc/posix-functions/execv.texi (execv): Likewise.
2326         * doc/posix-functions/execve.texi (execve): Likewise.
2327         * doc/posix-functions/execvp.texi (execvp): Likewise.
2328         * doc/glibc-functions/canonicalize_file_name.texi
2329         (canonicalize_file_name): Cygwin 1.7 now provides this.
2330         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
2331         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
2332         on AT_SYMLINK_NOFOLLOW.
2333
2334 2009-09-24  Eric Blake  <ebb9@byu.net>
2335
2336         test-linkat: make test more robust
2337         * tests/test-linkat.c (main): Avoid collision with EEXIST.
2338
2339         getopt: fix inclusion guards for cygwin
2340         * modules/getopt-posix (Depends-on): Add include-next.
2341         (Makefile.am): Substitute more items in replacement header.
2342         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
2343         <getopt.h>.
2344         * lib/getopt.in.h (includes): Use split inclusion guard, and
2345         prefer <getopt.h> over include <unistd.h> when one is present.
2346         (option): Also override name of 'struct option'.
2347
2348         same-inode: revert prior change; it is not yet ready
2349         * NEWS: Undo mention of this change.
2350         * lib/same-inode.h (same-inode.h): Undo tri-state change.
2351         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
2352         * lib/cycle-check.c (cycle_check): Likewise.
2353         * lib/same.c (same_name): Likewise.
2354         * lib/at-func2.c (at_func2): Likewise.
2355
2356 2009-09-23  Eric Blake  <ebb9@byu.net>
2357
2358         linkat: new module
2359         * modules/linkat: New file.
2360         * lib/at-func2.c (at_func2): Likewise.
2361         * lib/linkat.c (linkat): Likewise.
2362         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2363         * lib/openat-priv.h (at_func2): Add declaration.
2364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2365         * modules/unistd (Makefile.am): Substitute them.
2366         * lib/unistd.in.h (linkat): Declare it.
2367         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2368         * doc/posix-functions/linkat.texi (linkat): Likewise.
2369         * doc/posix-functions/link.texi (link): Tweak wording.
2370         * tests/test-link.c (main): Move guts...
2371         * tests/test-link.h (test_link): ...into new file.
2372         * modules/linkat-tests: New test.
2373         * tests/test-linkat.c: Likewise.
2374         * modules/link-tests (Files): Ship new file.
2375         (Depends-on): Add stdbool.
2376
2377         dirname: add library-safe mdir_name
2378         * lib/dirname.h (mdir_name): New prototype.
2379         * lib/dirname.c (dir_name): Move guts...
2380         (mdir_name): ...to new function that avoids xalloc_die.
2381
2382         fchdir: another mingw fix
2383         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
2384         * lib/fchdir.c (get_name): New helper method; skips canonicalize
2385         on mingw (where it has not yet been ported), and make it optional
2386         elsewhere.
2387         (_gl_register_fd): Use it.
2388
2389         same-inode: make SAME_INODE tri-state, to port to mingw
2390         * NEWS: Mention this change.
2391         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
2392         st_ino always being 0.
2393         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
2394         * lib/cycle-check.c (cycle_check): Likewise.
2395         * lib/same.c (same_name): Likewise.
2396
2397         lstat: avoid mingw compilation error
2398         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
2399         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
2400         lstat ourselves.
2401         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
2402         was adequate.
2403         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
2404         the checks for lstat.
2405         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
2406
2407         link: fix test failure on Solaris 9
2408         * lib/link.c (rpl_link): Don't assume link will catch bogus
2409         trailing slash on source.
2410
2411         test-symlinkat: enhance test
2412         * tests/test-readlink.c (main): Move guts...
2413         * tests/test-readlink.h (test_readlink): ...into new file.
2414         * tests/test-symlink.c (main): Move guts...
2415         * tests/test-symlink.h (test_symlink): ...into new file.
2416         * tests/test-symlinkat.c (main): Use new files for further
2417         coverage.
2418         (do_symlink, do_readlink): New helper functions.
2419         * modules/symlink-tests (Files): Ship new file.
2420         (Depends-on): Add stdbool.
2421         * modules/readlink-tests (Files): Ship new file.
2422         (Depends-on): Add stdbool.
2423         * modules/symlinkat-tests (Files): Use new files.
2424
2425 2009-09-23  Eric Blake  <ebb9@byu.net>
2426
2427         readlink: document portability issue with symlink length
2428         * doc/posix-functions/lstat.texi (lstat): Mention that some file
2429         systems have bogus st_size on symlinks, and mention the
2430         areadlink-with-size module.
2431         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
2432         * doc/posix-functions/readlink.texi (readlink): Mention the
2433         areadlink module, and ERANGE failure.
2434         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2435         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
2436
2437         readlink: fix Solaris 9 bug with trailing slash
2438         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
2439         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
2440         * doc/posix-functions/readlink.texi (readlink): Document this.
2441         * modules/readlink-tests: New test.
2442         * tests/test-readlink.c: Likewise.
2443
2444         readlink: fix cygwin 1.5.x bug with return type
2445         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
2446         * lib/unistd.in.h (readlink): Use ssize_t.
2447         * lib/readlink.c (readlink): Likewise.
2448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2449         * modules/unistd (Makefile.am): Substitute it.
2450         * lib/unistd.in.h (readlink): Declare replacement.
2451         * doc/posix-functions/readlink.texi (readlink): Document this.
2452
2453         symlink: use throughout gnulib
2454         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
2455         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
2456         symlink is not used.
2457         * modules/symlinkat (Depends-on): Add symlink.
2458         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2459         * modules/canonicalize-tests (Depends-on): Likewise.
2460         * modules/lstat-tests (Depends-on): Likewise.
2461         * modules/openat-tests (Depends-on): Likewise.
2462         * modules/remove-tests (Depends-on): Likewise.
2463         * modules/rmdir-tests (Depends-on): Likewise.
2464         * modules/unlink-tests (Depends-on): Likewise.
2465         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
2466         * tests/test-canonicalize.c (symlink): Likewise.
2467         * tests/test-fstatat.c (symlink): Likewise.
2468         * tests/test-lstat.c (symlink): Likewise.
2469         * tests/test-remove.c (symlink): Likewise.
2470         * tests/test-rmdir.c (symlink): Likewise.
2471         * tests/test-unlink.c (symlink): Likewise.
2472         * tests/test-unlinkat.c (symlink): Likewise.
2473
2474         symlink: new module, for Solaris 9 bug
2475         * modules/symlink: New file.
2476         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2477         * lib/symlink.c: Likewise.
2478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
2479         * modules/unistd (Makefile.am): Substitute them.
2480         * lib/unistd.in.h (symlink): Declare replacement.
2481         * MODULES.html.sh (File system functions): Mention it.
2482         * doc/posix-functions/symlink.texi (symlink): Likewise.
2483         * modules/symlink-tests: New test.
2484         * tests/test-symlink.c: Likewise.
2485
2486 2009-09-23  Bruno Haible  <bruno@clisp.org>
2487
2488         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
2489         when needed.
2490         Test case: gnulib-tool --import --with-tests atexit inttypes.
2491         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
2492
2493 2009-09-23  Bruno Haible  <bruno@clisp.org>
2494
2495         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
2496         subcommand, not in a subshell.
2497
2498 2009-09-22  Eric Blake  <ebb9@byu.net>
2499
2500         unistd: sort replacement declarations
2501         * lib/unistd.in.h: Sort declarations.
2502
2503         open, openat: minor optimization
2504         * lib/open.c (open): If open succeeded, len is non-zero.
2505         * lib/openat.c (rpl_openat): Likewise.
2506
2507         link-follow: ensure correct result
2508         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
2509         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
2510         distinguish between possible failures.
2511
2512 2009-09-21  Eric Blake  <ebb9@byu.net>
2513
2514         fts: avoid compiler warning
2515         * lib/fts.c (dirent_inode_sort_may_be_useful)
2516         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
2517
2518 2009-09-19  Bruno Haible  <bruno@clisp.org>
2519
2520         * lib/progreloc.c (canonicalize_file_name): New declaration.
2521
2522 2009-09-19  Eric Blake  <ebb9@byu.net>
2523
2524         link: fix quoting
2525         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
2526
2527         openat: fix openat bugs on Solaris 9
2528         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
2529         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
2530         * modules/openat (Depends-on): Add open.
2531         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
2532         * modules/fcntl-h (Makefile.am): Substitute it.
2533         * lib/fcntl.in.h (openat): Declare replacement.
2534         * doc/posix-functions/openat.texi (openat): Document this.
2535
2536         openat: move fstatat and unlinkat into correct files
2537         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
2538         compiled.
2539         * lib/openat.c (fstatat, unlinkat): Move...
2540         * lib/fstatat.c (fstatat): ...into correct files.
2541         * lib/unlinkat.c (unlinkat): Likewise.
2542
2543         openat: fix unlinkat bugs on Solaris 9
2544         * lib/unlinkat.c (unlinkat): New file.
2545         * modules/openat (Depends-on): Add unlink.
2546         (Files): Distribute it.
2547         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
2548         trailing slash behavior is broken.
2549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2550         * modules/unistd (Makefile.am): Substitute it.
2551         * lib/unistd.in.h (unlinkat): Declare replacement.
2552         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
2553
2554         openat: fix fstatat bugs on Solaris 9
2555         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
2556         stat.
2557         * doc/posix-functions/fstatat.texi (fstatat): Document this.
2558
2559         test-unlinkat: enhance test, to expose Solaris 9 bug
2560         * tests/test-unlink.c (main): Factor guts...
2561         * tests/test-unlink.h (test_rmdir_func): ...into new file.
2562         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
2563         * tests/test-rmdir.c (main): Adjust caller.
2564         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
2565         (unlinker): New helper function.
2566         (rmdirat): Enhance check.
2567         * modules/rmdir-tests (Depends-on): Add stdbool.
2568         * modules/unlink-tests (Depends-on): Likewise.
2569         (Files): Add test-unlink.h.
2570         * modules/openat-tests (Files): Likewise.
2571         (Depends-on): Add unlinkdir.
2572
2573         test-fstatat: new test, to expose Solaris 9 bugs
2574         * tests/test-stat.c (main): Factor guts...
2575         * tests/test-stat.h (test_stat_func): ...into new file.
2576         * tests/test-lstat.c (main): Factor guts...
2577         * tests/test-lstat.h (test_lstat_func): ...into new file.
2578         * tests/test-fstatat.c: New file.
2579         * modules/stat-tests (Files): Add test-stat.h.
2580         * modules/lstat-tests (Files): Add test-lstat.h.
2581         (Depends-on): Add stdbool.
2582         * modules/openat-tests (Depends-on): Add pathmax.
2583         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
2584         (Makefile.am): Run new test.
2585
2586         remove: new module, for mingw and Solaris 9 bugs
2587         * modules/remove: New file.
2588         * lib/remove.c: Likewise.
2589         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
2590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
2591         * modules/stdio (Makefile.am): Use them.
2592         * lib/stdio.in.h (remove): Declare replacement.
2593         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2594         * doc/posix-functions/remove.texi (remove): Likewise.
2595         * modules/remove-tests: New test.
2596         * tests/test-remove.c: Likewise.
2597
2598         unlink: new module, for Solaris 9 bug
2599         * modules/unlink: New file.
2600         * lib/unlink.c: Likewise.
2601         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2603         * modules/unistd (Makefile.am): Use them.
2604         * lib/unistd.in.h (stat): Declare replacement.
2605         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2606         * doc/posix-functions/unlink.texi (unlink): Likewise.
2607         * modules/unlink-tests: New test.
2608         * tests/test-unlink.c: Likewise.
2609
2610         lstat: fix Solaris 9 bug
2611         * lib/lstat.c (lstat): Also check for trailing slash on
2612         non-symlink, non-directories.  Use stat module to simplify logic.
2613         * doc/posix-functions/lstat.texi (lstat): Document it.
2614         * modules/lstat-tests (Depends-on): Add errno, same-inode.
2615         (configure.ac): Check for symlink.
2616         * tests/test-lstat.c (main): Add more tests.
2617
2618         stat: add as dependency to other modules
2619         * modules/chown (Depends-on): Add stat.
2620         * modules/euidaccess (Depends-on): Likewise.
2621         * modules/fchdir (Depends-on): Likewise.
2622         * modules/isdir (Depends-on): Likewise.
2623         * modules/link (Depends-on): Likewise.
2624         * modules/lstat (Depends-on): Likewise.
2625         * modules/mkdir-p (Depends-on): Likewise.
2626         * modules/modechange (Depends-on): Likewise.
2627         * modules/open (Depends-on): Likewise.
2628         * modules/readlink (Depends-on): Likewise.
2629         * modules/same (Depends-on): Likewise.
2630
2631         stat: fix Solaris 9 bug
2632         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
2633         slash.
2634         * lib/stat.c (rpl_stat): Work around it.
2635         * doc/posix-functions/stat.texi (stat): Update documentation.
2636
2637         stat: new module, for mingw bug
2638         * modules/stat: New file.
2639         * lib/stat.c: Likewise.
2640         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2641         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2642         * modules/sys_stat (Makefile.am): Use them.
2643         * lib/sys_stat.in.h (stat): Declare replacement.
2644         * lib/openat.c (fstatat): Deal with lstat and stat being function
2645         macros.
2646         * modules/openat (Depends-on): Add inline.
2647         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2648         * doc/posix-functions/stat.texi (stat): Likewise.
2649         * modules/stat-tests: New test.
2650         * tests/test-stat.c: Likewise.
2651
2652 2009-09-19  Jim Meyering  <meyering@redhat.com>
2653
2654         syntax-check: detect unnecessary inclusion of canonicalize.h
2655         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
2656
2657 2009-09-19  Eric Blake  <ebb9@byu.net>
2658
2659         canonicalize-lgpl: adjust clients to use correct header
2660         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2661         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
2662         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
2663         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
2664         * lib/progreloc.c (includes): Likewise.
2665
2666 2009-09-19  Jim Meyering  <meyering@redhat.com>
2667
2668         test-posixtm.c: correct a comment
2669         * tests/test-posixtm.c: Correct first-line comment.
2670         Spotted by Eric Blake.
2671
2672 2009-09-16  Jim Meyering  <meyering@redhat.com>
2673
2674         posixtm-tests: make T const-correct; add a test case
2675         * tests/test-posixtm.c (T): Declare const.
2676         Add a test for -(2^31+1).
2677         Remove useless can-succeed-only-in-2002 test.
2678
2679         posixtm-tests: adjust the sole failing test
2680         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
2681         expected output matches what mktime now produces.  Cross-checked via
2682         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
2683
2684         posixtm: move #ifdef'd tests into a new module
2685         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
2686         * tests/test-posixtm.c: ... this new file.
2687         * modules/posixtm-tests: New module.
2688
2689 2009-09-19  Eric Blake  <ebb9@byu.net>
2690
2691         openat: simplify use of at-func.c
2692         * lib/at-func.c (includes): Include prerequisites here, to
2693         simplify requirements on client files.
2694         * lib/openat-priv.h: Add double-inclusion guard.
2695         * lib/faccessat.c (includes): Simplify.
2696         * lib/fchmodat.c (includes): Likewise.
2697         * lib/fchownat.c (includes): Likewise.
2698         * lib/mkdirat.c (includes): Likewise.
2699         * lib/mkfifoat.c (includes): Likewise.
2700         * lib/symlinkat.c (includes): Likewise.
2701
2702         openat: allow return of fd 0
2703         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
2704         * modules/save-cwd (Depends-on): Replace fcntl-safer with
2705         unistd-safer.
2706         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
2707         <fcntl.h>; this module does not leak fds.
2708         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
2709         must be allowed to return 0, leaving openat_safer to add the
2710         safety.
2711         (openat_permissive): Avoid writing to just-opened fd 2 if
2712         restoring the current directory fails.
2713         * lib/openat-die.c (openat_restore_fail): Add comment.
2714         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
2715         (save_cwd): Guarantee safe fd, but without use of open_safer.
2716         * tests/test-openat.c: New test.
2717         * modules/openat-tests (Files, Makefile.am): Distribute and build
2718         new file.
2719
2720         relocatable-prog-wrapper: fix build
2721         * modules/relocatable-prog-wrapper (Files): Update name of
2722         canonicalize m4 file, broken on 2009-09-17.
2723         Reported by emad hajjar <aleppos@hotmail.com>.
2724
2725 2009-09-19  Bruno Haible  <bruno@clisp.org>
2726
2727         * lib/safe-alloc.h: Use the standard header with GPL copyright.
2728         * lib/safe-alloc.c: Likewise.
2729         Reported by Ian Beckwith <ianb@erislabs.net>.
2730
2731 2009-09-18  Bruno Haible  <bruno@clisp.org>
2732
2733         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
2734         Reported by <erobles@sensacd.com.mx>.
2735
2736 2009-09-17  Eric Blake  <ebb9@byu.net>
2737
2738         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
2739         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
2740         slashes when checking if last component is missing.
2741         * tests/test-canonicalize.c (main): Test this.
2742
2743         canonicalize, canonicalize-lgpl: honor // if distinct from /
2744         * modules/canonicalize (Files): Add double-slash-root.m4.
2745         * modules/canonicalize-lgpl (Files): Likewise.
2746         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2747         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
2748         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
2749         fallback definition.
2750         (canonicalize_filename_mode): Use it to protect //.
2751         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
2752         (__realpath): Likewise.
2753         * tests/test-canonicalize.c (main): Test this.
2754         * tests/test-canonicalize-lgpl.c (main): Likewise.
2755         * modules/canonicalize-tests (Depends-on): Add same-inode.
2756         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2757
2758         canonicalize-lgpl: fix glibc bug with trailing slash
2759         * m4/canonicalize-lgpl.m4: Move contents...
2760         * m4/canonicalize.m4: ...here.
2761         (gl_CANONICALIZE_LGPL): Factor realpath check...
2762         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
2763         glibc 2.3.5 bug, fixed 2005-04-27.
2764         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
2765         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
2766         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
2767         * modules/canonicalize-lgpl (Files): Manage file rename.
2768         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2769         * modules/stdlib (Makefile.am): Substitute witness.
2770         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
2771         is needed.
2772         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
2773         replacement is required.
2774         * lib/canonicalize.c (canonicalize_file_name): Likewise.
2775         * doc/glibc-functions/canonicalize_file_name.texi
2776         (canonicalize_file_name): Document this.
2777         * doc/posix-functions/realpath.texi (realpath): Likewise.
2778
2779         canonicalize-lgpl: reject non-directory with trailing slash
2780         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
2781         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
2782         catches failures in glibc 2.3.5.
2783         * tests/test-canonicalize.c (main): Likewise.
2784
2785         canonicalize-lgpl: use native realpath if it works
2786         * lib/canonicalize-lgpl.c (realpath): Guard with
2787         FUNC_REALPATH_WORKS.
2788         * lib/stdlib.in.h (realpath): Make declaration optional based on
2789         HAVE_REALPATH.
2790         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
2791         native realpath works.
2792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2793         * modules/stdlib (Makefile.am): Substitute witness.
2794
2795         canonicalize, canonicalize-lgpl: use <stdlib.h>
2796         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
2797         (Include): Mention <stdlib.h>.
2798         (configure.ac): Mention functions we provide.
2799         * modules/canonicalize (configure.ac): Likewise.
2800         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
2801         realpath if canonicalize_file_name is missing.
2802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
2803         * modules/stdlib (Makefile.am): Substitute witnesses.
2804         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
2805         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
2806         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
2807         * NEWS: Document this.
2808         * doc/glibc-functions/canonicalize_file_name.texi
2809         (canonicalize_file_name): Likewise.
2810         * doc/posix-functions/realpath.texi (realpath): Likewise.
2811         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
2812
2813         test-canonicalize: consolidate into single C program
2814         * tests/test-canonicalize.sh: Delete; move setup into...
2815         * tests/test-canonicalize.c (main): ...the program, making it
2816         easier to run in debugger.  Add some tests.
2817         * modules/canonicalize-tests (Files): Remove unused file.
2818         (Depends-on): Add progname.
2819         (configure.ac, Makefile.am): Simplify.
2820
2821         test-canonicalize-lgpl: consolidate into single C program
2822         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
2823         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
2824         easier to run in debugger.  Add some tests.
2825         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
2826         (configure.ac, Makefile.am): Simplify.
2827
2828         canonicalize: avoid resolvepath
2829         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
2830         unnecessary checks.
2831         * lib/canonicalize.c (includes): Simplify.
2832         (canonicalize_file_name): Drop resolvepath implementation.
2833         * modules/canonicalize (Depends-on): Drop filenamecat.
2834
2835         canonicalize: don't lose errno
2836         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
2837         over calls to free.
2838
2839         canonicalize: simplify errno handling
2840         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
2841         assignment.
2842
2843         canonicalize, canonicalize-lgpl: update module dependencies
2844         * modules/canonicalize (Depends-on): Add extensions, lstat,
2845         pathmax, stdlib.
2846         (Files): Drop pathmax.h.
2847         (configure.ac): Adjust macro name.
2848         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
2849         lstat, stdlib, sys_stat.
2850         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
2851         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
2852         extensions.
2853         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
2854         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
2855         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
2856         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
2857         declaration, if available.
2858         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
2859         we can rely on the readlink module.
2860         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
2861         (includes): Use <unistd.h> unconditionally.
2862
2863 2009-09-17  Eric Blake  <ebb9@byu.net>
2864
2865         maint: make Include sections of modules consistent
2866         * modules/alloca: Use only header name; no need to list #include.
2867         * modules/alloca-opt: Likewise.
2868         * modules/arpa_inet: Likewise.
2869         * modules/canon-host: Likewise.
2870         * modules/configmake: Likewise.
2871         * modules/dirent: Likewise.
2872         * modules/eealloc: Likewise.
2873         * modules/environ: Likewise.
2874         * modules/fchdir: Likewise.
2875         * modules/fcntl: Likewise.
2876         * modules/fcntl-h: Likewise.
2877         * modules/gethrxtime: Likewise.
2878         * modules/gettime: Likewise.
2879         * modules/ignore-value: Likewise.
2880         * modules/inet_ntop: Likewise.
2881         * modules/inet_pton: Likewise.
2882         * modules/inttypes: Likewise.
2883         * modules/isnand-nolibm: Likewise.
2884         * modules/isnanf-nolibm: Likewise.
2885         * modules/mbchar: Likewise.
2886         * modules/mbfile: Likewise.
2887         * modules/mbiter: Likewise.
2888         * modules/mbuiter: Likewise.
2889         * modules/netdb: Likewise.
2890         * modules/netinet_in: Likewise.
2891         * modules/nproc: Likewise.
2892         * modules/pagealign_alloc: Likewise.
2893         * modules/poll: Likewise.
2894         * modules/printf-frexp: Likewise.
2895         * modules/pthread: Likewise.
2896         * modules/putenv: Likewise.
2897         * modules/random_r: Likewise.
2898         * modules/relocatable-prog: Likewise.
2899         * modules/search: Likewise.
2900         * modules/select: Likewise.
2901         * modules/selinux-h: Likewise.
2902         * modules/settime: Likewise.
2903         * modules/signal: Likewise.
2904         * modules/size_max: Likewise.
2905         * modules/socklen: Likewise.
2906         * modules/ssize_t: Likewise.
2907         * modules/stdarg: Likewise.
2908         * modules/stdbool: Likewise.
2909         * modules/stddef: Likewise.
2910         * modules/stdint: Likewise.
2911         * modules/stdio: Likewise.
2912         * modules/stdlib: Likewise.
2913         * modules/string: Likewise.
2914         * modules/strings: Likewise.
2915         * modules/sys_file: Likewise.
2916         * modules/sys_ioctl: Likewise.
2917         * modules/sys_select: Likewise.
2918         * modules/sys_socket: Likewise.
2919         * modules/sys_stat: Likewise.
2920         * modules/sys_time: Likewise.
2921         * modules/sys_times: Likewise.
2922         * modules/sys_utsname: Likewise.
2923         * modules/sys_wait: Likewise.
2924         * modules/sysexits: Likewise.
2925         * modules/time: Likewise.
2926         * modules/times: Likewise.
2927         * modules/tmpfile: Likewise.
2928         * modules/trim: Likewise.
2929         * modules/unistd: Likewise.
2930         * modules/wchar: Likewise.
2931         * modules/wctype: Likewise.
2932
2933 2009-09-17  Bruno Haible  <bruno@clisp.org>
2934
2935         Make getdate.y compile on QNX and NetBSD 5 / i386.
2936         * m4/getdate.m4 (gl_GETDATE): Conditionally define
2937         TIME_T_FITS_IN_LONG_INT.
2938         * lib/getdate.y (long_time_t): New type.
2939         (relative_time): Change type of 'seconds' field to long_time_t.
2940         (get_date): Update types of local variables. Check against overflow
2941         during conversion from long_time_t to time_t.
2942         Reported by Matt Kraai <kraai@ftbfs.org>
2943         and Hasso Tepper <hasso@netbsd.org>.
2944
2945 2009-09-17  Bruno Haible  <bruno@clisp.org>
2946
2947         * modules/COPYING: Update copyright years.
2948         * modules/README: Likeiwse.
2949         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
2950         Reported by Ian Beckwith <ianb@erislabs.net>.
2951
2952 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2953
2954         * users.txt: Update references for gnuit package.
2955
2956 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2957
2958         * m4/getdelim.m4: Fix typo in copyright line.
2959
2960 2009-09-17  Bruno Haible  <bruno@clisp.org>
2961
2962         * lib/atoll.c: Use the standard header with GPL copyright.
2963         * lib/argz.in.h: Likewise.
2964         * lib/glob.c: Likewise.
2965         * lib/glob-libc.h: Likewise.
2966         * lib/random_r.c: Likewise.
2967         * lib/siglist.h: Likewise.
2968         * lib/strsignal.c: Likewise.
2969         Reported by Ian Beckwith <ianb@erislabs.net>.
2970
2971 2009-09-17  Eric Blake  <ebb9@byu.net>
2972
2973         rmdir: ensure correct dependency order
2974         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
2975
2976 2009-09-17  Bruno Haible  <bruno@clisp.org>
2977
2978         Disable assertion that fails on NetBSD 5 / i386.
2979         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
2980         Reported by Sam Steingold <sds@gnu.org>
2981         and Hasso Tepper <hasso@netbsd.org>.
2982
2983 2009-09-16  Eric Blake  <ebb9@byu.net>
2984
2985         unlinkdir: port to mingw
2986         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
2987         on which no one can unlink a directory.
2988
2989         stdlib: sort witness names
2990         * modules/stdlib (Makefile.am): Sort replacements.
2991         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
2992         * lib/stdlib.in.h: Likewise.
2993
2994         parse-duration-tests: avoid link failure
2995         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
2996         LIBINTL.
2997         Reported by Tom G. Christensen.
2998
2999         openat-tests: ensure unlinkat behaves like rmdir
3000         * tests/test-rmdir.c (main): Factor guts...
3001         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
3002         * modules/rmdir-tests (Files): Ship new file.
3003         * modules/openat-tests: New test.
3004         * tests/test-unlinkat.c: Likewise.
3005
3006         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
3007         * modules/rmdir-errno (Status, Notice): Now obsolete.
3008
3009         rmdir: work around cygwin 1.5.x and mingw bugs
3010         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
3011         * lib/rmdir.c (rmdir): Work around it.
3012         * modules/rmdir (Status, Notice): No longer obsolete.
3013         (Files): Add dos.m4.
3014         (Depends-on): Add unistd.
3015         (configure.ac): Set witnesses.
3016         (License): Relax to LGPLv2+.
3017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
3018         * modules/unistd (Makefile.am): Substitute witnesses.
3019         * lib/unistd.in.h (rmdir): Declare replacement.
3020         * doc/posix-functions/rmdir.texi (rmdir): Document this.
3021         * modules/rmdir-tests: New tests.
3022         * tests/test-rmdir.c: Likewise.
3023
3024 2009-09-15  Eric Blake  <ebb9@byu.net>
3025
3026         fchdir: improve use of replacement functions
3027         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
3028         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
3029         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
3030         REPLACE_CLOSEDIR.
3031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
3032         * modules/sys_stat (Makefile.am): Substitute correct witness.
3033         * modules/dirent (Makefile.am): Likewise.
3034         * modules/unistd (Makefile.am): Likewise.
3035         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
3036         * lib/unistd.in.h (dup): Likewise.
3037         * lib/sys_stat.in.h (fstat): Likewise.
3038
3039         maint: ignore gnulib-tool temp files
3040         * .gitignore: Ignore files created during gnulib-tool --test.
3041
3042 2009-09-13  Jim Meyering  <meyering@redhat.com>
3043
3044         posixtm: don't reject a time that specify "60" as the number of seconds
3045         * lib/posixtm.c (posixtime): The code to reject invalid dates
3046         would also reject a time specified with the .60 suffix.
3047         But POSIX allows that, in order to accommodate leap seconds.
3048         So don't reject it.
3049         (main): Adjust tests accordingly.
3050         * modules/posixtm (Depends-on): Add stpcpy.
3051
3052 2009-09-11  Jim Meyering  <meyering@redhat.com>
3053
3054         announce-gen: include [$release_type] in emitted Subject:
3055         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
3056         e.g., [stable] in the emitted Subject: line.
3057
3058 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3059
3060         Remove obsolete macros from several modules.
3061         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
3062         obsolete Autoconf macros with their modern counterparts.
3063         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
3064         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
3065         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
3066         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
3067         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
3068         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
3069         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
3070         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
3071         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3072         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
3073         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3074         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3075         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
3076         * m4/sockets.m4 (gl_SOCKETS): Likewise.
3077         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
3078         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
3079         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
3080         * m4/time_r.m4 (gl_TIME_R): Likewise.
3081         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
3082         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
3083         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3084
3085         Fix copyright header in build-aux scripts.
3086         * build-aux/git-version-gen: Fix copyright header to match GPLv3
3087         recommendation.
3088         * build-aux/ncftpput-ftp: Likewise.
3089         * build-aux/update-copyright: Likewise.
3090
3091 2009-09-09  Eric Blake  <ebb9@byu.net>
3092
3093         test-link: allow Linux choice of errno
3094         * tests/test-link.c (main): Relax test for alternate error.
3095
3096         strndup: fix improper m4 caching
3097         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
3098         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
3099         (gl_PREREQ_STRNDUP): Delete.
3100         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
3101         * modules/string (Makefile.am): Substitute it.
3102         * lib/string.in.h (strndup): Modernize prototype.
3103
3104         getcwd: port to mingw
3105         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
3106         different from the POSIX assumptions made throughout the getcwd
3107         module; fortunately, the mingw getcwd does not need replacement.
3108         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
3109         * modules/getcwd-tests: New test.
3110         * tests/test-getcwd.c: Likewise.
3111
3112         link: fix platform bugs
3113         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
3114         * lib/link.c (link): Work around them.  Fix related mingw bug.
3115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
3116         * modules/unistd (Makefile.am): Substitute it.
3117         * lib/unistd.in.h (link): Declare replacement.
3118         * doc/posix-functions/link.texi (link): Document this.
3119         * modules/link (Depends-on): Add strdup-posix, sys_stat.
3120
3121         test-link: consolidate into single C program, test more cases
3122         * tests/test-link.sh: Delete.
3123         * tests/test-link.c: Test more error conditions.  Exposes bugs on
3124         at least Cygwin and Solaris.
3125         * modules/link-tests (Files): Remove unused file.
3126         (Depends-on): Add errno, sys_stat.
3127         (Makefile.am): Simplify.
3128
3129 2009-09-08  Bruno Haible  <bruno@clisp.org>
3130
3131         Work around towlower, towupper bug on mingw.
3132         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
3133         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
3134         * doc/posix-functions/towlower.texi: Mention the mingw bug.
3135         * doc/posix-functions/towupper.texi: Likewise.
3136         Reported by Eric Blake.
3137
3138 2009-09-08  Jim Meyering  <meyering@redhat.com>
3139
3140         build: don't try to run autoheader if we don't use it
3141         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
3142         is not used in configure.ac.
3143
3144 2009-09-08  Eric Blake  <ebb9@byu.net>
3145
3146         euidaccess: fix compilation error
3147         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
3148
3149         rawmemchr: relax license
3150         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
3151         okay.
3152         Reported by Jim Meyering.
3153
3154         mkfifoat: new module
3155         * modules/mkfifoat: New file.
3156         * lib/mkfifoat.c: Likewise.
3157         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
3158         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
3159         * modules/sys_stat (Makefile.am): Use them.
3160         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
3161         * MODULES.html.sh (File system functions): Mention module.
3162         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
3163         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
3164         * modules/mkfifoat-tests: New test.
3165         * tests/test-mkfifoat.c: Likewise.
3166
3167         strchrnul: relax license
3168         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
3169         okay.
3170         Reported by Jim Meyering.
3171
3172 2009-09-08  Eric Blake  <ebb9@byu.net>
3173
3174         fstatat: fix compilation on Solaris
3175         * lib/fstatat.c (includes): Add fcntl.h.
3176         Reported by Pádraig Brady.
3177
3178 2009-09-07  Eric Blake  <ebb9@byu.net>
3179
3180         rename: modernize replacement
3181         * modules/rename (Depends-on): Add stdio.
3182         (configure.ac): Declare witness.
3183         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
3184         stdio take care of replacement.
3185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
3186         * modules/stdio (Makefile.am): Substitute them.
3187         * lib/stdio.in.h (rename): Declare replacement.
3188         * lib/rename.c (includes): Allow cross-compilation to non-windows
3189         machines.
3190         * doc/posix-functions/rename.texi (rename): Improve
3191         documentation.
3192
3193         stdio: sort witness names
3194         * modules/stdio (Makefile.am): Sort replacements.
3195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
3196         * lib/stdio.in.h: Likewise.
3197
3198         getcwd: minor cleanups
3199         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
3200         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
3201
3202         openat: provide more convenience names
3203         * modules/faccessat (configure.ac): Add C witness.
3204         * lib/unistd.in.h (readlinkat): Fix typo.
3205         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
3206         convenience wrappers.
3207         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
3208         wrappers in syntax checks.
3209
3210 2009-09-06  Eric Blake  <ebb9@byu.net>
3211
3212         doc: fix comments in recent patches
3213         * lib/faccessat.c: Mention correct function.
3214         * lib/fchmodat.c: Likewise.
3215         * lib/fchownat.c: Likewise.
3216         * lib/symlinkat.c: Likewise.
3217         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
3218         constants.
3219
3220         faccessat, symlinkat: continue cleanup of previous patch
3221         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
3222         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
3223         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
3224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
3225         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
3226         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
3227         set.
3228
3229 2009-09-06  Bruno Haible  <bruno@clisp.org>
3230
3231         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
3232         (fstatat): Declare if GNULIB_FSTATAT is set.
3233         (mkdirat): Declare if GNULIB_MKDIRAT is set.
3234         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
3235         (unlinkat): Declare if GNULIB_UNLINKAT is set.
3236         * modules/fcntl-h (Files): Remove m4/openat.m4.
3237         * modules/sys_stat (Files): Remove m4/openat.m4.
3238         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
3239         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
3240         * modules/unistd (Files): Remove m4/openat.m4.
3241         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
3242         GNULIB_OPENAT.
3243         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
3244         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
3245         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
3246         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
3247         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
3248         gl_OPENAT_DEFAULTS.
3249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
3250         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
3251         Don't require gl_OPENAT_DEFAULTS.
3252         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
3253         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
3254         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
3255         (gl_OPENAT_DEFAULTS): Remove macro.
3256
3257 2009-09-06  Bruno Haible  <bruno@clisp.org>
3258
3259         * modules/openat (configure.ac): Remove unneeded witness.
3260
3261 2009-09-06  Bruno Haible  <bruno@clisp.org>
3262
3263         Set errno to ENOSYS when a function is entirely unsupported.
3264         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
3265         EOPNOTSUPP.
3266         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3267         * modules/chown (Depends-on): Remove errno.
3268
3269 2009-09-06  Bruno Haible  <bruno@clisp.org>
3270
3271         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
3272
3273 2009-09-06  Bruno Haible  <bruno@clisp.org>
3274
3275         * lib/sys_stat.in.h: Fix preprocessor command indentation.
3276
3277 2009-09-06  Ben Pfaff  <blp@gnu.org>
3278             Bruno Haible  <bruno@clisp.org>
3279
3280         Work around a glibc bug in strtok_r.
3281         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
3282         Undefine if UNDEFINE_STRTOK_R is set.
3283         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
3284         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3285         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
3286         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
3287         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
3288         UNDEFINE_STRTOK_R.
3289         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
3290
3291 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
3292
3293         exclude: minor fix
3294         * lib/exclude.c: Include wctype.h
3295
3296 2009-09-06  Akim Demaille  <demaille@gostai.com>
3297
3298         bootstrap: improve error message
3299         * build-aux/bootstrap (find_tool): Upon failure, report the list
3300         of candidates.
3301         Honor the initial value of the envvar.
3302
3303 2009-09-05  Eric Blake  <ebb9@byu.net>
3304
3305         symlinkat: new module
3306         * modules/symlinkat: New file.
3307         * lib/symlinkat.c: Likewise.
3308         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
3309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
3310         * modules/unistd (Makefile.am): Use them.
3311         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
3312         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
3313         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
3314         * MODULES.html.sh (File system functions): Mention module.
3315         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
3316         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
3317         * modules/symlinkat-tests: New test.
3318         * tests/test-symlinkat.c: Likewise.
3319
3320         test-openat-safer: add more checks
3321         * tests/test-openat-safer.c (main): Check more code paths.
3322
3323 2009-09-05  Jim Meyering  <meyering@redhat.com>
3324
3325         syntax-check: detect unnecessary inclusion of openat.h
3326         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
3327
3328 2009-09-05  Bruno Haible  <bruno@clisp.org>
3329
3330         Support towlower, towupper.
3331         * doc/posix-functions/towlower.texi: Mention module wctype.
3332         * doc/posix-functions/towupper.texi: Likewise.
3333         * lib/wctype.in.h (towlower, towupper): New functions.
3334         * tests/test-wctype.c: Include stdio.h, stdlib.h.
3335         (ASSERT): New macro.
3336         (e): New variable.
3337         (main): Test also towlower, towupper. Test WEOF argument.
3338         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3339
3340 2009-09-05  Bruno Haible  <bruno@clisp.org>
3341
3342         Fix conversion behaviour when the input is invalid.
3343         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
3344         mark occurring in first pass of indirect conversion.
3345         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
3346         input.
3347         Found by clang's static analyzer.
3348
3349 2009-09-05  Bruno Haible  <bruno@clisp.org>
3350
3351         * tests/test-striconveh.c (main): Test indirect conversion on platforms
3352         where direct conversion is possible.
3353
3354 2009-09-04  Eric Blake  <ebb9@byu.net>
3355
3356         openat: fail with ENOENT on empty name
3357         * lib/openat-proc.c (openat_proc_name): Special-case the empty
3358         buffer.
3359
3360         link-follow: fix logic bug in prior patch
3361         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
3362         reversed sense of yes and no in prior patch.  Avoid confusing
3363         compilation failure with desired semantics.
3364
3365         link-follow: accomodate mingw and cross-compilation
3366         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
3367         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
3368         cross-compilation results to -1, to make linkat easier to
3369         implement when cross-compiling.  Trivially support mingw.
3370         * modules/link-follow (configure.ac): Call new name.
3371         * NEWS: Mention this.
3372
3373 2009-09-03  Eric Blake  <ebb9@byu.net>
3374
3375         faccessat: compile replacement
3376         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
3377         needed.
3378
3379         fts: fix compilation error
3380         * lib/fts.c (includes): Re-add "openat.h", for
3381         openat_needs_fchdir.
3382
3383         faccessat: new module
3384         * modules/faccessat: New file.
3385         * lib/faccessat.c: Likewise.
3386         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
3387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3388         * modules/unistd (Makefile.am): Use it.
3389         * lib/unistd.in.h (faccessat): Declare it.
3390         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
3391         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
3392         * MODULES.html.sh (File system functions): Mention it.
3393         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
3394         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
3395
3396         euidaccess: prefer POSIX over non-standard implementation
3397         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
3398         * lib/euidaccess.c (euidaccess): Use it if available.
3399
3400         openat: make template easier to use
3401         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
3402         AT_FUNC_F2 to be undefined.
3403         (VALIDATE_FLAG): New macro; use it to reject bad flags.
3404         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
3405         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
3406         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
3407         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
3408         Likewise.
3409         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
3410         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
3411         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
3412         Likewise.
3413
3414         openat: declare in POSIX headers
3415         * NEWS: Mention this.
3416         * modules/openat (configure.ac): Declare witnesses.
3417         (Depends-on): Add fcntl-h, sys_stat, unistd.
3418         (Include): Mention correct headers.
3419         * modules/fcntl-h (Depends-on): Add link-warning.
3420         (Files): Add openat.m4.
3421         (Makefile.am): Substitute witnesses.
3422         * modules/sys_stat (Files, Makefile.am): Likewise.
3423         * modules/unistd (Files, Makefile.am): Likewise.
3424         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
3425         (gl_OPENAT_DEFAULTS): New macro.
3426         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
3427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
3428         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
3429         (SYS_STAT_H): Remove unused variable.
3430         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
3431         * lib/fcntl--.h (includes): Remove unneeded header.
3432         * lib/openat-safer.c (includes): Likewise.
3433         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
3434         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
3435         appropriate headers.
3436         (__OPENAT_PREFIX): Delete.
3437         * lib/fcntl.in.h (openat): Provide declaration.
3438         (AT_FDCWD): Fix Solaris bug.
3439         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
3440         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
3441         * lib/fchmodat.c (includes):  Adjust to find declaration.
3442         * lib/fchownat.c (includes): Likewise.
3443         * lib/mkdirat.c (includes): Likewise.
3444         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
3445         still visible.
3446
3447 2009-09-02  Eric Blake  <ebb9@byu.net>
3448
3449         errno: use consistently
3450         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
3451         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
3452         * lib/canonicalize.c (ELOOP): Likewise.
3453         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
3454         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
3455         * lib/lchown.c (EOPNOTSUPP): Likewise.
3456         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
3457         * lib/savewd.c (ESTALE): Likewise.
3458         * lib/settime.c (ENOSYS): Likewise.
3459         * lib/utimens.c (ENOSYS): Likewise.
3460         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
3461         * lib/chdir-safer.c (ELOOP): Likewise.
3462         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
3463         * modules/c-stack (Depends-on): Add errno.
3464         * modules/canonicalize (Depends-on): Likewise.
3465         * modules/chdir-safer (Depends-on): Likewise.
3466         * modules/fdopendir (Depends-on): Likewise.
3467         * modules/inet_ntop (Depends-on): Likewise.
3468         * modules/inet_pton (Depends-on): Likewise.
3469         * modules/lchown (Depends-on): Likewise.
3470         * modules/openat (Depends-on): Likewise.
3471         * modules/savewd (Depends-on): Likewise.
3472         * modules/settime (Depends-on): Likewise.
3473         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
3474
3475         fts: avoid leaking fds
3476         * modules/fts (Depends-on): Add cloexec.
3477         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
3478         flag.
3479
3480         fts: make directory fds more robust
3481         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
3482         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
3483
3484         backupfile, chdir-long, fts, savedir: make safer
3485         * lib/backupfile.c (includes): Use "dirent--.h", since
3486         numbered_backup can write to stderr during readdir.
3487         * lib/savedir.c (includes): Likewise.
3488         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
3489         emulation can write to stderr on failure.
3490         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
3491         * lib/getcwd.c: Document why opendir_safer is unused.
3492         * lib/glob.c: Likewise.
3493         * lib/scandir.c: Likewise.
3494         * lib/openat-proc.c: Likewise, for open_safer.
3495         * modules/backupfile (Depends-on): Add dirent-safer.
3496         * modules/savedir (Depends-on): Likewise.
3497         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
3498         * modules/chdir-long (Depends-on): Add openat-safer.
3499
3500         openat-safer: new module
3501         * modules/openat-safer: New file.
3502         * lib/openat-safer.c: Likewise.
3503         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
3504         * lib/fcntl-safer.h (openat_safer): Declare.
3505         * lib/fcntl--.h (openat): Override.
3506         * MODULES.html.sh (File descriptor based I/O): Mention it.
3507         * lib/openat.h: Add double-inclusion guards.
3508         * lib/openat.c (includes): Only include "fcntl-safer.h", not
3509         "fcntl--.h", so we can implement openat.
3510         * modules/openat-safer-tests: New test.
3511         * tests/test-openat-safer.c: New file.
3512
3513         dirent-safer: new module
3514         * modules/dirent-safer: New file.
3515         * lib/dirent--.h: Likewise.
3516         * lib/dirent-safer.h: Likewise.
3517         * lib/opendir-safer.c: Likewise.
3518         * m4/dirent-safer.m4: Likewise.
3519         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
3520         * modules/dirent-safer-tests: New test.
3521         * tests/test-dirent-safer.c: New file.
3522         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
3523
3524         fdopendir: optimize on mingw
3525         * lib/unistd.in.h (_gl_directory_name): New prototype.
3526         * lib/fchdir.c (_gl_directory_name): Implement it.
3527         (fchdir): Use it to simplify implementation.
3528         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
3529         fchdir, when available, to avoid calling [f]chdir().
3530
3531         fdopendir: split into its own module
3532         * lib/openat.c (fdopendir): Move...
3533         * lib/fdopendir.c: ...into new file.
3534         * modules/fdopendir: New module.
3535         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
3536         * modules/openat (Depends-on): Add fdopendir.
3537         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
3538         fdopendir here.
3539         * modules/savedir (Depends-on): Only need fdopendir, not full
3540         openat.
3541         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
3542         * lib/openat.h (fdopendir): Drop prototype.
3543         * lib/dirent.in.h (fdopendir): Provide prototype.
3544         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
3545         * modules/dirent (Makefile.am): Substitute them.
3546         * MODULES.html.sh (File system functions): Mention it.
3547         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
3548         * modules/fdopendir-tests: New file.
3549         * tests/test-fdopendir.c: Likewise.
3550
3551         fchdir: use more consistent macro convention
3552         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
3553         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
3554         REPLACE_FCHDIR, rather than relying on config.h macros.
3555         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
3556         inside a single make-time REPLACE_FCHDIR block, rather than using
3557         the config.h FCHDIR_REPLACEMENT.
3558         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
3559         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
3560         Manage fstat replacement.
3561         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
3562         REPLACE_FCHDIR.
3563         * modules/sys_stat (Files): Add m4/unistd_h.m4.
3564         (Makefile.am): Substitute REPLACE_FCHDIR.
3565         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
3566         FCHDIR_REPLACEMENT.
3567         * lib/dup-safer.c (dup_safer): Likewise.
3568         * lib/dup2.c (rpl_dup2): Likewise.
3569         * lib/dup3.c (rpl_dup3): Likewise.
3570         * lib/open.c (rpl_open): Likewise.
3571
3572         fchdir: simplify error handling, and support dup3
3573         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
3574         stdbool, malloc-posix, realloc-posix.
3575         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
3576         (ensure_dirs_slot): Return false on allocation failure.
3577         (rpl_dup2): Delete.
3578         (_gl_register_dup): New function.
3579         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
3580         (_gl_register_fd): Close fd on allocation failure.
3581         * lib/fcntl.in.h (_gl_register_fd): Update signature.
3582         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
3583         prototype.
3584         (rpl_dup2_fchdir): Delete prototype.
3585         * lib/open.c (open): Update caller.
3586         * lib/dup2.c (dup2): Track fchdir metadata.
3587         * lib/dup3.c (dup3): Likewise.
3588         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
3589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
3590
3591 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3592
3593         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
3594         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
3595         don't pass arguments to AC_OUTPUT.
3596
3597 2009-09-02  Bruno Haible  <bruno@clisp.org>
3598
3599         * modules/mkdtemp (License): Relicense under LGPLv2+.
3600         Reported by Paolo Bonzini.
3601
3602 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3603
3604         Replace uses of obsolete autoconf macros in Jim's modules.
3605         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
3606         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
3607         can evoke a warning from autoconf when run with -Wobsolete
3608         enabled.  They were declared obsolete for good reasons (see
3609         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
3610         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
3611         should not continue using the deprecated macros.
3612         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
3613         obsolete Autoconf macros with modern counterparts.
3614         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3615         * m4/dos.m4 (gl_AC_DOS): Likewise.
3616         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3617         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
3618         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3619         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
3620         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
3621         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
3622         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
3623         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
3624         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
3625         Likewise.
3626         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3627         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
3628         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
3629         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
3630         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
3631         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
3632
3633 2009-09-01  Eric Blake  <ebb9@byu.net>
3634
3635         fchdir: fix off-by-one bug in previous patch
3636         * lib/fchdir.c (rpl_fstat): Use correct bounds.
3637         (_gl_unregister_fd): Delete useless if.
3638
3639 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
3640
3641         maint.mk: sort the list of syntax-check rules
3642         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
3643         easier to get a sense of progress when the rules are run sequentially
3644         and take a long time.
3645
3646 2009-09-01  Simon Josefsson  <simon@josefsson.org>
3647
3648         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
3649         * modules/netinet_in: Likewise.
3650         * modules/sys_file: Likewise.
3651         * modules/sys_ioctl: Likewise.
3652         * modules/sys_select: Likewise.
3653         * modules/sys_socket: Likewise.
3654         * modules/sys_stat: Likewise.
3655         * modules/sys_time: Likewise.
3656         * modules/sys_times: Likewise.
3657         * modules/sys_utsname: Likewise.
3658         * modules/sys_wait: Likewise.
3659
3660 2009-09-01  Jim Meyering  <meyering@redhat.com>
3661
3662         fts: help ensure that return values are not ignored
3663         * lib/fts_.h (__GNUC_PREREQ): Define.
3664         (__attribute_warn_unused_result__): Define.
3665         (fts_children, fts_close, fts_open, fts_read): Declare with
3666         __attribute_warn_unused_result__.
3667
3668         fts: fts_close now fails also when closing a dir file descriptor fails
3669         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
3670         and propagate to caller, along with errno.
3671
3672         announce-gen: correct formatting in --help output
3673         * build-aux/announce-gen (usage): Move the one-line description in
3674         --help output "up", to where it belongs, just after Usage:.
3675
3676 2009-08-31  Eric Blake  <ebb9@byu.net>
3677
3678         fchdir: port to mingw
3679         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
3680         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
3681         opened, then use a substitute.
3682         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
3683         replacement.
3684         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
3685         (_gl_register_fd): No need to check stat if open already filters
3686         all directories.
3687         (fchdir): Fix error condition to match POSIX.
3688         * modules/fchdir (Depends-on): Add sys_stat.
3689         * doc/posix-functions/open.texi (open): Document the limitation.
3690         * modules/fchdir-tests: New file.
3691         * tests/test-fchdir.c: Likewise.
3692
3693         canonicalize: allow cross-testing from cygwin to mingw
3694         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
3695         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
3696         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
3697         Likewise.
3698         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
3699         target does not support symlinks.
3700         * tests/test-canonicalize-lgpl.sh: Likewise.
3701
3702         chown: avoid compilation warning on mingw
3703         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
3704         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
3705         mingw.
3706         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3707         * modules/chown (Depends-on): Add errno.
3708
3709 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3710
3711         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
3712         command.
3713
3714 2009-08-31  Jim Meyering  <meyering@redhat.com>
3715
3716         canonicalize: remove useless initialization
3717         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
3718         initialization of local, "end".
3719
3720 2009-08-30  Bruno Haible  <bruno@clisp.org>
3721
3722         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
3723         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
3724         ENOSYS.
3725
3726 2009-08-30  Bruno Haible  <bruno@clisp.org>
3727
3728         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
3729         /usr/xpg4/bin/tr when it exists.
3730         * tests/test-pipe-filter-gi1.sh: Likewise.
3731
3732 2009-08-30  Bruno Haible  <bruno@clisp.org>
3733
3734         Work around deficient /usr/bin/id program on Solaris.
3735         * tests/test-file-has-acl.sh (ID): New variable.
3736         * tests/test-set-mode-acl.sh (ID): Likewise.
3737         * tests/test-copy-acl.sh (ID): Likewise.
3738         * tests/test-copy-file.sh (ID): Likewise.
3739
3740 2009-08-30  Bruno Haible  <bruno@clisp.org>
3741
3742         New module 'xstriconveh'.
3743         * lib/xstriconveh.h: New file.
3744         * lib/xstriconveh.c: New file.
3745         * modules/xstriconveh: New file.
3746
3747 2009-08-30  Bruno Haible  <bruno@clisp.org>
3748
3749         Make it easier to use mem_cd_iconveh.
3750         * lib/striconveh.h (iconveh_t): New type.
3751         (iconveh_open, iconveh_close): New declarations.
3752         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3753         with a single 'const iconveh_t *' argument.
3754         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
3755         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3756         with a single 'const iconveh_t *' argument.
3757         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
3758         * tests/test-striconveh.c (main): Update.
3759         * NEWS: Mention the change.
3760
3761 2009-08-30  Bruno Haible  <bruno@clisp.org>
3762
3763         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
3764         problem.
3765
3766 2009-08-30  Bruno Haible  <bruno@clisp.org>
3767
3768         Work around iconv_open problem on Solaris.
3769         * lib/iconv_open-solaris.gperf: New file.
3770         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
3771         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
3772         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
3773         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
3774         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
3775         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
3776
3777 2009-08-29  Jim Meyering  <meyering@redhat.com>
3778
3779         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
3780         * top/maint.mk (cvs-check): Remove target; it was just an alias
3781         to the better-named vc-diff-check.
3782         (maintainer-distcheck): Remove rule.  It was used only from
3783         the (alpha/beta/major) target, and all of its commands but one
3784         were coreutils-specific.
3785         (vc-dist): Remove rule.
3786         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
3787         Run vc-diff-check, not vc-dist.
3788         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
3789
3790 2009-08-27  Bruno Haible  <bruno@clisp.org>
3791
3792         * tests/test-bitrotate.c (main): Remove test that uses a shift count
3793         of 0.
3794
3795 2009-08-27  Bruno Haible  <bruno@clisp.org>
3796
3797         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
3798         compilers.
3799         * doc/func.texi: Document the SunPRO C bug.
3800
3801 2009-08-27  Bruno Haible  <bruno@clisp.org>
3802
3803         Fix link error on Solaris.
3804         * tests/test-parse-duration.c (xstrdup): Remove function.
3805
3806 2009-08-26  Pádraig Brady  <P@draigbrady.com>
3807
3808         ignore-value: handle pointer types, too
3809         * lib/ignore-value.h (__attribute__): Remove definition.
3810         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
3811         of a more concise and more-often effective "(void) i" statement.
3812         (ignore_ptr): New function to suppress warnings from functions that
3813         return pointers, and to make it explicit that one function doesn't
3814         handle all cases.
3815
3816 2009-08-25  Bruno Haible  <bruno@clisp.org>
3817
3818         dup2: work around a Linux bug.
3819         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
3820         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
3821         * doc/posix-functions/dup2.texi: Mention the Linux bug.
3822         Reported by Simon Josefsson.
3823
3824 2009-08-25  Jim Meyering  <meyering@redhat.com>
3825
3826         libguestfs uses gnulib
3827         * users.txt: Add libguestfs.
3828
3829 2009-08-24  Eric Blake  <ebb9@byu.net>
3830
3831         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
3832         * lib/pipe2.c (includes): Add binary-io.h.
3833         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
3834
3835 2009-08-24  Bruno Haible  <bruno@clisp.org>
3836
3837         Tolerate declared but missing accept4 syscall.
3838         * lib/accept4.c (accept4): Invoke original accept4 function first, if
3839         available.
3840         * lib/sys_socket.in.h (accept4): If the function is already present,
3841         override it.
3842         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
3843         * modules/accept4 (Makefile.am): Compile accept4.c always.
3844         Reported by Paolo Bonzini and Eric Blake.
3845
3846 2009-08-23  Bruno Haible  <bruno@clisp.org>
3847
3848         New module 'accept4'.
3849         * lib/sys_socket.in.h (accept4): New declaration.
3850         * lib/accept4.c: New file.
3851         * m4/accept4.m4: New file.
3852         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
3853         GNULIB_ACCEPT4, HAVE_ACCEPT4.
3854         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
3855         HAVE_ACCEPT4.
3856         * modules/accept4: New file.
3857         * doc/glibc-functions/accept4.texi: Mention the new module.
3858
3859 2009-08-24  Jim Meyering  <meyering@redhat.com>
3860
3861         progname: also set global program_invocation_name, when possible
3862         Before this change, a libtool-enabled program that calls glibc's
3863         error function would report the program name as
3864         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
3865         * modules/progname (configure.ac): Check for a declaration of
3866         program_invocation_name.
3867         * lib/progname.c:  Include <errno.h>.
3868         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
3869         Set program_invocation_name.
3870
3871 2009-08-23  Bruno Haible  <bruno@clisp.org>
3872
3873         * lib/dup3.c: Include <string.h>.
3874
3875 2009-08-23  Bruno Haible  <bruno@clisp.org>
3876
3877         * lib/dup3.c (dup3): Test only once whether the system actually exists.
3878         * lib/pipe2.c (pipe2): Likewise.
3879         Suggested by Eric Blake.
3880
3881 2009-08-23  Bruno Haible  <bruno@clisp.org>
3882
3883         Tolerate declared but missing dup3 syscall.
3884         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
3885         * lib/unistd.in.h (dup3): If the function is already present,
3886         override it.
3887         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
3888         * modules/dup3 (Makefile.am): Compile dup3.c always.
3889         Reported by Paolo Bonzini.
3890
3891 2009-08-23  Bruno Haible  <bruno@clisp.org>
3892
3893         Tolerate declared but missing pipe2 syscall.
3894         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
3895         available.
3896         * lib/unistd.in.h (pipe2): If the function is already present,
3897         override it.
3898         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
3899         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
3900         Reported by Paolo Bonzini.
3901
3902 2009-08-23  Bruno Haible  <bruno@clisp.org>
3903
3904         * lib/pipe2.c (pipe2): Move #ifs inside function.
3905
3906 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3907
3908         quotearg: document limitations of quote_these_too
3909         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
3910         those limitations are created.
3911         * lib/quotearg.h (set_char_quoting): Document that digits and
3912         letters that are special after backslash are not permitted.
3913         (quotearg_char): Cross-reference set_char_quoting documentation.
3914
3915 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
3916
3917         quotearg: implement custom_quoting_style
3918         * lib/quotearg.c: (struct quoting_options): Add left_quote and
3919         right_quote fields.
3920         (set_custom_quoting): New public function.
3921         (quotearg_buffer_restyled): Add left_quote and right_quote
3922         arguments, handle them very much like locale quoting, and update
3923         all uses.
3924         (quotearg_n_custom): New public function.
3925         (quotearg_n_custom_mem): New public function.
3926         (quotearg_custom): New public function.
3927         (quotearg_custom_mem): New public function.
3928         * lib/quotearg.h: Prototype and document new public functions.
3929         (enum quoting_style): For escape_quoting_style and
3930         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
3931         ignored even though they're otherwise like c_quoting_style.
3932         Add custom_quoting_style member and document with comparison to
3933         clocale_quoting_style.
3934         * tests/test-quotearg.c (custom_quotes): New array.
3935         (custom_results): New array.
3936         (main): Extend to test custom quoting.
3937
3938 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3939
3940         quotearg: fix right quote escaping when it's in quote_these_too
3941         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
3942         quote, be sure to prepend only one backslash.
3943         * tests/test-quotearg.c (use_quote_double_quotes): New function.
3944         (main): Test it.
3945
3946 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3947
3948         quotearg-tests: test escaping of embedded locale quotes
3949         * tests/test-quotearg.c (struct result_strings): Add member for
3950         new input.
3951         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
3952         (inputs): Add new input.
3953         (results_g): Add expected results.
3954         (flag_results): Likewise.
3955         (locale_results): Likewise.
3956         (compare_strings): Check those.
3957
3958 2009-08-23  Bruno Haible  <bruno@clisp.org>
3959
3960         Tests for module 'dup3'.
3961         * modules/dup3-tests: New file.
3962         * tests/test-dup3.c: New file.
3963
3964         New module 'dup3'.
3965         * lib/unistd.in.h (dup3): New declaration.
3966         * lib/dup3.c: New file.
3967         * m4/dup3.m4: New file.
3968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
3969         HAVE_DUP3.
3970         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
3971         * modules/dup3: New file.
3972         * doc/glibc-functions/dup3.texi: Mention the new module.
3973
3974 2009-08-23  Bruno Haible  <bruno@clisp.org>
3975
3976         Tweak the dup2 test.
3977         * tests/test-dup2.c (main): Create the test file empty. Verify that an
3978         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
3979         the test file is still empty. Fix argument order of lseek.
3980
3981 2009-08-23  Bruno Haible  <bruno@clisp.org>
3982
3983         Avoid test link errors when the modules getopt-gnu, gettext are used.
3984         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
3985         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3986
3987 2009-08-23  Bruno Haible  <bruno@clisp.org>
3988
3989         Fix getdtablesize() on mingw.
3990         * lib/getdtablesize.c (getdtablesize): Implement differently.
3991         * lib/unistd.in.h (getdtablesize): Improve comment.
3992
3993 2009-08-23  Bruno Haible  <bruno@clisp.org>
3994
3995         New module 'mkostemp'.
3996         Based on Ulrich Drepper's 2007-08-10 change in glibc.
3997         * lib/stdlib.in.h (mksotemp): New declaration.
3998         * lib/mkostemp.c: New file, from glibc with modifications.
3999         * lib/tempname.h (GT_FILE): Remove outdated comment.
4000         (gen_tempname): Add flags argument.
4001         * lib/tempname.c (__GT_BIGFILE): Remove macro.
4002         (__GT_FILE): Map to 1.
4003         (small_open, large_open): Remove macros.
4004         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
4005         * lib/mkstemp.c (mkstemp): Update.
4006         * lib/mkdtemp.c (mkdtemp): Likewise.
4007         * m4/mkostemp.m4: New file.
4008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
4009         HAVE_MKOSTEMP.
4010         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
4011         HAVE_MKOSTEMP.
4012         * modules/mkostemp: New file, based on modules/mkstemp.
4013         * doc/glibc-functions/mkostemp.texi: Mention the new module.
4014         * NEWS: Mention the change.
4015
4016 2009-08-23  Bruno Haible  <bruno@clisp.org>
4017
4018         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
4019         Reported by Eric Blake.
4020
4021 2009-08-23  Bruno Haible  <bruno@clisp.org>
4022
4023         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
4024         Reported by Eric Blake.
4025
4026 2009-08-23  Bruno Haible  <bruno@clisp.org>
4027
4028         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
4029         * modules/pipe2 (Depends-on): Likewise.
4030
4031 2009-08-23  Eric Blake  <ebb9@byu.net>
4032
4033         fcntl-h: add O_TTY_INIT support
4034         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
4035         * tests/test-fcntl-h.c (o): Test it.
4036         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4037
4038         fcntl-h: rename from fcntl, in preparation for fcntl(2)
4039         * modules/fcntl: Move <fcntl.h> header replacement...
4040         * modules/fcntl-h: ...to new name, so as not to collide with
4041         like-named function.
4042         * tests/test-fcntl.c: Rename...
4043         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
4044         * modules/fcntl-tests: Rename...
4045         * modules/fcntl-h-tests: ...to this.  Update test file name.
4046         * modules/chdir-long (Depends-on): Update clients.
4047         * modules/chdir-safer (Depends-on): Likewise.
4048         * modules/fcntl-safer (Depends-on): Likewise.
4049         * modules/fts (Depends-on): Likewise.
4050         * modules/mkancesdirs (Depends-on): Likewise.
4051         * modules/mkdir-p (Depends-on): Likewise.
4052         * modules/open (Depends-on): Likewise.
4053         * modules/savewd (Depends-on): Likewise.
4054         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
4055         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4056
4057 2009-08-22  Bruno Haible  <bruno@clisp.org>
4058
4059         * modules/binary-io (License): Relicense under LGPL.
4060         * modules/pipe2 (License): Likewise.
4061
4062 2009-08-22  Bruno Haible  <bruno@clisp.org>
4063
4064         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
4065         return value.
4066         * lib/pipe-filter-gi.c (filter_init): Likewise.
4067         Reported by Eric Blake.
4068
4069 2009-08-22  Bruno Haible  <bruno@clisp.org>
4070
4071         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
4072         * modules/pipe (Depends-on): Add pipe2.
4073
4074 2009-08-22  Bruno Haible  <bruno@clisp.org>
4075
4076         Tests for module 'pipe2'.
4077         * modules/pipe2-tests: New file.
4078         * tests/test-pipe2.c: New file.
4079
4080         New module 'pipe2'.
4081         * lib/unistd.in.h (pipe2): New declaration.
4082         * lib/pipe2.c: New file.
4083         * m4/pipe2.m4: New file.
4084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
4085         HAVE_PIPE2.
4086         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
4087         * modules/pipe2: New file.
4088         * doc/glibc-functions/pipe2.texi: Mention the new module.
4089
4090 2009-08-22  Bruno Haible  <bruno@clisp.org>
4091
4092         Reference some new glibc functions.
4093         * doc/glibc-functions/accept4.texi: New file.
4094         * doc/glibc-functions/dup3.texi: New file.
4095         * doc/glibc-functions/mkostemp.texi: New file.
4096         * doc/glibc-functions/pipe2.texi: New file.
4097         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
4098         (Glibc sys/socket.h): Refer to accept4.
4099         (Glibc unistd.h): Refer to dup3, pipe2.
4100         Reported by Eric Blake.
4101
4102 2009-08-22  Jim Meyering  <meyering@redhat.com>
4103             Bruno Haible  <bruno@clisp.org>
4104
4105         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
4106         This makes it so packages using automake-1.11's silent-rules option
4107         can print e.g., a single "GEN    configmake.h" line, rather than
4108         the 30+ statements that perform the job.  If you want to see the
4109         actual commands, you can still run "make V=1".
4110         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
4111         so that make output is abbreviated when those variables are defined
4112         appropriately.
4113         * modules/argz: Likewise.
4114         * modules/arpa_inet: Likewise.
4115         * modules/byteswap: Likewise.
4116         * modules/configmake: Likewise.
4117         * modules/dirent: Likewise.
4118         * modules/errno: Likewise.
4119         * modules/fcntl: Likewise.
4120         * modules/float: Likewise.
4121         * modules/fnmatch: Likewise.
4122         * modules/getopt-posix: Likewise.
4123         * modules/glob: Likewise.
4124         * modules/iconv_open: Likewise.
4125         * modules/inttypes: Likewise.
4126         * modules/localcharset: Likewise.
4127         * modules/locale: Likewise.
4128         * modules/math: Likewise.
4129         * modules/netdb: Likewise.
4130         * modules/netinet_in: Likewise.
4131         * modules/poll: Likewise.
4132         * modules/posix_spawnp-tests: Likewise.
4133         * modules/sched: Likewise.
4134         * modules/search: Likewise.
4135         * modules/selinux-h: Likewise.
4136         * modules/signal: Likewise.
4137         * modules/spawn: Likewise.
4138         * modules/stdarg: Likewise.
4139         * modules/stdbool: Likewise.
4140         * modules/stddef: Likewise.
4141         * modules/stdint: Likewise.
4142         * modules/stdio: Likewise.
4143         * modules/stdlib: Likewise.
4144         * modules/string: Likewise.
4145         * modules/strings: Likewise.
4146         * modules/sys_file: Likewise.
4147         * modules/sys_ioctl: Likewise.
4148         * modules/sys_select: Likewise.
4149         * modules/sys_socket: Likewise.
4150         * modules/sys_stat: Likewise.
4151         * modules/sys_time: Likewise.
4152         * modules/sys_times: Likewise.
4153         * modules/sys_utsname: Likewise.
4154         * modules/sys_wait: Likewise.
4155         * modules/sysexits: Likewise.
4156         * modules/time: Likewise.
4157         * modules/unistd: Likewise.
4158         * modules/wchar: Likewise.
4159         * modules/wctype: Likewise.
4160
4161 2009-08-22  Jim Meyering  <meyering@redhat.com>
4162
4163         announce-gen: detect write failure
4164         * build-aux/announce-gen: Add Coda at end.
4165         Remove equivalent-but-more-verbose block at top.
4166
4167 2009-08-19  Akim Demaille  <demaille@gostai.com>
4168
4169         bootstrap: --help to stdout.
4170         * bootstrap (usage): Don't send --help to stderr.
4171         Use a here doc instead of a long string.
4172
4173 2009-08-21  Eric Blake  <ebb9@byu.net>
4174
4175         test-popen-safer: split from test-popen
4176         * tests/test-popen.c (main): Move...
4177         * tests/test-popen.h: ...into new file.
4178         * tests/test-popen-safer2.c: New file.
4179         * modules/popen-tests (Files): Add test-popen.h.
4180         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
4181         Suggested by Bruno Haible.
4182
4183         test-fcntl-safer: split from test-open
4184         * tests/test-open.c (main): Move...
4185         * tests/test-open.h: ...into new file.
4186         * tests/test-fcntl-safer.c: New file.
4187         * modules/open-tests (Files): Add test-open.h.
4188         * modules/fcntl-safer-tests: New file.
4189         Suggested by Bruno Haible.
4190
4191         test-fopen-safer: split from test-fopen
4192         * tests/test-fopen.c (main): Move...
4193         * tests/test-fopen.h: ...into new file.
4194         * tests/test-fopen-safer.c: New file.
4195         * modules/fopen-tests (Files): Add test-fopen.h.
4196         * modules/fopen-safer-tests: New file.
4197         Suggested by Bruno Haible.
4198
4199 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
4200
4201         popen-safer: test O_CLOEXEC at run-time.
4202         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
4203
4204 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
4205
4206         fcntl: move more flags to the header
4207         * lib/cloexec.c: Do not define FD_CLOEXEC here.
4208         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
4209         * lib/fcntl.in.h: Do both things here.
4210
4211 2009-08-21  Jim Meyering  <meyering@redhat.com>
4212
4213         consistently remove $@-t before redirecting to it
4214         * modules/argz: Remove $@-t and $@ before redirecting to the former.
4215         * modules/alloca-opt: Likewise.
4216         * modules/byteswap: Likewise.
4217         * modules/fnmatch: Likewise.
4218         * modules/getopt-posix: Likewise.
4219         * modules/glob: Likewise.
4220         * modules/poll: Likewise.
4221         * modules/posix_spawnp-tests: Likewise.
4222         * modules/sys_socket: Likewise.
4223         * modules/sysexits: Likewise.
4224
4225 2009-08-21  Eric Blake  <ebb9@byu.net>
4226
4227         popen: simplify access to original popen
4228         * lib/popen.c (rpl_popen): No need to worry about popen being a
4229         macro.
4230         Reported by Bruno Haible.
4231
4232 2009-08-20  Eric Blake  <ebb9@byu.net>
4233
4234         build: avoid some compiler warnings
4235         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
4236         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
4237         type.
4238         (new_exclude_segment, excluded_file_pattern_p)
4239         (excluded_file_name_p): Reduce scope.
4240         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
4241         old-style declaration.
4242
4243 2009-08-20  Simon Josefsson  <simon@josefsson.org>
4244
4245         * tests/test-exclude1.sh: Handle Windows EOL.
4246         * tests/test-exclude2.sh: Likewise.
4247         * tests/test-exclude3.sh: Likewise.
4248         * tests/test-exclude4.sh: Likewise.
4249         * tests/test-exclude5.sh: Likewise.
4250         * tests/test-exclude6.sh: Likewise.
4251         * tests/test-exclude7.sh: Likewise.
4252
4253 2009-08-19  Akim Demaille  <demaille@gostai.com>
4254
4255         bootstrap: find sha1sum when named gsha1sum.
4256         * bootstrap (find_tool): New.
4257         ($SHA1SUM): New.
4258         Use it.
4259
4260 2009-08-20  Jim Meyering  <meyering@redhat.com>
4261
4262         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
4263         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
4264         expression that converts "." in a file name to "\." in the resulting
4265         regexp.  Start with a dummy statement, so that prior shell variable
4266         definitions are expanded portably.  Reported by Simon Josefsson.
4267
4268 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
4269
4270         Fix polling for writeability of a screen buffer.
4271         * lib/poll.c: Distinguish input and screen buffers for the
4272         Win32 implementation.
4273         * lib/select.c: Likewise.
4274
4275 2009-08-19  Eric Blake  <ebb9@byu.net>
4276
4277         popen-safer: prevent popen from clobbering std descriptors
4278         * modules/popen-safer: New file.
4279         * lib/popen-safer.c: Likewise.
4280         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
4281         * lib/stdio--.h (popen): Provide override.
4282         * lib/stdio-safer.h (popen_safer): Provide declaration.
4283         * tests/test-popen.c (includes): Partially test this.
4284         * modules/popen-safer-tests: New file, for more tests.
4285         * tests/test-popen-safer.c: Likewise.
4286         * MODULES.html.sh (file stream based Input/Output): Mention it.
4287
4288         tests: test some of the *-safer modules
4289         * modules/fopen-safer (Depends-on): Add fopen.
4290         * modules/fcntl-safer (Depends-on): Add fcntl.
4291         * modules/stdlib-safer (Depends-on): Add stdlib.
4292         (configure.ac): Set indicator.
4293         * modules/unistd-safer (configure.ac): Likewise.
4294         * modules/tmpfile-safer (configure.ac): Likewise.
4295         (Depends-on): Add tmpfile.
4296         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
4297         active.
4298         * tests/test-fopen.c (includes): Test safer versions when they are
4299         in use.
4300         * tests/test-open.c (includes): Likewise.
4301
4302         popen: fix cygwin 1.5 bug when stdin closed
4303         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
4304         * modules/popen: New file.
4305         * modules/popen-tests: Likewise.
4306         * tests/test-popen.c: Likewise.
4307         * m4/popen.m4: Likewise.
4308         * lib/popen.c: Likewise.
4309         * lib/stdio.in.h (popen): New declaration.
4310         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
4311         * modules/stdio (Makefile.am): Likewise.
4312         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
4313
4314 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
4315
4316         maint.mk: give full control over update-copyright exclusions
4317         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
4318         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
4319         (update-copyright): Don't force inclusion of top-level
4320         ChangeLog.  Don't force exclusion of all COPYING files, but make
4321         them the default exclusion instead.
4322
4323 2009-08-16  Bruno Haible  <bruno@clisp.org>
4324
4325         Fix test failures on Solaris 10.
4326         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
4327         tests when Solaris iconv() is used.
4328         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
4329         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
4330         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
4331         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
4332         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
4333
4334 2009-08-16  Bruno Haible  <bruno@clisp.org>
4335
4336         Fix test failures on Solaris 10.
4337         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
4338         'tr' program and pass it as first argument.
4339         * tests/test-pipe-filter-gi1.sh: Likewise.
4340         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
4341         program as first argument.
4342         * tests/test-pipe-filter-gi1.c (main): Likewise.
4343
4344 2009-08-16  Eric Blake  <ebb9@byu.net>
4345
4346         fpurge: fix previous commits
4347         * modules/fpurge (Makefile.am): Make replacement conditional,
4348         partially reverting 2007-04-29 change; missed in previous
4349         attempt.
4350         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
4351         is missing.
4352
4353 2009-08-16  Bruno Haible  <bruno@clisp.org>
4354
4355         Clarify fpurge's effect on the file position.
4356         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
4357         * tests/test-fpurge.c (main): Make a second pass for checking the file
4358         position.
4359
4360 2009-08-16  Bruno Haible  <bruno@clisp.org>
4361
4362         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
4363         declaration of fpurge is missing.
4364         * tests/test-fpurge.c (main): Check that the file has not more contents
4365         than expected. Close the file before removing it.
4366
4367 2009-08-15  Eric Blake  <ebb9@byu.net>
4368
4369         fpurge: don't wrap working cygwin implementation
4370         * lib/fpurge.c (fpurge): Fix comment typo.
4371         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
4372         1.7 to avoid replacement.
4373         * tests/test-fpurge.c (main): Enhance test.
4374
4375 2009-08-15  Eric Blake  <ebb9@byu.net>
4376         and Jim Meyering  <meyering@redhat.com>
4377
4378         test-update-copyright: skip if perl is insufficient
4379         * tests/test-update-copyright.sh: Failure to run maintainer tool
4380         should not cause testsuite failure on cygwin 1.5.
4381
4382 2009-08-14  Eric Blake  <ebb9@byu.net>
4383
4384         doc: mention more functions added in cygwin 1.7.0
4385         * doc/posix-headers/limits.texi (limits.h): Update for recent
4386         cygwin additions.
4387         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
4388         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4389         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
4390         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
4391         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
4392
4393 2009-08-14  Eric Blake  <ebb9@byu.net>
4394
4395         maint.mk: simplify update-copyright rule
4396         * top/maint.mk (update-copyright-local): Delete, and document how
4397         to do it in cfg.mk instead.
4398         (update-copyright-exclude-regexp): Delete, and document how to do
4399         it in .x-update-copyright instead.
4400         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
4401         exclude ChangeLog.
4402
4403 2009-08-14  Bruno Haible  <bruno@clisp.org>
4404
4405         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
4406
4407 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4408
4409         maint.mk: support update-copyright-env
4410         * top/maint.mk (update-copyright-env): Define place-holder.
4411         (update-copyright): Expand $(update-copyright-env) before
4412         invoking update-copyright.
4413
4414 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4415
4416         update-copyright: implement forced reformatting
4417         * build-aux/update-copyright: Implement and document
4418         UPDATE_COPYRIGHT_FORCE.
4419         * tests/test-update-copyright.sh: Test it.
4420
4421 2009-08-14  Eric Blake  <ebb9@byu.net>
4422         and Bruno Haible  <bruno@clisp.org>
4423
4424         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
4425         * tests/test-locale.c: Revert previous patch related to NULL.
4426         * tests/test-stdio.c: Likewise.
4427         * tests/test-stdlib.c: Likewise.
4428         * tests/test-string.c: Likewise.
4429         * tests/test-unistd.c: Likewise.
4430         * modules/time-tests (Depends-on): Add verify.
4431         * modules/wchar-tests (Depends-on): Likewise.
4432         * tests/test-time.c: Test for NULL compliance.
4433         * tests/test-wchar.c: Likewise.
4434         * modules/locale (Depends-on): Add stddef.
4435         * modules/stdio (Depends-on): Likewise.
4436         * modules/stdlib (Depends-on): Likewise.
4437         * modules/string (Depends-on): Likewise.
4438         * modules/time (Depends-on): Likewise.
4439         * modules/unistd (Depends-on): Likewise.
4440         * modules/wchar (Depends-on): Likewise.
4441         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
4442         * lib/stdlib.in.h (includes): Likewise.
4443         * lib/string.in.h (includes): Likewise.
4444         * lib/time.in.h (includes): Likewise.
4445         * lib/unistd.in.h (includes): Likewise.
4446         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
4447         replaced.
4448         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4449         * m4/stddef_h.m4: New file.
4450         * modules/stddef: Likewise.
4451         * lib/stddef.in.h: Likewise.
4452         * modules/stddef-tests: Likewise.
4453         * tests/test-stddef.c: Likewise.
4454         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
4455         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
4456         * doc/posix-headers/locale.texi (locale.h): Likewise.
4457         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
4458         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
4459         * doc/posix-headers/string.texi (string.h): Likewise.
4460         * doc/posix-headers/time.texi (time.h): Likewise.
4461         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
4462         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
4463
4464 2009-08-14  Eric Blake  <ebb9@byu.net>
4465
4466         doc: improve git diff of texinfo files
4467         * .gitattributes: Add rule for *.texi files, with hint on how to
4468         use it.
4469         Copied from m4, and based on a report by Bruno Haible.
4470
4471 2009-08-14  Bruno Haible  <bruno@clisp.org>
4472
4473         Disable multithread support by default on Cygwin 1.5.x for real.
4474         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
4475
4476 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4477
4478         update-copyright: much ado about intervals
4479         * build-aux/update-copyright: Implement and document
4480         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
4481         of copyright year intervals.
4482         Also, document UPDATE_COPYRIGHT_YEAR.
4483         * tests/test-update-copyright.sh: Test it.
4484
4485         update-copyright: convert 2-digit to 4-digit years
4486         * build-aux/update-copyright: Implement and document.
4487         * tests/test-update-copyright.sh: Update.
4488
4489 2009-08-14  Jim Meyering  <meyering@redhat.com>
4490
4491         test-exclude: avoid coreutils "make check" failure
4492         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
4493         just as in test-argmatch.c.
4494
4495 2009-08-13  Eric Blake  <ebb9@byu.net>
4496
4497         test-dup2: fix bad assumption
4498         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
4499         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
4500
4501         test-version-etc: fix CRLF portability issue
4502         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
4503         recognize \r.
4504         * tests/test-argp-version-etc-1.sh: Likewise.
4505
4506         getopt: update client modules
4507         * modules/argp (Depends-on): Use getopt-gnu.
4508         * modules/git-merge-changelog (Depends-on): Likewise.
4509         * modules/long-options (Depends-on): Likewise.
4510         * modules/xstrtol (Depends-on): Likewise.
4511
4512 2009-08-13  Simon Josefsson  <simon@josefsson.org>
4513
4514         * tests/test-version-etc.sh: Don't fail on different
4515         project/version.  Don't fail on CRLF differences.  Rewrite to use
4516         multiple -e instead of multiple sed forks, suggested by Eric Blake
4517         <ebb9@byu.net>.
4518         * tests/test-argp-version-etc-1.sh: Likewise.
4519
4520 2009-08-13  Simon Josefsson  <simon@josefsson.org>
4521
4522         * tests/test-version-etc.sh: Don't fail on different
4523         project/version.
4524
4525 2009-08-12  Bruno Haible  <bruno@clisp.org>
4526
4527         Tests for modules 'getopt-posix', 'getopt-gnu'.
4528         * modules/getopt-posix-tests: New file.
4529         * tests/test-getopt.c: New file.
4530         * tests/test-getopt.h: New file.
4531         * tests/test-getopt_long.h: New file.
4532
4533         New modules 'getopt-posix', 'getopt-gnu'.
4534         * modules/getopt-gnu: New file, renamed from modules/getopt.
4535         * modules/getopt-posix: New file.
4536         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
4537         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
4538         (gl_GETOPT): Remove macro.
4539         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
4540         Disable the test against BSD systems that declare optreset. Test
4541         against mingw bug. Test against lack of support of optional arguments
4542         on many platforms.
4543         * doc/glibc-headers/getopt.texi: Update module name and list of
4544         relevant platforms.
4545         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
4546         'getopt-gnu' and more portability problems.
4547         * NEWS: Mention the changes.
4548
4549 2009-08-12  Bruno Haible  <bruno@clisp.org>
4550
4551         Ensure that optarg etc. get declared by <unistd.h>.
4552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
4553         AC_USE_SYSTEM_EXTENSIONS.
4554         * modules/getopt (Depends-on): Add 'extensions'.
4555
4556 2009-08-12  Bruno Haible  <bruno@clisp.org>
4557
4558         Avoid test link errors.
4559         * modules/pipe-filter-ii-tests (Makefile.am): Define
4560         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
4561         * modules/pipe-filter-gi-tests (Makefile.am): Define
4562         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
4563         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4564
4565 2009-08-12  Bruno Haible  <bruno@clisp.org>
4566
4567         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
4568         gl_GETOPT_SUBSTITUTE before.
4569         (gl_GETOPT): Use it.
4570         * m4/argp.m4 (gl_ARGP): Update.
4571         Reported by Sergey Poznyakoff.
4572
4573         * m4/getopt.m4: Reorder macros.
4574         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
4575         (gl_GETOPT_SUBSTITUTE): Remove macro.
4576
4577 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4578
4579         Minor improvement in gitlog-to-changelog
4580
4581         * build-aux/gitlog-to-changelog: New option `--format' makes
4582         output format string configurable.
4583
4584 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4585
4586         Optimize exclude: use hash tables for non-wildcard patterns.
4587
4588         * lib/exclude.c: Include hash.h and mbuiter.h
4589         (struct exclude_pattern, exclude_segment): New data types.
4590         (struct exclude): Rewrite.
4591         (fnmatch_pattern_has_wildcards): New function.
4592         (new_exclude_segment, free_exclude_segment): New functions.
4593         (excluded_file_pattern_p, excluded_file_name_p): New functions.
4594         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
4595         * lib/exclude.h (is_fnmatch_pattern): New prototype.
4596         * modules/exclude: Depend on hash and mbuiter.
4597
4598         * modules/exclude-tests: New file.
4599         * tests/test-exclude.c: New file.
4600         * tests/test-exclude1.sh: New file.
4601         * tests/test-exclude2.sh: New file.
4602         * tests/test-exclude3.sh: New file.
4603         * tests/test-exclude4.sh: New file.
4604         * tests/test-exclude5.sh: New file.
4605         * tests/test-exclude6.sh: New file.
4606         * tests/test-exclude7.sh: New file.
4607
4608 2009-08-12  Bruno Haible  <bruno@clisp.org>
4609
4610         Ensure that getopt() gets declared by <unistd.h>.
4611         * lib/unistd.in.h: Conditionally include getopt.h.
4612         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
4613         Set GNULIB_UNISTD_H_GETOPT.
4614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4615         GNULIB_UNISTD_H_GETOPT.
4616         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
4617
4618 2009-08-12  Bruno Haible  <bruno@clisp.org>
4619
4620         Clarify logic.
4621         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
4622         gl_replace_getopt instead of GETOPT_H.
4623
4624 2009-08-12  Bruno Haible  <bruno@clisp.org>
4625
4626         * m4/getopt.m4: Add comments.
4627
4628 2009-08-12  Bruno Haible  <bruno@clisp.org>
4629
4630         Disable multithread support by default on Cygwin 1.5.x.
4631         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
4632         set gl_use_threads=no if not specified otherwise.
4633
4634 2009-08-11  Bruno Haible  <bruno@clisp.org>
4635
4636         Avoid compilation error on NetBSD 5.0.
4637         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
4638         * tests/test-stdio.c: Likewise.
4639         * tests/test-stdlib.c: Likewise.
4640         * tests/test-string.c: Likewise.
4641         * tests/test-unistd.c: Likewise.
4642         Reported by Greg Troxel <gdt@ir.bbn.com>
4643         at <https://savannah.gnu.org/support/?106973>.
4644
4645 2009-08-11  Bruno Haible  <bruno@clisp.org>
4646
4647         * modules/dup2-tests (Depends-on): Remove close.
4648
4649         Undo 2009-07-19 commit.
4650         * modules/acl-tests (Depends-on): Remove close.
4651         * modules/binary-io-tests (Depends-on): Likewise.
4652         * modules/closein-tests (Depends-on): Likewise.
4653         * modules/flock-tests (Depends-on): Likewise.
4654         * modules/fsync-tests (Depends-on): Likewise.
4655         * modules/lseek-tests (Depends-on): Likewise.
4656         * modules/pipe-tests (Depends-on): Likewise.
4657         * modules/posix_spawn-tests (Depends-on): Likewise.
4658         * modules/posix_spawnp-tests (Depends-on): Likewise.
4659         * modules/stat-time-tests (Depends-on): Likewise.
4660         * modules/yesno-tests (Depends-on): Likewise.
4661
4662 2009-08-10  Bruno Haible  <bruno@clisp.org>
4663
4664         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
4665
4666 2009-08-10  Bruno Haible  <bruno@clisp.org>
4667
4668         Fix a gcc warning.
4669         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
4670
4671 2009-08-10  Bruno Haible  <bruno@clisp.org>
4672
4673         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
4674         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
4675         not only the first time.
4676         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
4677         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
4678         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
4679         is 1, not only the the first time.
4680
4681 2009-08-10  Bruno Haible  <bruno@clisp.org>
4682
4683         Make it possible to use module 'gethostname' without module 'close'.
4684         * lib/unistd.in.h (close): Evoke a link error only if
4685         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4687         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4688         * modules/unistd (Makefile.am): Substitute
4689         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4690         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
4691         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4692         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4693         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4694         * modules/sys_ioctl (Makefile.am): Substitute
4695         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4696         * modules/socket (configure.ac): On native Windows, set
4697         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
4698         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4699         Reported by Sam Steingold <sds@gnu.org>.
4700
4701 2009-08-10  Bruno Haible  <bruno@clisp.org>
4702
4703         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
4704         * modules/ioctl (configure.ac): Likewise.
4705
4706 2009-08-10  Bruno Haible  <bruno@clisp.org>
4707
4708         Avoid collision between gnulib wrapper and libintl wrapper.
4709         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
4710         already defined in intl/printf.c.
4711         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
4712         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
4713
4714 2009-08-09  Bruno Haible  <bruno@clisp.org>
4715
4716         Make <sys/select.h> really self-contained, also on Solaris 10.
4717         * lib/sys_select.in.h: Include <string.h>.
4718         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
4719         Solaris 10 problem.
4720         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
4721         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
4722         Reported by Jim Meyering.
4723
4724 2009-08-09  Bruno Haible  <bruno@clisp.org>
4725
4726         Avoid warnings from 'aclocal' that are due to a use of macro name
4727         AM_XGETTEXT_OPTION that is not defined in automake.
4728         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
4729         automake.
4730         * modules/error (configure.ac): Likewise.
4731         * modules/propername (configure.ac): Likewise.
4732         * modules/vasprintf (configure.ac): Likewise.
4733         * modules/verror (configure.ac): Likewise.
4734         * modules/xprintf (configure.ac): Likewise.
4735         * modules/xvasprintf (configure.ac): Likewise.
4736
4737 2009-08-08  Bruno Haible  <bruno@clisp.org>
4738
4739         Avoid compilation error in C++ mode.
4740         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
4741         Reported by Sam Steingold <sds@gnu.org>.
4742
4743 2009-08-08  Bruno Haible  <bruno@clisp.org>
4744
4745         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
4746         for the various Unix platforms.
4747         * doc/posix-headers/limits.texi: Update platforms list regarding
4748         HOST_NAME_MAX.
4749         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4750
4751 2009-08-07  Jim Meyering  <meyering@redhat.com>
4752
4753         selinux-at: fix typo in a comment
4754         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
4755         Spotted by Paolo Bonzini.
4756
4757         selinux-at: remove redundant m4 code, add documentation
4758         * modules/selinux-at (configure.ac): Remove redundant code.
4759         LIB_SELINUX is already set via the dependent module, selinux-h.
4760         (Include): Add quotes around selinux-at.h.
4761         * lib/selinux-at.h: Add documentation.
4762         Reported by Bruno Haible in
4763         http://marc.info/?l=gnulib-bug&m=124958988300749
4764
4765 2009-08-07  Bruno Haible  <bruno@clisp.org>
4766
4767         Avoid link error on MacOS X 10.3 and 10.4.
4768         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
4769         on non-ELF systems.
4770         * lib/argp-pv.c (argp_program_version): Likewise.
4771         Reported by Simon Josefsson.
4772
4773 2009-08-07  Simon Josefsson  <simon@josefsson.org>
4774
4775         * tests/test-version-etc.sh: Use $EXEEXT.
4776
4777 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
4778
4779         update-copyright: update documentation to point to maint.mk
4780         * build-aux/update-copyright: Here.
4781
4782 2009-08-06  Jim Meyering  <meyering@redhat.com>
4783
4784         maint.mk: support update-copyright-local
4785         * top/maint.mk (update-copyright-local): Define place-holder.
4786         (update-copyright): Depend on $(update-copyright-local).
4787
4788 2009-08-06  Jim Meyering  <meyering@redhat.com>
4789
4790         selinux-at: new module
4791         Initially written for coreutils, this module will soon be
4792         used by findutils, too.
4793         * MODULES.html.sh [Misc]: Add selinux-at.
4794         * lib/selinux-at.h: New file, from coreutils.
4795         * lib/selinux-at.c: Likewise.
4796         * modules/selinux-at: Likewise.
4797         (License): Change from LGPL to GPL, since it depends
4798         on the GPL'd openat module.
4799
4800         doc: update README
4801         * README: Remove references to cogito.
4802         Remove cvs-repo-updating instructions from 2007.
4803         Don't imply that CVS is better if you have limited disk space.
4804
4805 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4806
4807         update-copyright: support C-style comments
4808         * build-aux/update-copyright: Implement and document.
4809         * tests/test-update-copyright.sh: Test.
4810
4811 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4812
4813         update-copyright: support omitted "(C)"
4814         * build-aux/update-copyright: Implement and document.  Also,
4815         allow variable whitespace before "(C)".
4816         * tests/test-update-copyright.sh: Test.
4817
4818 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4819
4820         update-copyright: don't trip on non-FSF copyright statements
4821         * build-aux/update-copyright: Fix so that the first correctly
4822         formatted FSF copyright statement is recognized no matter what
4823         appears before it.  Update documentation.
4824         * tests/test-update-copyright.sh: Test that.
4825
4826 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4827
4828         update-copyright: clean up code a little
4829         * build-aux/update-copyright: Append "_re" to the name of any
4830         variable holding a regular expression.
4831         Replace "old" and "new" with "stmt" in variable names.
4832         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
4833         handled correctly.
4834         Format code more consistently.
4835
4836 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4837
4838         update-copyright-tests: improve portability
4839         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
4840         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
4841
4842 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4843
4844         update-copyright: support @copyright{} and &copy;
4845         * build-aux/update-copyright: Implement and document.
4846         * tests/test-update-copyright.sh: Test.
4847
4848 2009-08-04  Jim Meyering  <meyering@redhat.com>
4849
4850         update-copyright-tests: correctly test EOL=\r\n handling
4851         * tests/test-update-copyright.sh: Put \r at the end of some lines
4852         for the dos-eol tests.  Based on a patch by Joel E. Denny.
4853
4854         maint.mk: make update-copyright exclusion list more configurable
4855         * top/maint.mk (update-copyright): Default to excluding COPYING,
4856         but allow an override, in case someone does want to update that file.
4857
4858         maint.mk: don't update copyright date in COPYING
4859         * top/maint.mk (update-copyright): Exclude COPYING.
4860
4861         maint.mk: add a copyright-updating rule
4862         * top/maint.mk (update-copyright): New rule.
4863         Derived from coreutils/Makefile.am.
4864
4865         update-copyright: rename some variables
4866         * build-aux/update-copyright: Rename a few variables for clarity.
4867         Tweak syntax.  List Joel E. Denny as coauthor.
4868
4869 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4870
4871         update-copyright: fix bug for 2-digit last year and add tests
4872         * build-aux/update-copyright: Fix bug.
4873         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
4874         specified.
4875         * modules/update-copyright-tests: New
4876         * tests/test-update-copyright.sh: New.
4877
4878 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4879
4880         update-copyright: handle leading tabs in line prefix
4881         * build-aux/update-copyright: Count leading tabs as 8 spaces
4882         when computing margin.  This helps with the formatting of
4883         ChangeLogs, for example.
4884         Fix documentation a little.
4885
4886 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4887
4888         update-copyright: support EOL=\r\n
4889         * build-aux/update-copyright: Implement that.
4890
4891 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4892
4893         update-copyright: automatically format copyright statements
4894         * build-aux/update-copyright: Implement that.
4895         Also, be a little more predictable and safer by always failing
4896         when the full copyright format is not perfectly recognized as an
4897         unbroken whole.  Discussed at
4898         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
4899         Rewrite documentation.
4900
4901 2009-08-03  Bruno Haible  <bruno@clisp.org>
4902
4903         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
4904
4905 2009-08-02  Bruno Haible  <bruno@clisp.org>
4906
4907         Tests for module 'uname'.
4908         * modules/uname-tests: New file.
4909         * tests/test-uname.c: New file.
4910
4911         New module 'uname'.
4912         * lib/uname.c: New file.
4913         * m4/uname.m4: New file.
4914         * modules/uname: New file.
4915         * doc/posix-functions/uname.texi: Mention the new module.
4916
4917 2009-08-02  Bruno Haible  <bruno@clisp.org>
4918
4919         Tests for module 'sys_utsname'.
4920         * modules/sys_utsname-tests: New file.
4921         * tests/test-sys_utsname.c: New file.
4922
4923         New module 'sys_utsname'.
4924         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
4925         * m4/sys_utsname_h.m4: New file.
4926         * modules/sys_utsname: New file.
4927         * doc/posix-headers/sys_utsname.texi: Mention the new module.
4928
4929 2009-08-02  Bruno Haible  <bruno@clisp.org>
4930
4931         Implicitly initialize the sockets library.
4932         * lib/gethostname.c: Include sockets.h.
4933         (rpl_gethostname): Invoke gl_sockets_startup.
4934         * lib/socket.c: Include sockets.h.
4935         (rpl_socket): Invoke gl_sockets_startup.
4936         * modules/gethostname (Depends-on): Add sockets.
4937         * modules/socket (Depends-on): Likewise.
4938         * tests/test-poll.c: Don't include sockets.h.
4939         (main): Don't invoke gl_sockets_startup.
4940         * tests/test-select.c: Don't include sockets.h.
4941         (main): Don't invoke gl_sockets_startup.
4942
4943 2009-08-02  Bruno Haible  <bruno@clisp.org>
4944
4945         Allow multiple calls to gl_sockets_startup.
4946         * lib/sockets.c (initialized_sockets_version): New variable.
4947         (gl_sockets_startup): Do nothing if already called for this or a higher
4948         version.
4949         (gl_sockets_cleanup): Reset initialized_sockets_version.
4950
4951 2009-08-03  Simon Josefsson  <simon@josefsson.org>
4952
4953         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
4954         different project/version.
4955
4956 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
4957             Bruno Haible  <bruno@clisp.org>
4958
4959         Tests for module 'pipe-filter-gi'.
4960         * modules/pipe-filter-gi-tests: New file.
4961         * tests/test-pipe-filter-gi1.sh: New file.
4962         * tests/test-pipe-filter-gi1.c: New file.
4963         * tests/test-pipe-filter-gi2.sh: New file.
4964         * tests/test-pipe-filter-gi2-main.c: New file.
4965         * tests/test-pipe-filter-gi2-child.c: New file.
4966
4967         New module 'pipe-filter-gi'.
4968         * lib/pipe-filter-gi.c: New file.
4969         * modules/pipe-filter-gi: New file.
4970
4971 2009-08-02  Bruno Haible  <bruno@clisp.org>
4972             Paolo Bonzini  <bonzini@gnu.org>
4973
4974         Tests for module 'pipe-filter-ii'.
4975         * modules/pipe-filter-ii-tests: New file.
4976         * tests/test-pipe-filter-ii1.sh: New file.
4977         * tests/test-pipe-filter-ii1.c: New file.
4978         * tests/test-pipe-filter-ii2.sh: New file.
4979         * tests/test-pipe-filter-ii2-main.c: New file.
4980         * tests/test-pipe-filter-ii2-child.c: New file.
4981
4982         New module 'pipe-filter-ii'.
4983         * lib/pipe-filter.h: New file.
4984         * lib/pipe-filter-ii.c: New file.
4985         * lib/pipe-filter-aux.h: New file.
4986         * modules/pipe-filter-ii: New file.
4987
4988 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4989
4990         * lib/gc-libgcrypt.c: Change copyright to FSF.
4991         * lib/gc-gnulib.c: Likewise.
4992
4993 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
4994
4995         * lib/gethostname.c: Include limits.h.
4996
4997 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4998             Bruno Haible  <bruno@clisp.org>
4999
5000         Ensure HOST_NAME_MAX as part of the gethostname module.
5001         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
5002         define also HOST_NAME_MAX.
5003         * tests/test-gethostname.c: Include <limits.h>.
5004         (main): Check also HOST_NAME_MAX.
5005         * doc/posix-headers/limits.texi: Document the mingw problem.
5006
5007 2009-08-02  Bruno Haible  <bruno@clisp.org>
5008
5009         * lib/gethostname.c (gethostname): Fix handling of large len argument.
5010         Add comments.
5011
5012 2009-03-31  Simon Josefsson  <simon@josefsson.org>
5013
5014         * lib/gethostname.c: Add Windows wrapper.
5015         * m4/gethostname.m4: Look for gethostname in -lws2_32.
5016         * modules/gethostname: Depend on sys_socket & errno, for also
5017         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
5018         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
5019
5020 2009-07-31  Jim Meyering  <meyering@redhat.com>
5021
5022         getloadavg: fix symbol name in comment
5023         * lib/getloadavg.c: Correct a typo I introduced when adding
5024         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
5025         Matt Kraai spotted the problem.
5026
5027 2009-07-29  Matt Kraai  <mkraai@beckman.com>
5028
5029         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
5030         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
5031         code also if ! defined N_NAME_POINTER.
5032         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
5033         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
5034         but the n_name member is a 12-byte array.
5035
5036 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
5037
5038         update-copyright: generalize comment handling
5039         * build-aux/update-copyright: Handle copyright statements
5040         within more comment styles.
5041         Document usage.
5042         Report any file with an external copyright holder or parse failure.
5043
5044 2009-07-29  Jim Meyering  <meyering@redhat.com>
5045
5046         mktime: correct setting of REPLACE_MKTIME
5047         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
5048
5049         update-copyright: new module
5050         * modules/update-copyright: New file.
5051         * build-aux/update-copyright: New file.
5052         * MODULES.html.sh (maint+release support): Add update-copyright.
5053
5054 2009-07-27  Bruno Haible  <bruno@clisp.org>
5055
5056         Fix compilation error when <ctime> is used and mktime is replaced.
5057         * lib/time.in.h (mktime): New declaration.
5058         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
5059         REPLACE_MKTIME instead of defining mktime in config.h.
5060         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
5061         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
5062         Reported by Ross McFarland <rwmcfa1@neces.com>.
5063
5064 2009-07-27  Bruno Haible  <bruno@clisp.org>
5065
5066         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
5067         Reported by Matt Kraai <mkraai@beckman.com>.
5068
5069 2009-07-25  Jim Meyering  <meyering@redhat.com>
5070
5071         maint.mk: avoid warnings about missing files
5072         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
5073         diagnostic when .prev-version does not exist.
5074         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
5075         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
5076         nonexistent cfg.mk.
5077         Suggestions from Simon Josefsson.
5078
5079 2009-07-25  Bruno Haible  <bruno@clisp.org>
5080
5081         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
5082         defined as macros. Needed on QNX 6.4.1.
5083         Reported by Matt Kraai <mkraai@beckman.com>.
5084
5085 2009-07-23  Jim Meyering  <meyering@redhat.com>
5086
5087         maint.mk: invoke "make dist" with a working value of XZ_OPT
5088         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
5089
5090 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
5091
5092         Make fseeko.c compile on QNX.
5093         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
5094
5095 2009-07-22  Peter Simons  <simons@cryp.to>
5096
5097         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
5098         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
5099         * lib/md4.h: Likewise.
5100         * lib/md5.h: Likewise.
5101         * lib/sha1.h: Likewise.
5102         * lib/sha256.h: Likewise.
5103         * lib/sha512.h: Likewise.
5104
5105         tests-sha1: don't assign literal string to 'char *' variable
5106         * tests/test-sha1.c (main): Declare locals with "const" to match
5107         attributes of the right hand side.
5108
5109 2009-07-21  Eric Blake  <ebb9@byu.net>
5110
5111         dup2: fix more mingw problems
5112         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
5113         fd to itself.
5114         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5115         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
5116         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
5117         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
5118         care of mingw bugs.
5119
5120 2009-07-21  Jim Meyering  <meyering@redhat.com>
5121
5122         vc-list-files: avoid failure when /bin/sh is dash
5123         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
5124         On some Debian based systems, /bin/sh is a symlink to dash, and running
5125         this command would omit the "/" following each 'tests' prefix:
5126           dash -x build-aux/vc-list-files -C . tests
5127         That is because bash and dash work differently:
5128           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
5129           bash ok
5130           dash odd
5131
5132 2009-07-21  Eric Blake  <ebb9@byu.net>
5133
5134         dup2-tests: test previous patch
5135         * modules/dup2-tests: New file.
5136         * tests/test-dup2.c: Likewise.
5137         * tests/test-open.c (main): Avoid unspecified behavior.
5138         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
5139         test.
5140
5141         dup2: work around mingw and cygwin 1.5 bug
5142         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
5143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5144         * modules/unistd (Makefile.am): Substitute it.
5145         * lib/unistd.in.h (dup2): Declare the replacement.
5146         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
5147         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
5148         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
5149         * modules/execute (Depends-on): Add dup2.
5150         * modules/fseterr (Depends-on): Likewise.
5151         * modules/pipe (Depends-on): Likewise.
5152         * modules/posix_spawn-internal (Depends-on): Likewise.
5153
5154 2009-07-21  Bruno Haible  <bruno@clisp.org>
5155
5156         * modules/.gitattributes: New file.
5157
5158 2009-07-20  Bruno Haible  <bruno@clisp.org>
5159
5160         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
5161         (main): Use it.
5162
5163 2009-07-20  Eric Blake  <ebb9@byu.net>
5164
5165         test-pipe: make a bit more robust.
5166         * tests/test-pipe.c (myerr): Allow error messages regardless of
5167         what we do to stderr.
5168         (test_pipe): Rearrange to avoid deadlock.
5169         (child_main): Try a larger read, to ensure we avoided deadlock.
5170         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
5171         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
5172         if misused.
5173
5174 2009-07-19  Jim Meyering  <meyering@redhat.com>
5175
5176         fts: avoid false-positive cycle-detection
5177         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
5178         for each new command line argument.
5179
5180 2009-07-19  Bruno Haible  <bruno@clisp.org>
5181
5182         Fix build error on mingw with the modules sys_select and unistd.
5183         * modules/acl-tests (Depends-on): Add close.
5184         * modules/binary-io-tests (Depends-on): Likewise.
5185         * modules/closein-tests (Depends-on): Likewise.
5186         * modules/flock-tests (Depends-on): Likewise.
5187         * modules/fsync-tests (Depends-on): Likewise.
5188         * modules/lseek-tests (Depends-on): Likewise.
5189         * modules/pipe-tests (Depends-on): Likewise.
5190         * modules/posix_spawn-tests (Depends-on): Likewise.
5191         * modules/posix_spawnp-tests (Depends-on): Likewise.
5192         * modules/stat-time-tests (Depends-on): Likewise.
5193         * modules/yesno-tests (Depends-on): Likewise.
5194
5195 2009-07-19  Bruno Haible  <bruno@clisp.org>
5196
5197         Unify conditionals.
5198         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
5199         macros, not at the compiler macros.
5200         * lib/pipe.c: Likewise.
5201         * lib/execute.c: Likewise.
5202         * lib/spawni.c: Likewise.
5203
5204 2009-07-19  Bruno Haible  <bruno@clisp.org>
5205
5206         Fix handling of closed stdin/stdout/stderr on mingw.
5207         * lib/w32spawn.h: Include unistd.h.
5208         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
5209         file descriptor with O_NOINHERIT flag.
5210         (fd_safer_noinherit): New function, based on fd-safer.c.
5211         (dup_safer_noinherit): New function, based on dup-safer.c.
5212         (undup_safer_noinherit): New function.
5213         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
5214         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
5215         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
5216         instead of fd_safer.
5217         * tests/test-pipe.c: Include <windows.h>.
5218         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
5219
5220         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
5221         from main.
5222         (test_pipe): Pass an extra argument for disambiguation.
5223         (main): Invoke parent_main or child_main.
5224
5225         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
5226         consistently.
5227
5228 2009-07-18  Eric Blake  <ebb9@byu.net>
5229
5230         test-pipe: fix mingw build
5231         * tests/test-pipe.c (main): Avoid fcntl on mingw.
5232
5233 2009-07-18  Bruno Haible  <bruno@clisp.org>
5234
5235         * modules/pipe-tests (Makefile.am): Fix typo.
5236
5237 2009-07-18  Eric Blake  <ebb9@byu.net>
5238
5239         error: fix mingw build
5240         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
5241         Reported by Bruno Haible.
5242
5243         error: avoid undefined use of stdout
5244         * lib/error.c (error, error_at_line): Check that fd 1 is open
5245         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
5246         is handling faults and the close_stdout module wants to report the
5247         detection of closed stdout as an error.
5248
5249 2009-07-17  Eric Blake  <ebb9@byu.net>
5250
5251         pipe: be robust in face of closed fds
5252         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
5253         should cause child to misbehave.
5254         * modules/pipe-tests: New module.
5255         * tests/test-pipe.c: New file.
5256         * tests/test-pipe.sh: New file.
5257         Reported by Akim Demaille.
5258
5259 2009-07-14  Bruno Haible  <bruno@clisp.org>
5260
5261         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
5262         Reported by anonymous kc.
5263
5264 2009-07-07  Jim Meyering  <meyering@redhat.com>
5265
5266         maint.mk: don't look for translatable strings in *.m4 or *.mk
5267         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
5268         when searching for translatable strings.
5269
5270 2009-07-05  Jim Meyering  <meyering@redhat.com>
5271
5272         remove superfluous parentheses in STREQ definition
5273         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
5274         * lib/getugroups.c (STREQ): Likewise.
5275         * lib/fnmatch.c (STREQ): Likewise.
5276         Spotted by Bruno Haible.
5277
5278 2009-07-04  Jim Meyering  <meyering@redhat.com>
5279
5280         argv-iter: new module
5281         * MODULES.html.sh: Add argv-iter.
5282         * lib/argv-iter.c, lib/argv-iter.h: New files.
5283         * modules/argv-iter: New file.
5284         * modules/argv-iter-tests: New file.
5285         * tests/test-argv-iter.c: Test it.
5286
5287 2009-07-04  Bruno Haible  <bruno@clisp.org>
5288
5289         Fix assertion.
5290         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
5291         contains more exact copies of a given entry than file2, leave the extra
5292         copies unpaired rather than aborting.
5293         Reported by Eric Blake.
5294
5295 2009-07-02  Bruno Haible  <bruno@clisp.org>
5296
5297         Speedup git-merge-changelog for git cherry-pick.
5298         * lib/git-merge-changelog.c (struct entries_mapping): New type.
5299         (entries_mapping_get): New function, extracted from compute_mapping.
5300         (entries_mapping_reverse_get): New function.
5301         (compute_mapping): Add a 'full' argument. Return the result in a
5302         'struct entries_mapping'.
5303         (main): Update. Access the mappings through entries_mapping_get.
5304         Reported by Eric Blake.
5305
5306 2009-07-02  Bruno Haible  <bruno@clisp.org>
5307
5308         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
5309         best_i.
5310
5311 2009-07-02  Bruno Haible  <bruno@clisp.org>
5312
5313         Speed up approximate search for matching ChangeLog entries.
5314         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
5315         argument. Call fstrcmp_bounded instead of fstrcmp.
5316         (compute_mapping, try_split_merged_entry, main): Update callers.
5317
5318 2009-07-02  Bruno Haible  <bruno@clisp.org>
5319
5320         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
5321
5322 2009-06-30  Bruno Haible  <bruno@clisp.org>
5323
5324         Reduce the number of uc_is_cased calls.
5325         * lib/unicase.h (casing_suffix_context_t): Add
5326         'first_char_except_ignorable' field.
5327         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
5328         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
5329         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
5330         Update initializer.
5331         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
5332         case-ignorable characters.
5333         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
5334         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
5335         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
5336         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
5337         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
5338
5339 2009-06-30  Bruno Haible  <bruno@clisp.org>
5340
5341         Tests for module 'unicase/ignorable'.
5342         * modules/unicase/ignorable-tests: New file.
5343         * tests/unicase/test-ignorable.c: New file, generated by
5344         gen-uni-tables.
5345
5346         Tests for module 'unicase/cased'.
5347         * modules/unicase/cased-tests: New file.
5348         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
5349         * tests/unicase/test-predicate-part1.h: New file, derived from
5350         tests/unictype/test-predicate-part1.h.
5351         * tests/unicase/test-predicate-part2.h: New file, same as
5352         tests/unictype/test-predicate-part2.h.
5353
5354         Fix evaluation of "Before C" condition of FINAL_SIGMA.
5355         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
5356         (output_casing_properties): New function.
5357         (main): Call it.
5358         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
5359         * lib/unicase/cased.c: Include unictype/bitmap.h.
5360         (uc_is_cased): Define through a bitmap lookup.
5361         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
5362         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
5363         (uc_is_case_ignorable): Define through a bitmap lookup.
5364         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
5365         lib/unictype/bitmap.h.
5366         (Depends-on): Add inline. Clean up.
5367         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
5368         lib/unictype/bitmap.h.
5369         (Depends-on): Add inline. Clean up.
5370         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
5371         recognition.
5372         * tests/unicase/test-u16-tolower.c (main): Likewise.
5373         * tests/unicase/test-u32-tolower.c (main): Likewise.
5374
5375 2009-06-30  Bruno Haible  <bruno@clisp.org>
5376
5377         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
5378         * lib/unicase/u16-casemap.c: Likewise.
5379         * lib/unicase/u32-casemap.c: Likewise.
5380
5381 2009-06-29  Bruno Haible  <bruno@clisp.org>
5382
5383         Define u32_casefold as a wrapper around u32_ct_casefold.
5384         * lib/unicase/u32-casefold.c: Update.
5385         * modules/unicase/u32-casefold (Depends-on): Add
5386         unicase/u32-ct-casefold, unicase/empty-prefix-context,
5387         unicase/empty-suffix-context. Clean up.
5388
5389         Define u16_casefold as a wrapper around u16_ct_casefold.
5390         * lib/unicase/u16-casefold.c: Update.
5391         * modules/unicase/u16-casefold (Depends-on): Add
5392         unicase/u16-ct-casefold, unicase/empty-prefix-context,
5393         unicase/empty-suffix-context. Clean up.
5394
5395         Define u8_casefold as a wrapper around u8_ct_casefold.
5396         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
5397         * lib/unicase/u8-casefold.c: Update.
5398         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
5399         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5400
5401         Define u32_totitle as a wrapper around u32_ct_totitle.
5402         * lib/unicase/u32-totitle.c: Update.
5403         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
5404         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5405
5406         Define u16_totitle as a wrapper around u16_ct_totitle.
5407         * lib/unicase/u16-totitle.c: Update.
5408         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
5409         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5410
5411         Define u8_totitle as a wrapper around u8_ct_totitle.
5412         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
5413         functions.
5414         (FUNC): Delegate to U_CT_TOTITLE.
5415         * lib/unicase/u8-totitle.c: Update.
5416         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
5417         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5418
5419         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
5420         invocation.
5421         * modules/unicase/u32-tolower (Depends-on): Add
5422         unicase/empty-prefix-context, unicase/empty-suffix-context.
5423
5424         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
5425         invocation.
5426         * modules/unicase/u16-tolower (Depends-on): Add
5427         unicase/empty-prefix-context, unicase/empty-suffix-context.
5428
5429         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
5430         * modules/unicase/u8-tolower (Depends-on): Add
5431         unicase/empty-prefix-context, unicase/empty-suffix-context.
5432
5433         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
5434         invocation.
5435         * modules/unicase/u32-toupper (Depends-on): Add
5436         unicase/empty-prefix-context, unicase/empty-suffix-context.
5437
5438         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
5439         invocation.
5440         * modules/unicase/u16-toupper (Depends-on): Add
5441         unicase/empty-prefix-context, unicase/empty-suffix-context.
5442
5443         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
5444         * modules/unicase/u8-toupper (Depends-on): Add
5445         unicase/empty-prefix-context, unicase/empty-suffix-context.
5446
5447         New module 'unicase/u32-ct-casefold'.
5448         * lib/unicase/u32-ct-casefold.c: New file.
5449         * modules/unicase/u32-ct-casefold: New file.
5450
5451         New module 'unicase/u16-ct-casefold'.
5452         * lib/unicase/u16-ct-casefold.c: New file.
5453         * modules/unicase/u16-ct-casefold: New file.
5454
5455         New module 'unicase/u8-ct-casefold'.
5456         * lib/unicase/u8-ct-casefold.c: New file.
5457         * lib/unicase/u-ct-casefold.h: New file, derived from
5458         lib/unicase/u-casefold.h.
5459         * modules/unicase/u8-ct-casefold: New file.
5460
5461         New module 'unicase/u32-ct-totitle'.
5462         * lib/unicase/u32-ct-totitle.c: New file.
5463         * modules/unicase/u32-ct-totitle: New file.
5464
5465         New module 'unicase/u16-ct-totitle'.
5466         * lib/unicase/u16-ct-totitle.c: New file.
5467         * modules/unicase/u16-ct-totitle: New file.
5468
5469         New module 'unicase/u8-ct-totitle'.
5470         * lib/unicase/u8-ct-totitle.c: New file.
5471         * lib/unicase/u-ct-totitle.h: New file, derived from
5472         lib/unicase/u-totitle.h.
5473         * modules/unicase/u8-ct-totitle: New file.
5474
5475         New module 'unicase/u32-ct-tolower'.
5476         * lib/unicase/u32-ct-tolower.c: New file.
5477         * modules/unicase/u32-ct-tolower: New file.
5478
5479         New module 'unicase/u16-ct-tolower'.
5480         * lib/unicase/u16-ct-tolower.c: New file.
5481         * modules/unicase/u16-ct-tolower: New file.
5482
5483         New module 'unicase/u8-ct-tolower'.
5484         * lib/unicase/u8-ct-tolower.c: New file.
5485         * modules/unicase/u8-ct-tolower: New file.
5486
5487         New module 'unicase/u32-ct-toupper'.
5488         * lib/unicase/u32-ct-toupper.c: New file.
5489         * modules/unicase/u32-ct-toupper: New file.
5490
5491         New module 'unicase/u16-ct-toupper'.
5492         * lib/unicase/u16-ct-toupper.c: New file.
5493         * modules/unicase/u16-ct-toupper: New file.
5494
5495         New module 'unicase/u8-ct-toupper'.
5496         * lib/unicase/u8-ct-toupper.c: New file.
5497         * modules/unicase/u8-ct-toupper: New file.
5498
5499         Add context arguments to u*_casemap functions.
5500         * lib/unicase/unicasemap.h: Include unicase.h.
5501         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
5502         suffix_context arguments.
5503         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
5504         functions.
5505         (FUNC): Add prefix_context and suffix_context arguments. Use
5506         uc_is_cased and uc_is_case_ignorable.
5507         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
5508         * lib/unicase/u16-casemap.c: Likewise.
5509         * lib/unicase/u32-casemap.c: Likewise.
5510         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
5511         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5512         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
5513         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5514         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
5515         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5516
5517         New module 'unicase/u32-suffix-context'.
5518         * lib/unicase/u32-suffix-context.c: New file.
5519         * modules/unicase/u32-suffix-context: New file.
5520
5521         New module 'unicase/u16-suffix-context'.
5522         * lib/unicase/u16-suffix-context.c: New file.
5523         * modules/unicase/u16-suffix-context: New file.
5524
5525         New module 'unicase/u8-suffix-context'.
5526         * lib/unicase/u8-suffix-context.c: New file.
5527         * lib/unicase/u-suffix-context.h: New file.
5528         * modules/unicase/u8-suffix-context: New file.
5529
5530         New module 'unicase/empty-suffix-context'.
5531         * lib/unicase/empty-suffix-context.c: New file.
5532         * modules/unicase/empty-suffix-context: New file.
5533
5534         New module 'unicase/u32-prefix-context'.
5535         * lib/unicase/u32-prefix-context.c: New file.
5536         * modules/unicase/u32-prefix-context: New file.
5537
5538         New module 'unicase/u16-prefix-context'.
5539         * lib/unicase/u16-prefix-context.c: New file.
5540         * modules/unicase/u16-prefix-context: New file.
5541
5542         New module 'unicase/u8-prefix-context'.
5543         * lib/unicase/u8-prefix-context.c: New file.
5544         * lib/unicase/u-prefix-context.h: New file.
5545         * lib/unicase/context.h: New file.
5546         * modules/unicase/u8-prefix-context: New file.
5547
5548         New module 'unicase/empty-prefix-context'.
5549         * lib/unicase/empty-prefix-context.c: New file.
5550         * modules/unicase/empty-prefix-context: New file.
5551
5552         New module 'unicase/ignorable'.
5553         * lib/unicase/ignorable.c: New file.
5554         * modules/unicase/ignorable: New file.
5555
5556         New module 'unicase/cased'.
5557         * lib/unicase/caseprop.h: New file.
5558         * lib/unicase/cased.c: New file.
5559         * modules/unicase/cased: New file.
5560
5561         New functions for case mapping of substrings.
5562         * lib/unicase.h (casing_prefix_context_t): New type.
5563         (unicase_empty_prefix_context): New variable.
5564         (u8_casing_prefix_context, u16_casing_prefix_context,
5565         u32_casing_prefix_context, u8_casing_prefixes_context,
5566         u16_casing_prefixes_context, u32_casing_prefixes_context): New
5567         declarations.
5568         (casing_suffix_context_t): New type.
5569         (unicase_empty_suffix_context): New variable.
5570         (u8_casing_suffix_context, u16_casing_suffix_context,
5571         u32_casing_suffix_context, u8_casing_suffixes_context,
5572         u16_casing_suffixes_context, u32_casing_suffixes_context,
5573         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
5574         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
5575         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
5576         declarations.
5577
5578 2009-06-28  Jim Meyering  <meyering@redhat.com>
5579
5580         boostrap: indent only with spaces
5581         * build-aux/bootstrap: Indent only with spaces, never TABs.
5582
5583         bootstrap: split long lines
5584         * build-aux/bootstrap: Keep line length < 80.
5585
5586         bootstrap: sync from coreutils
5587         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
5588         just as autoreconf does.  Verify a list of prerequisite
5589         package-name,version-number pairs if defined in bootstrap.conf.
5590         Refer to README-prereq, if prerequisites are not satisfied.
5591
5592 2009-06-27  Eric Blake  <ebb9@byu.net>
5593
5594         tests: add test for bogus NULL definition
5595         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
5596         * tests/test-stdlib.c: Likewise.
5597         * tests/test-string.c: Likewise.
5598         * tests/test-locale.c: Likewise.
5599         * tests/test-unistd.c: Likewise.
5600         * modules/stdio-tests (Depends-on): Add verify.
5601         * modules/stdlib-tests (Depends-on): Likewise.
5602         * modules/string-tests (Depends-on): Likewise.
5603         * modules/locale-tests (Depends-on): Likewise.
5604         * modules/unistd-tests (Depends-on): Likewise.
5605
5606 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
5607
5608         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
5609         self-explaining comment.
5610         * m4/selinux-selinux-h: Update serial.
5611         (gl_LIBSELINUX): New macro, adding a warning for missing development
5612         packages to code extracted from...
5613         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
5614         Add warning for missing development packages here, too.
5615
5616 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
5617
5618         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
5619
5620 2009-06-25  Eric Blake  <ebb9@byu.net>
5621
5622         version-etc: fix regression
5623         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
5624         gcc.
5625         (version_etc): Use it, to catch bugs with trailing NULL.
5626         * lib/version-etc.c (version_etc_arn): Delete unused argument.
5627         (version_etc_va): Fix logic bug.
5628         * modules/version-etc-tests: Add test.
5629         * tests/test-version-etc.c: New file.
5630         * tests/test-version-etc.sh: Likewise.
5631
5632 2009-06-25  Sam Steingold  <sds@gnu.org>
5633
5634         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
5635         mbtowc declaration.
5636
5637 2009-06-25  Eric Blake  <ebb9@byu.net>
5638
5639         fpurge: migrate into <stdio.h>
5640         * lib/fpurge.h: Delete...
5641         * lib/stdio.in.h (fpurge): ...and declare here, instead.
5642         * lib/fpurge.c (fpurge): Change declaring header.
5643         * modules/fpurge (Files): Drop deleted file.
5644         (Depends-on): Add stdio.
5645         (configure.ac): Set witness.
5646         * modules/stdio (Makefile.am): Support fpurge macros.
5647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5648         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
5649         * lib/fflush.c: Update client.
5650         * tests/test-fpurge.c: Likewise.
5651         * NEWS: Mention the change.
5652
5653 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5654
5655         * lib/argp-version-etc.c (program_authors): Add const
5656         qualifier.
5657         * lib/version-etc.c: Fix typos in the comments.
5658         * modules/argp-version-etc: Depends on version-etc.
5659
5660 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5661
5662         argp-version-etc: new module.
5663
5664         * lib/argp-version-etc.c: New file.
5665         * lib/argp-version-etc.h: New file.
5666         * modules/argp-version-etc: New file.
5667         * modules/argp-version-etc-tests: New file.
5668         * tests/test-argp-version-etc.c: New test.
5669         * tests/test-argp-version-etc-1.sh: New test.
5670
5671 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5672
5673         Provide additional interfaces and documentation for version-etc
5674         module.
5675
5676         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
5677         interfaces.
5678         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
5679         prototypes.
5680
5681 2009-06-24  Bruno Haible  <bruno@clisp.org>
5682
5683         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
5684         HAVE_LIB${NAME} macro.
5685         Reported by Sam Steingold <sds@gnu.org>.
5686
5687 2009-06-23  Simon Josefsson  <simon@josefsson.org>
5688
5689         * modules/hash-tests (test_hash_LDADD): Link to libintl when
5690         needed.
5691
5692 2009-06-21  Bruno Haible  <bruno@clisp.org>
5693
5694         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
5695         work.
5696         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
5697         together with LIB${NAME}, LTLIB${NAME}.
5698         Reported by Sam Steingold <sds@gnu.org>.
5699
5700 2009-06-20  Jim Meyering  <meyering@redhat.com>
5701
5702         tests: make sc_require_test_exit_idiom more generic
5703         * top/maint.mk (Exit_witness_file): New overridable variable.
5704         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
5705         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
5706
5707 2009-06-19  Jim Meyering  <meyering@redhat.com>
5708
5709         hash: reverse order of src/dst parameters in an internal interface
5710         * lib/hash.c (transfer_entries): Reverse order of parameters to
5711         put DST before SRC.  Adjust callers.
5712
5713         tests: test-hash: avoid wholesale duplication
5714         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
5715         Instead, use a loop and add a single conditional.
5716
5717         tests: test-hash: allow seed selection via a command line argument
5718         * tests/test-hash.c (get_seed): New function.
5719         (main): Use it.
5720
5721 2009-06-19  Eric Blake  <ebb9@byu.net>
5722
5723         hash: avoid memory leak on allocation failure
5724         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
5725         failure.  Factor repeated algorithm...
5726         (transfer_entries): ...into new helper routine.
5727         (hash_delete): React to hash_rehash return value.
5728
5729         hash: reduce memory pressure in hash_rehash no-op case
5730         * lib/hash.c (next_prime): Avoid overflow.
5731         (hash_initialize): Factor bucket size computation...
5732         (compute_bucket_size): ...into new helper function.
5733         (hash_rehash): Use new function and open coding to reduce memory
5734         pressure, and avoid a memory leak in USE_OBSTACK code.
5735         Reported by Jim Meyering.
5736
5737 2009-06-18  Eric Blake  <ebb9@byu.net>
5738
5739         hash: make rotation more obvious
5740         * modules/hash (Depends-on): Add bitrotate and stdint.
5741         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
5742         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
5743         (SIZE_MAX): Rely on headers for definition.
5744         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
5745         (raw_hasher): Use rotr_sz.
5746         Suggested by Jim Meyering.
5747
5748         hash: fix memory leak in last patch
5749         * lib/hash.c (hash_rehash): Avoid memory leak.
5750
5751         hash: avoid no-op rehashing
5752         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
5753
5754         hash: provide default callback functions
5755         * lib/hash.c (raw_hasher, raw_comparator): New functions.
5756         (hash_initialize): Use them as defaults.
5757         * tests/test-hash.c (main): Test this.
5758
5759         hash: minor optimization
5760         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
5761         when possible.
5762         (hash_initialize): Document this promise.
5763         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
5764         * tests/test-hash.c (hash_compare_strings): Test this.
5765
5766 2009-06-18  Bruno Haible  <bruno@clisp.org>
5767
5768         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
5769         going to be replaced anyway.
5770
5771 2009-06-18  Bruno Haible  <bruno@clisp.org>
5772
5773         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
5774         in one place.
5775         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
5776         be replaced anyway.
5777
5778 2009-06-18  Eric Blake  <ebb9@byu.net>
5779
5780         hash: check for resize before insertion
5781         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
5782         threshold before insertion, so that a pathological hash_rehash
5783         that fills every bucket can still trigger another rehash.
5784
5785 2009-06-18  Jim Meyering  <meyering@redhat.com>
5786
5787         hash-tests: add a loop around the small tests
5788         * tests/test-hash.c (main): Repeat small tests with selected
5789         small initial table sizes.
5790
5791 2009-06-17  Eric Blake  <ebb9@byu.net>
5792
5793         hash: minor cleanups
5794         * lib/hash.h (hash_entry): Make opaque, by moving...
5795         * lib/hash.c (hash_entry): ...here.
5796         (hash_insert): Clarify restrictions on what can be inserted.
5797         (hash_get_next): Clarify when it is safe to remove an element
5798         during traversal.
5799         (check_tuning): Skip verification when tuning is known safe.
5800         (hash_initialize): Clarify restrictions on tuning.
5801
5802 2009-06-17  Jim Meyering  <jim@meyering.net>
5803         and Eric Blake  <ebb9@byu.net>
5804
5805         hash-tests: new module
5806         * modules/hash-tests: New file.
5807         * tests/test-hash.c: New file.
5808
5809 2009-06-17  Eric Blake  <ebb9@byu.net>
5810
5811         strstr-simple: document new module
5812         * MODULES.html.sh: Document new module.
5813
5814         strstr, strcasestr: replace on platforms with broken memchr
5815         * modules/strstr: Split into...
5816         * modules/strstr-simple: ...new module that does not care about
5817         performance, but does care about glibc bug.
5818         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
5819         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
5820         if platform memchr is broken, per Debian bug 521737.
5821         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
5822         memchr.
5823         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
5824         * doc/posix-functions/strstr.texi (strstr): Document the fix.
5825         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5826         * modules/mountlist (Depends-on): Add strstr-simple.
5827         * modules/gen-uni-tables (Depends-on): Likewise.
5828         * modules/argz (Depends-on): Add strstr.
5829
5830 2009-06-17  Bruno Haible  <bruno@clisp.org>
5831
5832         * modules/posix_spawn-internal (Depends-on): Add errno.
5833
5834 2009-06-17  Bruno Haible  <bruno@clisp.org>
5835
5836         Define missing ESTALE on Interix 3.5.
5837         * lib/errno.in.h (ESTALE): Assign a value if missing.
5838         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
5839         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
5840         missing.
5841         * doc/posix-headers/errno.texi: Mention the Interix bug.
5842         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
5843
5844 2009-06-15  Eric Blake  <ebb9@byu.net>
5845
5846         memchr, memchr2: add valgrind exception
5847         * lib/memchr.valgrind: New file.
5848         * lib/memchr2.valgrind: New file.
5849         * modules/memchr (Files): Distribute valgrind file.
5850         * modules/memchr2 (Files): Likewise.
5851
5852         docs: memchr is no longer obsolete
5853         * MODULES.html.sh: Move memchr from obsolete to string.h section.
5854         * lib/string.in.h (memchr): Simplify logic.
5855
5856 2009-06-14  Jim Meyering  <meyering@redhat.com>
5857
5858         link-follow: fix the "checking..." message to not mention trailing slash
5859         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
5860         never considered trailing slashes.
5861
5862 2009-06-14  Bruno Haible  <bruno@clisp.org>
5863
5864         * m4/memchr.m4: Mention also the bug on IA-64.
5865         * doc/posix-functions/memchr.texi: Likewise.
5866
5867 2009-06-12  Eric Blake  <ebb9@byu.net>
5868
5869         memchr: detect broken x86_64 and alpha implementations
5870         * modules/memchr-tests (Depends-on): Move mmap detection...
5871         * modules/memchr (Depends-on): ...here.
5872         (configure.ac): Set indicator.
5873         * lib/string.in.h (memchr): Declare replacement.
5874         * modules/string (Makefile.am): Trigger replacement.
5875         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
5876         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
5877         bugs.
5878         * doc/posix-functions/memchr.texi (memchr): Document the bug.
5879         * modules/getpagesize (License): Relax license.
5880
5881 2009-06-11  Bruno Haible  <bruno@clisp.org>
5882
5883         * lib/idpriv.h: Add more references.
5884
5885 2009-06-08  Bruno Haible  <bruno@clisp.org>
5886
5887         Tests for module 'idpriv-droptemp'.
5888         * modules/idpriv-droptemp-tests: New file.
5889         * tests/test-idpriv-droptemp.sh: New file.
5890         * tests/test-idpriv-droptemp.su.sh: New file.
5891         * tests/test-idpriv-droptemp.c: New file.
5892
5893         New module 'idpriv-droptemp'.
5894         * lib/idpriv-droptemp.c: New file.
5895         * modules/idpriv-droptemp: New file.
5896
5897 2009-06-08  Bruno Haible  <bruno@clisp.org>
5898
5899         Tests for module 'idpriv-drop'.
5900         * modules/idpriv-drop-tests: New file.
5901         * tests/test-idpriv-drop.sh: New file.
5902         * tests/test-idpriv-drop.su.sh: New file.
5903         * tests/test-idpriv-drop.c: New file.
5904
5905         New module 'idpriv-drop'.
5906         * lib/idpriv.h: New file.
5907         * lib-idpriv-drop.c: New file.
5908         * m4/idpriv.m4: New file.
5909         * modules/idpriv-drop: New file.
5910
5911 2009-06-08  Bruno Haible  <bruno@clisp.org>
5912
5913         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
5914         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
5915         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
5916         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
5917         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
5918         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
5919         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
5920
5921 2009-06-08  Eric Blake  <ebb9@byu.net>
5922
5923         test-strstr: use memory fence, when possible
5924         * tests/test-strstr.c (main): Use memory fence, in order to be
5925         more likely to trigger Debian bug 521737.
5926         * modules/strstr-tests (Files): Pull in additional files.
5927
5928         memchr: no longer obsolete, for wider field testing
5929         * modules/memchr (Status, Notice): Delete, this module is no
5930         longer obsolete.
5931         * modules/vasnprintf (Depends-on): Add memchr.
5932
5933 2009-06-07  Jim Meyering  <meyering@redhat.com>
5934
5935         hash: declare some functions with the warn_unused_result attribute
5936         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
5937
5938 2009-06-07  Bruno Haible  <bruno@clisp.org>
5939
5940         * tests/test-alignof.c: Don't test int64_t if it does not exist.
5941         Reported by Eric Blake.
5942
5943 2009-06-06  Eric Blake  <ebb9@byu.net>
5944
5945         test-alignof: fix typo with long double
5946         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
5947         compiler error.
5948
5949 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
5950
5951         Escape non-texinfo { and }s.
5952         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
5953         markup error.
5954
5955 2009-06-04  Jim Meyering  <meyering@redhat.com>
5956
5957         gitlog-to-changelog: don't infloop on an empty commit log
5958         * build-aux/gitlog-to-changelog: Warn about an empty log message.
5959         Reported by Boris Petersen <transacid@centerim.org>.
5960
5961 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
5962
5963         version-etc: extend for packagers
5964         Add three new configure options, intended for packagers:
5965           --with-packager="packager name"
5966           --with-packager-version="packager-specific version"
5967           --with-packager-bug-reports="packager bug reporting"
5968         An example with coreutils:
5969           $ ./configure \
5970             --with-packager=Gentoo \
5971             --with-packager-bug-report=http://bugs.gentoo.org/ \
5972             --with-packager-version="patchset 1.6"
5973           $ ./src/ls --version | head -n3
5974           ls (GNU coreutils) 7.1-dirty
5975           Packaged by Gentoo (patchset 1.6)
5976           Copyright (C) 2009 Free Software Foundation, Inc.
5977         Note that the bug reporting info via --help doesn't show up because
5978         coreutils uses its own custom emit_bug_reporting_address() implementation
5979         in src/system.h.  If it didn't, it'd look like:
5980           $ ./src/ls --help | tail -n4
5981           Report bugs to <bug-coreutils@gnu.org>.
5982           Report Gentoo bugs to <http://bugs.gentoo.org/>.
5983           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
5984           General help using GNU software: <http://www.gnu.org/gethelp/>.
5985         * lib/version-etc.c: Print new information, if provided.
5986         * m4/version-etc.m4: New file.
5987         * modules/version-etc (Files): Add m4/version-etc.m4.
5988         (configure.ac): Add gl_VERSION_ETC.
5989
5990 2009-05-31  Bruno Haible  <bruno@clisp.org>
5991
5992         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
5993         and 'int64_t'.
5994         * modules/alignof-tests (Dependencies): Add stdint.
5995         Reported by Eric Blake.
5996
5997 2009-05-31  Bruno Haible  <bruno@clisp.org>
5998
5999         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
6000         restriction due to compiler bugs.
6001         Reported by Eric Blake.
6002
6003 2009-05-31  Simon Josefsson  <simon@josefsson.org>
6004             Bruno Haible  <bruno@clisp.org>
6005
6006         Fix test-alignof failure.
6007         * lib/alignof.h (alignof_slot): New macro.
6008         (alignof_type): New macro, with the same semantics as the previous
6009         'alignof'.
6010         (alignof): Alias to alignof_slot.
6011         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
6012         check that the results are usable as constant expressions.
6013
6014 2009-05-31  Bruno Haible  <bruno@clisp.org>
6015
6016         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
6017         * tests/test-memchr.c (main): Check that memchr does not read past the
6018         first occurrence of the byte.
6019         * tests/test-strstr.c (main): Update comment.
6020         Suggested by Eric Blake.
6021
6022 2009-05-30  Bruno Haible  <bruno@clisp.org>
6023
6024         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
6025         detail how to use dumpbin.
6026         Reported by David Byron <dbyron@dbyron.com>.
6027
6028 2009-06-02  Simon Josefsson  <simon@josefsson.org>
6029
6030         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
6031
6032 2009-06-02  Simon Josefsson  <simon@josefsson.org>
6033
6034         * m4/manywarnings.m4: Add GCC 4.4 warnings.
6035
6036 2009-05-28  Bruno Haible  <bruno@clisp.org>
6037
6038         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
6039         build-aux/ files.
6040
6041 2009-05-28  Simon Josefsson  <simon@josefsson.org>
6042
6043         * gnulib-tool (func_import): Transform license on build-aux/ files too.
6044
6045 2009-05-27  Simon Josefsson  <simon@josefsson.org>
6046
6047         * gnulib-tool (sed_transform_main_lib_file)
6048         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
6049         regexps.
6050
6051 2009-05-26  Simon Josefsson  <simon@josefsson.org>
6052
6053         * tests/test-strstr.c: Add another self-test.
6054         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
6055         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
6056
6057 2009-05-23  Bruno Haible  <bruno@clisp.org>
6058
6059         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
6060         change.
6061
6062 2009-05-21  Bruno Haible  <bruno@clisp.org>
6063
6064         Simplify use of mode_t varargs.
6065         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
6066         uses 'mode_t' or 'int'.
6067         * lib/openat.c (openat): Likewise.
6068         * lib/open-safer.c (open_safer): Likewise.
6069         * m4/mode_t.m4: New file.
6070         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
6071         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
6072         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
6073         * modules/open (Files): Add m4/mode_t.m4.
6074         * modules/openat (Files): Likewise.
6075         * modules/fcntl-safer (Files): Likewise.
6076         Suggested by Eric Blake.
6077
6078 2009-05-21  Pádraig Brady  <P@draigbrady.com>
6079
6080         * doc/glibc-functions/fallocate.texi: New file.
6081         * doc/gnulib.texi: Include it.
6082
6083 2009-05-21  Eric Blake  <ebb9@byu.net>
6084             Bruno Haible  <bruno@clisp.org>
6085
6086         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
6087         invocations.
6088         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
6089
6090 2009-05-21  Eric Blake  <ebb9@byu.net>
6091             Bruno Haible  <bruno@clisp.org>
6092
6093         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
6094         include_next. Fix of 2008-11-20 commit.
6095         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
6096         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
6097         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
6098         NEXT_MATH_H.
6099         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
6100         instead of NEXT_MATH_H.
6101
6102 2009-05-21  Bruno Haible  <bruno@clisp.org>
6103
6104         Avoid redefinition warnings for SIZE_MAX.
6105         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
6106         Reported by Simon Josefsson.
6107
6108 2009-05-21  Bruno Haible  <bruno@clisp.org>
6109
6110         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
6111         AC_CACHE_VAL.
6112
6113 2009-05-20  Bruno Haible  <bruno@clisp.org>
6114
6115         Make zeroptr.h work on mingw.
6116         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
6117         mprotect.
6118         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
6119         * modules/memchr2-tests (configure.ac): Likewise.
6120         * modules/memcmp-tests (configure.ac): Likewise.
6121         * modules/memmem-tests (configure.ac): Likewise.
6122         * modules/memrchr-tests (configure.ac): Likewise.
6123         Reported by Simon Josefsson.
6124
6125 2009-05-20  Simon Josefsson  <simon@josefsson.org>
6126
6127         * tests/test-glob.c: Include string.h for strcmp prototype.
6128
6129 2009-05-20  Simon Josefsson  <simon@josefsson.org>
6130
6131         * modules/getdelim (Depends-on): Add explicit stdint, although it
6132         was implicitly already pulled in via realloc-posix.
6133         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
6134
6135 2009-05-20  Simon Josefsson  <simon@josefsson.org>
6136
6137         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
6138         G. Christensen" <tgc@jupiterrise.com>.
6139         * m4/sys_socket_h.m4: Check for sa_family_t.
6140         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
6141         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
6142         * tests/test-sys_socket.c: Check that sa_family_t works.
6143
6144 2009-05-18  Eric Blake  <ebb9@byu.net>
6145
6146         maint.mk: allow gnulib_dir in VPATH build
6147         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
6148
6149 2009-05-15  Jim Meyering  <meyering@redhat.com>
6150
6151         maint.mk: Give gnulib_dir a default definition.
6152         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
6153         Thus, most packages no longer need to specify this variable in cfg.mk
6154
6155 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
6156
6157         rename.m4: fix typos that would make non-mingw cross-configure fail
6158         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
6159
6160 2009-05-13  Eric Blake  <ebb9@byu.net>
6161
6162         mmap-anon: avoid out-of-order autoconf expansion
6163         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
6164         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
6165         * modules/memchr-tests (Depends-on): Add extensions.
6166         * modules/memchr2-tests (Depends-on): Add extensions.
6167         * modules/memcmp-tests (Depends-on): Add extensions.
6168         * modules/memmem-tests (Depends-on): Add extensions.
6169         * modules/memrchr-tests (Depends-on): Add extensions.
6170
6171 2009-05-13  Bruno Haible  <bruno@clisp.org>
6172
6173         Make some tests ISO C 99 compliant.
6174         * tests/zerosize-ptr.h: New file.
6175         * tests/test-memchr.c: Include zerosize-ptr.h.
6176         (main): Use a zero-size object pointer instead of NULL.
6177         * tests/test-memchr2.c: Include zerosize-ptr.h.
6178         (main): Use a zero-size object pointer instead of NULL.
6179         * tests/test-memcmp.c: Include zerosize-ptr.h.
6180         (main): Use a zero-size object pointer instead of NULL.
6181         * tests/test-memmem.c: Include zerosize-ptr.h.
6182         (main): Use a zero-size object pointer instead of NULL.
6183         * tests/test-memrchr.c: Include zerosize-ptr.h.
6184         (main): Use a zero-size object pointer instead of NULL.
6185         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
6186         m4/mmap-anon.m4.
6187         (Depends-on): Add getpagesize.
6188         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6189         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
6190         m4/mmap-anon.m4.
6191         (Depends-on): Add getpagesize.
6192         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6193         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
6194         m4/mmap-anon.m4.
6195         (Depends-on): Add getpagesize.
6196         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6197         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
6198         m4/mmap-anon.m4.
6199         (Depends-on): Add getpagesize.
6200         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6201         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
6202         m4/mmap-anon.m4.
6203         (Depends-on): Add getpagesize.
6204         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6205
6206 2009-05-12  Bruno Haible  <bruno@clisp.org>
6207
6208         Tests for module 'alignof'.
6209         * modules/alignof-tests: New file.
6210         * tests/test-alignof.c: New file.
6211
6212 2009-05-12  Bruno Haible  <bruno@clisp.org>
6213
6214         Fix alignof macro.
6215         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
6216         vendor compilers that are always correct.
6217
6218 2009-05-12  Bruno Haible  <bruno@clisp.org>
6219
6220         Make the MAP_ANONYMOUS detection work on HP-UX 11.
6221         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
6222         not whether its fully works.
6223
6224 2009-05-12  Bruno Haible  <bruno@clisp.org>
6225
6226         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
6227
6228 2009-05-12  Jim Meyering  <meyering@redhat.com>
6229
6230         * top/maint.mk: Adjust backslash alignment.
6231
6232 2009-05-11  Simon Josefsson  <simon@josefsson.org>
6233
6234         * top/maint.mk: Make $(srcdir)/build-aux configurable.
6235
6236 2009-05-11  Eric Blake  <ebb9@byu.net>
6237
6238         argp: avoid undefined behavior
6239         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
6240         macros.
6241
6242 2009-05-08  Simon Josefsson  <simon@josefsson.org>
6243
6244         * tests/test-vc-list-files-git.sh: Do git config of user.email and
6245         user.name to prevent git commit from complaining.
6246
6247 2009-05-10  Bruno Haible  <bruno@clisp.org>
6248
6249         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
6250         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
6251         it rewrites every file name only once.
6252         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
6253
6254 2009-05-08  Bruno Haible  <bruno@clisp.org>
6255
6256         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
6257         instead of 'max'.
6258
6259 2009-05-08  Simon Josefsson  <simon@josefsson.org>
6260
6261         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
6262         sockaddr_storage test.
6263
6264 2009-05-07  Simon Josefsson  <simon@josefsson.org>
6265
6266         * modules/sys_socket (Makefile.am): Substitute
6267         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
6268         * m4/sys_socket_h.m4: Check for sockaddr_storage.
6269         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
6270         * tests/test-sys_socket.c: Check sockaddr_storage.
6271
6272 2009-05-08  Bruno Haible  <bruno@clisp.org>
6273
6274         New module 'alignof'.
6275         * lib/alignof.h: New file.
6276         * modules/alignof: New file.
6277
6278 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6279             Bruno Haible  <bruno@clisp.org>
6280
6281         Fix test-file-has-acl on FreeBSD.
6282         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
6283         mask is implicitly added.
6284         * tests/test-file-has-acl.c: Include <signal.h>.
6285         (main): Terminate the test after 5 seconds.
6286         * modules/acl-tests (configure.ac): Check for alarm function.
6287
6288 2009-05-04  Bruno Haible  <bruno@clisp.org>
6289
6290         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
6291         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
6292         * modules/errno (configure.ac): Drop AC_REQUIRE.
6293         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
6294         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
6295
6296 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6297
6298         * modules/glob-tests: New module.
6299         * tests/test-glob.c: Add.
6300
6301 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6302
6303         * modules/fnmatch-tests: New module.
6304         * tests/test-fnmatch.c: Add.
6305
6306 2009-05-04  Eric Blake  <ebb9@byu.net>
6307
6308         maint: make the new no-submodule-changes rule VPATH-safe
6309         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
6310
6311 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6312             Bruno Haible  <bruno@clisp.org>
6313
6314         acl: Fix infinite loop on FreeBSD.
6315         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
6316         of return value from acl_get_entry.
6317         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
6318         Likewise.
6319
6320 2009-05-03  Bruno Haible  <bruno@clisp.org>
6321
6322         * lib/acl-internal.h (acl_entries): Clarify return value.
6323         * lib/acl_entries.c (acl_entries): Likewise.
6324
6325 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6326
6327         Bug fix in acl module.
6328         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
6329
6330 2009-05-03  Bruno Haible  <bruno@clisp.org>
6331
6332         Create gperf-generated file in the source dir, not in the build dir.
6333         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
6334         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
6335         * modules/unicase/locale-language (unicase/locale-languages.h):
6336         Likewise.
6337         * modules/unicase/special-casing (unicase/special-casing-table.h):
6338         Likewise.
6339         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
6340         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
6341         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
6342         Reported by Ralf Wildenhues.
6343
6344 2009-05-03  Bruno Haible  <bruno@clisp.org>
6345
6346         * modules/fnmatch (Description, configure.ac): Taken from
6347         fnmatch-posix.
6348         * modules/fnmatch-posix: Turn into a symbolic reference to the
6349         'fnmatch' module, and deprecate.
6350         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
6351
6352 2009-05-03  Bruno Haible  <bruno@clisp.org>
6353
6354         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
6355         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
6356         Reported by Ralf Wildenhues.
6357
6358 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6359
6360         * m4/fnmatch.m4: Fix fnmatch re-define.
6361
6362 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6363
6364         priv-set: new module and tests; adapt write-any-file
6365         * lib/priv-set.c: New file.
6366         * lib/priv-set.h: New file.
6367         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
6368         * lib/write-any-file.c: Simplify by using priv-set module.
6369         * m4/priv-set.m4: New file.
6370         * modules/priv-set: New file.
6371         * modules/unlinkdir: Add dependency on priv-set module.
6372         * modules/write-any-file: Likewise.
6373
6374         Tests for module 'priv-set'.
6375         * modules/priv-set-tests: New file.
6376         * tests/test-priv-set.c: New file.
6377
6378 2009-05-03  Jim Meyering  <meyering@redhat.com>
6379             Bruno Haible  <bruno@clisp.org>
6380
6381         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
6382         use the converted UTF-8 variant of the name instead.
6383
6384 2009-05-03  Jim Meyering  <meyering@redhat.com>
6385
6386         tests: tighten some getdate tests
6387         * tests/test-getdate.c (main): Tighten tests: require equality,
6388         not just greater than.  Set TZ envvar to UTC0.
6389
6390 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
6391
6392         getdate: correctly interpret "next monday" when run on a Monday
6393         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
6394         that e.g., "next tues" (when run on a tuesday) results in a date
6395         that is one week in the future, and not today's date.
6396         I.e., add a week when the wday is the same as the current one.
6397         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
6398         and earlier by Martin Bernreuther and Jan Minář.
6399         * tests/test-getdate.c (main): Check that "next DAY" is always in
6400         the future and that "last DAY" is always in the past.
6401
6402 2009-05-02  Jim Meyering  <meyering@redhat.com>
6403
6404         build: ensure that a release build fails when a submodule is unclean
6405         * top/maint.mk (no-submodule-changes): New rule.
6406         (alpha beta major): Depend on it.
6407
6408 2009-05-02  Bruno Haible  <bruno@clisp.org>
6409
6410         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
6411         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
6412         shell variable gl_fnmatch_required to detect which variant is
6413         requested.
6414         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
6415         gl_FUNC_FNMATCH_POSIX.
6416         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
6417         exclude fnmatch-posix.
6418
6419 2009-05-02  Bruno Haible  <bruno@clisp.org>
6420
6421         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
6422         * modules/mbsrtowcs (License): Change to LGPLv2+.
6423         * modules/strnlen1 (License): Likewise.
6424         Reported by Simon Josefsson.
6425
6426 2009-05-02  Bruno Haible  <bruno@clisp.org>
6427
6428         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
6429         "cross".
6430         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
6431         gnulib-tool was called with option --source-base=lib.
6432
6433 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6434
6435         Use automake *-local hooks without commands, for extensibility.
6436         * modules/localcharset (Makefile.am): Rename install-exec-local
6437         rule to install-exec-localcharset, and make it a prerequisite of
6438         install-exec-local.  Likewise, rename the uninstall-local rule to
6439         uninstall-localcharset, and make it a prerequisite of the former.
6440
6441 2009-05-01  Bruno Haible  <bruno@clisp.org>
6442
6443         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
6444         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
6445         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
6446         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
6447         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
6448         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
6449         m4/locale-zh.m4, m4/codeset.m4.
6450
6451         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
6452         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
6453         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
6454         m4/locale-zh.m4.
6455
6456         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
6457         REPLACE_WCRTOMB if mbstate_t must be replaced.
6458         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
6459         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
6460
6461 2009-05-01  Bruno Haible  <bruno@clisp.org>
6462
6463         Avoid compiler warnings when redefining macros defined by <libintl.h>.
6464         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
6465         dngettext, dcngettext, textdomain, bindtextdomain,
6466         bind_textdomain_codeset): Undefine before redefining.
6467
6468 2009-04-30  Bruno Haible  <bruno@clisp.org>
6469
6470         Fix bug introduced on 2009-04-25.
6471         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
6472         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
6473         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
6474         is defined.
6475         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
6476         is defined.
6477         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
6478         is defined.
6479         Reported by Elbert_Pol <elbert.pol@gmail.com>.
6480
6481 2009-04-28  Bruno Haible  <bruno@clisp.org>
6482
6483         Comment tweaks.
6484         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
6485         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
6486         * lib/unicase.h (u*_casexfrm): Likewise.
6487         Reported by Paolo Bonzini.
6488
6489 2009-04-28  Bruno Haible  <bruno@clisp.org>
6490
6491         Fix a compilation error.
6492         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
6493         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
6494         Reported by Jim Meyering.
6495
6496 2009-04-27  Bruno Haible  <bruno@clisp.org>
6497
6498         New module 'libunistring'.
6499         * modules/libunistring: New file.
6500         * m4/libunistring.m4: New file.
6501         * MODULES.html.sh (Unicode string functions): Add it.
6502
6503 2009-04-27  Eric Blake  <ebb9@byu.net>
6504
6505         maint.mk: allow package-specific header to provide <config.h>
6506         * top/maint.mk (sc_require_config_h): New variable.
6507         (sc_require_config_h, sc_require_config_h_first): Use it.
6508
6509 2009-04-27  Simon Josefsson  <simon@josefsson.org>
6510
6511         * top/maint.mk (sc_avoid_if_before_free): Except
6512         useless-if-before-free script.
6513
6514 2009-04-27  Eric Blake  <ebb9@byu.net>
6515
6516         maintainer-makefile: depend on all required helper scripts
6517         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
6518         useless-if-before-free.
6519         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
6520         version, rather than assuming gnulib checkout is available.
6521         Reported by Simen Josefsson.
6522
6523 2009-04-26  Bruno Haible  <bruno@clisp.org>
6524
6525         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
6526         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
6527         "../" or "..".
6528
6529 2009-04-26  Bruno Haible  <bruno@clisp.org>
6530
6531         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
6532         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
6533         AC_LIB_HAVE_LINKFLAGS.
6534
6535 2009-04-26  Bruno Haible  <bruno@clisp.org>
6536
6537         Simplify calling convention of u*_conv_from_encoding.
6538         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
6539         u32_conv_from_encoding): Expect a resultbuf argument and return the
6540         result directly as a pointer.
6541         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
6542         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
6543         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
6544         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
6545         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
6546         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
6547         Update.
6548         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
6549         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
6550         * lib/vasnprintf.c (VASNPRINTF): Update.
6551         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
6552         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
6553         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
6554         * NEWS: Mention the change.
6555
6556 2009-04-26  Bruno Haible  <bruno@clisp.org>
6557
6558         Simplify calling convention of u*_conv_to_encoding.
6559         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
6560         u32_conv_to_encoding): Expect a resultbuf argument and return the
6561         result directly as a pointer.
6562         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
6563         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
6564         freeing scaled_offsets if mem_iconveha failed.
6565         * lib/unicase/u-casexfrm.h (FUNC): Update.
6566         * lib/uninorm/u-normxfrm.h (FUNC): Update.
6567         * lib/vasnprintf.c (VASNPRINTF): Update.
6568         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
6569         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
6570         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
6571         * NEWS: Mention the change.
6572
6573 2009-04-26  Bruno Haible  <bruno@clisp.org>
6574
6575         Avoid test failures on AIX and OSF/1.
6576         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
6577         malloc(0).
6578         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
6579         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
6580         Likewise.
6581         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
6582         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
6583         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
6584         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
6585         * doc/posix-functions/malloc.texi: Document the portability problem
6586         related to malloc(0).
6587
6588 2009-04-26  Bruno Haible  <bruno@clisp.org>
6589
6590         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
6591         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
6592         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
6593
6594 2009-04-25  Bruno Haible  <bruno@clisp.org>
6595
6596         Avoid link error when creating a namespace clean library.
6597         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
6598         as macro with arguments if already defined as an alias.
6599         * lib/signbitf.c (gl_signbitf): Don't undefine.
6600         * lib/signbitd.c (gl_signbitd): Don't undefine.
6601         * lib/signbitl.c (gl_signbitl): Don't undefine.
6602
6603 2009-04-25  Jim Meyering  <meyering@redhat.com>
6604
6605         vc-list-files: fix another quoting bug
6606         * build-aux/vc-list-files: Avoid sed backslash expansion
6607         of pathological directory names.
6608
6609 2009-04-25  Eric Blake  <ebb9@byu.net>
6610
6611         vc-list-files: fix shell quoting error
6612         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
6613         timestamp.
6614
6615 2009-04-25  Jim Meyering  <meyering@redhat.com>
6616
6617         vc-list-files: restore lost functionality with subdir argument
6618         * build-aux/vc-list-files: When given a non-"." sub-directory
6619         argument, substitute the $dir/ prefix back onto each resulting name.
6620         Otherwise, coreutils' root_tests check would fail.
6621
6622 2009-04-24  Eric Blake  <ebb9@byu.net>
6623
6624         vc-list-files: ignore git symlinks
6625         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
6626         than ls-files, to ignore git symlinks.
6627
6628         maint.mk: import improvements from m4
6629         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
6630         (move_if_change): Delete unused macro.
6631         (news-date-check, vc-diff-check): Support VPATH builds.
6632         (announcement): Likewise.  Split --bootstrap-tools list...
6633         (boostrap-tools): ...into separate list, which can be overridden
6634         in cfg.mk.
6635         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
6636         requiring dependency on useless-if-before-free module.
6637         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
6638         Support VPATH builds.
6639
6640 2009-04-24  Jim Meyering  <meyering@redhat.com>
6641
6642         maint.mk: remove coreutils-specific rules and variables
6643         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
6644         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
6645         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
6646
6647         maint.mk: remove obsolete rule
6648         * top/maint.mk (rel-check): Remove rule.
6649         (WGET, WGETFLAGS): Remove now-unused variables.
6650
6651 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6652
6653         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
6654         consistency.
6655
6656         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
6657         '$(PATH_SEPARATOR)' instead of ':'.
6658
6659 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6660
6661         * lib/getopt1.c (main): Use 'const' for static array.
6662
6663 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6664
6665         * top/maint.mk: Sync with coreutils.
6666         * NEWS: Explain incompatibilities.
6667
6668 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6669             Bruno Haible  <bruno@clisp.org>
6670
6671         Fix cross-compilation results.
6672         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
6673         statement, as third argument of AC_TRY_RUN.
6674         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6675         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6676         Likewise.
6677         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6678         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6679         Likewise.
6680         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6681         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
6682         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
6683
6684 2009-04-20  Bruno Haible  <bruno@clisp.org>
6685
6686         Avoid test failure on mingw.
6687         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
6688
6689 2009-04-20  Bruno Haible  <bruno@clisp.org>
6690
6691         Avoid compilation error on mingw.
6692         * modules/localename-tests (Depends-on): Add locale.
6693
6694 2009-04-19  Bruno Haible  <bruno@clisp.org>
6695
6696         Support for building a shared library on Windows platforms.
6697         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
6698         (main): Test the presence of UNINORM_NFC here.
6699         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
6700         (main): Test the presence of UNINORM_NFD here.
6701         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
6702         (main): Test the presence of UNINORM_NFKC here.
6703         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
6704         (main): Test the presence of UNINORM_NFKD here.
6705
6706 2009-04-19  Bruno Haible  <bruno@clisp.org>
6707
6708         Avoid a compiler warning.
6709         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
6710         Change type of variable 'sequence'.
6711
6712 2009-04-19  Bruno Haible  <bruno@clisp.org>
6713
6714         * modules/configmake (Makefile.am): When the contents of configmake.h
6715         does not change, arrange to preserve its modification time.
6716
6717 2009-04-17  Simon Josefsson  <simon@josefsson.org>
6718
6719         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
6720         gettext domain.
6721
6722 2009-04-16  Jim Meyering  <meyering@redhat.com>
6723
6724         useless-if-before-free: improve conversion code
6725         * build-aux/useless-if-before-free: Adjust code-in-comment to match
6726         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
6727
6728 2009-04-14  Bruno Haible  <bruno@clisp.org>
6729
6730         * modules/fcntl (Depends-on): Add extensions.
6731         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
6732
6733 2009-04-12  Ben Pfaff  <blp@gnu.org>
6734
6735         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
6736         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
6737
6738 2009-03-20  Ben Pfaff  <blp@gnu.org>
6739
6740         Make rename replace existing destinations on Windows.
6741         * m4/rename.m4: Add test for Mingw.
6742         * lib/rename.c: Add rename replacement that uses MoveFileEx with
6743         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
6744         * doc/posix-functions/rename.texi: Document.
6745
6746 2009-04-10  Bruno Haible  <bruno@clisp.org>
6747
6748         New include file "iconveh.h".
6749         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
6750         * lib/striconveh.h: Include it.
6751         (enum iconv_ilseq_handler): Remove definition.
6752         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
6753         striconveh.h.
6754         * lib/striconveha.c: Include striconveh.h.
6755         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
6756         * modules/striconveh (Files): Add lib/iconveh.h.
6757         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
6758         lib/striconveh.h.
6759
6760 2009-04-10  Bruno Haible  <bruno@clisp.org>
6761
6762         * lib/uniconv.h: Update comment.
6763
6764 2009-04-10  Bruno Haible  <bruno@clisp.org>
6765
6766         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
6767         always.
6768         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
6769         * lib/unistr/u16-mbtouc-aux.c: Likewise.
6770         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
6771         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
6772         "unistring-notinline.h", so that the function gets defined always.
6773         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
6774         * lib/unistr/u8-uctomb.c: Likewise.
6775         * lib/unistr/u16-mbtouc.c: Likewise.
6776         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
6777         * lib/unistr/u16-uctomb.c: Likewise.
6778         * lib/unistr/u32-mbtouc.c: Likewise.
6779         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
6780         * lib/unistr/u32-uctomb.c: Likewise.
6781
6782 2009-04-10  Bruno Haible  <bruno@clisp.org>
6783
6784         Mark 'utime' obsolete.
6785         * modules/utime (Status, Notice): New sections.
6786         Suggested by Jim Meyering.
6787
6788         Fix cross-compile guess for utime test.
6789         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
6790         autoconf.
6791         * doc/posix-functions/utime.texi: Give more precisions.
6792         Reported by Jan <ipif@ymail.com>.
6793
6794 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
6795
6796         filevercmp: correct today's change
6797         * lib/filevercmp.c: Also handle coreutils' test inputs.
6798         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
6799
6800         Fix regression in 'filevercmp' module. Thanks Sven Joachim
6801         for reporting it.
6802         * lib/filevercmp.c: Special handle for "", "." and "..".
6803         * tests/test-filevercmp.c: Enlarge the set suite.
6804
6805 2009-04-07  Jim Meyering  <meyering@redhat.com>
6806
6807         useless-if-before-free: show how to remove braced useless free, too
6808         * build-aux/useless-if-before-free: still only in a comment, though.
6809
6810 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
6811
6812         maint.mk: import changes to syntax-check macros from coreutils
6813         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
6814         Use them in the relevant macros.
6815
6816 2009-04-06  Bruno Haible  <bruno@clisp.org>
6817
6818         Fix unportable use of bit-fields.
6819         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
6820         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
6821         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
6822
6823 2009-04-06  Bruno Haible  <bruno@clisp.org>
6824
6825         Avoid test failures on AIX and OSF/1.
6826         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
6827         that malloc(0) = NULL.
6828         * tests/unicase/test-u8-tolower.c (check): Likewise.
6829         * tests/unicase/test-u8-totitle.c (check): Likewise.
6830         * tests/unicase/test-u8-toupper.c (check): Likewise.
6831         * tests/unicase/test-u16-casefold.c (check): Likewise.
6832         * tests/unicase/test-u16-tolower.c (check): Likewise.
6833         * tests/unicase/test-u16-totitle.c (check): Likewise.
6834         * tests/unicase/test-u16-toupper.c (check): Likewise.
6835         * tests/unicase/test-u32-casefold.c (check): Likewise.
6836         * tests/unicase/test-u32-tolower.c (check): Likewise.
6837         * tests/unicase/test-u32-totitle.c (check): Likewise.
6838         * tests/unicase/test-u32-toupper.c (check): Likewise.
6839         * tests/uninorm/test-u8-nfc.c (check): Likewise.
6840         * tests/uninorm/test-u8-nfd.c (check): Likewise.
6841         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
6842         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
6843         * tests/uninorm/test-u16-nfc.c (check): Likewise.
6844         * tests/uninorm/test-u16-nfd.c (check): Likewise.
6845         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
6846         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
6847         * tests/uninorm/test-u32-nfc.c (check): Likewise.
6848         * tests/uninorm/test-u32-nfd.c (check): Likewise.
6849         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
6850         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
6851
6852 2009-04-05  Bruno Haible  <bruno@clisp.org>
6853
6854         Work around an autoconf limitation.
6855         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
6856         comment line if it would be longer than 3 KB.
6857
6858 2009-04-05  Bruno Haible  <bruno@clisp.org>
6859
6860         Avoid test failure with libiconv-1.13.
6861         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
6862         of the expected test results.
6863
6864 2009-04-05  Bruno Haible  <bruno@clisp.org>
6865
6866         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
6867         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
6868         that it should be installed.
6869
6870 2009-04-05  Bruno Haible  <bruno@clisp.org>
6871
6872         * gnulib-tool: New option --copy-file.
6873         (func_usage): Document it.
6874         (func_dest_tmpfilename): Moved out of func_import.
6875         (func_add_file, func_update_file): New functions, extracted from
6876         func_import.
6877         (func_import): Update.
6878
6879 2009-04-05  Karl Berry  <karl@gnu.org>
6880
6881         * README: prominently mention gnulib-tool.
6882         Rearrange sections so getting the code is near the top.
6883
6884 2009-04-05  Bruno Haible  <bruno@clisp.org>
6885
6886         * lib/unicase.h: Mention u*_cmp2.
6887         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6888         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
6889         * lib/unicase/ulc-casecmp.c: Likewise.
6890         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
6891         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
6892         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
6893         unistr/u8-cmp.
6894         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
6895         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
6896         unistr/u16-cmp.
6897         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
6898         unistr/u32-cmp.
6899
6900         * lib/uninorm.h: Mention u*_cmp2.
6901         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6902         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
6903         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
6904         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
6905         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
6906         unistr/u8-cmp.
6907         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
6908         unistr/u16-cmp.
6909         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
6910         unistr/u32-cmp.
6911
6912         New module 'unistr/u32-cmp2'.
6913         * lib/unistr/u32-cmp2.c: New file.
6914         * modules/unistr/u32-cmp2: New file.
6915
6916         New module 'unistr/u16-cmp2'.
6917         * lib/unistr/u16-cmp2.c: New file.
6918         * modules/unistr/u16-cmp2: New file.
6919
6920         New module 'unistr/u8-cmp2'.
6921         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
6922         * lib/unistr/u8-cmp2.c: New file.
6923         * lib/unistr/u-cmp2.h: New file.
6924         * modules/unistr/u8-cmp2: New file.
6925
6926 2009-04-05  Bruno Haible  <bruno@clisp.org>
6927
6928         * lib/unictype.h (uc_property_is_valid): New macro.
6929         * tests/unictype/test-pr_byname.c (main): Use it.
6930
6931         * lib/unistr.h: Doc fixes.
6932         * lib/uniconv.h: Doc fixes.
6933         * lib/unictype.h: Doc fixes.
6934
6935 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
6936
6937         Port coreutils 7.2 to Solaris 8.
6938
6939         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
6940         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
6941         for Solaris 8.  This is a bit of a hack, as it means it's the
6942         caller's responsibility to add -lnsl if needed, but most likely it
6943         won't be needed since only getaddrinfo uses this and getaddrinfo
6944         isn't needed on Solaris 8.
6945
6946         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
6947         problem to Solaris 8 encountered with coreutils 7.2, which
6948         resulted in a message "fnmatch.c:292: warning: passing argument 4
6949         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
6950         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
6951
6952 2009-04-03  Simon Josefsson  <simon@josefsson.org>
6953
6954         * m4/ld-version-script.m4: Add FIXME comment.
6955
6956 2009-04-02  Simon Josefsson  <simon@josefsson.org>
6957
6958         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
6959         SOVERSION variable.
6960
6961 2009-04-02  Bruno Haible  <bruno@clisp.org>
6962
6963         * Makefile (info, html, dvi, pdf): Combine the rules.
6964         Suggested by Jim Meyering.
6965
6966 2009-04-01  Bruno Haible  <bruno@clisp.org>
6967
6968         * Makefile (info, html, dvi, pdf): New targets.
6969         Reported by Reuben Thomas <rrt@sc3d.org>.
6970
6971 2009-04-01  Bruno Haible  <bruno@clisp.org>
6972
6973         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
6974         can be put into PATH.
6975         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
6976
6977 2009-04-01  Bruno Haible  <bruno@clisp.org>
6978
6979         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
6980
6981 2009-04-01  Bruno Haible  <bruno@clisp.org>
6982
6983         Rename module 'visibility'.
6984         * modules/lib-symbol-visibility: Renamed from modules/visibility.
6985         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
6986         * doc/gnulib.texi: Update.
6987         * MODULES.html.sh (Misc): Update.
6988         * NEWS: Mention the change.
6989
6990 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6991
6992         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
6993         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
6994         Eric Blake <ebb9@byu.net> for review.
6995         * MODULES.html.sh: Add lib-msvc-compat.
6996         * doc/gnulib.texi: Link to new section.
6997         * m4/ld-output-def.m4: New file.
6998         * doc/ld-output-def.texi: New file.
6999
7000 2009-04-01  Simon Josefsson  <simon@josefsson.org>
7001
7002         Rename ld-version-script to lib-symbol-versions.  Suggested by
7003         Bruno Haible <bruno@clisp.org>.
7004         * modules/ld-version-script: Renamed to lib-symbol-versions.
7005         * doc/ld-version-script.texi: Fix module name.
7006         * MODULES.html.sh: Add lib-symbol-versions.
7007
7008 2009-03-31  Simon Josefsson  <simon@josefsson.org>
7009
7010         * modules/u64-tests: New file.
7011         * tests/test-u64.c: New file.
7012
7013 2009-03-04  Simon Josefsson  <simon@josefsson.org>
7014
7015         * MODULES.html.sh: Mention u64.
7016         * modules/u64: New module.
7017         * modules/crypto/sha512: Depend on u64 module instead of providing
7018         u64.h.
7019
7020 2009-03-27  Eric Blake  <ebb9@byu.net>
7021
7022         test-strerror: make debugging EAI_SYSTEM easier
7023         * modules/getaddrinfo-tests (Depends-on): Add strerror.
7024         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
7025         failure was EAI_SYSTEM.
7026
7027 2009-03-25  Bruno Haible  <bruno@clisp.org>
7028
7029         Fix a problem with --enable-relocatable on Solaris 7.
7030         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
7031         since 2008-02-24.
7032
7033 2009-03-25  Eric Blake  <ebb9@byu.net>
7034
7035         test-sockets: avoid gcc warning
7036         * tests/test-sockets.c (main): Silence compiler warning.
7037
7038 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7039
7040         New modules nproc, pthread, contributed by Glen Lenker.
7041
7042         * MODULES.html.sh: Add pthread, nproc.
7043         * lib/nproc.c: New file.
7044         * lib/nproc.h: New file.
7045         * lib/pthread.in.h: New file.
7046         * m4/pthread.m4: New file.
7047         * modules/nproc: New file.
7048         * modules/pthread: New file.
7049
7050 2009-03-24  Simon Josefsson  <simon@josefsson.org>
7051
7052         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
7053         New variable.
7054
7055 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
7056
7057         filevercmp: handle simple~ and numbered.~3~ backup suffixes
7058         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
7059         * tests/test-filevercmp.c: Add tests for backup suffixes.
7060
7061 2009-03-24  Simon Josefsson  <simon@josefsson.org>
7062
7063         * modules/stdlib (Depends-on): Add stdint, needed when defining
7064         struct random_data on, for example, HP-UX 10.20.  Reported by
7065         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7066
7067 2009-03-24  Simon Josefsson  <simon@josefsson.org>
7068
7069         * lib/readline.c (readline): Call fflush on stdout after printing
7070         prompt.
7071
7072 2009-03-20  Bruno Haible  <bruno@clisp.org>
7073
7074         Remove dependency from 'close' module to -lws2_32 on native Windows.
7075         * lib/close-hook.h: New file.
7076         * lib/close-hook.c: New file.
7077         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
7078         w32sock.h.
7079         (_gl_close_fd_maybe_socket): Remove function.
7080         (rpl_close): Invoke execute_all_close_hooks instead of
7081         _gl_close_fd_maybe_socket.
7082         * lib/sockets.c: Include close-hook.h, w32sock.h.
7083         (close_fd_maybe_socket): New function, essentially from lib/close.c.
7084         (close_sockets_hook): New variable.
7085         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
7086         (gl_sockets_cleanup): Unregister it.
7087         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
7088         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
7089         * modules/close-hook: New file.
7090         * modules/close (Files): Remove lib/w32sock.h.
7091         (Depends-on): Add close-hook.
7092         (Link): Remove section.
7093         * modules/sockets (Files): Add lib/w32sock.h.
7094         (Depends-on): Add close-hook.
7095         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
7096         invocation.
7097         * NEWS: Mention that LIB_CLOSE is gone.
7098
7099 2009-03-23  Eric Blake  <ebb9@byu.net>
7100
7101         signal-tests: test previous patch
7102         * tests/test-signal.c: New file.
7103         * modules/signal-tests: Likewise.
7104
7105         signal.h: always support 'volatile sig_atomic_t'
7106         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
7107         (gl_SIGNAL_H_DEFAULTS): Add a default.
7108         * modules/signal (Makefile.am): Substitute if needed.
7109         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
7110         users can blindly add volatile.
7111         * doc/posix-headers/signal.texi (signal.h): Document it.
7112         Reported by Matthew Woehlke.
7113
7114 2009-03-23  Jim Meyering  <meyering@redhat.com>
7115
7116         pathmax: PATH_MAX: use pathconf only when available
7117         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
7118         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
7119         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
7120         This avoids a link failure in a PSP cross-compilation environment
7121         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
7122
7123         * lib/vasnprintf.c (divide): Fix typo in comment.
7124
7125 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7126
7127         * gnulib-tool (func_filter_filelist): Fix comment.
7128
7129 2009-03-20  Bruno Haible  <bruno@clisp.org>
7130
7131         Make sockets.h self-contained.
7132         * lib/sockets.c: Include sockets.h first.
7133         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
7134
7135 2009-03-19  Eric Blake  <ebb9@byu.net>
7136
7137         doc: mention more functions added in cygwin 1.7.0
7138         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
7139         addition.
7140         * doc/posix-functions/log2f.texi: Likewise.
7141
7142 2009-03-19  Jim Meyering  <meyering@redhat.com>
7143
7144         fsusage: avoid syntax error due to statement-before-declaration
7145         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
7146         after all declarations.  Reported by Matthew Woehlke in
7147         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
7148
7149 2009-03-18  Eric Blake  <ebb9@byu.net>
7150
7151         build-aux/compile: sync from automake
7152         * build-aux/compile: New file, from automake.
7153         * config/srclist.txt: Mention build-aux/compile.
7154
7155 2009-03-17  Bruno Haible  <bruno@clisp.org>
7156
7157         * lib/git-merge-changelog.c: Fix typo in comment.
7158         Reported by Reuben Thomas <rrt@sc3d.org>.
7159
7160 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
7161
7162         * m4/regex.m4: update and improve help for
7163         --without-included-regex.
7164
7165 2009-03-17  Simon Josefsson  <simon@josefsson.org>
7166
7167         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
7168         failure on missing include files.
7169
7170 2009-03-17  Eric Blake  <ebb9@byu.net>
7171
7172         doc: mention more functions added in cygwin 1.7.0
7173         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
7174         addition.
7175         * doc/posix-functions/fwscanf.texi: Likewise.
7176         * doc/posix-functions/swprintf.texi: Likewise.
7177         * doc/posix-functions/swscanf.texi: Likewise.
7178         * doc/posix-functions/vfwprintf.texi: Likewise.
7179         * doc/posix-functions/vfwscanf.texi: Likewise.
7180         * doc/posix-functions/vswprintf.texi: Likewise.
7181         * doc/posix-functions/vswscanf.texi: Likewise.
7182         * doc/posix-functions/vwprintf.texi: Likewise.
7183         * doc/posix-functions/vwscanf.texi: Likewise.
7184         * doc/posix-functions/wcscasecmp.texi: Likewise.
7185         * doc/posix-functions/wcsdup.texi: Likewise.
7186         * doc/posix-functions/wcsftime.texi: Likewise.
7187         * doc/posix-functions/wcsncasecmp.texi: Likewise.
7188         * doc/posix-functions/wprintf.texi: Likewise.
7189         * doc/posix-functions/wscanf.texi: Likewise.
7190         * doc/glibc-functions/gethostbyname2.texi: Likewise.
7191
7192 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7193
7194         maint.mk: really add $(AM_MAKEFLAGS)
7195         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
7196         was inadvertently omitted in the last commit.
7197         Spotted by Bruno Haible.
7198
7199         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
7200         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
7201         $(AM_MAKEFLAGS)' rather than plain `make'.
7202
7203         gnulib-tool: execute $MAKE not make
7204         * gnulib-tool: Default $MAKE to 'make'.
7205         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
7206         than make.  Initialize $MAKE in the do-autobuild script.
7207
7208         gnulib-tool: use $MAKE not make in generated files
7209         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
7210         make, in generated files.  Initialize $MAKE in the do-autobuild
7211         script.
7212
7213         * top/GNUmakefile (_have-git-version-gen): Fix typo.
7214
7215         GNUmakefile: disable parallelism only for multiple, recursive targets
7216         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
7217         additions in the Makefile.
7218         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
7219         by Automake.
7220         (.NOTPARALLEL): Only disable parallel builds if multiple targets
7221         are listed on the command line and at least one of them is
7222         listed in $(ALL_RECURSIVE_TARGETS).
7223
7224 2009-03-14  Bruno Haible  <bruno@clisp.org>
7225
7226         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
7227         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
7228         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
7229         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
7230         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
7231         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
7232         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
7233         unistr/u8-uctomb.
7234         * modules/unistr/u8-strchr (Depends-on): Likewise.
7235         * modules/unistr/u8-strrchr (Depends-on): Likewise.
7236         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
7237         unistr/u16-uctomb.
7238         * modules/unistr/u16-strchr (Depends-on): Likewise.
7239         * modules/unistr/u16-strrchr (Depends-on): Likewise.
7240
7241 2009-03-12  Bruno Haible  <bruno@clisp.org>
7242
7243         Work around select() bug on Interix 3.5.
7244         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
7245         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
7246         * m4/select.m4: New file.
7247         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
7248         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
7249         * modules/select (Files): Add m4/select.m4.
7250         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
7251         * modules/nanosleep (Depends-on): Add select.
7252         * modules/poll (Depends-on): Likewise.
7253         * doc/posix-functions/select.texi: Mention the Interix bug.
7254         Reported by Markus Duft <mduft@gentoo.org>.
7255
7256         * lib/select.c: Renamed from lib/winsock-select.c.
7257         * modules/select (Files): Add lib/select.c, remove
7258         lib/winsock-select.c.
7259         (configure.ac): Update.
7260
7261 2009-03-12  Jim Meyering  <meyering@redhat.com>
7262
7263         avoid gcc warnings about unused macro definitions
7264         * lib/readtokens.c (STREQ): Remove unused definition.
7265         * lib/xmalloc.c (SIZE_MAX): Likewise.
7266         * lib/openat-die.c (N_): Likewise.
7267         * lib/mountlist.c (SIZE_MAX): Remove definition.
7268         Instead, include <stdint.h>.
7269         * lib/readutmp.c: Likewise.
7270         * modules/readutmp (Depends-on): Add stdint.
7271         * modules/mountlist (Depends-on): Add stdint.
7272         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
7273
7274 2009-03-10  Bruno Haible  <bruno@clisp.org>
7275
7276         Tests for module 'mbmemcasecoll'.
7277         * modules/mbmemcasecoll-tests: New file.
7278         * tests/test-mbmemcasecoll1.sh: New file.
7279         * tests/test-mbmemcasecoll2.sh: New file.
7280         * tests/test-mbmemcasecoll3.sh: New file.
7281         * tests/test-mbmemcasecoll.c: New file.
7282
7283         New module 'mbmemcasecoll'.
7284         * lib/mbmemcasecoll.h: New file.
7285         * lib/mbmemcasecoll.c: New file.
7286         * modules/mbmemcasecoll: New file.
7287
7288         * tests/test-mbmemcasecmp.h: New file, extracted from
7289         tests/test-mbmemcasecmp.c.
7290         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
7291         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
7292         (main): Update.
7293         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
7294
7295 2009-03-09  Bruno Haible  <bruno@clisp.org>
7296
7297         Tests for module 'mbmemcasecmp'.
7298         * modules/mbmemcasecmp-tests: New file.
7299         * tests/test-mbmemcasecmp1.sh: New file.
7300         * tests/test-mbmemcasecmp2.sh: New file.
7301         * tests/test-mbmemcasecmp3.sh: New file.
7302         * tests/test-mbmemcasecmp.c: New file.
7303
7304         New module 'mbmemcasecmp'.
7305         * lib/mbmemcasecmp.h: New file.
7306         * lib/mbmemcasecmp.c: New file.
7307         * modules/mbmemcasecmp: New file.
7308
7309 2009-03-09  Bruno Haible  <bruno@clisp.org>
7310
7311         Tests for module 'unicase/ulc-casecoll'.
7312         * modules/unicase/ulc-casecoll-tests: New file.
7313         * tests/unicase/test-ulc-casecoll1.sh: New file.
7314         * tests/unicase/test-ulc-casecoll2.sh: New file.
7315         * tests/unicase/test-ulc-casecoll.c: New file.
7316
7317         New module 'unicase/ulc-casecoll'.
7318         * lib/unicase.h (ulc_casecoll): New declaration.
7319         * lib/unicase/ulc-casecoll.c: New file.
7320         * modules/unicase/ulc-casecoll: New file.
7321
7322         New module 'unicase/ulc-casexfrm'.
7323         * lib/unicase.h (ulc_casexfrm): New declaration.
7324         * lib/unicase/ulc-casexfrm.c: New file.
7325         * modules/unicase/ulc-casexfrm: New file.
7326
7327 2009-03-09  Bruno Haible  <bruno@clisp.org>
7328
7329         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
7330         invocations.
7331
7332         * m4/mbscasecmp.m4: Remove file.
7333         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
7334         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
7335
7336         * m4/mbscasestr.m4: Remove file.
7337         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
7338         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
7339
7340         * m4/mbschr.m4: Remove file.
7341         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
7342         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
7343
7344         * m4/mbscspn.m4: Remove file.
7345         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
7346         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
7347
7348         * m4/mbslen.m4: Remove file.
7349         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
7350         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
7351
7352         * m4/mbsncasecmp.m4: Remove file.
7353         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
7354         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
7355
7356         * m4/mbsnlen.m4: Remove file.
7357         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
7358         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
7359
7360         * m4/mbspbrk.m4: Remove file.
7361         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
7362         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
7363
7364         * m4/mbspcasecmp.m4: Remove file.
7365         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
7366         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
7367
7368         * m4/mbsrchr.m4: Remove file.
7369         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
7370         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
7371
7372         * m4/mbssep.m4: Remove file.
7373         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
7374         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
7375
7376         * m4/mbsspn.m4: Remove file.
7377         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
7378         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
7379
7380         * m4/mbsstr.m4: Remove file.
7381         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
7382         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
7383
7384         * m4/mbstok_r.m4: Remove file.
7385         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
7386         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
7387
7388         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
7389
7390         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
7391         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
7392
7393         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
7394
7395 2009-03-08  Bruno Haible  <bruno@clisp.org>
7396
7397         Tests for module 'unicase/ulc-casecmp'.
7398         * modules/unicase/ulc-casecmp-tests: New file.
7399         * tests/unicase/test-ulc-casecmp1.sh: New file.
7400         * tests/unicase/test-ulc-casecmp2.sh: New file.
7401         * tests/unicase/test-ulc-casecmp.c: New file.
7402
7403         New module 'unicase/ulc-casecmp'.
7404         * lib/unicase.h (ulc_casecmp): New declaration.
7405         * lib/unicase/ulc-casecmp.c: New file.
7406         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
7407         'const SRC_UNIT *'.
7408         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
7409         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
7410         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
7411         * modules/unicase/ulc-casecmp: New file.
7412
7413         Tests for module 'unicase/u32-is-cased'.
7414         * modules/unicase/u32-is-cased-tests: New file.
7415         * tests/unicase/test-u32-is-cased.c: New file.
7416
7417         Tests for module 'unicase/u16-is-cased'.
7418         * modules/unicase/u16-is-cased-tests: New file.
7419         * tests/unicase/test-u16-is-cased.c: New file.
7420
7421         Tests for module 'unicase/u8-is-cased'.
7422         * modules/unicase/u8-is-cased-tests: New file.
7423         * tests/unicase/test-u8-is-cased.c: New file.
7424         * tests/unicase/test-is-cased.h: New file.
7425
7426         New module 'unicase/u32-is-cased'.
7427         * lib/unicase/u32-is-cased.c: New file.
7428         * modules/unicase/u32-is-cased: New file.
7429
7430         New module 'unicase/u16-is-cased'.
7431         * lib/unicase/u16-is-cased.c: New file.
7432         * modules/unicase/u16-is-cased: New file.
7433
7434         New module 'unicase/u8-is-cased'.
7435         * lib/unicase/u8-is-cased.c: New file.
7436         * lib/unicase/u-is-cased.h: New file.
7437         * modules/unicase/u8-is-cased: New file.
7438
7439         Tests for module 'unicase/u32-is-casefolded'.
7440         * modules/unicase/u32-is-casefolded-tests: New file.
7441         * tests/unicase/test-u32-is-casefolded.c: New file.
7442
7443         Tests for module 'unicase/u16-is-casefolded'.
7444         * modules/unicase/u16-is-casefolded-tests: New file.
7445         * tests/unicase/test-u16-is-casefolded.c: New file.
7446
7447         Tests for module 'unicase/u8-is-casefolded'.
7448         * modules/unicase/u8-is-casefolded-tests: New file.
7449         * tests/unicase/test-u8-is-casefolded.c: New file.
7450         * tests/unicase/test-is-casefolded.h: New file.
7451
7452         New module 'unicase/u32-is-casefolded'.
7453         * lib/unicase/u32-is-casefolded.c: New file.
7454         * modules/unicase/u32-is-casefolded: New file.
7455
7456         New module 'unicase/u16-is-casefolded'.
7457         * lib/unicase/u16-is-casefolded.c: New file.
7458         * modules/unicase/u16-is-casefolded: New file.
7459
7460         New module 'unicase/u8-is-casefolded'.
7461         * lib/unicase/u8-is-casefolded.c: New file.
7462         * modules/unicase/u8-is-casefolded: New file.
7463
7464         Tests for module 'unicase/u32-is-titlecase'.
7465         * modules/unicase/u32-is-titlecase-tests: New file.
7466         * tests/unicase/test-u32-is-titlecase.c: New file.
7467
7468         Tests for module 'unicase/u16-is-titlecase'.
7469         * modules/unicase/u16-is-titlecase-tests: New file.
7470         * tests/unicase/test-u16-is-titlecase.c: New file.
7471
7472         Tests for module 'unicase/u8-is-titlecase'.
7473         * modules/unicase/u8-is-titlecase-tests: New file.
7474         * tests/unicase/test-u8-is-titlecase.c: New file.
7475         * tests/unicase/test-is-titlecase.h: New file.
7476
7477         New module 'unicase/u32-is-titlecase'.
7478         * lib/unicase/u32-is-titlecase.c: New file.
7479         * modules/unicase/u32-is-titlecase: New file.
7480
7481         New module 'unicase/u16-is-titlecase'.
7482         * lib/unicase/u16-is-titlecase.c: New file.
7483         * modules/unicase/u16-is-titlecase: New file.
7484
7485         New module 'unicase/u8-is-titlecase'.
7486         * lib/unicase/u8-is-titlecase.c: New file.
7487         * modules/unicase/u8-is-titlecase: New file.
7488
7489         Tests for module 'unicase/u32-is-lowercase'.
7490         * modules/unicase/u32-is-lowercase-tests: New file.
7491         * tests/unicase/test-u32-is-lowercase.c: New file.
7492
7493         Tests for module 'unicase/u16-is-lowercase'.
7494         * modules/unicase/u16-is-lowercase-tests: New file.
7495         * tests/unicase/test-u16-is-lowercase.c: New file.
7496
7497         Tests for module 'unicase/u8-is-lowercase'.
7498         * modules/unicase/u8-is-lowercase-tests: New file.
7499         * tests/unicase/test-u8-is-lowercase.c: New file.
7500         * tests/unicase/test-is-lowercase.h: New file.
7501
7502         New module 'unicase/u32-is-lowercase'.
7503         * lib/unicase/u32-is-lowercase.c: New file.
7504         * modules/unicase/u32-is-lowercase: New file.
7505
7506         New module 'unicase/u16-is-lowercase'.
7507         * lib/unicase/u16-is-lowercase.c: New file.
7508         * modules/unicase/u16-is-lowercase: New file.
7509
7510         New module 'unicase/u8-is-lowercase'.
7511         * lib/unicase/u8-is-lowercase.c: New file.
7512         * modules/unicase/u8-is-lowercase: New file.
7513
7514         Tests for module 'unicase/u32-is-uppercase'.
7515         * modules/unicase/u32-is-uppercase-tests: New file.
7516         * tests/unicase/test-u32-is-uppercase.c: New file.
7517
7518         Tests for module 'unicase/u16-is-uppercase'.
7519         * modules/unicase/u16-is-uppercase-tests: New file.
7520         * tests/unicase/test-u16-is-uppercase.c: New file.
7521
7522         Tests for module 'unicase/u8-is-uppercase'.
7523         * modules/unicase/u8-is-uppercase-tests: New file.
7524         * tests/unicase/test-u8-is-uppercase.c: New file.
7525         * tests/unicase/test-is-uppercase.h: New file.
7526
7527         New module 'unicase/u32-is-uppercase'.
7528         * lib/unicase/u32-is-uppercase.c: New file.
7529         * modules/unicase/u32-is-uppercase: New file.
7530
7531         New module 'unicase/u16-is-uppercase'.
7532         * lib/unicase/u16-is-uppercase.c: New file.
7533         * modules/unicase/u16-is-uppercase: New file.
7534
7535         New module 'unicase/u8-is-uppercase'.
7536         * lib/unicase/u8-is-uppercase.c: New file.
7537         * modules/unicase/u8-is-uppercase: New file.
7538
7539         New module 'unicase/u32-is-invariant'.
7540         * lib/unicase/u32-is-invariant.c: New file.
7541         * modules/unicase/u32-is-invariant: New file.
7542
7543         New module 'unicase/u16-is-invariant'.
7544         * lib/unicase/u16-is-invariant.c: New file.
7545         * modules/unicase/u16-is-invariant: New file.
7546
7547         New module 'unicase/u8-is-invariant'.
7548         * lib/unicase/u8-is-invariant.c: New file.
7549         * lib/unicase/invariant.h: New file.
7550         * lib/unicase/u-is-invariant.h: New file.
7551         * modules/unicase/u8-is-invariant: New file.
7552
7553         Tests for module 'unicase/u32-casecoll'.
7554         * modules/unicase/u32-casecoll-tests: New file.
7555         * tests/unicase/test-u32-casecoll.c: New file.
7556
7557         Tests for module 'unicase/u16-casecoll'.
7558         * modules/unicase/u16-casecoll-tests: New file.
7559         * tests/unicase/test-u16-casecoll.c: New file.
7560
7561         Tests for module 'unicase/u8-casecoll'.
7562         * modules/unicase/u8-casecoll-tests: New file.
7563         * tests/unicase/test-u8-casecoll.c: New file.
7564
7565         New module 'unicase/u32-casecoll'.
7566         * lib/unicase/u32-casecoll.c: New file.
7567         * modules/unicase/u32-casecoll: New file.
7568
7569         New module 'unicase/u16-casecoll'.
7570         * lib/unicase/u16-casecoll.c: New file.
7571         * modules/unicase/u16-casecoll: New file.
7572
7573         New module 'unicase/u8-casecoll'.
7574         * lib/unicase/u8-casecoll.c: New file.
7575         * lib/unicase/u-casecoll.h: New file.
7576         * modules/unicase/u8-casecoll: New file.
7577
7578         New module 'unicase/u32-casexfrm'.
7579         * lib/unicase/u32-casexfrm.c: New file.
7580         * modules/unicase/u32-casexfrm: New file.
7581
7582         New module 'unicase/u16-casexfrm'.
7583         * lib/unicase/u16-casexfrm.c: New file.
7584         * modules/unicase/u16-casexfrm: New file.
7585
7586         New module 'unicase/u8-casexfrm'.
7587         * lib/unicase/u8-casexfrm.c: New file.
7588         * lib/unicase/u-casexfrm.h: New file.
7589         * modules/unicase/u8-casexfrm: New file.
7590
7591         Tests for module 'unicase/u32-casecmp'.
7592         * modules/unicase/u32-casecmp-tests: New file.
7593         * tests/unicase/test-u32-casecmp.c: New file.
7594
7595         Tests for module 'unicase/u16-casecmp'.
7596         * modules/unicase/u16-casecmp-tests: New file.
7597         * tests/unicase/test-u16-casecmp.c: New file.
7598
7599         Tests for module 'unicase/u8-casecmp'.
7600         * modules/unicase/u8-casecmp-tests: New file.
7601         * tests/unicase/test-u8-casecmp.c: New file.
7602         * tests/unicase/test-casecmp.h: New file.
7603
7604         New module 'unicase/u32-casecmp'.
7605         * lib/unicase/u32-casecmp.c: New file.
7606         * modules/unicase/u32-casecmp: New file.
7607
7608         New module 'unicase/u16-casecmp'.
7609         * lib/unicase/u16-casecmp.c: New file.
7610         * modules/unicase/u16-casecmp: New file.
7611
7612         New module 'unicase/u8-casecmp'.
7613         * lib/unicase/u8-casecmp.c: New file.
7614         * lib/unicase/u-casecmp.h: New file.
7615         * modules/unicase/u8-casecmp: New file.
7616
7617         Tests for module 'unicase/u32-casefold'.
7618         * modules/unicase/u32-casefold-tests: New file.
7619         * tests/unicase/test-u32-casefold.c: New file.
7620
7621         Tests for module 'unicase/u16-casefold'.
7622         * modules/unicase/u16-casefold-tests: New file.
7623         * tests/unicase/test-u16-casefold.c: New file.
7624
7625         Tests for module 'unicase/u8-casefold'.
7626         * modules/unicase/u8-casefold-tests: New file.
7627         * tests/unicase/test-u8-casefold.c: New file.
7628
7629         New module 'unicase/u32-casefold'.
7630         * lib/unicase/u32-casefold.c: New file.
7631         * modules/unicase/u32-casefold: New file.
7632
7633         New module 'unicase/u16-casefold'.
7634         * lib/unicase/u16-casefold.c: New file.
7635         * modules/unicase/u16-casefold: New file.
7636
7637         New module 'unicase/u8-casefold'.
7638         * lib/unicase/u8-casefold.c: New file.
7639         * lib/unicase/u-casefold.h: New file.
7640         * modules/unicase/u8-casefold: New file.
7641
7642         New module 'unicase/tocasefold'.
7643         * lib/unicase/casefold.h: New file.
7644         * lib/unicase/tocasefold.c: New file.
7645         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
7646         * modules/unicase/tocasefold: New file.
7647
7648         Tests for module 'unicase/u32-totitle'.
7649         * modules/unicase/u32-totitle-tests: New file.
7650         * tests/unicase/test-u32-totitle.c: New file.
7651
7652         Tests for module 'unicase/u16-totitle'.
7653         * modules/unicase/u16-totitle-tests: New file.
7654         * tests/unicase/test-u16-totitle.c: New file.
7655
7656         Tests for module 'unicase/u8-totitle'.
7657         * modules/unicase/u8-totitle-tests: New file.
7658         * tests/unicase/test-u8-totitle.c: New file.
7659
7660         New module 'unicase/u32-totitle'.
7661         * lib/unicase/u32-totitle.c: New file.
7662         * modules/unicase/u32-totitle: New file.
7663
7664         New module 'unicase/u16-totitle'.
7665         * lib/unicase/u16-totitle.c: New file.
7666         * modules/unicase/u16-totitle: New file.
7667
7668         New module 'unicase/u8-totitle'.
7669         * lib/unicase/u8-totitle.c: New file.
7670         * lib/unicase/u-totitle.h: New file.
7671         * modules/unicase/u8-totitle: New file.
7672
7673         Tests for module 'unicase/u32-tolower'.
7674         * modules/unicase/u32-tolower-tests: New file.
7675         * tests/unicase/test-u32-tolower.c: New file.
7676
7677         Tests for module 'unicase/u16-tolower'.
7678         * modules/unicase/u16-tolower-tests: New file.
7679         * tests/unicase/test-u16-tolower.c: New file.
7680
7681         Tests for module 'unicase/u8-tolower'.
7682         * modules/unicase/u8-tolower-tests: New file.
7683         * tests/unicase/test-u8-tolower.c: New file.
7684
7685         New module 'unicase/u32-tolower'.
7686         * lib/unicase/u32-tolower.c: New file.
7687         * modules/unicase/u32-tolower: New file.
7688
7689         New module 'unicase/u16-tolower'.
7690         * lib/unicase/u16-tolower.c: New file.
7691         * modules/unicase/u16-tolower: New file.
7692
7693         New module 'unicase/u8-tolower'.
7694         * lib/unicase/u8-tolower.c: New file.
7695         * modules/unicase/u8-tolower: New file.
7696
7697         Tests for module 'unicase/u32-toupper'.
7698         * modules/unicase/u32-toupper-tests: New file.
7699         * tests/unicase/test-u32-toupper.c: New file.
7700
7701         Tests for module 'unicase/u16-toupper'.
7702         * modules/unicase/u16-toupper-tests: New file.
7703         * tests/unicase/test-u16-toupper.c: New file.
7704
7705         Tests for module 'unicase/u8-toupper'.
7706         * modules/unicase/u8-toupper-tests: New file.
7707         * tests/unicase/test-u8-toupper.c: New file.
7708
7709         New module 'unicase/u32-toupper'.
7710         * lib/unicase/u32-toupper.c: New file.
7711         * modules/unicase/u32-toupper: New file.
7712
7713         New module 'unicase/u16-toupper'.
7714         * lib/unicase/u16-toupper.c: New file.
7715         * modules/unicase/u16-toupper: New file.
7716
7717         New module 'unicase/u8-toupper'.
7718         * lib/unicase/u8-toupper.c: New file.
7719         * modules/unicase/u8-toupper: New file.
7720
7721         New module 'unicase/u32-casemap'.
7722         * lib/unicase/u32-casemap.c: New file.
7723         * modules/unicase/u32-casemap: New file.
7724
7725         New module 'unicase/u16-casemap'.
7726         * lib/unicase/u16-casemap.c: New file.
7727         * modules/unicase/u16-casemap: New file.
7728
7729         New module 'unicase/u8-casemap'.
7730         * lib/unicase/unicasemap.h: New file.
7731         * lib/unicase/u8-casemap.c: New file.
7732         * lib/unicase/u-casemap.h: New file.
7733         * modules/unicase/u8-casemap: New file.
7734
7735         New module 'unicase/special-casing'.
7736         * lib/unicase/special-casing.h: New file.
7737         * lib/unicase/special-casing.c: New file.
7738         * lib/unicase/special-casing-table.gperf: New file, generated by
7739         gen-uni-tables.c.
7740         * modules/unicase/special-casing: New file.
7741
7742         Tests for module 'unicase/locale-language'.
7743         * modules/unicase/locale-language-tests: New file.
7744         * tests/unicase/test-locale-language.sh: New file.
7745         * tests/unicase/test-locale-language.c: New file.
7746
7747         New module 'unicase/locale-language'.
7748         * lib/unicase/locale-language.c: New file.
7749         * lib/unicase/locale-languages.gperf: New file.
7750         * modules/unicase/locale-language: New file.
7751
7752         Generate more tables for case conversion and case folding.
7753         * lib/gen-uni-tables.c (SCC_*): New enum items.
7754         (struct special_casing_rule): New type.
7755         (casing_rules, num_casing_rules, allocated_casing_rules): New
7756         variables.
7757         (add_casing_rule, fill_casing_rules): New functions.
7758         (struct casefold_rule): New type.
7759         (casefolding_rules, num_casefolding_rules,
7760         allocated_casefolding_rules): New variables.
7761         (fill_casefolding_rules): New function.
7762         (unicode_casefold): New variable.
7763         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
7764         sort_casing_rules, output_casing_rules): New functions.
7765         (main): Accept to more arguments: SpecialCasing.txt and
7766         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
7767         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
7768         Output mapping for casefolding.
7769
7770         * lib/unicase.h: Include stdbool.h, uninorm.h.
7771         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
7772         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
7773         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
7774         arguments.
7775         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
7776         resultp arguments.
7777         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
7778         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
7779         resultp arguments.
7780         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
7781         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
7782         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
7783         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
7784         declarations.
7785         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
7786
7787 2009-03-08  Bruno Haible  <bruno@clisp.org>
7788
7789         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7790         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
7791         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
7792         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7793
7794 2009-03-07  Bruno Haible  <bruno@clisp.org>
7795
7796         Adjust u*_normcmp, u*_normcoll API.
7797         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7798         u16_normcoll, u32_normcoll): Change failure conventions.
7799         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
7800         errno and return -1.
7801         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7802
7803 2009-03-07  Bruno Haible  <bruno@clisp.org>
7804
7805         Tests for module 'uninorm/u32-normcoll'.
7806         * modules/uninorm/u32-normcoll-tests: New file.
7807         * tests/uninorm/test-u32-normcoll.c: New file.
7808
7809         Tests for module 'uninorm/u16-normcoll'.
7810         * modules/uninorm/u16-normcoll-tests: New file.
7811         * tests/uninorm/test-u16-normcoll.c: New file.
7812
7813         Tests for module 'uninorm/u8-normcoll'.
7814         * modules/uninorm/u8-normcoll-tests: New file.
7815         * tests/uninorm/test-u8-normcoll.c: New file.
7816
7817 2009-03-07  Bruno Haible  <bruno@clisp.org>
7818
7819         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
7820         tests/uninorm/test-u32-normcmp.c.
7821         * tests/uninorm/test-u32-normcmp.c: Include it.
7822         (test_nonascii): New function, extracted from main. Add some more
7823         tests.
7824         (main): Invoke test_ascii and test_nonascii.
7825         * modules/uninorm/u32-normcmp-tests (Files): Add
7826         tests/uninorm/test-u32-normcmp.h.
7827         (Depends-on): Remove uninorm/u32-normcmp.
7828
7829         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
7830         tests/uninorm/test-u16-normcmp.c.
7831         * tests/uninorm/test-u16-normcmp.c: Include it.
7832         (test_nonascii): New function, extracted from main. Add some more
7833         tests.
7834         (main): Invoke test_ascii and test_nonascii.
7835         * modules/uninorm/u16-normcmp-tests (Files): Add
7836         tests/uninorm/test-u16-normcmp.h.
7837         (Depends-on): Remove uninorm/u16-normcmp.
7838
7839         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
7840         tests/uninorm/test-u8-normcmp.c.
7841         * tests/uninorm/test-u8-normcmp.c: Include it.
7842         (test_nonascii): New function, extracted from main. Add some more
7843         tests.
7844         (main): Invoke test_ascii and test_nonascii.
7845         * modules/uninorm/u8-normcmp-tests (Files): Add
7846         tests/uninorm/test-u8-normcmp.h.
7847         (Depends-on): Remove uninorm/u8-normcmp.
7848
7849 2009-03-07  Bruno Haible  <bruno@clisp.org>
7850
7851         New module 'uninorm/u32-normcoll'.
7852         * lib/uninorm/u32-normcoll.c: New file.
7853         * modules/uninorm/u32-normcoll: New file.
7854
7855         New module 'uninorm/u16-normcoll'.
7856         * lib/uninorm/u16-normcoll.c: New file.
7857         * modules/uninorm/u16-normcoll: New file.
7858
7859         New module 'uninorm/u8-normcoll'.
7860         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
7861         declarations.
7862         * lib/uninorm/u8-normcoll.c: New file.
7863         * lib/uninorm/u-normcoll.h: New file.
7864         * modules/uninorm/u8-normcoll: New file.
7865
7866         New module 'uninorm/u32-normxfrm'.
7867         * lib/uninorm/u32-normxfrm.c: New file.
7868         * modules/uninorm/u32-normxfrm: New file.
7869
7870         New module 'uninorm/u16-normxfrm'.
7871         * lib/uninorm/u16-normxfrm.c: New file.
7872         * modules/uninorm/u16-normxfrm: New file.
7873
7874         New module 'uninorm/u8-normxfrm'.
7875         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
7876         declarations.
7877         * lib/uninorm/u8-normxfrm.c: New file.
7878         * lib/uninorm/u-normxfrm.h: New file.
7879         * modules/uninorm/u8-normxfrm: New file.
7880
7881 2009-03-07  Bruno Haible  <bruno@clisp.org>
7882
7883         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
7884         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
7885         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
7886
7887 2009-03-07  Bruno Haible  <bruno@clisp.org>
7888
7889         New module 'memxfrm'.
7890         * lib/memxfrm.h: New file.
7891         * lib/memxfrm.c: New file.
7892         * modules/memxfrm: New file.
7893
7894 2009-03-07  Bruno Haible  <bruno@clisp.org>
7895
7896         New module 'memcmp2'.
7897         * lib/memcmp2.h: New file.
7898         * lib/memcmp2.c: New file.
7899         * modules/memcmp2: New file.
7900
7901 2009-03-07  Bruno Haible  <bruno@clisp.org>
7902
7903         Tests for module 'uninorm/decomposing-form'.
7904         * modules/uninorm/decomposing-form-tests: New file.
7905         * tests/uninorm/test-decomposing-form.c: New file.
7906
7907         New module 'uninorm/decomposing-form'.
7908         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
7909         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
7910         Add 'decomposing_variant' field.
7911         * lib/uninorm/decomposing-form.c: New file.
7912         * lib/uninorm/nfc.c (uninorm_nfc): Update.
7913         * lib/uninorm/nfd.c (uninorm_nfd): Update.
7914         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
7915         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
7916         * modules/uninorm/decomposing-form: New file.
7917         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
7918         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
7919
7920 2009-03-07  Bruno Haible  <bruno@clisp.org>
7921
7922         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
7923         strings.
7924
7925 2009-03-06  Bruno Haible  <bruno@clisp.org>
7926
7927         Tests for module 'uninorm/u32-normcmp'.
7928         * tests/uninorm/test-u32-normcmp.c: New file.
7929         * modules/uninorm/u32-normcmp-tests: New file.
7930
7931         Tests for module 'uninorm/u16-normcmp'.
7932         * tests/uninorm/test-u16-normcmp.c: New file.
7933         * modules/uninorm/u16-normcmp-tests: New file.
7934
7935         Tests for module 'uninorm/u8-normcmp'.
7936         * tests/uninorm/test-u8-normcmp.c: New file.
7937         * modules/uninorm/u8-normcmp-tests: New file.
7938
7939         New module 'uninorm/u32-normcmp'.
7940         * lib/uninorm/u32-normcmp.c: New file.
7941         * modules/uninorm/u32-normcmp: New file.
7942
7943         New module 'uninorm/u16-normcmp'.
7944         * lib/uninorm/u16-normcmp.c: New file.
7945         * modules/uninorm/u16-normcmp: New file.
7946
7947         New module 'uninorm/u8-normcmp'.
7948         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
7949         declarations.
7950         * lib/uninorm/u8-normcmp.c: New file.
7951         * lib/uninorm/u-normcmp.h: New file.
7952         * modules/uninorm/u8-normcmp: New file.
7953
7954 2009-03-06  Bruno Haible  <bruno@clisp.org>
7955
7956         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
7957         Reported by Eric Blake.
7958
7959 2009-03-06  Eric Blake  <ebb9@byu.net>
7960             Bruno Haible  <bruno@clisp.org>
7961
7962         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
7963         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
7964         condition.
7965         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7966         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
7967         condition.
7968         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7969
7970 2009-03-06  Eric Blake  <ebb9@byu.net>
7971
7972         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
7973         to avoid compiler warnings.
7974         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
7975
7976 2009-03-05  Bruno Haible  <bruno@clisp.org>
7977
7978         * tests/test-ftell.c (main): Disable test beyond end of file on
7979         FreeMiNT.
7980         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7981
7982 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
7983
7984         * lib/filevercmp.c: Move hidden files up in ordering.
7985         * tests/test-filevercmp.c: Add tests for hidden files.
7986
7987 2009-03-04  Bruno Haible  <bruno@clisp.org>
7988
7989         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
7990         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
7991         AM_CFLAGS.
7992         Reported by Simon Josefsson.
7993
7994 2009-03-03  Bruno Haible  <bruno@clisp.org>
7995
7996         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
7997         Reported by Simon Josefsson.
7998
7999         * doc/ld-version-script.texi: Update node reference.
8000
8001 2009-03-03  Bruno Haible  <bruno@clisp.org>
8002
8003         * modules/visibility (License): Change to 'unlimited'.
8004         Suggested by Simon Josefsson.
8005
8006 2009-03-03  Jim Meyering  <meyering@redhat.com>
8007
8008         unlinkdir: cannot_unlink_dir may modify process state
8009         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
8010         it's neither thread-safe nor appropriate for use in a library.
8011
8012 2009-03-03  Eric Blake  <ebb9@byu.net>
8013
8014         test-closein: silence test under Darwin
8015         * tests/test-closein.sh: Ignore stderr from cat, since we don't
8016         care if it dies from EPIPE or EBADF.
8017
8018 2009-03-03  Bruno Haible  <bruno@clisp.org>
8019
8020         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
8021         earlier.
8022         * doc/visibility.texi: Fix @node and @section.
8023
8024 2009-03-03  Simon Josefsson  <simon@josefsson.org>
8025
8026         * doc/gnulib.texi: Link to sections for ld version script and
8027         visibility.
8028         * doc/visibility.texi: Add @node and @section.
8029         * modules/ld-version-script: New module.
8030         * m4/ld-version-script.m4: New file.
8031         * doc/ld-version-script.texi: New file.
8032
8033 2009-03-02  David Lutterkort  <lutter@redhat.com>
8034
8035         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
8036         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8037
8038 2009-03-02  Bruno Haible  <bruno@clisp.org>
8039
8040         * doc/visibility.texi: Mention libtool's -export-symbols option.
8041
8042 2009-03-02  Jim Meyering  <meyering@redhat.com>
8043
8044         announce-gen: new option: --no-print-checksums
8045         * build-aux/announce-gen (usage): Describe it.
8046         (print_checksums): Print a newline here, not in the [*] footnote.
8047         (main): Honor it.
8048
8049 2009-03-01  Bruno Haible  <bruno@clisp.org>
8050
8051         Use socklen_t in the native Windows replacements prototypes.
8052         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
8053         instead of 'int'.
8054         * lib/getsockopt.c (rpl_getsockopt): Likewise.
8055         * lib/setsockopt.c (rpl_setsockopt): Likewise.
8056         * modules/getsockopt (Depends-on): Add socklen.
8057         * modules/setsockopt (Depends-on): Add socklen.
8058
8059 2009-03-01  Bruno Haible  <bruno@clisp.org>
8060
8061         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
8062         least 4.2.
8063
8064 2009-03-01  Eric Blake  <ebb9@byu.net>
8065             Bruno Haible  <bruno@clisp.org>
8066
8067         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
8068         error messages.
8069         * lib/wait-process.c (wait_subprocess): Omit error message about
8070         deadly signal sent to the child of termsigp != NULL.
8071
8072 2009-03-01  Eric Blake  <ebb9@byu.net>
8073
8074         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
8075
8076 2009-03-01  Bruno Haible  <bruno@clisp.org>
8077
8078         Avoid a gcc warning.
8079         * tests/test-sched.c (b): Make global.
8080         Reported by Eric Blake.
8081
8082 2009-01-19  Martin Lambers  <marlam@marlam.de>
8083
8084         Provide POSIX semantics for socket timeout options on W32.
8085         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
8086         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
8087         * modules/setsockopt: Depend on sys_time module for struct timeval.
8088         * modules/getsockopt: Depend on sys_time module for struct timeval.
8089
8090 2009-03-01  Simon Josefsson  <simon@josefsson.org>
8091
8092         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
8093         __USE_GNU, for consistency with netdb.in.h.
8094         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8095
8096 2009-03-01  Bruno Haible  <bruno@clisp.org>
8097
8098         More support for FreeMiNT.
8099         * lib/fseeko.c (rpl_fseeko): Complete last commit.
8100         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8101
8102 2009-03-01  Bruno Haible  <bruno@clisp.org>
8103
8104         More support for FreeMiNT.
8105         * lib/fpurge.c (fpurge): Correct last commit.
8106         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8107
8108 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8109
8110         Fix unportable awk script in vc-list-files.
8111         * build-aux/vc-list-files: In the replacement awk script, use
8112         substr with a second argument of 1, not zero.
8113         Report by Simon Josefsson.
8114
8115 2009-02-28  Bruno Haible  <bruno@clisp.org>
8116
8117         More support for FreeMiNT.
8118         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
8119         to FreeMiNT today.
8120         * lib/fwriting.c (fwriting): Likewise.
8121         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
8122
8123 2009-02-28  Bruno Haible  <bruno@clisp.org>
8124
8125         * tests/test-freadseek.c (main): Disable test beyond end of file on
8126         FreeMiNT.
8127         * tests/test-ftello.c (main): Likewise.
8128         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
8129
8130 2009-02-28  Bruno Haible  <bruno@clisp.org>
8131
8132         Add tentative support for FreeMiNT.
8133         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
8134         * lib/fpurge.c (fpurge): Likewise.
8135         * lib/freadable.c (freadable): Likewise.
8136         * lib/freading.c (freading): Likewise.
8137         * lib/freadptr.c (freadptr): Likewise.
8138         * lib/freadseek.c (freadptrinc): Likewise.
8139         * lib/fseeko.c (rpl_fseeko): Likewise.
8140         * lib/fseterr.c (fseterr): Likewise.
8141         * lib/fwritable.c (fwritable): Likewise.
8142         * lib/fwriting.c (fwriting): Likewise.
8143         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
8144         Hourihane.
8145         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8146
8147 2009-02-28  Bruno Haible  <bruno@clisp.org>
8148
8149         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
8150         SIGCHLD.
8151         Reported by Jim Meyering.
8152
8153 2009-02-28  Bruno Haible  <bruno@clisp.org>
8154
8155         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
8156         Mention the results of these tests on various platforms.
8157         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
8158         order.
8159         * doc/posix-functions/printf.texi: Likewise.
8160         * doc/posix-functions/snprintf.texi: Likewise.
8161         * doc/posix-functions/sprintf.texi: Likewise.
8162         * doc/posix-functions/vfprintf.texi: Likewise.
8163         * doc/posix-functions/vprintf.texi: Likewise.
8164         * doc/posix-functions/vsnprintf.texi: Likewise.
8165         * doc/posix-functions/vsprintf.texi: Likewise.
8166         * doc/glibc-functions/obstack_printf.texi: Likewise.
8167         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8168
8169 2009-02-28  Bruno Haible  <bruno@clisp.org>
8170
8171         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
8172         Reported by Loïc Minier <lool@dooz.org>.
8173
8174 2009-02-27  Bruno Haible  <bruno@clisp.org>
8175
8176         * gnulib-tool (func_import): Make the sed expression used to create the
8177         sed script for updating the .gitignore file POSIX compliant.
8178         Reported by Eric Blake.
8179
8180 2009-02-27  Bruno Haible  <bruno@clisp.org>
8181
8182         * gnulib-tool (sed): Don't alias as "sed --posix".
8183         Reported by Eric Blake.
8184
8185 2009-02-27  Bruno Haible  <bruno@clisp.org>
8186
8187         Avoid test link errors.
8188         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
8189         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
8190         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
8191         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
8192         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8193
8194 2009-02-27  Bruno Haible  <bruno@clisp.org>
8195
8196         Avoid spurious "(cached)" in configure output.
8197         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
8198         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
8199         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8200         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8201         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8202         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8203         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8204         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8205         Reported by Eric Blake.
8206
8207 2009-02-27  Eric Blake  <ebb9@byu.net>
8208
8209         printf: fix regression in previous patch
8210         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
8211
8212 2009-02-27  Bruno Haible  <bruno@clisp.org>
8213
8214         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
8215         value.
8216         * lib/stdint.in.h: Likewise.
8217         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
8218
8219 2009-02-27  Eric Blake  <ebb9@byu.net>
8220
8221         doc: mention more functions added in cygwin 1.7.0
8222         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
8223         addition.
8224         * doc/posix-functions/open_wmemstream.texi: Likewise.
8225         * doc/posix-functions/wcsnlen.texi: Likewise.
8226         * doc/posix-functions/wcsnrtombs.texi: Likewise.
8227         * doc/posix-functions/wcstod.texi: Likewise.
8228         * doc/posix-functions/wcstof.texi: Likewise.
8229         * doc/posix-functions/wcstoimax.texi: Likewise.
8230         * doc/posix-functions/wcstok.texi: Likewise.
8231         * doc/posix-functions/wcstoumax.texi: Likewise.
8232
8233         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
8234         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
8235         * doc/posix-functions/fprintf.texi: Update.
8236         * doc/posix-functions/printf.texi: Update.
8237         * doc/posix-functions/snprintf.texi: Update.
8238         * doc/posix-functions/sprintf.texi: Update.
8239         * doc/posix-functions/vfprintf.texi: Update.
8240         * doc/posix-functions/vprintf.texi: Update.
8241         * doc/posix-functions/vsnprintf.texi: Update.
8242         * doc/posix-functions/vsprintf.texi: Update.
8243         * doc/glibc-functions/obstack_printf.texi: Update.
8244         * doc/glibc-functions/obstack_vprintf.texi: Update.
8245
8246 2009-02-26  Eric Blake  <ebb9@byu.net>
8247
8248         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
8249         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
8250         compilation bug by using runtime conversion.
8251         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8252         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
8253         * modules/ceill-tests (Files): Use nan.h.
8254         * modules/floorl-tests (Files): Likewise.
8255         * modules/frexpl-tests (Files): Likewise.
8256         * modules/isnanl-tests (Files): Likewise.
8257         * modules/ldexpl-tests (Files): Likewise.
8258         * modules/roundl-tests (Files): Likewise.
8259         * modules/truncl-tests (Files): Likewise.
8260         * tests/test-ceill.c (main): Use a working NaN.
8261         * tests/test-floorl.c (main): Likewise.
8262         * tests/test-frexpl.c (main): Likewise.
8263         * tests/test-isnan.c (test_long_double): Likewise.
8264         * tests/test-isnanl.h (main): Likewise.
8265         * tests/test-ldexpl.h (main): Likewise.
8266         * tests/test-roundl.h (main): Likewise.
8267         * tests/test-truncl.h (main): Likewise.
8268         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
8269
8270 2009-02-26  Eric Blake  <ebb9@byu.net>
8271             Bruno Haible  <bruno@clisp.org>
8272
8273         Work around a *printf bug with %ls on Solaris.
8274         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
8275         precision is specified, sprintf stops converting the wide string
8276         argument when the number of bytes that have been produced by this
8277         conversion equals or exceeds the precision.
8278         * doc/posix-functions/fprintf.texi: Update.
8279         * doc/posix-functions/printf.texi: Update.
8280         * doc/posix-functions/snprintf.texi: Update.
8281         * doc/posix-functions/sprintf.texi: Update.
8282         * doc/posix-functions/vfprintf.texi: Update.
8283         * doc/posix-functions/vprintf.texi: Update.
8284         * doc/posix-functions/vsnprintf.texi: Update.
8285         * doc/posix-functions/vsprintf.texi: Update.
8286         * doc/glibc-functions/obstack_printf.texi: Update.
8287         * doc/glibc-functions/obstack_vprintf.texi: Update.
8288
8289 2009-02-26  Eric Blake  <ebb9@byu.net>
8290
8291         stdlib: favor compiler check of random.h
8292         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
8293         to avoid an ObjC random.h installed by Swarm.
8294
8295 2009-02-26  Bruno Haible  <bruno@clisp.org>
8296
8297         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
8298         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
8299         Reported by Gary V. Vaughan <gary@gnu.org>.
8300
8301 2009-02-26  Bruno Haible  <bruno@clisp.org>
8302
8303         Fix *printf behaviour regarding the %ls directive.
8304         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
8305         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
8306         NEED_PRINTF_DIRECTIVE_LS.
8307         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
8308         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
8309         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
8310         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
8311         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
8312         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
8313         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
8314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
8315         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
8316         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
8317         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8318         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
8319         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
8320         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
8321         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
8322         * doc/posix-functions/fprintf.texi: Update.
8323         * doc/posix-functions/printf.texi: Update.
8324         * doc/posix-functions/snprintf.texi: Update.
8325         * doc/posix-functions/sprintf.texi: Update.
8326         * doc/posix-functions/vfprintf.texi: Update.
8327         * doc/posix-functions/vprintf.texi: Update.
8328         * doc/posix-functions/vsnprintf.texi: Update.
8329         * doc/posix-functions/vsprintf.texi: Update.
8330         * doc/glibc-functions/obstack_printf.texi: Update.
8331         * doc/glibc-functions/obstack_vprintf.texi: Update.
8332         Reported by Eric Blake.
8333
8334 2009-02-25  Bruno Haible  <bruno@clisp.org>
8335
8336         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
8337         with known value.
8338         Reported by Gary V. Vaughan <gary@gnu.org>.
8339
8340 2009-02-25  Bruno Haible  <bruno@clisp.org>
8341
8342         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
8343         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
8344         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
8345         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
8346         Reported by Gary V. Vaughan <gary@gnu.org>.
8347
8348 2009-02-25  Bruno Haible  <bruno@clisp.org>
8349
8350         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
8351         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
8352         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
8353         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
8354         Reported by Gary V. Vaughan <gary@gnu.org>.
8355
8356 2009-02-25  Eric Blake  <ebb9@byu.net>
8357
8358         tests: skip fseek/ftell tests if ungetc is broken
8359         * m4/ungetc.m4: New file.
8360         * modules/fseek-tests: Split test, so ungetc dependency is
8361         separate from rest of test.
8362         * modules/fseeko-tests: Likewise.
8363         * modules/ftell-tests: Likewise.
8364         * modules/ftello-tests: Likewise.
8365         * tests/test-fseek.c (main): Isolate ungetc dependency.
8366         * tests/test-fseeko.c (main): Likewise.
8367         * tests/test-ftell.c (main): Likewise.
8368         * tests/test-ftello.c (main): Likewise.
8369         * tests/test-fseek2.sh: New file.
8370         * tests/test-fseeko2.sh: Likewise.
8371         * tests/test-ftell2.sh: Likewise.
8372         * tests/test-ftello2.sh: Likewise.
8373
8374 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
8375
8376         test-getaddrinfo: fix usage of skip return code 77
8377         * tests/test-gettaddrinfo.c: Return skip code 77 only
8378         for first occurance of skip (4x77 is not 77)
8379
8380 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
8381
8382         strtod: avoid C99 decl-after-statement
8383         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
8384
8385 2009-02-24  Eric Blake  <ebb9@byu.net>
8386
8387         strtod: detect HP-UX 11.31 bug
8388         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
8389         Reported by Gary V. Vaughan.
8390
8391 2009-02-23  Bruno Haible  <bruno@clisp.org>
8392
8393         Fix invalid read past end of memory block.
8394         * lib/vasnprintf.c (DCHAR_SET): Define.
8395         (local_wcslen): Define only when needed.
8396         (local_strnlen, local_wcsnlen): New functions.
8397         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
8398         directives that involve a conversion ourselves.
8399         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
8400         wcsnlen, mbrtowc, wcrtomb.
8401         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
8402         * tests/test-vasprintf-posix.c (test_function): Likewise.
8403         * tests/test-snprintf-posix.h (test_function): Likewise.
8404         * tests/test-sprintf-posix.h (test_function): Likewise.
8405         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8406
8407 2009-02-22  Bruno Haible  <bruno@clisp.org>
8408
8409         Implement new clarified decomposition of Hangul syllables.
8410         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
8411         of type LTV, return only a pairwise decomposition.
8412         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
8413         Likewise.
8414         * tests/uninorm/test-decomposition.c (main): Updated expected result.
8415         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
8416         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
8417
8418 2009-02-22  Bruno Haible  <bruno@clisp.org>
8419
8420         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
8421         zero-length results and shrink excess allocated memory.
8422         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
8423         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
8424         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
8425         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
8426         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
8427         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
8428         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
8429         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
8430         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
8431         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
8432         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
8433         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
8434
8435 2009-02-21  Bruno Haible  <bruno@clisp.org>
8436
8437         * doc/gnulib.texi: Include safe-alloc.texi earlier.
8438         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
8439         spaces after a period. Put a space between a macro name and its
8440         argument list. Trivial rewordings.
8441         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
8442         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
8443         (main): Return 0 explicitly.
8444
8445 2009-02-21  Bruno Haible  <bruno@clisp.org>
8446
8447         Tests for module 'uninorm/filter'.
8448         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
8449         * modules/uninorm/filter-tests: New file.
8450
8451         New module 'uninorm/filter'.
8452         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
8453         uninorm_filter_flush, uninorm_filter_free): New declarations.
8454         * lib/uninorm/uninorm-filter.c: New file.
8455         * modules/uninorm/filter: New file.
8456
8457 2009-02-21  Bruno Haible  <bruno@clisp.org>
8458
8459         Tests for module 'uninorm/nfkc'.
8460         * tests/uninorm/test-nfkc.c: New file.
8461         * tests/uninorm/test-u8-nfkc.c: New file.
8462         * tests/uninorm/test-u16-nfkc.c: New file.
8463         * tests/uninorm/test-u32-nfkc.c: New file.
8464         * tests/uninorm/test-u32-nfkc-big.sh: New file.
8465         * tests/uninorm/test-u32-nfkc-big.c: New file.
8466         * modules/uninorm/nfkc-tests: New file.
8467
8468         New module 'uninorm/nfkc'.
8469         * lib/uninorm/nfkc.c: New file.
8470         * modules/uninorm/nfkc: New file.
8471
8472         Tests for module 'uninorm/nfkd'.
8473         * tests/uninorm/test-nfkd.c: New file.
8474         * tests/uninorm/test-u8-nfkd.c: New file.
8475         * tests/uninorm/test-u16-nfkd.c: New file.
8476         * tests/uninorm/test-u32-nfkd.c: New file.
8477         * tests/uninorm/test-u32-nfkd-big.sh: New file.
8478         * tests/uninorm/test-u32-nfkd-big.c: New file.
8479         * modules/uninorm/nfkd-tests: New file.
8480
8481         New module 'uninorm/nfkd'.
8482         * lib/uninorm/nfkd.c: New file.
8483         * modules/uninorm/nfkd: New file.
8484
8485         Tests for module 'uninorm/nfc'.
8486         * tests/uninorm/test-nfc.c: New file.
8487         * tests/uninorm/test-u8-nfc.c: New file.
8488         * tests/uninorm/test-u16-nfc.c: New file.
8489         * tests/uninorm/test-u32-nfc.c: New file.
8490         * tests/uninorm/test-u32-nfc-big.sh: New file.
8491         * tests/uninorm/test-u32-nfc-big.c: New file.
8492         * modules/uninorm/nfc-tests: New file.
8493
8494         New module 'uninorm/nfc'.
8495         * lib/uninorm/nfc.c: New file.
8496         * modules/uninorm/nfc: New file.
8497
8498         Tests for module 'uninorm/nfd'.
8499         * tests/uninorm/test-nfd.c: New file.
8500         * tests/uninorm/test-u8-nfd.c: New file.
8501         * tests/uninorm/test-u16-nfd.c: New file.
8502         * tests/uninorm/test-u32-nfd.c: New file.
8503         * tests/uninorm/test-u32-nfd-big.sh: New file.
8504         * tests/uninorm/test-u32-nfd-big.c: New file.
8505         * tests/uninorm/test-u32-normalize-big.h: New file.
8506         * tests/uninorm/test-u32-normalize-big.c: New file.
8507         * tests/uninorm/NormalizationTest.txt: New file, created from
8508         Unicode 5.1.0 NormalizationTest.txt.
8509         * modules/uninorm/nfd-tests: New file.
8510
8511         New module 'uninorm/nfd'.
8512         * lib/uninorm/nfd.c: New file.
8513         * modules/uninorm/nfd: New file.
8514
8515         New module 'uninorm/u32-normalize'.
8516         * lib/uninorm/u32-normalize.c: New file.
8517         * modules/uninorm/u32-normalize: New file.
8518
8519         New module 'uninorm/u16-normalize'.
8520         * lib/uninorm/u16-normalize.c: New file.
8521         * modules/uninorm/u16-normalize: New file.
8522
8523         New module 'uninorm/u8-normalize'.
8524         * lib/uninorm/u8-normalize.c: New file.
8525         * lib/uninorm/normalize-internal.h: New file.
8526         * lib/uninorm/u-normalize-internal.h: New file.
8527         * modules/uninorm/u8-normalize: New file.
8528
8529         New module 'uninorm/decompose-internal'.
8530         * lib/uninorm/decompose-internal.c: New file.
8531         * modules/uninorm/decompose-internal: New file.
8532
8533         Tests for module 'uninorm/composition'.
8534         * tests/uninorm/test-composition.c: New file.
8535         * modules/uninorm/composition-tests: New file.
8536
8537         New module 'uninorm/composition'.
8538         * lib/uninorm/composition.c: New file.
8539         * lib/uninorm/composition-table.gperf: New file, generated by
8540         gen-uni-tables.
8541         * modules/uninorm/composition: New file.
8542
8543         Tests for module 'uninorm/compat-decomposition'.
8544         * tests/uninorm/test-compat-decomposition.c: New file.
8545         * modules/uninorm/compat-decomposition-tests: New file.
8546
8547         New module 'uninorm/compat-decomposition'.
8548         * lib/uninorm/decompose-internal.h: New file.
8549         * lib/uninorm/compat-decomposition.c: New file.
8550         * modules/uninorm/compat-decomposition: New file.
8551
8552         Tests for module 'uninorm/canonical-decomposition'.
8553         * tests/uninorm/test-canonical-decomposition.c: New file.
8554         * modules/uninorm/canonical-decomposition-tests: New file.
8555
8556         New module 'uninorm/canonical-decomposition'.
8557         * lib/uninorm/canonical-decomposition.c: New file.
8558         * modules/uninorm/canonical-decomposition: New file.
8559
8560         Tests for module 'uninorm/decomposition'.
8561         * tests/uninorm/test-decomposition.c: New file.
8562         * modules/uninorm/decomposition-tests: New file.
8563
8564         New module 'uninorm/decomposition'.
8565         * lib/uninorm/decomposition.c: New file.
8566         * modules/uninorm/decomposition: New file.
8567
8568         New module 'uninorm/decomposition-table'.
8569         * lib/uninorm/decomposition-table.h: New file.
8570         * lib/uninorm/decomposition-table.c: New file.
8571         * lib/uninorm/decomposition-table1.h: New file, generated by
8572         gen-uni-tables.
8573         * lib/uninorm/decomposition-table2.h: New file, generated by
8574         gen-uni-tables.
8575         * modules/uninorm/decomposition-table: New file.
8576
8577         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
8578         (UC_DECOMP_*): New enumeration items.
8579         (get_decomposition): New function.
8580         (struct decomp_table): New type.
8581         (output_decomposition, output_decomposition_tables): New functions.
8582         (unicode_composition_exclusions): New variable.
8583         (fill_composition_exclusions, debug_output_composition_tables): New
8584         functions.
8585         (main): Accept one more argument. Invoke fill_composition_exclusions.
8586         Output decomposition and composition tables.
8587
8588         New module 'uninorm/base'.
8589         * lib/uninorm.h: New file.
8590         * lib/unictype.h: Update comment.
8591         * modules/uninorm/base: New file.
8592
8593 2009-02-21  David Lutterkort  <lutter@redhat.com>
8594
8595         Tests for module 'safe-alloc'.
8596         * tests/test-safe-alloc.c: New file.
8597         * modules/safe-alloc-tests: New file.
8598
8599         New module 'safe-alloc'.
8600         * lib/safe-alloc.h: New file.
8601         * lib/safe-alloc.c: New file.
8602         * m4/safe-alloc.m4: New file.
8603         * modules/safe-alloc: New file.
8604         * doc/safe-alloc.texi: New file.
8605         * doc/gnulib.texi: Include it.
8606         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8607         safe-alloc.
8608
8609 2009-02-18  Bruno Haible  <bruno@clisp.org>
8610
8611         Fix link error on non-glibc systems.
8612         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
8613         variable.
8614         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8615
8616 2009-02-18  Jim Meyering  <meyering@redhat.com>
8617
8618         fts: avoid used-uninitialized error due to recent change
8619         * lib/fts.c (fts_read): Guard uses of the new member,
8620         parent->fts_n_dirs_remaining, since it's not relevant for
8621         the parent of a directory specified on the command-line.
8622
8623 2009-02-17  James Youngman  <jay@gnu.org>
8624             Bruno Haible  <bruno@clisp.org>
8625
8626         * m4/include_next.m4: Reformulate comment.
8627
8628 2009-02-16  Jim Meyering  <meyering@redhat.com>
8629
8630         fts: add #if guards so that the fts_lgpl module still builds
8631         * lib/fts.c: Guard just-added hash-table-using parts with
8632         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
8633         Reported by Simon Josefsson.
8634
8635 2009-02-15  Bruno Haible  <bruno@clisp.org>
8636
8637         * modules/array-mergesort-tests: New file.
8638         * tests/test-array-mergesort.c: New file.
8639
8640         New module 'array-mergesort'.
8641         * modules/array-mergesort: New file.
8642         * lib/array-mergesort.h: New file.
8643
8644 2009-02-15  Bruno Haible  <bruno@clisp.org>
8645
8646         Fix 2009-02-07 commit.
8647         * lib/gen-uni-tables.c (output_predicate, output_category,
8648         output_combclass, output_bidi_category, output_decimal_digit,
8649         output_digit, output_numeric, output_mirror, output_scripts,
8650         output_ident_category, output_simple_mapping): Fix format directives.
8651         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
8652
8653 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
8654
8655         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
8656         fixes are available from IBM.
8657
8658 2009-02-13  Jim Meyering  <meyering@redhat.com>
8659
8660         fts: arrange not to stat non-directories in more cases
8661         This makes GNU find (when it doesn't need to stat each file)
8662         *much* more efficient at traversing reiserfs file systems.
8663         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
8664         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
8665         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
8666         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
8667         (leaf_optimization_applies): New function.
8668         (LCO_hash, LCO_compare): New helper functions.
8669         (link_count_optimize_ok): New function.
8670         (fts_stat): Initialize new member (if dir).
8671         (fts_read): Decrement parent's fts_n_dirs_remaining count if
8672         we've just stat'ed a directory.  Skip the stat call when possible.
8673         ---
8674         Note this AFS-related exchange:
8675         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
8676         and note find's pioctl call in find/fstype.c.
8677         But that is necessary only if you want to enable the
8678         optimization for AFS, and for now, I don't.
8679
8680         fts: move a function definition "up" (no semantic change)
8681         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
8682         "up" to precede upcoming use of a related function.
8683
8684 2009-02-11  Jim Meyering  <meyering@redhat.com>
8685
8686         fts: correct internal computation of nlinks (optimization-related)
8687         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
8688         whether the current entry is a directory, so don't test it.
8689
8690 2009-02-10  Bruno Haible  <bruno@clisp.org>
8691
8692         Tests for module 'uniwbrk/ulc-wordbreaks'.
8693         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
8694         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
8695         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
8696
8697         Tests for module 'uniwbrk/u32-wordbreaks'.
8698         * modules/uniwbrk/u32-wordbreaks-tests: New file.
8699         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
8700
8701         Tests for module 'uniwbrk/u16-wordbreaks'.
8702         * modules/uniwbrk/u16-wordbreaks-tests: New file.
8703         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
8704
8705         Tests for module 'uniwbrk/u8-wordbreaks'.
8706         * modules/uniwbrk/u8-wordbreaks-tests: New file.
8707         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
8708
8709 2009-02-10  Bruno Haible  <bruno@clisp.org>
8710
8711         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
8712         property.
8713         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
8714         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
8715         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
8716
8717 2009-02-10  Simon Josefsson  <simon@josefsson.org>
8718
8719         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
8720         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
8721
8722 2009-02-10  Bruno Haible  <bruno@clisp.org>
8723
8724         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
8725         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
8726         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
8727         * lib/unilbrk/u8-possible-linebreaks.c: Update.
8728         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
8729         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
8730
8731 2009-02-09  Simon Josefsson  <simon@josefsson.org>
8732
8733         * lib/sockets.h (gl_fd_to_handle): New function.
8734
8735         * tests/test-sockets.c: Call gl_fd_to_handle.
8736
8737 2009-02-09  Bruno Haible  <bruno@clisp.org>
8738
8739         * doc/havelib.texi: Document the conventions on bi-arch systems.
8740
8741 2009-02-08  Bruno Haible  <bruno@clisp.org>
8742
8743         Document the AC_LIB_LINKFLAGS macro.
8744         * doc/havelib.texi: New file, mostly written on 2005-05-24.
8745         * doc/gnulib.texi: Include it.
8746
8747 2009-02-08  Bruno Haible  <bruno@clisp.org>
8748
8749         Fix wrong order of sections, compared to TOC.
8750         * doc/gnulib.texi: Include relocatable-maint.texi after the
8751         "Regular expressions" node, not before.
8752
8753 2009-02-08  Bruno Haible  <bruno@clisp.org>
8754
8755         Tests for module 'unicase/totitle'.
8756         * modules/unicase/totitle-tests: New file.
8757
8758         Tests for module 'unicase/tolower'.
8759         * modules/unicase/tolower-tests: New file.
8760
8761         Tests for module 'unicase/toupper'.
8762         * modules/unicase/toupper-tests: New file.
8763         * tests/unicase/test-mapping-part1.h: New file.
8764         * tests/unicase/test-mapping-part2.h: New file.
8765
8766         New module 'unicase/totitle'.
8767         * modules/unicase/totitle: New file.
8768         * lib/unicase/totitle.c: New file.
8769
8770         New module 'unicase/tolower'.
8771         * modules/unicase/tolower: New file.
8772         * lib/unicase/tolower.c: New file.
8773
8774         New module 'unicase/toupper'.
8775         * modules/unicase/toupper: New file.
8776         * lib/unicase/toupper.c: New file.
8777         * lib/unicase/simple-mapping.h: New file.
8778
8779         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
8780         (mapping_table): New structure.
8781         (output_simple_mapping): New function.
8782         (main): Invoke output_simple_mapping_test and output_simple_mapping.
8783         * modules/gen-uni-tables (Description): Update.
8784         * lib/unicase/toupper.h: New file, automatically generated by
8785         gen-uni-tables.
8786         * lib/unicase/tolower.h: New file, automatically generated by
8787         gen-uni-tables.
8788         * lib/unicase/totitle.h: New file, automatically generated by
8789         gen-uni-tables.
8790         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
8791         gen-uni-tables.
8792         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
8793         gen-uni-tables.
8794         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
8795         gen-uni-tables.
8796
8797         New module 'unicase/base'.
8798         * modules/unicase/base: New file.
8799         * lib/unicase.h: New file.
8800
8801 2009-02-08  Bruno Haible  <bruno@clisp.org>
8802
8803         New module 'uniwbrk/ulc-wordbreaks'.
8804         * modules/uniwbrk/ulc-wordbreaks: New file.
8805         * lib/uniwbrk/ulc-wordbreaks.c: New file.
8806
8807         New module 'uniwbrk/u32-wordbreaks'.
8808         * modules/uniwbrk/u32-wordbreaks: New file.
8809         * lib/uniwbrk/u32-wordbreaks.c: New file.
8810
8811         New module 'uniwbrk/u16-wordbreaks'.
8812         * modules/uniwbrk/u16-wordbreaks: New file.
8813         * lib/uniwbrk/u16-wordbreaks.c: New file.
8814
8815         New module 'uniwbrk/u8-wordbreaks'.
8816         * modules/uniwbrk/u8-wordbreaks: New file.
8817         * lib/uniwbrk/u8-wordbreaks.c: New file.
8818         * lib/uniwbrk/u-wordbreaks.h: New file.
8819
8820         New module 'uniwbrk/table'.
8821         * modules/uniwbrk/table: New file.
8822         * lib/uniwbrk/wbrktable.h: New file.
8823         * lib/uniwbrk/wbrktable.c: New file.
8824
8825         New module 'uniwbrk/wordbreak-property'.
8826         * modules/uniwbrk/wordbreak-property: New file.
8827         * lib/uniwbrk/wordbreak-property.c: New file.
8828
8829         * lib/gen-uni-tables.c (WBP_*): New enum items.
8830         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
8831         (unicode_org_wbp): New variable.
8832         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
8833         New functions.
8834         (wbp_table): New structure.
8835         (output_wbp, output_wbrk_tables): New functions.
8836         (main): Accept additional argument. Invoke fill_org_wbp,
8837         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
8838         output_wbrk_tables.
8839         * modules/gen-uni-tables (Description): Update.
8840         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
8841         gen-uni-tables.
8842
8843         New module 'uniwbrk/base'.
8844         * modules/uniwbrk/base: New file.
8845         * lib/uniwbrk.h: New file.
8846
8847 2009-02-08  Bruno Haible  <bruno@clisp.org>
8848
8849         Update to Unicode 5.1.0.
8850         * lib/gen-uni-tables.c (is_property_alphabetic): Include
8851         U+2185..U+2188.
8852         (is_property_default_ignorable_code_point): Don't include characters
8853         of category Cc or Cs and not-a-characters.
8854         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
8855         U+0D79, U+109E, U+109F, U+A60C.
8856         * lib/unictype/bidi_of.h: Regenerated.
8857         * lib/unictype/blocks.h: Regenerated.
8858         * lib/unictype/categ_C.h: Regenerated.
8859         * lib/unictype/categ_Cf.h: Regenerated.
8860         * lib/unictype/categ_Cn.h: Regenerated.
8861         * lib/unictype/categ_L.h: Regenerated.
8862         * lib/unictype/categ_Ll.h: Regenerated.
8863         * lib/unictype/categ_Lm.h: Regenerated.
8864         * lib/unictype/categ_Lo.h: Regenerated.
8865         * lib/unictype/categ_Lu.h: Regenerated.
8866         * lib/unictype/categ_M.h: Regenerated.
8867         * lib/unictype/categ_Mc.h: Regenerated.
8868         * lib/unictype/categ_Me.h: Regenerated.
8869         * lib/unictype/categ_Mn.h: Regenerated.
8870         * lib/unictype/categ_N.h: Regenerated.
8871         * lib/unictype/categ_Nd.h: Regenerated.
8872         * lib/unictype/categ_Nl.h: Regenerated.
8873         * lib/unictype/categ_No.h: Regenerated.
8874         * lib/unictype/categ_P.h: Regenerated.
8875         * lib/unictype/categ_Pd.h: Regenerated.
8876         * lib/unictype/categ_Pe.h: Regenerated.
8877         * lib/unictype/categ_Pf.h: Regenerated.
8878         * lib/unictype/categ_Pi.h: Regenerated.
8879         * lib/unictype/categ_Po.h: Regenerated.
8880         * lib/unictype/categ_Ps.h: Regenerated.
8881         * lib/unictype/categ_S.h: Regenerated.
8882         * lib/unictype/categ_Sk.h: Regenerated.
8883         * lib/unictype/categ_Sm.h: Regenerated.
8884         * lib/unictype/categ_So.h: Regenerated.
8885         * lib/unictype/categ_of.h: Regenerated.
8886         * lib/unictype/combining.h: Regenerated.
8887         * lib/unictype/ctype_alnum.h: Regenerated.
8888         * lib/unictype/ctype_alpha.h: Regenerated.
8889         * lib/unictype/ctype_graph.h: Regenerated.
8890         * lib/unictype/ctype_lower.h: Regenerated.
8891         * lib/unictype/ctype_print.h: Regenerated.
8892         * lib/unictype/ctype_punct.h: Regenerated.
8893         * lib/unictype/ctype_upper.h: Regenerated.
8894         * lib/unictype/decdigit.h: Regenerated.
8895         * lib/unictype/digit.h: Regenerated.
8896         * lib/unictype/mirror.h: Regenerated.
8897         * lib/unictype/numeric.h: Regenerated.
8898         * lib/unictype/pr_alphabetic.h: Regenerated.
8899         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
8900         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
8901         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
8902         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
8903         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
8904         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
8905         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
8906         * lib/unictype/pr_combining.h: Regenerated.
8907         * lib/unictype/pr_dash.h: Regenerated.
8908         * lib/unictype/pr_decimal_digit.h: Regenerated.
8909         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
8910         * lib/unictype/pr_deprecated.h: Regenerated.
8911         * lib/unictype/pr_diacritic.h: Regenerated.
8912         * lib/unictype/pr_extender.h: Regenerated.
8913         * lib/unictype/pr_format_control.h: Regenerated.
8914         * lib/unictype/pr_grapheme_base.h: Regenerated.
8915         * lib/unictype/pr_grapheme_extend.h: Regenerated.
8916         * lib/unictype/pr_grapheme_link.h: Regenerated.
8917         * lib/unictype/pr_id_continue.h: Regenerated.
8918         * lib/unictype/pr_id_start.h: Regenerated.
8919         * lib/unictype/pr_ideographic.h: Regenerated.
8920         * lib/unictype/pr_ignorable_control.h: Regenerated.
8921         * lib/unictype/pr_lowercase.h: Regenerated.
8922         * lib/unictype/pr_math.h: Regenerated.
8923         * lib/unictype/pr_numeric.h: Regenerated.
8924         * lib/unictype/pr_other_alphabetic.h: Regenerated.
8925         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
8926         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
8927         * lib/unictype/pr_other_id_continue.h: Regenerated.
8928         * lib/unictype/pr_other_lowercase.h: Regenerated.
8929         * lib/unictype/pr_other_math.h: Regenerated.
8930         * lib/unictype/pr_punctuation.h: Regenerated.
8931         * lib/unictype/pr_sentence_terminal.h: Regenerated.
8932         * lib/unictype/pr_soft_dotted.h: Regenerated.
8933         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
8934         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
8935         * lib/unictype/pr_unified_ideograph.h: Regenerated.
8936         * lib/unictype/pr_uppercase.h: Regenerated.
8937         * lib/unictype/pr_xid_continue.h: Regenerated.
8938         * lib/unictype/pr_xid_start.h: Regenerated.
8939         * lib/unictype/pr_zero_width.h: Regenerated.
8940         * lib/unictype/scripts.h: Regenerated.
8941         * lib/unictype/scripts_byname.gperf: Regenerated.
8942         * lib/unictype/sy_java_ident.h: Regenerated.
8943         * lib/unilbrk/lbrkprop1.h: Regenerated.
8944         * lib/unilbrk/lbrkprop2.h: Regenerated.
8945         * tests/unictype/test-categ_C.c: Regenerated.
8946         * tests/unictype/test-categ_Cf.c: Regenerated.
8947         * tests/unictype/test-categ_Cn.c: Regenerated.
8948         * tests/unictype/test-categ_L.c: Regenerated.
8949         * tests/unictype/test-categ_Ll.c: Regenerated.
8950         * tests/unictype/test-categ_Lm.c: Regenerated.
8951         * tests/unictype/test-categ_Lo.c: Regenerated.
8952         * tests/unictype/test-categ_Lu.c: Regenerated.
8953         * tests/unictype/test-categ_M.c: Regenerated.
8954         * tests/unictype/test-categ_Mc.c: Regenerated.
8955         * tests/unictype/test-categ_Me.c: Regenerated.
8956         * tests/unictype/test-categ_Mn.c: Regenerated.
8957         * tests/unictype/test-categ_N.c: Regenerated.
8958         * tests/unictype/test-categ_Nd.c: Regenerated.
8959         * tests/unictype/test-categ_Nl.c: Regenerated.
8960         * tests/unictype/test-categ_No.c: Regenerated.
8961         * tests/unictype/test-categ_P.c: Regenerated.
8962         * tests/unictype/test-categ_Pd.c: Regenerated.
8963         * tests/unictype/test-categ_Pe.c: Regenerated.
8964         * tests/unictype/test-categ_Pf.c: Regenerated.
8965         * tests/unictype/test-categ_Pi.c: Regenerated.
8966         * tests/unictype/test-categ_Po.c: Regenerated.
8967         * tests/unictype/test-categ_Ps.c: Regenerated.
8968         * tests/unictype/test-categ_S.c: Regenerated.
8969         * tests/unictype/test-categ_Sk.c: Regenerated.
8970         * tests/unictype/test-categ_Sm.c: Regenerated.
8971         * tests/unictype/test-categ_So.c: Regenerated.
8972         * tests/unictype/test-ctype_alnum.c: Regenerated.
8973         * tests/unictype/test-ctype_alpha.c: Regenerated.
8974         * tests/unictype/test-ctype_graph.c: Regenerated.
8975         * tests/unictype/test-ctype_lower.c: Regenerated.
8976         * tests/unictype/test-ctype_print.c: Regenerated.
8977         * tests/unictype/test-ctype_punct.c: Regenerated.
8978         * tests/unictype/test-ctype_upper.c: Regenerated.
8979         * tests/unictype/test-decdigit.h: Regenerated.
8980         * tests/unictype/test-digit.h: Regenerated.
8981         * tests/unictype/test-numeric.h: Regenerated.
8982         * tests/unictype/test-pr_alphabetic.c: Regenerated.
8983         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
8984         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
8985         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
8986         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
8987         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
8988         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
8989         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
8990         * tests/unictype/test-pr_combining.c: Regenerated.
8991         * tests/unictype/test-pr_dash.c: Regenerated.
8992         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
8993         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
8994         * tests/unictype/test-pr_deprecated.c: Regenerated.
8995         * tests/unictype/test-pr_diacritic.c: Regenerated.
8996         * tests/unictype/test-pr_extender.c: Regenerated.
8997         * tests/unictype/test-pr_format_control.c: Regenerated.
8998         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
8999         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
9000         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
9001         * tests/unictype/test-pr_id_continue.c: Regenerated.
9002         * tests/unictype/test-pr_id_start.c: Regenerated.
9003         * tests/unictype/test-pr_ideographic.c: Regenerated.
9004         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
9005         * tests/unictype/test-pr_lowercase.c: Regenerated.
9006         * tests/unictype/test-pr_math.c: Regenerated.
9007         * tests/unictype/test-pr_numeric.c: Regenerated.
9008         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
9009         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
9010         Regenerated.
9011         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
9012         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
9013         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
9014         * tests/unictype/test-pr_other_math.c: Regenerated.
9015         * tests/unictype/test-pr_punctuation.c: Regenerated.
9016         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
9017         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
9018         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
9019         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
9020         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
9021         * tests/unictype/test-pr_uppercase.c: Regenerated.
9022         * tests/unictype/test-pr_xid_continue.c: Regenerated.
9023         * tests/unictype/test-pr_xid_start.c: Regenerated.
9024         * tests/unictype/test-pr_zero_width.c: Regenerated.
9025
9026         Update to Unicode 5.1.0.
9027         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
9028         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
9029         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
9030         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
9031         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
9032         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
9033         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
9034         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
9035         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
9036         (nonspacing_table_ind): Update.
9037         * tests/uniwidth/test-uc_width2.sh: Update expected result.
9038
9039         Update to Unicode 5.1.0.
9040         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
9041         code transform.
9042         * lib/uniname/uniname.c (unicode_character_name,
9043         unicode_name_character): Add the range 0x1Fxxx to the code transform.
9044         * lib/uniname/uninames.h: Regenerated.
9045         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
9046
9047 2009-02-07  Bruno Haible  <bruno@clisp.org>
9048
9049         Merge gen-ctype and gen-lbrk into a single program.
9050         * lib/gen-uni-tables.c: New file, incorporating
9051         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
9052         Add directory prefixes to the names of the generated files.
9053         * lib/unictype/gen-ctype.c: Remove file.
9054         * lib/unilbrk/gen-lbrk.c: Remove file.
9055         * modules/gen-uni-tables: New file.
9056         * modules/unictype/gen-ctype: Remove file.
9057         * modules/unilbrk/gen-lbrk: Remove file.
9058
9059 2009-02-07  Bruno Haible  <bruno@clisp.org>
9060
9061         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
9062
9063         New module 'unistr/u32-strcoll'.
9064         * modules/unistr/u32-strcoll: New file.
9065         * lib/unistr/u32-strcoll.c: New file.
9066
9067         New module 'unistr/u16-strcoll'.
9068         * modules/unistr/u16-strcoll: New file.
9069         * lib/unistr/u16-strcoll.c: New file.
9070
9071         New module 'unistr/u8-strcoll'.
9072         * modules/unistr/u8-strcoll: New file.
9073         * lib/unistr/u8-strcoll.c: New file.
9074         * lib/unistr/u-strcoll.h: New file.
9075
9076 2009-02-07  Bruno Haible  <bruno@clisp.org>
9077
9078         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
9079         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
9080         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
9081         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
9082         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
9083         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
9084
9085 2009-02-07  Bruno Haible  <bruno@clisp.org>
9086
9087         Make 64-bit clean.
9088         * lib/unictype/gen-ctype.c (output_predicate, output_category,
9089         output_combclass, output_bidi_category, output_decimal_digit,
9090         output_digit, output_numeric, output_mirror, output_scripts,
9091         output_ident_category): Use proper width specifier in format strings.
9092
9093 2009-02-07  Bruno Haible  <bruno@clisp.org>
9094
9095         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
9096         failure behaviour.
9097
9098 2009-02-07  Jim Meyering  <meyering@redhat.com>
9099
9100         regex: avoid compilation failure with upcoming gcc-4.4
9101         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
9102         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
9103         "... error: integer overflow in preprocessor expression".
9104
9105 2009-02-05  Ben Pfaff  <blp@gnu.org>
9106
9107         Fix link errors on Windows when close module is used.
9108         * modules/close: Add $(LIB_CLOSE) to Link section.
9109         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
9110         $(LIB_CLOSE) on Windows.
9111
9112 2009-02-05  Jim Meyering  <meyering@redhat.com>
9113
9114         still avoid unused-parameter warnings, but do it cleanly
9115         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
9116         (get_fs_usage): Cast to void instead.
9117         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
9118         (dev_from_mount_options, read_file_system_list): Cast to void.
9119         Prompted by Bruno Haible.
9120
9121 2009-02-04  Jim Meyering  <meyering@redhat.com>
9122
9123         fsusage.c: correct copyright year
9124         * lib/fsusage.c: Reflect year in which the change is pushed into
9125
9126         avoid misc. warnings
9127         * lib/fsusage.c (UNUSED_PARAM): Define.
9128         (get_fs_usage): Mark parameter "disk" as unused.
9129         * lib/getugroups.c (getgrent): Use "void" in prototype.
9130         * lib/mountlist.c: Mark unused parameters.
9131         (read_file_system_list): Declare a local with "const".
9132         * lib/nanosleep.c (getnow): Declare static.
9133         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
9134
9135         dirfd: set errno upon failure
9136         * lib/dirfd.c: Include <errno.h>.
9137         Set errno to ENOTSUP when returning -1.
9138         * modules/dirfd (Depends-on): Add errno.
9139         Suggested by John Kodis <kodis@comcast.net>.
9140
9141 2009-02-01  Bruno Haible  <bruno@clisp.org>
9142
9143         Don't assume sizeof (long) >= sizeof (void *).
9144         * lib/memcmp.c: Include stdint.h.
9145         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
9146         srcp2 to 'const byte *'.
9147         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
9148         types to uintptr_t.
9149         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
9150         * modules/memcmp (Depends-on): Add stdint.
9151         Reported by Ozkan Sezer <sezeroz@gmail.com>.
9152
9153 2009-01-30  Eric Blake  <ebb9@byu.net>
9154
9155         fix more require-before-expand issues
9156         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
9157         expand, AC_PROG_AWK.
9158         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
9159
9160 2009-01-28  Eric Blake  <ebb9@byu.net>
9161
9162         version-etc: use consistent URL formatting
9163         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
9164         Improve formatting.  Use fputs for string without %.
9165
9166 2009-01-28  Jim Meyering  <meyering@redhat.com>
9167
9168         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
9169         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
9170         "underquoted definition of NAME" from autoconf-2.59.
9171
9172 2009-01-28  Bruno Haible  <bruno@clisp.org>
9173
9174         * doc/gnulib.texi: Add "Obsolete modules" to index.
9175
9176 2009-01-28  Jim Meyering  <meyering@redhat.com>
9177
9178         useless-if-before-free: recognize more variants
9179         * build-aux/useless-if-before-free: Also recognize e.g.,
9180         if (NULL != p) free (p);
9181
9182 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
9183
9184         test-getaddrinfo: skip (don't fail) this test when there's no network
9185         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
9186         on the presumption that it means you lack network access.
9187
9188 2009-01-26  Jim Meyering  <meyering@redhat.com>
9189
9190         fflush: avoid warnings on modern systems
9191         * lib/fflush.c (rpl_fflush): Move declarations of locals,
9192         pos and result, into scopes where they're used.
9193
9194 2009-01-26  Eric Blake  <ebb9@byu.net>
9195
9196         Silence warning reintroduced by recent extensions patch.
9197         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
9198         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
9199         autoconf.
9200
9201         Backport improved autoconf semantics of AC_DEFUN_ONCE.
9202         * m4/00gnulib.m4: New file.
9203         * gnulib-tool (func_get_filelist): Always use it.
9204         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
9205         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
9206
9207 2009-01-25  Bruno Haible  <bruno@clisp.org>
9208
9209         Make test-quotearg work on MacOS X and AIX.
9210         * tests/test-quotearg.sh: New file.
9211         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
9212         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
9213         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
9214         include <libintl.h>.
9215         (fake_locale): Remove variable.
9216         (gettext, dgettext, dcgettext): Remove functions.
9217         (main): Instead of setting a fake locale, set a real locale. Call
9218         textdomain and bindtextdomain.
9219         * modules/quotearg-tests (Files): Add the new files.
9220         (Depends-on): Add gettext, setenv, unsetenv.
9221         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
9222         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
9223         Augment TESTS_ENVIRONMENT.
9224
9225 2009-01-25  Bruno Haible  <bruno@clisp.org>
9226
9227         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
9228         fr_FR.ISO8859-1 locale on MacOS X.
9229         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
9230         ja_JP.eucJP locale on MacOS X.
9231         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
9232         zh_CN.GB18030 locale on MacOS X.
9233
9234 2009-01-25  Bruno Haible  <bruno@clisp.org>
9235
9236         Avoid link errors on MacOS X 10.3.
9237         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
9238         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
9239
9240 2009-01-25  Bruno Haible  <bruno@clisp.org>
9241
9242         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
9243         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
9244         * modules/pipe (Files): Remove m4/posix_spawn.m4.
9245         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
9246         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
9247         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
9248         posix_spawnattr_init, posix_spawnattr_setsigmask,
9249         posix_spawnattr_setflags, posix_spawnattr_destroy.
9250
9251         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
9252         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
9253         * modules/execute (Files): Remove m4/posix_spawn.m4.
9254         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
9255         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
9256         posix_spawnattr_init, posix_spawnattr_setsigmask,
9257         posix_spawnattr_setflags, posix_spawnattr_destroy.
9258
9259 2009-01-25  Bruno Haible  <bruno@clisp.org>
9260
9261         * lib/glthread/threadlib.c: Include <stdlib.h>.
9262
9263 2009-01-25  Bruno Haible  <bruno@clisp.org>
9264
9265         * lib/glthread/threadlib.c (dummy): New declaration.
9266
9267 2009-01-25  Bruno Haible  <bruno@clisp.org>
9268
9269         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
9270         multibyte characters also for the GB18030 encoding. Don't crash when
9271         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
9272
9273 2009-01-25  Bruno Haible  <bruno@clisp.org>
9274
9275         Avoid redefining 'struct random_data' on OSF/1 5.1.
9276         * lib/stdlib.in.h: Include <random.h> if it exists.
9277         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
9278         HAVE_RANDOM_H. Include <random.h> when testing whether
9279         'struct random_data' exists.
9280         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
9281
9282 2009-01-25  Bruno Haible  <bruno@clisp.org>
9283
9284         Don't install charset.alias on MacOS X >= 10.3.
9285         * lib/localcharset.c (DARWIN7): New macro.
9286         (get_charset_aliases): Hardcode the result for Darwin7.
9287         * modules/localcharset (install-exec-local): Don't install
9288         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
9289
9290 2009-01-25  Bruno Haible  <bruno@clisp.org>
9291
9292         Don't install charset.alias on mingw and Cygwin.
9293         * modules/localcharset (install-exec-local): Don't install
9294         charset.alias on mingw and Cygwin, if the file does not yet exist.
9295         The result for these platforms is hardcoded in localcharset.c.
9296
9297 2009-01-25  Bruno Haible  <bruno@clisp.org>
9298
9299         Make it possible again to use AC_GNU_SOURCE together with gnulib.
9300         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
9301         before requiring AC_USE_SYSTEM_EXTENSIONS.
9302
9303 2009-01-25  Jim Meyering  <meyering@redhat.com>
9304
9305         c-strtod: avoid warnings
9306         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
9307         "assignment discards qualifiers from pointer target type" warnings.
9308
9309 2009-01-24  Bruno Haible  <bruno@clisp.org>
9310
9311         Add support for non-UTF-8 locales on MacOS X.
9312         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
9313         canonical encodings. For Darwin 7 and newer, don't map traditional
9314         encodings to UTF-8.
9315         Reported by Vincent Lefevre <vincent@vinc17.org>
9316         at <http://savannah.gnu.org/bugs/?25235>.
9317
9318 2009-01-24  Bruno Haible  <bruno@clisp.org>
9319
9320         * doc/gnulib.texi (Obsolete modules): New section.
9321         Reported by Mike Frysinger <vapier@gentoo.org>.
9322
9323 2009-01-24  Bruno Haible  <bruno@clisp.org>
9324
9325         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
9326         (%.dvi): New rule.
9327
9328 2009-01-24  Bruno Haible  <bruno@clisp.org>
9329
9330         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
9331         Reported by Eric Blake.
9332
9333 2009-01-24  Bruno Haible  <bruno@clisp.org>
9334
9335         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
9336         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
9337         Reported by Gary V. Vaughan <gary@gnu.org>.
9338
9339 2009-01-24  Bruno Haible  <bruno@clisp.org>
9340
9341         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
9342
9343 2009-01-23  Bruno Haible  <bruno@clisp.org>
9344
9345         Make c-strtod, c-strtold usable in libraries.
9346         * lib/c-strtod.c: Include string.h instead of xalloc.h.
9347         (C_STRTOD): Call strdup instead of xstrdup.
9348         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
9349         * modules/c-strtold (Depends-on): Likewise.
9350         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
9351         * NEWS: Mention the change.
9352         Reported by Michael Gold <mgold@ncf.ca>.
9353
9354 2009-01-23  Jim Meyering  <meyering@redhat.com>
9355
9356         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
9357         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
9358         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
9359
9360 2009-01-23  Simon Josefsson  <simon@josefsson.org>
9361
9362         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
9363         GNU CoreUtils.
9364         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
9365         * modules/version-etc (Description): Update.
9366
9367 2009-01-22  Bruno Haible  <bruno@clisp.org>
9368
9369         Cache the C locale object.
9370         * lib/c-strtod.c (c_locale_cache): New variable.
9371         (c_locale): New function.
9372         (C_STRTOD): Use it, and don't call freelocale.
9373         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
9374         Suggested by Paolo Bonzini.
9375
9376 2009-01-21  Bruno Haible  <bruno@clisp.org>
9377
9378         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
9379         conditions other than overflow.
9380
9381 2009-01-21  Bruno Haible  <bruno@clisp.org>
9382
9383         * lib/c-strtod.c: Include errno.h.
9384         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
9385         value from STRTOD_L and STRTOD.
9386
9387 2009-01-21  Bruno Haible  <bruno@clisp.org>
9388         and Jim Meyering  <meyering@redhat.com>
9389
9390         nanosleep: skip configure test (fail it) for apple universal builds
9391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
9392         universal builds, assume that nanosleep does not work.
9393         * modules/nanosleep (Depends-on): Add multiarch.
9394
9395         mktime: skip configure test (fail it) for apple universal builds
9396         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
9397         universal builds, assume that mktime does not work.
9398         * modules/mktime (Depends-on): Add multiarch.
9399
9400 2009-01-21  Eric Blake  <ebb9@byu.net>
9401
9402         multiarch: avoid expand-before-require warning
9403         * modules/multiarch (configure.ac): Require, rather than expand,
9404         gl_MULTIARCH.
9405         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
9406         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
9407         enforce that all clients require it.  Partial reversion of
9408         2008-12-29 patch.
9409
9410         error: avoid expand-before-require warning
9411         * modules/errno (configure.ac): Require, rather than expand,
9412         gl_HEADER_ERRNO_H.
9413         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
9414         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
9415         enforce that all clients require it.
9416
9417         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
9418         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
9419         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
9420         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
9421
9422 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
9423
9424         Revert:
9425         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
9426
9427         regex: do not depend on obsolete modules.
9428         * modules/regex: Remove memcmp and memmove.
9429
9430 2009-01-20  Bruno Haible  <bruno@clisp.org>
9431
9432         Make the 'link' module link on Windows NT 4.
9433         * lib/link.c (_WIN32_WINNT): Don't define.
9434         (CreateHardLinkFuncType): New type.
9435         (CreateHardLinkFunc, initialized): New variables.
9436         (initialize): New function.
9437         (link): Invoke CreateHardLink indirectly through the function pointer.
9438
9439 2009-01-20  Bruno Haible  <bruno@clisp.org>
9440
9441         Fix compilation failure on mingw.
9442         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
9443
9444 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
9445
9446         * doc/c-strtod.texi: Mention a couple of restrictions.
9447
9448 2009-01-20  Jim Meyering  <meyering@redhat.com>
9449
9450         gettimeofday: move more declarations out of functions
9451         * lib/gettimeofday.c: Move extern declarations of tzset and
9452         gmtime out of containing functions.  Prompted by Bruno Haible.
9453
9454 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
9455
9456         regex: do not depend on obsolete modules.
9457         * modules/regex: Remove memcmp and memmove.
9458
9459 2009-01-19  Bruno Haible  <bruno@clisp.org>
9460
9461         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
9462         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
9463         gl_BIGENDIAN, not AC_C_BIGENDIAN.
9464         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
9465         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
9466
9467 2009-01-19  Bruno Haible  <bruno@clisp.org>
9468
9469         * tests/test-link.c: Include <errno.h>.
9470         (main): Exit with code 77 when a hard link cannot be created due to
9471         the file system.
9472         * tests/test-link.sh: Skip test when a hard link cannot be created due
9473         to the file system.
9474         Suggested by Eric Blake.
9475
9476 2009-01-19  Martin Lambers  <marlam@marlam.de>
9477
9478         * modules/link-tests: New file.
9479         * tests/test-link.sh: New file.
9480         * tests/test-link.c: New file.
9481
9482 2009-01-19  Eric Blake  <ebb9@byu.net>
9483
9484         doc: mention another function added in cygwin 1.7.0
9485         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
9486         Another new function in cygwin 1.7.
9487
9488 2009-01-19  Bruno Haible  <bruno@clisp.org>
9489
9490         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
9491         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
9492         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
9493         gl_BIGENDIAN, not AC_C_BIGENDIAN.
9494         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
9495         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
9496         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9497         * m4/md4.m4 (gl_MD4): Likewise.
9498         * m4/md5.m4 (gl_MD5): Likewise.
9499         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
9500         * m4/sha1.m4 (gl_SHA1): Likewise.
9501         * m4/sha256.m4 (gl_SHA256): Likewise.
9502         * m4/sha512.m4 (gl_SHA512): Likewise.
9503
9504 2009-01-19  Bruno Haible  <bruno@clisp.org>
9505
9506         * modules/uniname/uniname-tests (Depends-on): Add progname.
9507         * tests/uniname/test-uninames.c: Include progname.h.
9508         (main): Call set_program_name.
9509
9510         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
9511         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
9512         (main): Call set_program_name.
9513
9514         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
9515         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
9516         (main): Call set_program_name.
9517
9518         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
9519         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
9520         (main): Call set_program_name.
9521
9522         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
9523         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
9524         (main): Call set_program_name.
9525
9526         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
9527         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
9528         (main): Call set_program_name.
9529
9530         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
9531         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
9532         (main): Call set_program_name.
9533
9534         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
9535         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
9536         (main): Call set_program_name.
9537
9538         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
9539         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
9540         (main): Call set_program_name.
9541
9542 2009-01-19  Eric Blake  <ebb9@byu.net>
9543
9544         test-unistd: test previous patch
9545         * tests/test-unistd.c: Test *_FILENO macros.
9546
9547         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
9548         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9549         Guarantee a definition.
9550         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
9551         * modules/unistd-safer (Depends-on): Add dependency on unistd.
9552         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
9553         * lib/dup-safer.c (STDERR_FILENO): Likewise.
9554         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9555         Likewise.
9556         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
9557         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
9558         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9559         Likewise.
9560         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
9561         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
9562         (STDERR_FILENO): Likewise.
9563         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
9564         (STDERR_FILENO): Likewise.
9565         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
9566         (STDERR_FILENO): Likewise.
9567         Reported by Elbert Pol.
9568
9569 2009-01-19  Eric Blake  <ebb9@byu.net>
9570
9571         doc: mention more functions added in cygwin 1.7.0
9572         * doc/posix-functions/abort.texi (abort): Update wording related
9573         to cygwin.
9574         * doc/posix-functions/daylight.texi (daylight): Likewise.
9575         * doc/posix-functions/optarg.texi (optarg): Likewise.
9576         * doc/posix-functions/optarg.texi (opterr): Likewise.
9577         * doc/posix-functions/optarg.texi (optind): Likewise.
9578         * doc/posix-functions/optarg.texi (optopt): Likewise.
9579         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
9580         worked in 1.5.x, and was withdrawn in 1.7.
9581         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9582         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
9583         cygwin versions.
9584         * doc/posix-functions/perror.texi (perror): Likewise.
9585         * doc/posix-functions/printf.texi (printf): Likewise.
9586         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
9587         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
9588         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9589         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9590         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9591         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
9592         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
9593         Likewise.
9594         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
9595         Likewise.
9596         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
9597         this function.
9598         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
9599         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
9600         Likewise.
9601         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
9602         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
9603         * doc/posix-functions/confstr.texi (confstr): Likewise.
9604         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
9605         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
9606         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
9607         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
9608         * doc/posix-functions/fputws.texi (fputws): Likewise.
9609         * doc/posix-functions/fwide.texi (fwide): Likewise.
9610         * doc/posix-functions/getwc.texi (getwc): Likewise.
9611         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
9612         * doc/posix-functions/putwc.texi (putwc): Likewise.
9613         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9614         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
9615         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
9616         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9617         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
9618         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
9619         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
9620         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
9621         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
9622         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
9623         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
9624
9625 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9626
9627         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
9628         * lib/ioctl.c: Include <sys/ioctl.h>.
9629
9630 2009-01-19  Simon Josefsson  <simon@josefsson.org>
9631
9632         * modules/getdate-tests (Depends-on): Add progname.
9633         * tests/test-getdate.c: Use progname module, to avoid link errors
9634         on non-glibc systems.
9635
9636 2009-01-18  Simon Josefsson  <simon@josefsson.org>
9637
9638         * modules/filenamecat-tests (Depends-on): Add progname.
9639         * modules/fstrcmp-tests (Depends-on): Likewise.
9640
9641         * tests/test-filenamecat.c: Use progname module, to avoid link
9642         errors on non-glibc systems.
9643         * tests/test-fstrcmp.c: Likewise.
9644
9645 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9646
9647         gettimeofday: avoid warning: nested extern declaration of 'localtime'
9648         * lib/gettimeofday.c: Move extern declaration out of function.
9649
9650 2009-01-18  Bruno Haible  <bruno@clisp.org>
9651
9652         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
9653         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
9654         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
9655
9656 2009-01-18  Bruno Haible  <bruno@clisp.org>
9657
9658         * lib/strftime.c (MEMPCPY): Remove unused macro.
9659         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
9660
9661 2009-01-18  Martin Lambers  <marlam@marlam.de>
9662
9663         New module 'link'.
9664         * lib/unistd.in.h (link): New declaration.
9665         * lib/link.c: New file.
9666         * m4/link.m4: New file.
9667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
9668         HAVE_LINK.
9669         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
9670         * modules/link: New file.
9671         * doc/posix-functions/link.texi: Mention the new module.
9672
9673 2009-01-18  Bruno Haible  <bruno@clisp.org>
9674
9675         * tests/test-avltree_list.c (main): Call set_program_name.
9676         * tests/test-avltree_oset.c (main): Likewise.
9677         * tests/test-obstack-printf.c: Include progname.h.
9678         (main): Call set_program_name.
9679         * tests/test-quotearg.c: Include progname.h.
9680         (main): Call set_program_name.
9681         * tests/test-xmemdup0.c: Include progname.h.
9682         (main): Call set_program_name.
9683
9684 2009-01-18  Bruno Haible  <bruno@clisp.org>
9685
9686         New module 'alphasort'.
9687         * lib/dirent.in.h (alphasort): New declaration.
9688         * lib/alphasort.c: New file, from glibc with modifications.
9689         * m4/alphasort.m4: New file.
9690         * modules/alphasort: New file.
9691         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
9692         HAVE_ALPHASORT.
9693         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
9694         HAVE_ALPHASORT.
9695         * doc/posix-functions/alphasort.texi: Mention the new module and the
9696         portability problems.
9697
9698 2009-01-18  Bruno Haible  <bruno@clisp.org>
9699
9700         New module 'scandir'.
9701         * lib/dirent.in.h (scandir): New declaration.
9702         * lib/scandir.c: New file, from glibc with modifications.
9703         * m4/scandir.m4: New file.
9704         * modules/scandir: New file.
9705         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
9706         HAVE_SCANDIR.
9707         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
9708         HAVE_SCANDIR.
9709         * doc/posix-functions/scandir.texi: Mention the new module and the
9710         portability problems.
9711
9712 2009-01-17  Bruno Haible  <bruno@clisp.org>
9713
9714         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
9715         Update documentation.
9716         (func_remove_suffix): Escape all dots in the suffix. Update
9717         documentation.
9718         (func_filter_filelist): Update documentation.
9719         Reported by Ralf Wildenhues.
9720
9721 2009-01-17  Bruno Haible  <bruno@clisp.org>
9722
9723         * modules/dprintf-posix-tests: New file.
9724         * tests/test-dprintf-posix.sh: New file.
9725         * tests/test-dprintf-posix.c: New file.
9726
9727         New modules 'dprintf', 'dprintf-posix'.
9728         * lib/stdio.in.h (dprintf): New declaration.
9729         * lib/dprintf.c: New file.
9730         * m4/dprintf.m4: New file.
9731         * m4/dprintf-posix.m4: New file.
9732         * modules/dprintf: New file.
9733         * modules/dprintf-posix: New file.
9734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
9735         HAVE_DPRINTF, REPLACE_DPRINTF.
9736         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
9737         HAVE_DPRINTF, REPLACE_DPRINTF.
9738         * doc/posix-functions/dprintf.texi: Mention the new modules.
9739
9740 2009-01-17  Bruno Haible  <bruno@clisp.org>
9741
9742         * modules/vdprintf-posix-tests: New file.
9743         * tests/test-vdprintf-posix.sh: New file.
9744         * tests/test-vdprintf-posix.c: New file.
9745
9746         New modules 'vdprintf', 'vdprintf-posix'.
9747         * lib/stdio.in.h (vdprintf): New declaration.
9748         * lib/vdprintf.c: New file.
9749         * m4/vdprintf.m4: New file.
9750         * m4/vdprintf-posix.m4: New file.
9751         * modules/vdprintf: New file.
9752         * modules/vdprintf-posix: New file.
9753         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
9754         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9755         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
9756         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9757         * doc/posix-functions/vdprintf.texi: Mention the new modules.
9758
9759 2009-01-17  Bruno Haible  <bruno@clisp.org>
9760
9761         Fix replacement of fopen on mingw.
9762         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
9763         mingw.
9764
9765 2009-01-17  Bruno Haible  <bruno@clisp.org>
9766
9767         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
9768         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
9769
9770 2009-01-17  Bruno Haible  <bruno@clisp.org>
9771
9772         Avoid test-fflush2.sh failure on mingw.
9773         * tests/test-fflush2.c: Include binary-io.h.
9774         (main): Put standard input into binary mode.
9775         * modules/fflush-tests (Depends-on): Add binary-io.
9776
9777 2009-01-17  Bruno Haible  <bruno@clisp.org>
9778
9779         * lib/wchar.in.h: In another particular situation, include only the
9780         system's <wchar.h> file.
9781         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
9782         Reported by Albert Chin-A-Young <china@thewrittenword.com>
9783         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
9784
9785 2009-01-17  Bruno Haible  <bruno@clisp.org>
9786
9787         Support for stripping executables in --enable-relocatable.
9788         * build-aux/install-reloc: Expect one more argument, or an environment
9789         variable RELOC_STRIP_PROG. If set, strip the destination program and
9790         its wrapper.
9791         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
9792         RELOC_STRIP_PROG.
9793         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
9794         to set RELOCATABLE_STRIP.
9795         * NEWS: Mention the new Makefile requirement.
9796
9797 2009-01-17  Bruno Haible  <bruno@clisp.org>
9798
9799         * build-aux/install-reloc: Remove debugging information left over by
9800         C compiler on MacOS X.
9801
9802 2009-01-17  Bruno Haible  <bruno@clisp.org>
9803
9804         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
9805         * lib/progreloc.c (find_executable): Fix type of pointer passed to
9806         _NSGetExecutablePath.
9807
9808 2009-01-16  Jim Meyering  <meyering@redhat.com>
9809
9810         strerror: avoid warnings about discarding "const"
9811         * lib/strerror.c (rpl_strerror): Instead of returning a const
9812         string from each and every "case", use a variable, and add a single
9813         cast after the switch.
9814
9815 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
9816
9817         * lib/arpa_inet.in.h: Add extern "C" block for C++.
9818
9819 2009-01-16  Bruno Haible  <bruno@clisp.org>
9820
9821         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
9822         array initializer syntax that also works in C++ mode.
9823         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9824
9825 2009-01-16  Jim Meyering  <meyering@redhat.com>
9826
9827         poll: suppress a warning
9828         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
9829         to ignore "...unsigned expression < 0 is always false" warnings.
9830
9831 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
9832
9833         poll: remove declarations of unused variables
9834         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
9835         sockbuf and optlen.
9836
9837 2009-01-15  Bruno Haible  <bruno@clisp.org>
9838
9839         Make fflush-after-ungetc POSIX compliant on BSD systems.
9840         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
9841         (clear_ungetc_buffer): Implement also for other systems.
9842         (rpl_fflush): On glibc systems, invoke
9843         clear_ungetc_buffer_preserving_position. Otherwise, invoke
9844         clear_ungetc_buffer after fetching the stream's position, not before.
9845
9846 2009-01-15  Bruno Haible  <bruno@clisp.org>
9847
9848         Make fflush-after-ungetc POSIX compliant on glibc systems.
9849         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
9850         after ungetc.
9851         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
9852         (rpl_fflush): On glibc systems, simply call the system's fflush
9853         function after clearing the ungetc buffer.
9854         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
9855         Instead, lseek only to the end of file, then use the system's fseeko
9856         for the rest. On glibc systems, reset the EOF indicator bit.
9857
9858 2009-01-15  Jim Meyering  <meyering@redhat.com>
9859
9860         openmp.m4: revert quote-adding change, for portability to older autoconf
9861         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
9862         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
9863         Simon Josefsson noticed the problem when using autoconf-2.61.
9864
9865 2009-01-15  Bruno Haible  <bruno@clisp.org>
9866
9867         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
9868         * tests/test-fflush2.c (ASSERT): Always fail.
9869         (main): Add two tests for fflush() after ungetc(), taking into account
9870         the Austin Group's clarification.
9871         Suggested by Eric Blake.
9872
9873 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
9874
9875         mktime.m4: remove K&R-style function prototypes
9876         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
9877         for the Sun C++ compiler.
9878
9879 2009-01-14  Bruno Haible  <bruno@clisp.org>
9880
9881         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
9882         while including <wchar.h>.
9883         * lib/wchar.in.h: In two particular situations on HP-UX, include only
9884         the system's <wchar.h> file.
9885         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9886
9887 2009-01-14  Bruno Haible  <bruno@clisp.org>
9888
9889         * m4/csharp.m4: Don't mention gettext on the serial number line.
9890         * m4/csharpexec.m4: Likewise.
9891         * m4/eaccess.m4: Likewise.
9892         * m4/javaexec.m4: Likewise.
9893         * m4/sig_atomic_t.m4: Likewise.
9894         * m4/tmpdir.m4: Likewise.
9895         * m4/intldir.m4: Bump gettext version.
9896         * m4/lib-ld.m4: Likewise.
9897
9898 2009-01-14  Bruno Haible  <bruno@clisp.org>
9899
9900         * lib/progname.c (set_program_name): Add more comments.
9901         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
9902
9903 2009-01-14  Simon Josefsson  <simon@josefsson.org>
9904
9905         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
9906         were sys/stat.h does not define it.
9907
9908 2009-01-14  Jim Meyering  <meyering@redhat.com>
9909
9910         many *.m4 files: improve m4 quoting
9911         99% of this change was performed by running the following commands:
9912         git ls-files | grep '\.m4$' | xargs perl -pi \
9913           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
9914           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9915           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9916           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
9917         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
9918         The remainder were to add Copyright dates, increment serial numbers,
9919         undo some changes in comments, exclude m4/intl.m4, and add quotes
9920         around the "1" in ",1" where the unusual spacing prohibited the
9921         above regexps from doing the job.  For more details, see
9922         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
9923         * m4/acl.m4: Modified.
9924         * m4/afs.m4: Likewise.
9925         * m4/alloca.m4: Likewise.
9926         * m4/argp.m4: Likewise.
9927         * m4/argz.m4: Likewise.
9928         * m4/atexit.m4: Likewise.
9929         * m4/bison-i18n.m4: Likewise.
9930         * m4/bison.m4: Likewise.
9931         * m4/byteswap.m4: Likewise.
9932         * m4/c-stack.m4: Likewise.
9933         * m4/c-strtod.m4: Likewise.
9934         * m4/calloc.m4: Likewise.
9935         * m4/canonicalize-lgpl.m4: Likewise.
9936         * m4/chown.m4: Likewise.
9937         * m4/clock_time.m4: Likewise.
9938         * m4/codeset.m4: Likewise.
9939         * m4/copy-file.m4: Likewise.
9940         * m4/csharp.m4: Likewise.
9941         * m4/csharpcomp.m4: Likewise.
9942         * m4/csharpexec.m4: Likewise.
9943         * m4/d-ino.m4: Likewise.
9944         * m4/d-type.m4: Likewise.
9945         * m4/dirfd.m4: Likewise.
9946         * m4/double-slash-root.m4: Likewise.
9947         * m4/eaccess.m4: Likewise.
9948         * m4/eealloc.m4: Likewise.
9949         * m4/environ.m4: Likewise.
9950         * m4/errno_h.m4: Likewise.
9951         * m4/euidaccess.m4: Likewise.
9952         * m4/execute.m4: Likewise.
9953         * m4/fatal-signal.m4: Likewise.
9954         * m4/fchdir.m4: Likewise.
9955         * m4/fcntl_h.m4: Likewise.
9956         * m4/fileblocks.m4: Likewise.
9957         * m4/filenamecat.m4: Likewise.
9958         * m4/findprog.m4: Likewise.
9959         * m4/flexmember.m4: Likewise.
9960         * m4/fnmatch.m4: Likewise.
9961         * m4/fopen.m4: Likewise.
9962         * m4/fpending.m4: Likewise.
9963         * m4/fprintf-posix.m4: Likewise.
9964         * m4/free.m4: Likewise.
9965         * m4/frexp.m4: Likewise.
9966         * m4/frexpl.m4: Likewise.
9967         * m4/fsusage.m4: Likewise.
9968         * m4/ftruncate.m4: Likewise.
9969         * m4/gc-camellia.m4: Likewise.
9970         * m4/gc-random.m4: Likewise.
9971         * m4/gc.m4: Likewise.
9972         * m4/getaddrinfo.m4: Likewise.
9973         * m4/getcwd-abort-bug.m4: Likewise.
9974         * m4/getcwd-path-max.m4: Likewise.
9975         * m4/getdate.m4: Likewise.
9976         * m4/getdomainname.m4: Likewise.
9977         * m4/getgroups.m4: Likewise.
9978         * m4/gethostname.m4: Likewise.
9979         * m4/gethrxtime.m4: Likewise.
9980         * m4/getline.m4: Likewise.
9981         * m4/getloadavg.m4: Likewise.
9982         * m4/getndelim2.m4: Likewise.
9983         * m4/getpass.m4: Likewise.
9984         * m4/gettext.m4: Likewise.
9985         * m4/gettime.m4: Likewise.
9986         * m4/gettimeofday.m4: Likewise.
9987         * m4/gnulib-common.m4: Likewise.
9988         * m4/group-member.m4: Likewise.
9989         * m4/host-os.m4: Likewise.
9990         * m4/iconv.m4: Likewise.
9991         * m4/iconv_open.m4: Likewise.
9992         * m4/inet_ntop.m4: Likewise.
9993         * m4/inet_pton.m4: Likewise.
9994         * m4/inline.m4: Likewise.
9995         * m4/intldir.m4: Likewise.
9996         * m4/intlmacosx.m4: Likewise.
9997         * m4/intmax.m4: Likewise.
9998         * m4/intmax_t.m4: Likewise.
9999         * m4/inttypes.m4: Likewise.
10000         * m4/inttypes_h.m4: Likewise.
10001         * m4/inttypes-pri.m4: Likewise.
10002         * m4/isapipe.m4: Likewise.
10003         * m4/isnand.m4: Likewise.
10004         * m4/isnanf.m4: Likewise.
10005         * m4/isnanl.m4: Likewise.
10006         * m4/javacomp.m4: Likewise.
10007         * m4/javaexec.m4: Likewise.
10008         * m4/jm-winsz1.m4: Likewise.
10009         * m4/jm-winsz2.m4: Likewise.
10010         * m4/lchown.m4: Likewise.
10011         * m4/lcmessage.m4: Likewise.
10012         * m4/ldexpl.m4: Likewise.
10013         * m4/lib-ld.m4: Likewise.
10014         * m4/lib-link.m4: Likewise.
10015         * m4/libsigsegv.m4: Likewise.
10016         * m4/link-follow.m4: Likewise.
10017         * m4/localcharset.m4: Likewise.
10018         * m4/locale-fr.m4: Likewise.
10019         * m4/locale-ja.m4: Likewise.
10020         * m4/locale-tr.m4: Likewise.
10021         * m4/locale-zh.m4: Likewise.
10022         * m4/lock.m4: Likewise.
10023         * m4/longlong.m4: Likewise.
10024         * m4/ls-mntd-fs.m4: Likewise.
10025         * m4/lstat.m4: Likewise.
10026         * m4/malloc.m4: Likewise.
10027         * m4/mathl.m4: Likewise.
10028         * m4/mbrtowc.m4: Likewise.
10029         * m4/mbstate_t.m4: Likewise.
10030         * m4/mbswidth.m4: Likewise.
10031         * m4/memchr.m4: Likewise.
10032         * m4/memcmp.m4: Likewise.
10033         * m4/memcpy.m4: Likewise.
10034         * m4/memmem.m4: Likewise.
10035         * m4/memmove.m4: Likewise.
10036         * m4/mempcpy.m4: Likewise.
10037         * m4/memrchr.m4: Likewise.
10038         * m4/memset.m4: Likewise.
10039         * m4/minmax.m4: Likewise.
10040         * m4/mkdir-slash.m4: Likewise.
10041         * m4/mkdtemp.m4: Likewise.
10042         * m4/mktime.m4: Likewise.
10043         * m4/mmap-anon.m4: Likewise.
10044         * m4/mountlist.m4: Likewise.
10045         * m4/nanosleep.m4: Likewise.
10046         * m4/nls.m4: Likewise.
10047         * m4/nocrash.m4: Likewise.
10048         * m4/open.m4: Likewise.
10049         * m4/openat.m4: Likewise.
10050         * m4/openmp.m4: Likewise.
10051         * m4/pathmax.m4: Likewise.
10052         * m4/perl.m4: Likewise.
10053         * m4/physmem.m4: Likewise.
10054         * m4/pipe.m4: Likewise.
10055         * m4/po.m4: Likewise.
10056         * m4/poll.m4: Likewise.
10057         * m4/posixtm.m4: Likewise.
10058         * m4/posixver.m4: Likewise.
10059         * m4/printf-frexp.m4: Likewise.
10060         * m4/printf-frexpl.m4: Likewise.
10061         * m4/printf-posix.m4: Likewise.
10062         * m4/printf-posix-rpl.m4: Likewise.
10063         * m4/printf.m4: Likewise.
10064         * m4/progtest.m4: Likewise.
10065         * m4/putenv.m4: Likewise.
10066         * m4/readline.m4: Likewise.
10067         * m4/readlink.m4: Likewise.
10068         * m4/readutmp.m4: Likewise.
10069         * m4/realloc.m4: Likewise.
10070         * m4/regex.m4: Likewise.
10071         * m4/relocatable.m4: Likewise.
10072         * m4/relocatable-lib.m4: Likewise.
10073         * m4/rename-dest-slash.m4: Likewise.
10074         * m4/rename.m4: Likewise.
10075         * m4/rmdir-errno.m4: Likewise.
10076         * m4/rmdir.m4: Likewise.
10077         * m4/roundf.m4: Likewise.
10078         * m4/roundl.m4: Likewise.
10079         * m4/rpmatch.m4: Likewise.
10080         * m4/save-cwd.m4: Likewise.
10081         * m4/selinux-selinux-h.m4: Likewise.
10082         * m4/setenv.m4: Likewise.
10083         * m4/settime.m4: Likewise.
10084         * m4/sig2str.m4: Likewise.
10085         * m4/sig_atomic_t.m4: Likewise.
10086         * m4/signalblocking.m4: Likewise.
10087         * m4/signbit.m4: Likewise.
10088         * m4/sigpipe.m4: Likewise.
10089         * m4/sockets.m4: Likewise.
10090         * m4/sockpfaf.m4: Likewise.
10091         * m4/st_dm_mode.m4: Likewise.
10092         * m4/stat-time.m4: Likewise.
10093         * m4/stdbool.m4: Likewise.
10094         * m4/stdint.m4: Likewise.
10095         * m4/stdint_h.m4: Likewise.
10096         * m4/stpcpy.m4: Likewise.
10097         * m4/stpncpy.m4: Likewise.
10098         * m4/strcase.m4: Likewise.
10099         * m4/strchrnul.m4: Likewise.
10100         * m4/strcspn.m4: Likewise.
10101         * m4/strdup.m4: Likewise.
10102         * m4/strftime.m4: Likewise.
10103         * m4/strndup.m4: Likewise.
10104         * m4/strnlen.m4: Likewise.
10105         * m4/strpbrk.m4: Likewise.
10106         * m4/strptime.m4: Likewise.
10107         * m4/strsep.m4: Likewise.
10108         * m4/strtod.m4: Likewise.
10109         * m4/strtoimax.m4: Likewise.
10110         * m4/strtok_r.m4: Likewise.
10111         * m4/strtol.m4: Likewise.
10112         * m4/strtoll.m4: Likewise.
10113         * m4/strtoul.m4: Likewise.
10114         * m4/strtoull.m4: Likewise.
10115         * m4/strtoumax.m4: Likewise.
10116         * m4/strverscmp.m4: Likewise.
10117         * m4/threadlib.m4: Likewise.
10118         * m4/timegm.m4: Likewise.
10119         * m4/tm_gmtoff.m4: Likewise.
10120         * m4/tmpdir.m4: Likewise.
10121         * m4/tmpfile.m4: Likewise.
10122         * m4/tzset.m4: Likewise.
10123         * m4/uintmax_t.m4: Likewise.
10124         * m4/unlinkdir.m4: Likewise.
10125         * m4/unlocked-io.m4: Likewise.
10126         * m4/uptime.m4: Likewise.
10127         * m4/userspec.m4: Likewise.
10128         * m4/utimbuf.m4: Likewise.
10129         * m4/utime.m4: Likewise.
10130         * m4/utimes-null.m4: Likewise.
10131         * m4/utimes.m4: Likewise.
10132         * m4/vararrays.m4: Likewise.
10133         * m4/vasnprintf.m4: Likewise.
10134         * m4/vfprintf-posix.m4: Likewise.
10135         * m4/vprintf-posix.m4: Likewise.
10136         * m4/wait-process.m4: Likewise.
10137         * m4/wchar_t.m4: Likewise.
10138         * m4/wint_t.m4: Likewise.
10139         * m4/write-any-file.m4: Likewise.
10140         * m4/yield.m4: Likewise.
10141
10142 2009-01-13  Bruno Haible  <bruno@clisp.org>
10143
10144         Avoid test-copy-file.sh failures when ACL support insufficient.
10145         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
10146         TESTS_ENVIRONMENT.
10147         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
10148         Reported by Jim Meyering.
10149
10150 2009-01-13  Bruno Haible  <bruno@clisp.org>
10151
10152         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
10153         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
10154         * modules/unistdio/u8-printf-parse (Files): Likewise.
10155         * modules/unistdio/u32-printf-parse (Files): Likewise.
10156         * modules/unistdio/ulc-printf-parse (Files): Likewise.
10157
10158 2009-01-13  Simon Josefsson  <simon@josefsson.org>
10159
10160         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
10161         and m4/inttypes_h.m4 too.
10162
10163 2009-01-12  Eric Blake  <ebb9@byu.net>
10164
10165         tests: IRIX 6.2 cc can't compile -0.0 into .data
10166         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
10167         rather than at compile-time.
10168         * tests/test-floorl.c (minus_zero): Likewise.
10169         * tests/test-frexpl.c (minus_zero): Likewise.
10170         * tests/test-isnan.c (minus_zerol): Likewise.
10171         * tests/test-isnanl.h (minus_zero): Likewise.
10172         * tests/test-ldexpl.c (minus_zero): Likewise.
10173         * tests/test-roundl.c (minus_zero): Likewise.
10174         * tests/test-signbit.c (minus_zerol): Likewise.
10175         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
10176         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
10177         * tests/test-truncl.c (minus_zero): Likewise.
10178         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
10179         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
10180         Reported by Tom G. Christensen and Nelson H. F. Beebe.
10181
10182 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
10183
10184         regex: fix glibc bug 9697
10185         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
10186         handling.
10187
10188 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
10189
10190         regex: fix glibc bug 697
10191         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
10192         being NULL also if there are no backreferences.
10193
10194 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
10195
10196         regex: merge glibc changes
10197         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
10198         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
10199         re_string_skip_chars, re_string_reconstruct): Likewise.
10200         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
10201
10202 2009-01-07  Jim Meyering  <meyering@redhat.com>
10203
10204         poll: filter through cppi
10205         * lib/poll.c: Indent cpp directives to reflect nesting.
10206
10207 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
10208
10209         poll: don't return uninitialized
10210         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
10211
10212 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
10213
10214         avoid compile failure on AIX 6.1
10215         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
10216         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
10217
10218 2009-01-04  Jim Meyering  <meyering@redhat.com>
10219
10220         remove duplicate inclusion of <stdio.h>
10221         * tests/test-fprintf-posix.c: Likewise.
10222         * tests/test-printf-posix.c: Likewise.
10223         * tests/test-snprintf-posix.c: Likewise.
10224         * tests/test-sprintf-posix.c: Likewise.
10225         * tests/test-vasprintf-posix.c: Likewise.
10226         * tests/test-vfprintf-posix.c: Likewise.
10227         * tests/test-vprintf-posix.c: Likewise.
10228         * tests/test-vsnprintf-posix.c: Likewise.
10229         * tests/test-vsprintf-posix.c: Likewise.
10230
10231 2009-01-03  Jim Meyering  <meyering@redhat.com>
10232
10233         gnulib-tool: fix sed-based filtering
10234         * gnulib-tool (func_filter_filelist): Remove extra backslash
10235         in sed_fff_filter definition.
10236
10237 2009-01-02  Jim Meyering  <meyering@redhat.com>
10238
10239         strftime: avoid compilation failure on Solaris 2.6
10240         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
10241         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
10242         Don't #define mbrlen or mbsinit, since now they're guaranteed to
10243         be available.  Reported by Tom G. Christensen.  Details in
10244         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
10245
10246 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10247             Bruno Haible  <bruno@clisp.org>
10248
10249         Speed up gnulib-tool by doing more string processing through shell
10250         built-ins.
10251         * gnulib-tool (fast_func_append): New variable.
10252         (func_remove_prefix, func_remove_suffix): New functions.
10253         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
10254         (func_filter_filelist): New function.
10255         (func_get_dependencies): Use func_remove_suffix instead of sed.
10256         (func_get_automake_snippet): Use func_filter_filelist instead of a
10257         subshell and sed invocation.
10258
10259 2009-01-01  Bruno Haible  <bruno@clisp.org>
10260
10261         Fix a security bug.
10262         * gnulib-tool (func_import, import, update): Don't allow the characters
10263         '"', '$', '`', '\' in macro arguments that become part of commands that
10264         are evaluated.
10265
10266 2009-01-01  Bruno Haible  <bruno@clisp.org>
10267
10268         * gnulib-tool (func_reset_sigpipe): Add more comments.
10269
10270 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10271
10272         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
10273         func_emit_tests_Makefile_am, func_import): Abort loops early if we
10274         already know the answer.
10275
10276 2009-01-01  Jim Meyering  <meyering@redhat.com>
10277
10278         * lib/version-etc.c (version_etc_va): Update copyright year.
10279
10280 2008-12-30  Bruno Haible  <bruno@clisp.org>
10281
10282         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
10283         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
10284         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
10285
10286 2008-12-29  Eric Blake  <ebb9@byu.net>
10287
10288         multiarch: avoid autoconf AC_REQUIRE bug
10289         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
10290         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
10291         2.63 and older.
10292         Reported by Bruno Haible, and analyzed in
10293         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
10294
10295 2008-12-29  Bruno Haible  <bruno@clisp.org>
10296
10297         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
10298         files in subdirectories correctly.
10299         Reported by Ralf Wildenhues.
10300
10301 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10302
10303         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
10304         rather than 'join FILE -', for Solaris join.
10305
10306 2008-12-29  Bruno Haible  <bruno@clisp.org>
10307
10308         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
10309         quoting.
10310         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10311         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
10312         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
10313         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
10314         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10315         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10316         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10317         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10318         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10319         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10320         * m4/nls.m4 (AM_NLS): Likewise.
10321         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
10322         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10323         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10324         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10325         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10326         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10327         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
10328         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10329         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10330         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10331         * m4/xsize.m4 (gl_XSIZE): Likewise.
10332         Suggested by Jim Meyering.
10333
10334 2008-11-17  Bruce Korb  <bkorb@gnu.org>
10335
10336         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
10337         * lib/parse-duration.c: use a switch instead of cascading if's.
10338
10339 2008-12-29  Eric Blake  <ebb9@byu.net>
10340
10341         wchar.h: supply WEOF on Irix 5.3
10342         * lib/wchar.in.h (wint_t): Also supply WEOF.
10343         * lib/wctype.in.h (wint_t): Likewise.
10344         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
10345         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
10346         Reported by Tom G. Christensen.
10347
10348 2008-12-26  Bruno Haible  <bruno@clisp.org>
10349
10350         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
10351         i486, i586, i686.
10352
10353 2008-12-26  Bruno Haible  <bruno@clisp.org>
10354
10355         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
10356
10357 2008-12-26  Bruno Haible  <bruno@clisp.org>
10358
10359         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
10360         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
10361         not __STDC_CONSTANT_MACROS.
10362         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
10363
10364 2008-12-25  Bruno Haible  <bruno@clisp.org>
10365
10366         Add support for universal builds to vasnprintf.
10367         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
10368         universal builds, guess no.
10369         * modules/vasnprintf-posix (Depends-on): Add multiarch.
10370         * modules/vasprintf-posix (Depends-on): Likewise.
10371         * modules/fprintf-posix (Depends-on): Likewise.
10372         * modules/vfprintf-posix (Depends-on): Likewise.
10373         * modules/snprintf-posix (Depends-on): Likewise.
10374         * modules/vsnprintf-posix (Depends-on): Likewise.
10375         * modules/sprintf-posix (Depends-on): Likewise.
10376         * modules/vsprintf-posix (Depends-on): Likewise.
10377         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10378         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10379         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10380         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10381         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10382         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10383         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10384
10385         Add support for universal builds to <inttypes.h>.
10386         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10387         _SCNu64_PREFIX): In Apple
10388         universal builds, define directly, using _LP64.
10389         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
10390         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
10391         * modules/inttypes (Depends-on): Add multiarch.
10392         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
10393
10394         Add support for universal builds to <stdint.h>.
10395         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
10396         universal builds, define directly, using _LP64.
10397         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
10398         Apple universal builds, don't test for the size and suffix of ptrdiff_t
10399         and size_t.
10400         * modules/stdint (Depends-on): Add multiarch.
10401         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
10402
10403         New module 'multiarch'.
10404         * modules/multiarch: New file.
10405         * m4/multiarch.m4: New file.
10406
10407 2008-12-25  Bruno Haible  <bruno@clisp.org>
10408
10409         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
10410
10411 2008-12-25  Bruno Haible  <bruno@clisp.org>
10412
10413         * modules/btowc (License): Relicense under LGPLv2+.
10414         * modules/mbsinit (License): Likewise.
10415         * modules/mbrtowc (License): Likewise.
10416         * modules/wcrtomb (License): Likewise.
10417         * modules/streq (License): Likewise.
10418         Reported by David Lutterkort <lutter@redhat.com>.
10419
10420 2008-12-23  Bruno Haible  <bruno@clisp.org>
10421
10422         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
10423
10424 2008-12-23  Bruno Haible  <bruno@clisp.org>
10425
10426         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
10427         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
10428         GETADDRINFO_LIB, not in LIBS.
10429         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
10430         * modules/canon-host (Link): Likewise.
10431         * NEWS: Mention the change.
10432         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
10433         GETADDRINFO_LIB.
10434
10435 2008-12-22  Bruno Haible  <bruno@clisp.org>
10436
10437         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
10438         * doc/posix-functions/iswalpha_l.texi: Likewise.
10439         * doc/posix-functions/iswblank_l.texi: Likewise.
10440         * doc/posix-functions/iswcntrl_l.texi: Likewise.
10441         * doc/posix-functions/iswctype_l.texi: Likewise.
10442         * doc/posix-functions/iswdigit_l.texi: Likewise.
10443         * doc/posix-functions/iswgraph_l.texi: Likewise.
10444         * doc/posix-functions/iswlower_l.texi: Likewise.
10445         * doc/posix-functions/iswprint_l.texi: Likewise.
10446         * doc/posix-functions/iswpunct_l.texi: Likewise.
10447         * doc/posix-functions/iswspace_l.texi: Likewise.
10448         * doc/posix-functions/iswupper_l.texi: Likewise.
10449         * doc/posix-functions/iswxdigit_l.texi: Likewise.
10450         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
10451         * doc/posix-functions/open_wmemstream.texi: Likewise.
10452         * doc/posix-functions/swscanf.texi: Likewise.
10453         * doc/posix-functions/towctrans_l.texi: Likewise.
10454         * doc/posix-functions/towlower.texi: Likewise.
10455         * doc/posix-functions/towlower_l.texi: Likewise.
10456         * doc/posix-functions/towupper.texi: Likewise.
10457         * doc/posix-functions/towupper_l.texi: Likewise.
10458         * doc/posix-functions/vfwprintf.texi: Likewise.
10459         * doc/posix-functions/vfwscanf.texi: Likewise.
10460         * doc/posix-functions/vswscanf.texi: Likewise.
10461         * doc/posix-functions/vwprintf.texi: Likewise.
10462         * doc/posix-functions/vwscanf.texi: Likewise.
10463         * doc/posix-functions/wcpcpy.texi: Likewise.
10464         * doc/posix-functions/wcpncpy.texi: Likewise.
10465         * doc/posix-functions/wcscasecmp.texi: Likewise.
10466         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
10467         * doc/posix-functions/wcscoll_l.texi: Likewise.
10468         * doc/posix-functions/wcsdup.texi: Likewise.
10469         * doc/posix-functions/wcsncasecmp.texi: Likewise.
10470         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
10471         * doc/posix-functions/wcsnlen.texi: Likewise.
10472         * doc/posix-functions/wcsnrtombs.texi: Likewise.
10473         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
10474         * doc/posix-functions/wctrans_l.texi: Likewise.
10475         * doc/posix-functions/wctype_l.texi: Likewise.
10476         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
10477         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
10478         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
10479         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
10480         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
10481         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
10482         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
10483         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
10484         * doc/glibc-functions/wcschrnul.texi: Likewise.
10485         * doc/glibc-functions/wcsftime_l.texi: Likewise.
10486         * doc/glibc-functions/wcstod_l.texi: Likewise.
10487         * doc/glibc-functions/wcstof_l.texi: Likewise.
10488         * doc/glibc-functions/wcstol_l.texi: Likewise.
10489         * doc/glibc-functions/wcstold_l.texi: Likewise.
10490         * doc/glibc-functions/wcstoll_l.texi: Likewise.
10491         * doc/glibc-functions/wcstoq.texi: Likewise.
10492         * doc/glibc-functions/wcstoul_l.texi: Likewise.
10493         * doc/glibc-functions/wcstoull_l.texi: Likewise.
10494         * doc/glibc-functions/wcstouq.texi: Likewise.
10495         * doc/glibc-functions/wmempcpy.texi: Likewise.
10496
10497 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
10498             Eric Blake  <ebb9@byu.net>
10499             Paolo Bonzini  <bonzini@gnu.org>
10500             Bruno Haible  <bruno@clisp.org>
10501
10502         Make c-stack work on Haiku.
10503         * lib/c-stack.c (SA_ONSTACK): Define fallback.
10504         (c_stack_action): Use SA_ONSTACK flag.
10505
10506 2008-12-22  Bruno Haible  <bruno@clisp.org>
10507
10508         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
10509
10510 2008-12-22  Bruno Haible  <bruno@clisp.org>
10511
10512         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
10513         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
10514         being overridden.
10515         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
10516         New macros.
10517         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
10518         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
10519         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
10520         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
10521
10522 2008-12-22  Bruno Haible  <bruno@clisp.org>
10523
10524         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
10525         from test code.
10526
10527 2008-12-22  Eric Blake  <ebb9@byu.net>
10528
10529         Avoid gcc warnings on cygwin.
10530         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
10531         Avoid unused variable.
10532         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
10533         Likewise.
10534
10535 2008-12-22  Bruno Haible  <bruno@clisp.org>
10536
10537         Remove HAVE_MBRTOWC conditionals.
10538         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
10539         (mbscasecmp): Assume mbrtowc function.
10540         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
10541         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
10542         * lib/mbschr.c: Include mbuiter.h unconditionally.
10543         (mbschr): Assume mbrtowc function.
10544         * lib/mbscspn.c: Include mbuiter.h unconditionally.
10545         (mbscspn): Assume mbrtowc function.
10546         * lib/mbslen.c: Include mbuiter.h unconditionally.
10547         (mbslen): Assume mbrtowc function.
10548         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
10549         (mbsncasecmp): Assume mbrtowc function.
10550         * lib/mbsnlen.c: Include mbiter.h unconditionally.
10551         (mbsnlen): Assume mbrtowc function.
10552         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
10553         (mbspbrk): Assume mbrtowc function.
10554         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
10555         (mbspcasecmp): Assume mbrtowc function.
10556         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
10557         (mbsrchr): Assume mbrtowc function.
10558         * lib/mbssep.c: Include mbuiter.h unconditionally.
10559         (mbssep): Assume mbrtowc function.
10560         * lib/mbsspn.c: Include mbuiter.h unconditionally.
10561         (mbsspn): Assume mbrtowc function.
10562         * lib/mbsstr.c: Include mbuiter.h unconditionally.
10563         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
10564         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
10565         (mbstok_r): Assume mbrtowc function.
10566         * lib/propername.c: Include mbuiter.h unconditionally.
10567         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
10568         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
10569         (trim2): Assume mbrtowc function.
10570         * lib/mbswidth.c (mbsinit): Remove fallback definition.
10571         (mbsnwidth): Assume mbrtowc function.
10572         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
10573         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
10574         fallback definitions.
10575         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
10576
10577 2008-12-22  Bruno Haible  <bruno@clisp.org>
10578
10579         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
10580
10581 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
10582
10583         * modules/regex: Request emulations for the mb*/wc* functions we need.
10584         * m4/regex.m4: Don't look for those functions here.
10585         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
10586
10587 2008-12-22  Bruno Haible  <bruno@clisp.org>
10588
10589         * modules/fnmatch (Depends-on): Remove duplicated dependency.
10590
10591 2008-12-21  Bruno Haible  <bruno@clisp.org>
10592
10593         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
10594         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
10595         (Include): Remove conditionalization.
10596         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
10597         (Include): Remove conditionalization.
10598         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
10599         (Include): Remove conditionalization.
10600         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
10601         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10602         * NEWS: Mention the change.
10603         Reported by Alan Hourihane <alanh@fairlite.co.uk>
10604         via Sergey Poznyakoff <gray@gnu.org.ua>.
10605
10606 2008-12-21  Bruno Haible  <bruno@clisp.org>
10607
10608         * MODULES.html.sh (Extended multibyte and wide character utilities
10609         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
10610         wcrtomb, wcsrtombs.
10611         (Support for systems lacking POSIX:2008): Add accept, bind, close,
10612         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
10613         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
10614         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
10615
10616 2008-12-21  Bruno Haible  <bruno@clisp.org>
10617
10618         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
10619
10620 2008-12-21  Bruno Haible  <bruno@clisp.org>
10621
10622         * modules/wcsnrtombs-tests: New file.
10623         * tests/test-wcsnrtombs1.sh: New file.
10624         * tests/test-wcsnrtombs2.sh: New file.
10625         * tests/test-wcsnrtombs3.sh: New file.
10626         * tests/test-wcsnrtombs4.sh: New file.
10627         * tests/test-wcsnrtombs.c: New file.
10628
10629         New module 'wcsnrtombs'.
10630         * lib/wchar.in.h (wcsnrtombs): New declaration.
10631         * lib/wcsnrtombs.c: New file.
10632         * lib/wcsrtombs-state.c: New file.
10633         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
10634         (internal_state): Remove variable.
10635         * m4/wcsnrtombs.m4: New file.
10636         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
10637         compilation units.
10638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
10639         HAVE_WCSNRTOMBS.
10640         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
10641         HAVE_WCSNRTOMBS.
10642         * modules/wcsnrtombs: New file.
10643         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
10644         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10645
10646 2008-12-21  Bruno Haible  <bruno@clisp.org>
10647
10648         * modules/wcsrtombs-tests: New file.
10649         * tests/test-wcsrtombs1.sh: New file.
10650         * tests/test-wcsrtombs2.sh: New file.
10651         * tests/test-wcsrtombs3.sh: New file.
10652         * tests/test-wcsrtombs4.sh: New file.
10653         * tests/test-wcsrtombs.c: New file.
10654
10655         New module 'wcsrtombs'.
10656         * lib/wchar.in.h (wcsrtombs): New declaration.
10657         * lib/wcsrtombs.c: New file.
10658         * m4/wcsrtombs.m4: New file.
10659         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
10660         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10661         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
10662         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10663         * modules/wcsrtombs: New file.
10664         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
10665         bugs.
10666
10667 2008-12-21  Bruno Haible  <bruno@clisp.org>
10668
10669         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
10670         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
10671         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
10672         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
10673         if not correct.
10674         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
10675         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
10676         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10677         m4/locale-zh.m4, m4/codeset.m4.
10678         * doc/posix-functions/wcrtomb.texi: Document the bug.
10679
10680 2008-12-21  Bruno Haible  <bruno@clisp.org>
10681
10682         Work around a btowc() bug on IRIX 6.5.
10683         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
10684         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
10685         REPLACE_WTOBC if not.
10686         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
10687         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
10688         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
10689
10690 2008-12-21  Bruno Haible  <bruno@clisp.org>
10691
10692         * modules/wcrtomb-tests: New file.
10693         * tests/test-wcrtomb.sh: New file.
10694         * tests/test-wcrtomb.c: New file.
10695
10696         New module 'wcrtomb'.
10697         * lib/wchar.in.h (wcrtomb): New declaration.
10698         * lib/wcrtomb.c: New file.
10699         * m4/wcrtomb.m4: New file.
10700         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
10701         HAVE_WCRTOMB.
10702         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
10703         HAVE_WCRTOMB.
10704         * modules/wcrtomb: New file.
10705         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10706
10707 2008-12-21  Bruno Haible  <bruno@clisp.org>
10708
10709         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
10710         * modules/mbsrtowcs (Files): Likewise.
10711         * modules/wctob (Files): Likewise.
10712         * modules/c-strcase-tests (Files): Likewise.
10713         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10714         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10715         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10716         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10717         * modules/vasnprintf-posix-tests (Files): Likewise.
10718
10719 2008-12-21  William Pursell  <bill.pursell@gmail.com>
10720
10721         gitlog-to-changelog: pass all command-line arguments to git-log
10722         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
10723         it is sometimes convenient to filter the commits in various ways.
10724         gitlog-to-changelog only allows --since to specify a start date,
10725         but git-log itself supports many other filtering mechanisms.
10726         At the moment, I want to filter by branch name.  Rather than
10727         adding a --branch option to gitlog-to-changelog, it seems more
10728         flexible to simply pass all options directly to git-log and let
10729         git do the work.  Notice that this effectively makes --since a
10730         redundant option for gitlog-to-changelog, but removing it would
10731         require current usage to change since calls would then require
10732         an additional '--'.
10733
10734 2008-12-21  Bruno Haible  <bruno@clisp.org>
10735
10736         * modules/mbsnrtowcs-tests: New file.
10737         * tests/test-mbsnrtowcs1.sh: New file.
10738         * tests/test-mbsnrtowcs2.sh: New file.
10739         * tests/test-mbsnrtowcs3.sh: New file.
10740         * tests/test-mbsnrtowcs4.sh: New file.
10741         * tests/test-mbsnrtowcs.c: New file.
10742
10743         New module 'mbsnrtowcs'.
10744         * lib/wchar.in.h (mbsnrtowcs): New declaration.
10745         * lib/mbsnrtowcs.c: New file.
10746         * lib/mbsrtowcs-state.c: New file.
10747         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
10748         (internal_state): Remove variable.
10749         * m4/mbsnrtowcs.m4: New file.
10750         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
10751         compilation units.
10752         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
10753         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10754         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
10755         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10756         * modules/mbsnrtowcs: New file.
10757         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
10758         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
10759         portability problem.
10760
10761 2008-12-21  Bruno Haible  <bruno@clisp.org>
10762
10763         Work around mbsrtowcs bug.
10764         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
10765         (gl_FUNC_MBSRTOWCS): Invoke it.
10766         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10767         m4/locale-zh.m4.
10768         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
10769
10770 2008-12-21  Bruno Haible  <bruno@clisp.org>
10771
10772         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
10773
10774 2008-12-21  Bruno Haible  <bruno@clisp.org>
10775
10776         Update doc for AIX.
10777         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
10778         16-bit wchar_t type.
10779         * doc/posix-functions/btowc.texi: Likewise.
10780         * doc/posix-functions/fgetwc.texi: Likewise.
10781         * doc/posix-functions/fgetws.texi: Likewise.
10782         * doc/posix-functions/fputwc.texi: Likewise.
10783         * doc/posix-functions/fputws.texi: Likewise.
10784         * doc/posix-functions/fwide.texi: Likewise.
10785         * doc/posix-functions/fwprintf.texi: Likewise.
10786         * doc/posix-functions/fwscanf.texi: Likewise.
10787         * doc/posix-functions/getwchar.texi: Likewise.
10788         * doc/posix-functions/getwc.texi: Likewise.
10789         * doc/posix-functions/iswalnum.texi: Likewise.
10790         * doc/posix-functions/iswalpha.texi: Likewise.
10791         * doc/posix-functions/iswblank.texi: Likewise.
10792         * doc/posix-functions/iswcntrl.texi: Likewise.
10793         * doc/posix-functions/iswctype.texi: Likewise.
10794         * doc/posix-functions/iswdigit.texi: Likewise.
10795         * doc/posix-functions/iswgraph.texi: Likewise.
10796         * doc/posix-functions/iswlower.texi: Likewise.
10797         * doc/posix-functions/iswprint.texi: Likewise.
10798         * doc/posix-functions/iswpunct.texi: Likewise.
10799         * doc/posix-functions/iswspace.texi: Likewise.
10800         * doc/posix-functions/iswupper.texi: Likewise.
10801         * doc/posix-functions/iswxdigit.texi: Likewise.
10802         * doc/posix-functions/mbrtowc.texi: Likewise.
10803         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10804         * doc/posix-functions/mbstowcs.texi: Likewise.
10805         * doc/posix-functions/mbtowc.texi: Likewise.
10806         * doc/posix-functions/putwchar.texi: Likewise.
10807         * doc/posix-functions/putwc.texi: Likewise.
10808         * doc/posix-functions/swprintf.texi: Likewise.
10809         * doc/posix-functions/tolower.texi: Likewise.
10810         * doc/posix-functions/toupper.texi: Likewise.
10811         * doc/posix-functions/towctrans.texi: Likewise.
10812         * doc/posix-functions/ungetwc.texi: Likewise.
10813         * doc/posix-functions/vswprintf.texi: Likewise.
10814         * doc/posix-functions/wcrtomb.texi: Likewise.
10815         * doc/posix-functions/wcscat.texi: Likewise.
10816         * doc/posix-functions/wcschr.texi: Likewise.
10817         * doc/posix-functions/wcscmp.texi: Likewise.
10818         * doc/posix-functions/wcscoll.texi: Likewise.
10819         * doc/posix-functions/wcscpy.texi: Likewise.
10820         * doc/posix-functions/wcscspn.texi: Likewise.
10821         * doc/posix-functions/wcsftime.texi: Likewise.
10822         * doc/posix-functions/wcslen.texi: Likewise.
10823         * doc/posix-functions/wcsncat.texi: Likewise.
10824         * doc/posix-functions/wcsncmp.texi: Likewise.
10825         * doc/posix-functions/wcsncpy.texi: Likewise.
10826         * doc/posix-functions/wcspbrk.texi: Likewise.
10827         * doc/posix-functions/wcsrchr.texi: Likewise.
10828         * doc/posix-functions/wcsrtombs.texi: Likewise.
10829         * doc/posix-functions/wcsspn.texi: Likewise.
10830         * doc/posix-functions/wcsstr.texi: Likewise.
10831         * doc/posix-functions/wcstod.texi: Likewise.
10832         * doc/posix-functions/wcstof.texi: Likewise.
10833         * doc/posix-functions/wcstoimax.texi: Likewise.
10834         * doc/posix-functions/wcstok.texi: Likewise.
10835         * doc/posix-functions/wcstold.texi: Likewise.
10836         * doc/posix-functions/wcstoll.texi: Likewise.
10837         * doc/posix-functions/wcstol.texi: Likewise.
10838         * doc/posix-functions/wcstombs.texi: Likewise.
10839         * doc/posix-functions/wcstoull.texi: Likewise.
10840         * doc/posix-functions/wcstoul.texi: Likewise.
10841         * doc/posix-functions/wcstoumax.texi: Likewise.
10842         * doc/posix-functions/wcswidth.texi: Likewise.
10843         * doc/posix-functions/wcsxfrm.texi: Likewise.
10844         * doc/posix-functions/wctob.texi: Likewise.
10845         * doc/posix-functions/wctomb.texi: Likewise.
10846         * doc/posix-functions/wctrans.texi: Likewise.
10847         * doc/posix-functions/wctype.texi: Likewise.
10848         * doc/posix-functions/wcwidth.texi: Likewise.
10849         * doc/posix-functions/wmemchr.texi: Likewise.
10850         * doc/posix-functions/wmemcmp.texi: Likewise.
10851         * doc/posix-functions/wmemcpy.texi: Likewise.
10852         * doc/posix-functions/wmemmove.texi: Likewise.
10853         * doc/posix-functions/wmemset.texi: Likewise.
10854         * doc/posix-functions/wprintf.texi: Likewise.
10855         * doc/posix-functions/wscanf.texi: Likewise.
10856
10857 2008-12-21  Bruno Haible  <bruno@clisp.org>
10858
10859         Update doc for HP-UX 11.11.
10860         * doc/posix-functions/btowc.texi: Clarify that the function is missing
10861         in HP-UX version 11.00, not in all versions of HP-UX 11.
10862         * doc/posix-functions/fwide.texi: Likewise.
10863         * doc/posix-functions/fwprintf.texi: Likewise.
10864         * doc/posix-functions/fwscanf.texi: Likewise.
10865         * doc/posix-functions/inet_ntop.texi: Likewise.
10866         * doc/posix-functions/inet_pton.texi: Likewise.
10867         * doc/posix-functions/mbrlen.texi: Likewise.
10868         * doc/posix-functions/mbrtowc.texi: Likewise.
10869         * doc/posix-functions/mbsinit.texi: Likewise.
10870         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10871         * doc/posix-functions/swprintf.texi: Likewise.
10872         * doc/posix-functions/swscanf.texi: Likewise.
10873         * doc/posix-functions/towctrans.texi: Likewise.
10874         * doc/posix-functions/vfwprintf.texi: Likewise.
10875         * doc/posix-functions/vswprintf.texi: Likewise.
10876         * doc/posix-functions/vwprintf.texi: Likewise.
10877         * doc/posix-functions/wcrtomb.texi: Likewise.
10878         * doc/posix-functions/wcsrtombs.texi: Likewise.
10879         * doc/posix-functions/wcsstr.texi: Likewise.
10880         * doc/posix-functions/wctob.texi: Likewise.
10881         * doc/posix-functions/wctrans.texi: Likewise.
10882         * doc/posix-functions/wmemchr.texi: Likewise.
10883         * doc/posix-functions/wmemcmp.texi: Likewise.
10884         * doc/posix-functions/wmemcpy.texi: Likewise.
10885         * doc/posix-functions/wmemmove.texi: Likewise.
10886         * doc/posix-functions/wmemset.texi: Likewise.
10887         * doc/posix-functions/wprintf.texi: Likewise.
10888         * doc/posix-functions/wscanf.texi: Likewise.
10889
10890 2008-12-21  Bruno Haible  <bruno@clisp.org>
10891
10892         Work around a portability problem.
10893         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
10894         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
10895
10896 2008-12-20  Bruno Haible  <bruno@clisp.org>
10897
10898         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
10899         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
10900         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
10901         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
10902         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
10903
10904         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
10905         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
10906         set.
10907         (GNULIB_defined_mbstate_t): New macro.
10908         (mbsinit): Redefine if REPLACE_MBSINIT is set.
10909         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
10910         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
10911         reuses the system's mbrtowc function but works around the bugs.
10912         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
10913         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
10914         macros.
10915         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
10916         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
10917         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
10918         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
10919         REPLACE_MBSINIT if mbsinit needs to be overridden.
10920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
10921         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10922         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
10923         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10924         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10925         m4/locale-zh.m4.
10926         (Depends): Add mbsinit.
10927         * modules/mbsinit (Depends): Add mbrtowc.
10928         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
10929
10930 2008-12-20  Bruno Haible  <bruno@clisp.org>
10931
10932         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
10933         so that there are no conversion errors on AIX.
10934         * tests/test-mbsrtowcs.c (main): LIkewise.
10935
10936 2008-12-20  Bruno Haible  <bruno@clisp.org>
10937
10938         Work around wctob bug on Solaris <= 9.
10939         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
10940         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
10941         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
10942         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
10943         * modules/wctob (Files): Add m4/locale-fr.m4.
10944         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
10945
10946 2008-12-20  Bruno Haible  <bruno@clisp.org>
10947
10948         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
10949         /dev/null.
10950         * tests/test-select-in.sh: Likewise.
10951         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10952
10953 2008-12-20  Bruno Haible  <bruno@clisp.org>
10954
10955         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
10956         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
10957         Cygwin 1.5.x.
10958
10959 2008-12-20  Bruno Haible  <bruno@clisp.org>
10960
10961         Ensure mbstate_t is defined on HP-UX 11.11.
10962         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
10963         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
10964         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
10965         AC_USE_SYSTEM_EXTENSIONS.
10966         * modules/fnmatch (Depends-on): Add extensions.
10967         * modules/mbrlen (Depends-on): Likewise.
10968         * modules/mbrtowc (Depends-on): Likewise.
10969         * modules/mbsinit (Depends-on): Likewise.
10970         * modules/mbsrtowcs (Depends-on): Likewise.
10971         * modules/mbswidth (Depends-on): Likewise.
10972         * modules/quotearg (Depends-on): Likewise.
10973         * modules/strftime (Depends-on): Likewise.
10974
10975 2008-12-20  Bruno Haible  <bruno@clisp.org>
10976
10977         Ensure wctob is declared on IRIX 6.5.
10978         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
10979         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
10980         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
10981         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
10982         of HAVE_WCTOB.
10983         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
10984         HAVE_WCTOB.
10985         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
10986
10987 2008-12-19  Bruno Haible  <bruno@clisp.org>
10988
10989         * modules/mbsrtowcs-tests: New file.
10990         * tests/test-mbsrtowcs1.sh: New file.
10991         * tests/test-mbsrtowcs2.sh: New file.
10992         * tests/test-mbsrtowcs3.sh: New file.
10993         * tests/test-mbsrtowcs4.sh: New file.
10994         * tests/test-mbsrtowcs.c: New file.
10995
10996         New module 'mbsrtowcs'.
10997         * lib/wchar.in.h (mbsrtowcs): New declaration.
10998         * lib/mbsrtowcs.c: New file.
10999         * m4/mbsrtowcs.m4: New file.
11000         * modules/mbsrtowcs: New file.
11001         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
11002         HAVE_MBSRTOWCS.
11003         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
11004         HAVE_MBSRTOWCS.
11005         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
11006
11007 2008-12-19  Bruno Haible  <bruno@clisp.org>
11008
11009         New module 'mbrlen'.
11010         * lib/wchar.in.h (mbrlen): New declaration.
11011         * lib/mbrlen.c: New file.
11012         * m4/mbrlen.m4: New file.
11013         * modules/mbrlen: New file.
11014         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
11015         HAVE_MBRLEN.
11016         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
11017         HAVE_MBRLEN.
11018         * doc/posix-functions/mbrlen.texi: Document the new module.
11019
11020 2008-12-19  Bruno Haible  <bruno@clisp.org>
11021
11022         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
11023         * modules/mbrtowc (Depends-on): Add verify.
11024         Suggested by Paul Eggert.
11025
11026 2008-12-18  Bruno Haible  <bruno@clisp.org>
11027
11028         * modules/mbsinit-tests: New file.
11029         * tests/test-mbsinit.sh: New file.
11030         * tests/test-mbsinit.c: New file.
11031
11032 2008-12-18  Bruno Haible  <bruno@clisp.org>
11033
11034         * modules/mbrtowc-tests: New file.
11035         * tests/test-mbrtowc1.sh: New file.
11036         * tests/test-mbrtowc2.sh: New file.
11037         * tests/test-mbrtowc3.sh: New file.
11038         * tests/test-mbrtowc4.sh: New file.
11039         * tests/test-mbrtowc.c: New file.
11040
11041         New module 'mbrtowc'.
11042         * lib/wchar.in.h (mbstate_t): Override when the system does not have
11043         mbsinit and mbrtowc.
11044         (mbrtowc): New declaration.
11045         * lib/mbrtowc.c: New file.
11046         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
11047         * modules/mbrtowc: New file.
11048         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
11049         HAVE_MBRTOWC.
11050         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
11051         HAVE_MBRTOWC.
11052         * doc/posix-functions/mbrtowc.texi: Document the new module.
11053
11054 2008-12-18  Bruno Haible  <bruno@clisp.org>
11055
11056         New module 'wctob'.
11057         * lib/wchar.in.h (wctob): New declaration.
11058         * lib/wctob.c: New file.
11059         * m4/wctob.m4: New file.
11060         * modules/wctob: New file.
11061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
11062         HAVE_WCTOB.
11063         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
11064         * doc/posix-functions/wctob.texi: Document the new module.
11065
11066 2008-12-18  Bruno Haible  <bruno@clisp.org>
11067
11068         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
11069         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
11070
11071 2008-12-18  Simon Josefsson  <simon@josefsson.org>
11072
11073         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
11074         G. Christensen" <tgc@jupiterrise.com>.
11075
11076         * lib/flock.c: Need to include errno.h.  Reported by "Tom
11077         G. Christensen" <tgc@jupiterrise.com>.
11078
11079         * lib/flock.c: Need to include string.h.  Reported by "Tom
11080         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
11081         <ebb9@byu.net>.
11082
11083 2008-12-18  Bruno Haible  <bruno@clisp.org>
11084
11085         * m4/locale-ja.m4: New file, from GNU gettext.
11086
11087 2008-12-17  Bruno Haible  <bruno@clisp.org>
11088
11089         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
11090         Suggested by Eric Blake.
11091
11092 2008-12-17  Bruno Haible  <bruno@clisp.org>
11093
11094         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
11095
11096 2008-12-17  Bruno Haible  <bruno@clisp.org>
11097
11098         * lib/mbsinit.c: Include verify.h. Verify an assumption.
11099         * modules/mbsinit (Depends-on): Add verify.
11100         Suggested by Paul Eggert.
11101
11102 2008-12-17  Bruno Haible  <bruno@clisp.org>
11103
11104         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
11105         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
11106         gl_FUNC_MBRTOWC.
11107         * m4/mbiter.m4 (gl_MBITER): LIkewise.
11108         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
11109         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
11110         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
11111         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
11112         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
11113         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
11114         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
11115         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
11116         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
11117         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
11118         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
11119         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
11120         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
11121         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
11122         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11123         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
11124         * modules/trim (configure.ac): Likewise.
11125
11126 2008-12-17  Bruno Haible  <bruno@clisp.org>
11127
11128         * modules/btowc-tests: New file.
11129         * tests/test-btowc1.sh: New file.
11130         * tests/test-btowc2.sh: New file.
11131         * tests/test-btowc.c: New file.
11132
11133         New module 'btowc'.
11134         * lib/wchar.in.h (btowc): New declaration.
11135         * lib/btowc.c: New file.
11136         * m4/btowc.m4: New file.
11137         * modules/btowc: New file.
11138         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
11139         HAVE_BTOWC.
11140         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
11141         * doc/posix-functions/btowc.texi: Document the new module.
11142
11143 2008-12-17  Bruno Haible  <bruno@clisp.org>
11144
11145         New module 'mbsinit'.
11146         * lib/wchar.in.h (mbsinit): New declaration.
11147         * lib/mbsinit.c: New file.
11148         * m4/mbsinit.m4: New file.
11149         * modules/mbsinit: New file.
11150         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
11151         HAVE_MBSINIT.
11152         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
11153         HAVE_MBSINIT.
11154         * doc/posix-functions/mbsinit.texi: Document the new module.
11155
11156 2008-12-16  Bruno Haible  <bruno@clisp.org>
11157
11158         * lib/unistd.in.h: Add comment.
11159         * tests/test-environ.c: Don't include <stdlib.h>.
11160
11161 2008-12-16  Bruno Haible  <bruno@clisp.org>
11162
11163         * lib/parse-duration.h (parse_duration): Document return value
11164         convention.
11165         * lib/parse-duration.c: Include specification header first. Add
11166         comments.
11167         (_): Remove macro.
11168         (parse_year_month_day, parse_hour_minute_second): Move side effects
11169         outside of strchr call.
11170         (parse_non_iso8601): Move side effects outside of isspace call.
11171         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
11172         call.
11173
11174 2008-12-16  Bruno Haible  <bruno@clisp.org>
11175
11176         * tests/test-parse-duration.sh: Produce no output when the test
11177         succeeds.
11178
11179 2008-12-16  Bruno Haible  <bruno@clisp.org>
11180
11181         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
11182         expressions.
11183
11184 2008-12-15  Bruno Haible  <bruno@clisp.org>
11185
11186         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
11187         * doc/glibc-functions/flistxattr.texi: Likewise.
11188         * doc/glibc-functions/fopencookie.texi: Likewise.
11189         * doc/glibc-functions/fremovexattr.texi: Likewise.
11190         * doc/glibc-functions/fsetxattr.texi: Likewise.
11191         * doc/glibc-functions/getxattr.texi: Likewise.
11192         * doc/glibc-functions/lgetxattr.texi: Likewise.
11193         * doc/glibc-functions/listxattr.texi: Likewise.
11194         * doc/glibc-functions/llistxattr.texi: Likewise.
11195         * doc/glibc-functions/lremovexattr.texi: Likewise.
11196         * doc/glibc-functions/lsetxattr.texi: Likewise.
11197         * doc/glibc-functions/removexattr.texi: Likewise.
11198         * doc/glibc-functions/setxattr.texi: Likewise.
11199         * doc/posix-functions/open_memstream.texi: Likewise.
11200
11201 2008-12-15  Eric Blake  <ebb9@byu.net>
11202
11203         Update doc for cygwin 1.7.
11204         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
11205         functions.
11206         * doc/posix-functions/fchmodat.texi: Likewise.
11207         * doc/posix-functions/fchownat.texi: Likewise.
11208         * doc/posix-functions/fdopendir.texi: Likewise.
11209         * doc/posix-functions/fmemopen.texi: Likewise.
11210         * doc/posix-functions/freeaddrinfo.texi: Likewise.
11211         * doc/posix-functions/fstatat.texi: Likewise.
11212         * doc/posix-functions/futimens.texi: Likewise.
11213         * doc/posix-functions/gai_strerror.texi: Likewise.
11214         * doc/posix-functions/getaddrinfo.texi: Likewise.
11215         * doc/posix-functions/getnameinfo.texi: Likewise.
11216         * doc/posix-functions/if_freenameindex.texi: Likewise.
11217         * doc/posix-functions/if_indextoname.texi: Likewise.
11218         * doc/posix-functions/if_nameindex.texi: Likewise.
11219         * doc/posix-functions/if_nametoindex.texi: Likewise.
11220         * doc/posix-functions/insque.texi: Likewise.
11221         * doc/posix-functions/linkat.texi: Likewise.
11222         * doc/posix-functions/llrint.texi: Likewise.
11223         * doc/posix-functions/llrintf.texi: Likewise.
11224         * doc/posix-functions/llrintl.texi: Likewise.
11225         * doc/posix-functions/lockf.texi: Likewise.
11226         * doc/posix-functions/lrintl.texi: Likewise.
11227         * doc/posix-functions/mkdirat.texi: Likewise.
11228         * doc/posix-functions/mkfifoat.texi: Likewise.
11229         * doc/posix-functions/mknodat.texi: Likewise.
11230         * doc/posix-functions/mq_close.texi: Likewise.
11231         * doc/posix-functions/mq_getattr.texi: Likewise.
11232         * doc/posix-functions/mq_notify.texi: Likewise.
11233         * doc/posix-functions/mq_open.texi: Likewise.
11234         * doc/posix-functions/mq_receive.texi: Likewise.
11235         * doc/posix-functions/mq_send.texi: Likewise.
11236         * doc/posix-functions/mq_setattr.texi: Likewise.
11237         * doc/posix-functions/mq_timedreceive.texi: Likewise.
11238         * doc/posix-functions/mq_timedsend.texi: Likewise.
11239         * doc/posix-functions/mq_unlink.texi: Likewise.
11240         * doc/posix-functions/open_memstream.texi: Likewise.
11241         * doc/posix-functions/openat.texi: Likewise.
11242         * doc/posix-functions/posix_fadvise.texi: Likewise.
11243         * doc/posix-functions/posix_fallocate.texi: Likewise.
11244         * doc/posix-functions/posix_madvise.texi: Likewise.
11245         * doc/posix-functions/posix_memalign.texi: Likewise.
11246         * doc/posix-functions/posix_openpt.texi: Likewise.
11247         * doc/posix-functions/readlinkat.texi: Likewise.
11248         * doc/posix-functions/remque.texi: Likewise.
11249         * doc/posix-functions/renameat.texi: Likewise.
11250         * doc/posix-functions/rintl.texi: Likewise.
11251         * doc/posix-functions/sem_unlink.texi: Likewise.
11252         * doc/posix-functions/shm_open.texi: Likewise.
11253         * doc/posix-functions/shm_unlink.texi: Likewise.
11254         * doc/posix-functions/signgam.texi: Likewise.
11255         * doc/posix-functions/sigset.texi: Likewise.
11256         * doc/posix-functions/stpcpy.texi: Likewise.
11257         * doc/posix-functions/stpncpy.texi: Likewise.
11258         * doc/posix-functions/strerror.texi: Likewise.
11259         * doc/posix-functions/strtod.texi: Likewise.
11260         * doc/posix-functions/symlinkat.texi: Likewise.
11261         * doc/posix-functions/unlinkat.texi: Likewise.
11262         * doc/posix-functions/utimensat.texi: Likewise.
11263         * doc/glibc-functions/bindresvport.texi: Likewise.
11264         * doc/glibc-functions/dn_expand.texi: Likewise.
11265         * doc/glibc-functions/exp10.texi: Likewise.
11266         * doc/glibc-functions/exp10f.texi: Likewise.
11267         * doc/glibc-functions/fgetxattr.texi: Likewise.
11268         * doc/glibc-functions/flistxattr.texi: Likewise.
11269         * doc/glibc-functions/fopencookie.texi: Likewise.
11270         * doc/glibc-functions/freeifaddrs.texi: Likewise.
11271         * doc/glibc-functions/fremovexattr.texi: Likewise.
11272         * doc/glibc-functions/fsetxattr.texi: Likewise.
11273         * doc/glibc-functions/getifaddrs.texi: Likewise.
11274         * doc/glibc-functions/getxattr.texi: Likewise.
11275         * doc/glibc-functions/lgetxattr.texi: Likewise.
11276         * doc/glibc-functions/listxattr.texi: Likewise.
11277         * doc/glibc-functions/llistxattr.texi: Likewise.
11278         * doc/glibc-functions/lremovexattr.texi: Likewise.
11279         * doc/glibc-functions/lsetxattr.texi: Likewise.
11280         * doc/glibc-functions/pow10.texi: Likewise.
11281         * doc/glibc-functions/pow10f.texi: Likewise.
11282         * doc/glibc-functions/rcmd_af.texi: Likewise.
11283         * doc/glibc-functions/removexattr.texi: Likewise.
11284         * doc/glibc-functions/res_init.texi: Likewise.
11285         * doc/glibc-functions/res_mkquery.texi: Likewise.
11286         * doc/glibc-functions/res_query.texi: Likewise.
11287         * doc/glibc-functions/res_querydomain.texi: Likewise.
11288         * doc/glibc-functions/res_send.texi: Likewise.
11289         * doc/glibc-functions/rresvport_af.texi: Likewise.
11290         * doc/glibc-functions/setxattr.texi: Likewise.
11291         * doc/glibc-functions/strcasestr.texi: Likewise.
11292
11293 2008-12-15  Bruno Haible  <bruno@clisp.org>
11294
11295         Fix compilation error on OSF/1 4.0.
11296         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
11297         <sys/time.h>, simply delegate to the system header.
11298         Reported by Daniel Richard G. <oss@teragram.com>.
11299
11300 2008-12-15  Bruno Haible  <bruno@clisp.org>
11301
11302         * doc/posix-functions/openat.texi: Mention the 'openat' module.
11303         * doc/posix-functions/fchmodat.texi: Likewise.
11304         * doc/posix-functions/fchownat.texi: Likewise.
11305         * doc/posix-functions/fdopendir.texi: Likewise.
11306         * doc/posix-functions/fstatat.texi: Likewise.
11307         * doc/posix-functions/mkdirat.texi: Likewise.
11308         * doc/posix-functions/unlinkat.texi: Likewise.
11309
11310 2008-12-14  Bruno Haible  <bruno@clisp.org>
11311
11312         Update doc for POSIX:2008.
11313         * doc/posix-functions/faccessat.texi: New file.
11314         * doc/posix-functions/fchmodat.texi: New file.
11315         * doc/posix-functions/fchownat.texi: New file.
11316         * doc/posix-functions/fdopendir.texi: New file.
11317         * doc/posix-functions/fstatat.texi: New file.
11318         * doc/posix-functions/futimens.texi: New file.
11319         * doc/posix-functions/linkat.texi: New file.
11320         * doc/posix-functions/mkdirat.texi: New file.
11321         * doc/posix-functions/mkfifoat.texi: New file.
11322         * doc/posix-functions/mknodat.texi: New file.
11323         * doc/posix-functions/open_wmemstream.texi: New file.
11324         * doc/posix-functions/openat.texi: New file.
11325         * doc/posix-functions/psiginfo.texi: New file.
11326         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
11327         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
11328         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
11329         * doc/posix-functions/readlinkat.texi: New file.
11330         * doc/posix-functions/renameat.texi: New file.
11331         * doc/posix-functions/strerror_l.texi: New file.
11332         * doc/posix-functions/symlinkat.texi: New file.
11333         * doc/posix-functions/unlinkat.texi: New file.
11334         * doc/posix-functions/utimensat.texi: New file.
11335         * doc/gnulib.texi (Function Substitutes): Add these subsections.
11336
11337 2008-12-14  Bruno Haible  <bruno@clisp.org>
11338
11339         Update doc for POSIX:2008.
11340         * doc/posix-functions/alphasort.texi: Renamed from
11341         doc/glibc-functions/alphasort.texi.
11342         * doc/posix-functions/dirfd.texi: Renamed from
11343         doc/glibc-functions/dirfd.texi.
11344         * doc/posix-functions/dprintf.texi: Renamed from
11345         doc/glibc-functions/dprintf.texi.
11346         * doc/posix-functions/duplocale.texi: Renamed from
11347         doc/glibc-functions/duplocale.texi.
11348         * doc/posix-functions/fexecve.texi: Renamed from
11349         doc/glibc-functions/fexecve.texi.
11350         * doc/posix-functions/fmemopen.texi: Renamed from
11351         doc/glibc-functions/fmemopen.texi.
11352         * doc/posix-functions/freelocale.texi: Renamed from
11353         doc/glibc-functions/freelocale.texi.
11354         * doc/posix-functions/getdate_err.texi: Renamed from
11355         doc/glibc-functions/getdate_err.texi.
11356         * doc/posix-functions/isalnum_l.texi: Renamed from
11357         doc/glibc-functions/isalnum_l.texi.
11358         * doc/posix-functions/isalpha_l.texi: Renamed from
11359         doc/glibc-functions/isalpha_l.texi.
11360         * doc/posix-functions/isblank_l.texi: Renamed from
11361         doc/glibc-functions/isblank_l.texi.
11362         * doc/posix-functions/iscntrl_l.texi: Renamed from
11363         doc/glibc-functions/iscntrl_l.texi.
11364         * doc/posix-functions/isdigit_l.texi: Renamed from
11365         doc/glibc-functions/isdigit_l.texi.
11366         * doc/posix-functions/isgraph_l.texi: Renamed from
11367         doc/glibc-functions/isgraph_l.texi.
11368         * doc/posix-functions/islower_l.texi: Renamed from
11369         doc/glibc-functions/islower_l.texi.
11370         * doc/posix-functions/isprint_l.texi: Renamed from
11371         doc/glibc-functions/isprint_l.texi.
11372         * doc/posix-functions/ispunct_l.texi: Renamed from
11373         doc/glibc-functions/ispunct_l.texi.
11374         * doc/posix-functions/isspace_l.texi: Renamed from
11375         doc/glibc-functions/isspace_l.texi.
11376         * doc/posix-functions/isupper_l.texi: Renamed from
11377         doc/glibc-functions/isupper_l.texi.
11378         * doc/posix-functions/iswalnum_l.texi: Renamed from
11379         doc/glibc-functions/iswalnum_l.texi.
11380         * doc/posix-functions/iswalpha_l.texi: Renamed from
11381         doc/glibc-functions/iswalpha_l.texi.
11382         * doc/posix-functions/iswblank_l.texi: Renamed from
11383         doc/glibc-functions/iswblank_l.texi.
11384         * doc/posix-functions/iswcntrl_l.texi: Renamed from
11385         doc/glibc-functions/iswcntrl_l.texi.
11386         * doc/posix-functions/iswctype_l.texi: Renamed from
11387         doc/glibc-functions/iswctype_l.texi.
11388         * doc/posix-functions/iswdigit_l.texi: Renamed from
11389         doc/glibc-functions/iswdigit_l.texi.
11390         * doc/posix-functions/iswgraph_l.texi: Renamed from
11391         doc/glibc-functions/iswgraph_l.texi.
11392         * doc/posix-functions/iswlower_l.texi: Renamed from
11393         doc/glibc-functions/iswlower_l.texi.
11394         * doc/posix-functions/iswprint_l.texi: Renamed from
11395         doc/glibc-functions/iswprint_l.texi.
11396         * doc/posix-functions/iswpunct_l.texi: Renamed from
11397         doc/glibc-functions/iswpunct_l.texi.
11398         * doc/posix-functions/iswspace_l.texi: Renamed from
11399         doc/glibc-functions/iswspace_l.texi.
11400         * doc/posix-functions/iswupper_l.texi: Renamed from
11401         doc/glibc-functions/iswupper_l.texi.
11402         * doc/posix-functions/iswxdigit_l.texi: Renamed from
11403         doc/glibc-functions/iswxdigit_l.texi.
11404         * doc/posix-functions/isxdigit_l.texi: Renamed from
11405         doc/glibc-functions/isxdigit_l.texi.
11406         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
11407         doc/glibc-functions/mbsnrtowcs.texi.
11408         * doc/posix-functions/mkdtemp.texi: Renamed from
11409         doc/glibc-functions/mkdtemp.texi.
11410         * doc/posix-functions/newlocale.texi: Renamed from
11411         doc/glibc-functions/newlocale.texi.
11412         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
11413         doc/glibc-functions/nl_langinfo_l.texi.
11414         * doc/posix-functions/open_memstream.texi: Renamed from
11415         doc/glibc-functions/open_memstream.texi.
11416         * doc/posix-functions/opterr.texi: Renamed from
11417         doc/glibc-functions/opterr.texi.
11418         * doc/posix-functions/optind.texi: Renamed from
11419         doc/glibc-functions/optind.texi.
11420         * doc/posix-functions/optopt.texi: Renamed from
11421         doc/glibc-functions/optopt.texi.
11422         * doc/posix-functions/psignal.texi: Renamed from
11423         doc/glibc-functions/psignal.texi.
11424         * doc/posix-functions/scandir.texi: Renamed from
11425         doc/glibc-functions/scandir.texi.
11426         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
11427         doc/glibc-functions/sched_get_priority_min.texi.
11428         * doc/posix-functions/signgam.texi: Renamed from
11429         doc/glibc-functions/signgam.texi.
11430         * doc/posix-functions/stpcpy.texi: Renamed from
11431         doc/glibc-functions/stpcpy.texi.
11432         * doc/posix-functions/stpncpy.texi: Renamed from
11433         doc/glibc-functions/stpncpy.texi.
11434         * doc/posix-functions/strcasecmp_l.texi: Renamed from
11435         doc/glibc-functions/strcasecmp_l.texi.
11436         * doc/posix-functions/strcoll_l.texi: Renamed from
11437         doc/glibc-functions/strcoll_l.texi.
11438         * doc/posix-functions/strfmon_l.texi: Renamed from
11439         doc/glibc-functions/strfmon_l.texi.
11440         * doc/posix-functions/strftime_l.texi: Renamed from
11441         doc/glibc-functions/strftime_l.texi.
11442         * doc/posix-functions/strncasecmp_l.texi: Renamed from
11443         doc/glibc-functions/strncasecmp_l.texi.
11444         * doc/posix-functions/strndup.texi: Renamed from
11445         doc/glibc-functions/strndup.texi.
11446         * doc/posix-functions/strnlen.texi: Renamed from
11447         doc/glibc-functions/strnlen.texi.
11448         * doc/posix-functions/strsignal.texi: Renamed from
11449         doc/glibc-functions/strsignal.texi.
11450         * doc/posix-functions/strxfrm_l.texi: Renamed from
11451         doc/glibc-functions/strxfrm_l.texi.
11452         * doc/posix-functions/timer_gettime.texi: Renamed from
11453         doc/glibc-functions/timer_gettime.texi.
11454         * doc/posix-functions/tolower_l.texi: Renamed from
11455         doc/glibc-functions/tolower_l.texi.
11456         * doc/posix-functions/toupper_l.texi: Renamed from
11457         doc/glibc-functions/toupper_l.texi.
11458         * doc/posix-functions/towctrans_l.texi: Renamed from
11459         doc/glibc-functions/towctrans_l.texi.
11460         * doc/posix-functions/towlower_l.texi: Renamed from
11461         doc/glibc-functions/towlower_l.texi.
11462         * doc/posix-functions/towupper_l.texi: Renamed from
11463         doc/glibc-functions/towupper_l.texi.
11464         * doc/posix-functions/uselocale.texi: Renamed from
11465         doc/glibc-functions/uselocale.texi.
11466         * doc/posix-functions/vdprintf.texi: Renamed from
11467         doc/glibc-functions/vdprintf.texi.
11468         * doc/posix-functions/wcpcpy.texi:
11469         Renamed from doc/glibc-functions/wcpcpy.texi.
11470         * doc/posix-functions/wcpncpy.texi: Renamed from
11471         doc/glibc-functions/wcpncpy.texi.
11472         * doc/posix-functions/wcscasecmp.texi: Renamed from
11473         doc/glibc-functions/wcscasecmp.texi.
11474         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
11475         doc/glibc-functions/wcscasecmp_l.texi.
11476         * doc/posix-functions/wcscoll_l.texi: Renamed from
11477         doc/glibc-functions/wcscoll_l.texi.
11478         * doc/posix-functions/wcsdup.texi: Renamed from
11479         doc/glibc-functions/wcsdup.texi.
11480         * doc/posix-functions/wcsncasecmp.texi: Renamed from
11481         doc/glibc-functions/wcsncasecmp.texi.
11482         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
11483         doc/glibc-functions/wcsncasecmp_l.texi.
11484         * doc/posix-functions/wcsnlen.texi: Renamed from
11485         doc/glibc-functions/wcsnlen.texi.
11486         * doc/posix-functions/wcsnrtombs.texi: Renamed from
11487         doc/glibc-functions/wcsnrtombs.texi.
11488         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
11489         doc/glibc-functions/wcsxfrm_l.texi.
11490         * doc/posix-functions/wctrans_l.texi: Renamed from
11491         doc/glibc-functions/wctrans_l.texi.
11492         * doc/posix-functions/wctype_l.texi: Renamed from
11493         doc/glibc-functions/wctype_l.texi.
11494         * doc/gnulib.texi (Function Substitutes): Add these subsections.
11495         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
11496         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
11497         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
11498         these subsections.
11499         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
11500         Remove sections.
11501
11502 2008-12-14  Bruno Haible  <bruno@clisp.org>
11503
11504         Update doc for POSIX:2008.
11505         * doc/posix-functions/*.texi: Update URL of POSIX specification.
11506
11507 2008-12-14  Bruno Haible  <bruno@clisp.org>
11508
11509         Update doc for POSIX:2008.
11510         * doc/pastposix-functions/bcmp.texi: Renamed from
11511         doc/posix-functions/bcmp.texi.
11512         * doc/pastposix-functions/bcopy.texi: Renamed from
11513         doc/posix-functions/bcopy.texi.
11514         * doc/pastposix-functions/bsd_signal.texi: Renamed from
11515         doc/posix-functions/bsd_signal.texi.
11516         * doc/pastposix-functions/bzero.texi: Renamed from
11517         doc/posix-functions/bzero.texi.
11518         * doc/pastposix-functions/ecvt.texi: Renamed from
11519         doc/posix-functions/ecvt.texi.
11520         * doc/pastposix-functions/fcvt.texi: Renamed from
11521         doc/posix-functions/fcvt.texi.
11522         * doc/pastposix-functions/ftime.texi: Renamed from
11523         doc/posix-functions/ftime.texi.
11524         * doc/pastposix-functions/gcvt.texi: Renamed from
11525         doc/posix-functions/gcvt.texi.
11526         * doc/pastposix-functions/getcontext.texi: Renamed from
11527         doc/posix-functions/getcontext.texi.
11528         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
11529         doc/posix-functions/gethostbyaddr.texi.
11530         * doc/pastposix-functions/gethostbyname.texi: Renamed from
11531         doc/posix-functions/gethostbyname.texi.
11532         * doc/pastposix-functions/getwd.texi: Renamed from
11533         doc/posix-functions/getwd.texi.
11534         * doc/pastposix-functions/h_errno.texi: Renamed from
11535         doc/posix-functions/h_errno.texi.
11536         * doc/pastposix-functions/index.texi: Renamed from
11537         doc/posix-functions/index.texi.
11538         * doc/pastposix-functions/makecontext.texi: Renamed from
11539         doc/posix-functions/makecontext.texi.
11540         * doc/pastposix-functions/mktemp.texi: Renamed from
11541         doc/posix-functions/mktemp.texi.
11542         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
11543         doc/posix-functions/pthread_attr_getstackaddr.texi.
11544         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
11545         doc/posix-functions/pthread_attr_setstackaddr.texi.
11546         * doc/pastposix-functions/rindex.texi: Renamed from
11547         doc/posix-functions/rindex.texi.
11548         * doc/pastposix-functions/scalb.texi: Renamed from
11549         doc/posix-functions/scalb.texi.
11550         * doc/pastposix-functions/setcontext.texi: Renamed from
11551         doc/posix-functions/setcontext.texi.
11552         * doc/pastposix-functions/swapcontext.texi: Renamed from
11553         doc/posix-functions/swapcontext.texi.
11554         * doc/pastposix-functions/ualarm.texi: Renamed from
11555         doc/posix-functions/ualarm.texi.
11556         * doc/pastposix-functions/usleep.texi: Renamed from
11557         doc/posix-functions/usleep.texi.
11558         * doc/pastposix-functions/vfork.texi: Renamed from
11559         doc/posix-functions/vfork.texi.
11560         * doc/pastposix-functions/wcswcs.texi: Renamed from
11561         doc/posix-functions/wcswcs.texi.
11562         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
11563         (Function Substitutes): Update.
11564
11565 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11566
11567         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
11568         m4/strerror.m4.
11569
11570 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11571             Bruno Haible  <bruno@clisp.org>
11572
11573         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
11574
11575 2008-12-13  Bruno Haible  <bruno@clisp.org>
11576
11577         * modules/strtoull (Depends-on): Remove unistd.
11578
11579 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11580
11581         * modules/strtoull (Depends-on): Add stdlib.
11582
11583 2008-12-11  Simon Josefsson  <simon@josefsson.org>
11584
11585         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
11586
11587 2008-12-10  Jim Meyering  <meyering@redhat.com>
11588
11589         gl_ASSERT: don't say assertions are disabled when they're not
11590         * m4/assert.m4 (gl_ASSERT): Do not make configure report
11591         "checking whether to enable assertions... no", when they are in
11592         fact enabled.  This is solely a bug in the output of configure.
11593         In spite of saying "no", NDEBUG was not defined in that case.
11594         Also, as noted by Eric Blake, leave assertions enabled upon
11595         --enable-assert=INVALID.
11596
11597 2008-12-10  Bruno Haible  <bruno@clisp.org>
11598
11599         Change MODULES.html to refer to POSIX:2008 where possible.
11600         * MODULES.html.sh (POSIX2008_URL): New variable.
11601         (posix_headers): Remove sys/timeb, ucontext.
11602         (posix2001_headers): New variable.
11603         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
11604         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
11605         index, makecontext, mktemp, pthread_attr_getstackaddr,
11606         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
11607         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
11608         (posix2001_functions): New variable.
11609         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
11610         otherwise.
11611
11612 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11613
11614         add missing include to parse-duration.c
11615         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
11616         * modules/parse-duration (Depends-on): Add xalloc.
11617
11618         fix sed script reading maint.mk
11619         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
11620         (syntax-check-rules): Use it.
11621
11622 2008-12-09  Bruno Haible  <bruno@clisp.org>
11623
11624         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
11625         MacOS X 10.4/PowerPC.
11626         Reported by Simon Josefsson.
11627
11628 2008-12-08  Jim Meyering  <meyering@redhat.com>
11629
11630         work around mingw's lack of some S_IF definitions
11631         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
11632         Reported by Simon Josefsson.
11633
11634 2008-12-08  Bruno Haible  <bruno@clisp.org>
11635
11636         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
11637         applied to variables. Needed on MacOS X 10.4/PowerPC.
11638         Reported by Simon Josefsson.
11639
11640 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
11641         and Eric Blake  <ebb9@byu.net>
11642
11643         assert: honor --enable-assert
11644         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
11645         order to honor --enable-assert, rather than treating it as a
11646         synonym for --disable-assert.
11647
11648 2008-12-08  Jim Meyering  <meyering@redhat.com>
11649
11650         * lib/posixtm.c: Remove now-useless declaration of mktime.
11651
11652         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
11653
11654 2008-12-07  Bruno Haible  <bruno@clisp.org>
11655
11656         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
11657         test_once): Mark functions as static.
11658         * tests/test-tls.c (test_tls): Likewise.
11659
11660 2008-12-07  Bruno Haible  <bruno@clisp.org>
11661
11662         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
11663         iconv_register_autodetect.
11664
11665 2008-12-07  Jim Meyering  <meyering@redhat.com>
11666
11667         posixtm.c: avoid a warning
11668         * lib/posixtm.c (posixtime): Don't initialize tm0.
11669         It's no longer needed to placate gcc4's -Wuninitialized,
11670         and the attempt to placate would elicit a new warning.
11671
11672         unicodeio.c: mark unused parameters
11673         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11674         (fallback_failure_callback): Likewise.
11675
11676 2008-12-07  Bruno Haible  <bruno@clisp.org>
11677
11678         * gnulib-tool (func_create_testdir): When building the tests
11679         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
11680         Reported by Simon Josefsson.
11681
11682 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11683
11684         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
11685
11686 2008-12-06  Bruno Haible  <bruno@clisp.org>
11687
11688         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
11689         Suggested by Eric Blake.
11690
11691 2008-12-06  Bruno Haible  <bruno@clisp.org>
11692
11693         Fix a c-stack test failure on MacOS X.
11694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
11695         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
11696         handler for SIGBUS as well.
11697         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
11698         install a signal handler for SIGBUS as well.
11699         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
11700
11701 2008-12-06  Bruno Haible  <bruno@clisp.org>
11702
11703         Advocacy documentation.
11704         * doc/gnulib-intro.texi (Benefits): New section.
11705         * doc/gnulib.texi: Update.
11706
11707 2008-12-06  Bruno Haible  <bruno@clisp.org>
11708
11709         Document the 'manywarnings' module.
11710         * doc/manywarnings.texi: New file.
11711         * doc/gnulib.texi: Include it.
11712
11713 2008-12-05  Eric Blake  <ebb9@byu.net>
11714
11715         tests: silence some gcc warnings
11716         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
11717         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
11718         type mismatches.
11719
11720 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11721             Bruno Haible  <bruno@clisp.org>
11722
11723         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
11724
11725 2008-11-29  Jim Meyering  <meyering@redhat.com>
11726
11727         unicodeio.c: mark unused parameters
11728         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11729         (fallback_failure_callback): Likewise.
11730
11731         fts: fix a thinko
11732         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
11733         (set_stat_type): Return S_IF*-valued "type" directly.
11734         Prompted by James Youngman's spotting a related bug.
11735         Confirmed by further testing through find.
11736
11737         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
11738         * lib/fts.c (D_TYPE): Define.
11739         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
11740         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
11741         (s_ifmt_shift_bits): New function.
11742         (set_stat_type): New function.
11743         (fts_build): When not calling fts_stat, call set_stat_type
11744         to propagate dirent.d_type info to fts_read caller.
11745         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
11746         fts_statp->st_mode type information may be valid.
11747
11748 2008-11-28  Simon Josefsson  <simon@josefsson.org>
11749
11750         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
11751         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
11752         <sds@gnu.org>.
11753
11754 2008-11-20  Bruno Haible  <bruno@clisp.org>
11755
11756         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
11757         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
11758         INCLUDE_NEXT.
11759         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
11760         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
11761         * modules/math (Makefile.am): Substitute
11762         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
11763         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11764
11765 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
11766             Bruno Haible  <bruno@clisp.org>
11767
11768         * lib/stdint.in.h: Define all type macros so that their expansion is
11769         a single typedef'ed token. Fixes a compilation failure in Boost which
11770         does "using ::int8_t;".
11771
11772 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11773
11774         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
11775         gl_MANYWARN_ALL_GCC.
11776         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
11777         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
11778         * modules/manywarnings: New file.
11779         * MODULES.html.sh: Mention manywarnings module.
11780
11781 2008-11-18  Bruno Haible  <bruno@clisp.org>
11782
11783         * doc/gnulib-tool.texi (Unit tests): New section.
11784
11785 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11786
11787         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
11788         paths like 'lib/po/foo.po'.
11789
11790 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11791
11792         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
11793         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
11794
11795 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11796
11797         * m4/warnings.m4: Use CPPFLAGS to really check whether the
11798         parameter works.
11799
11800 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11801
11802         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
11803
11804 2008-11-17  Bruce Korb  <bkorb@gnu.org>
11805
11806         * modules/parse-duration-tests: New file.
11807         * tests/test-parse-duration.sh: New file.
11808         * tests/test-parse-duration.c: New file.
11809
11810         New module 'parse-duration'.
11811         * lib/parse-duration.h: New file.
11812         * lib/parse-duration.c: New file.
11813         * modules/parse-duration: New file.
11814
11815 2008-11-17  Bruno Haible  <bruno@clisp.org>
11816
11817         * tests/test-select-out.sh: Comment out the first pipe test.
11818         Reported by Simon Josefsson.
11819
11820 2008-11-17  Bruno Haible  <bruno@clisp.org>
11821
11822         * modules/getaddrinfo (Depends-on): Add servent, hostent.
11823         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
11824         gl_HOSTENT.
11825
11826 2008-11-17  Bruno Haible  <bruno@clisp.org>
11827
11828         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
11829         -lnetwork and -lnet. Needed for Haiku and BeOS.
11830
11831 2008-11-16  Bruno Haible  <bruno@clisp.org>
11832
11833         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
11834
11835 2008-11-16  Bruno Haible  <bruno@clisp.org>
11836
11837         Avoid test failure on Haiku.
11838         * tests/test-fsync.c: Include <errno.h>.
11839         (main): Don't require that fsync (0) fails.
11840
11841 2008-11-15  Bruno Haible  <bruno@clisp.org>
11842
11843         New module 'hostent'.
11844         * modules/hostent: New file.
11845         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
11846
11847 2008-11-15  Bruno Haible  <bruno@clisp.org>
11848
11849         New module 'servent'.
11850         * modules/servent: New file.
11851         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
11852
11853 2008-11-15  Bruno Haible  <bruno@clisp.org>
11854
11855         Avoid generating same test program with two different rules.
11856         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
11857         test-frexp to test-frexp-nolibm.
11858         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
11859         test-frexpl to test-frexpl-nolibm.
11860
11861 2008-11-15  Bruno Haible  <bruno@clisp.org>
11862
11863         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
11864         $(FREXPL_LIBM).
11865
11866 2008-11-15  Bruno Haible  <bruno@clisp.org>
11867
11868         * lib/netdb.in.h: Activate the definitions also when the system's
11869         <netdb.h> has 'struct addrinfo'.
11870         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
11871         EAI_OVERFLOW or AI_NUMERICSERV.
11872         * doc/posix-headers/netdb.texi: Document the problem.
11873
11874 2008-11-15  Bruno Haible  <bruno@clisp.org>
11875
11876         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
11877
11878         Make the 'sched' module work on platforms where <sched.h> exists but
11879         is incomplete (such as Haiku).
11880         * lib/sched.in.h; Include the system's <sched.h> if it exists.
11881         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
11882         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
11883         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
11884         HAVE_STRUCT_SCHED_PARAM.
11885         * modules/sched (Depends-on): Add include_next.
11886         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
11887         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
11888         * doc/posix-headers/sched.texi: Document the issue.
11889
11890 2008-11-13  Jim Meyering  <meyering@redhat.com>
11891
11892         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
11893         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
11894         test would fail due to the difference in the Report bugs to ...
11895         line.  The expected address is empty, "<>", while the actual
11896         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
11897
11898 2008-11-12  Bruno Haible  <bruno@clisp.org>
11899
11900         lstat: don't compile lstat.c on systems lacking lstat
11901         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
11902         which don't have lstat; this is handled by lib/sys_stat.in.h already.
11903         Reported by Daniel P. Berrange via Jim Meyering.
11904
11905 2008-11-12  Jim Meyering  <meyering@redhat.com>
11906
11907         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
11908
11909 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11910
11911         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
11912         instead.
11913
11914 2008-11-12  Bruno Haible  <bruno@clisp.org>
11915
11916         * lib/unicodeio.c: Include unistr.h.
11917         (utf8_wctomb): Remove function.
11918         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
11919
11920 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11921
11922         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
11923         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
11924         <bruno@clisp.org>.
11925         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
11926
11927 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11928
11929         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
11930         * doc/gnulib.texi: Add section for warnings.
11931
11932 2008-11-11  Bruno Haible  <bruno@clisp.org>
11933
11934         * lib/sockets.h: Add a comment.
11935
11936 2008-11-11  Karl Berry  <karl@gnu.org>
11937
11938         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
11939
11940 2008-11-11  Eric Blake  <ebb9@byu.net>
11941
11942         fdl.texi: avoid git symlinks
11943         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
11944
11945 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11946
11947         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
11948
11949 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11950
11951         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
11952         (gl_WARN_ADD): Substitute $2 if literal.
11953
11954 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11955
11956         * m4/warning.m4: Remove.
11957
11958 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11959
11960         * m4/warnings.m4: Almost complete rewrite. :-)
11961
11962 2008-11-10  Simon Josefsson  <simon@josefsson.org>
11963
11964         * modules/warnings: New module.
11965         * m4/warnings.m4: New file.
11966         * MODULES.html.sh: Mention warnings module.
11967         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
11968         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11969
11970 2008-11-10  Eric Blake  <ebb9@byu.net>
11971
11972         fdl.texi: make a symlink to the latest version
11973         * doc/standards.texi: Revert today's earlier change.
11974         * doc/fdl-1.2.texi: Rename from old fdl.texi...
11975         * doc/fdl.texi: ...and replace this with a symlink to the newer
11976         fdl-1.3.texi.
11977
11978 2008-11-10  Bruno Haible  <bruno@clisp.org>
11979
11980         * tests/test-select-fd.c (main): Accept the result file name as fourth
11981         argument.
11982         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
11983         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
11984
11985 2008-11-10  Bruno Haible  <bruno@clisp.org>
11986
11987         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
11988         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
11989         as autoconf-substituted macros.
11990         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
11991         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
11992         gl_NETDB_H_DEFAULTS. Set these variables.
11993         * modules/netdb (Makefile.am): Substitute these variables.
11994
11995 2008-11-10  Eric Blake  <ebb9@byu.net>
11996
11997         standards.texi: include correct file for FDL 1.3
11998         * doc/standards.texi (GNU Free Documentation License): Change
11999         include file to pull in FDL 1.3, not 1.2.
12000
12001         fdl.texi: revert accidental change to license
12002         * doc/fdl.texi: This is FDL 1.2, not 1.3.
12003
12004 2008-11-10  Bruno Haible  <bruno@clisp.org>
12005
12006         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
12007         cross-compiling guesses also when the native compile gives no result.
12008
12009 2008-11-10  Bruno Haible  <bruno@clisp.org>
12010
12011         * lib/spawni.c (__spawni): Force variable into the stack.
12012
12013 2008-11-10  Bruno Haible  <bruno@clisp.org>
12014
12015         Add support for Haiku.
12016         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
12017         glibc and BeOS, but also on Haiku.
12018         * lib/fpurge.c (fpurge): Likewise.
12019         * lib/freadable.c (freadable): Likewise.
12020         * lib/freadahead.c (freadahead): Likewise.
12021         * lib/freading.c (freading): Likewise.
12022         * lib/freadptr.c (freadptr): Likewise.
12023         * lib/freadseek.c (freadptrinc): Likewise.
12024         * lib/fseeko.c (rpl_fseeko): Likewise.
12025         * lib/fseterr.c (fseterr): Likewise.
12026         * lib/fwritable.c (fwritable): Likewise.
12027         * lib/fwriting.c (fwriting): Likewise.
12028         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
12029
12030 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
12031
12032         * lib/config.charset: Treat Haiku like BeOS.
12033
12034 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
12035
12036         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
12037         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
12038
12039 2008-11-08  Bruno Haible  <bruno@clisp.org>
12040
12041         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
12042         AC_CACHE_CHECK.
12043
12044 2008-11-08  Bruno Haible  <bruno@clisp.org>
12045
12046         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
12047
12048 2008-11-08  Bruno Haible  <bruno@clisp.org>
12049
12050         * tests/test-select-fd.c: New file.
12051         * tests/test-select-in.sh: New file.
12052         * tests/test-select-out.sh: New file.
12053         * tests/test-select-stdin.c: New file.
12054         * modules/select-tests (Files): Add the new files.
12055         (Depends-on): Add gettimeofday.
12056         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
12057         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
12058         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
12059
12060 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
12061             Bruno Haible  <bruno@clisp.org>
12062
12063         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
12064
12065 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
12066
12067         * build-aux/pmccabe2html: Added support for C++ source files.
12068
12069 2008-11-05  Ben Pfaff  <blp@gnu.org>
12070
12071         Fix lib/close.c build on Windows.
12072         * modules/close (Files): Add lib/w32sock.h.
12073
12074 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
12075
12076         Accept Bison's NEWS format.
12077         * build-aux/announce-gen (print_news_deltas): Tweak
12078         $re_prefix.
12079
12080 2008-11-04  Bruno Haible  <bruno@clisp.org>
12081
12082         * modules/random_r (Maintainer): Add glibc.
12083
12084 2008-11-04  Simon Josefsson  <simon@josefsson.org>
12085
12086         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
12087         by karl@freefriends.org (Karl Berry).
12088         * doc/alloca.texi: Likewise.
12089         * doc/c-ctype.texi: Likewise.
12090         * doc/c-strcase.texi: Likewise.
12091         * doc/c-strcaseeq.texi: Likewise.
12092         * doc/c-strcasestr.texi: Likewise.
12093         * doc/c-strstr.texi: Likewise.
12094         * doc/c-strtod.texi: Likewise.
12095         * doc/c-strtold.texi: Likewise.
12096         * doc/ctime.texi: Likewise.
12097         * doc/error.texi: Likewise.
12098         * doc/fdl.texi: Likewise.
12099         * doc/gcd.texi: Likewise.
12100         * doc/getdate.texi: Likewise.
12101         * doc/gnulib-intro.texi: Likewise.
12102         * doc/gnulib-tool.texi: Likewise.
12103         * doc/gnulib.texi: Likewise.
12104         * doc/inet_ntoa.texi: Likewise.
12105         * doc/maintain.texi: Likewise.
12106         * doc/make-stds.texi: Likewise.
12107         * doc/quote.texi: Likewise.
12108         * doc/regexprops-generic.texi: Likewise.
12109         * doc/standards.texi: Likewise.
12110         * doc/verify.texi: Likewise.
12111         * doc/visibility.texi: Likewise.
12112         * doc/gnulib.texi (GNU Free Documentation License): Include
12113         fdl-1.3.texi instead of fdl.texi.
12114
12115 2008-11-04  Simon Josefsson  <simon@josefsson.org>
12116
12117         * doc/fdl-1.3.texi: New file, from
12118         <http://www.gnu.org/licenses/fdl-1.3.texi>.
12119         * modules/fdl-1.3: Add.
12120         * MODULES.html.sh: Add fdl-1.3.
12121
12122 2008-11-03  Bruno Haible  <bruno@clisp.org>
12123
12124         Make determination of absolute name of header file work with AIX xlc.
12125         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
12126         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
12127         preprocessing.
12128         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
12129         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
12130
12131 2008-11-03  Simon Josefsson  <simon@josefsson.org>
12132
12133         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
12134         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
12135         <ludo@gnu.org>.
12136
12137 2008-11-02  Bruno Haible  <bruno@clisp.org>
12138
12139         Mark 'strpbrk' obsolete.
12140         * modules/strpbrk (Status, Notice): New sections.
12141         * modules/strtok_r (Depends-on): Add strpbrk.
12142
12143 2008-11-02  Bruno Haible  <bruno@clisp.org>
12144
12145         Mark 'strdup' obsolete.
12146         * modules/strdup (Status, Notice): New sections.
12147         * modules/findprog (Depends-on): Add strdup.
12148         * modules/getaddrinfo (Depends-on): Likewise.
12149         * modules/localename (Depends-on): Likewise.
12150         * modules/relocatable-lib (Depends-on): Likewise.
12151         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
12152         * modules/relocatable-prog (Depends-on): Likewise.
12153         * modules/trim (Depends-on): Likewise.
12154         * modules/unictype/gen-ctype (Depends-on): Likewise.
12155         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
12156
12157 2008-11-02  Bruno Haible  <bruno@clisp.org>
12158
12159         Mark 'strcspn' obsolete.
12160         * modules/strcspn (Status, Notice): New sections.
12161
12162 2008-11-02  Bruno Haible  <bruno@clisp.org>
12163
12164         Mark 'rmdir' obsolete.
12165         * modules/rmdir (Status, Notice): New sections.
12166         * modules/clean-temp (Depends-on): Add rmdir.
12167         * modules/openat (Depends-on): Likewise.
12168
12169 2008-11-02  Bruno Haible  <bruno@clisp.org>
12170
12171         Mark 'raise' obsolete.
12172         * modules/raise (Status, Notice): New sections.
12173         (Include): Specify <signal.h>.
12174         * modules/stdio (Depends-on): Add raise.
12175         * modules/write (Depends-on): Likewise.
12176
12177 2008-11-02  Bruno Haible  <bruno@clisp.org>
12178
12179         Mark 'memset' obsolete.
12180         * modules/memset (Status, Notice): New sections.
12181
12182 2008-11-02  Bruno Haible  <bruno@clisp.org>
12183
12184         Mark 'memmove' obsolete.
12185         * modules/memmove (Status, Notice): New sections.
12186         * modules/argp (Depends-on): Add memmove.
12187         * modules/argz (Depends-on): Likewise.
12188         * modules/canonicalize (Depends-on): Likewise.
12189         * modules/canonicalize-lgpl (Depends-on): Likewise.
12190         * modules/fts (Depends-on): Likewise.
12191         * modules/getcwd (Depends-on): Likewise.
12192         * modules/human (Depends-on): Likewise.
12193         * modules/regex (Depends-on): Likewise.
12194         * modules/striconveh (Depends-on): Likewise.
12195         * modules/trim (Depends-on): Likewise.
12196         * modules/unistr/u8-move (Depends-on): Likewise.
12197         * modules/unistr/u16-move (Depends-on): Likewise.
12198         * modules/unistr/u32-move (Depends-on): Likewise.
12199
12200 2008-11-02  Bruno Haible  <bruno@clisp.org>
12201
12202         Mark 'memcpy' obsolete.
12203         * modules/memcpy (Status, Notice): New sections.
12204
12205 2008-11-02  Bruno Haible  <bruno@clisp.org>
12206
12207         Mark 'memcmp' obsolete.
12208         * modules/memcmp (Status, Notice): New sections.
12209         * modules/argmatch (Depends-on): Add memchr.
12210         * modules/backupfile (Depends-on): Likewise.
12211         * modules/c-strcasestr (Depends-on): Likewise.
12212         * modules/crypto/des (Depends-on): Likewise.
12213         * modules/csharpcomp (Depends-on): Likewise.
12214         * modules/fnmatch (Depends-on): Likewise.
12215         * modules/git-merge-changelog (Depends-on): Likewise.
12216         * modules/isnand (Depends-on): Likewise.
12217         * modules/isnand-nolibm (Depends-on): Likewise.
12218         * modules/isnanf (Depends-on): Likewise.
12219         * modules/isnanf-nolibm (Depends-on): Likewise.
12220         * modules/isnanl (Depends-on): Likewise.
12221         * modules/isnanl-nolibm (Depends-on): Likewise.
12222         * modules/mbchar (Depends-on): Likewise.
12223         * modules/memcoll (Depends-on): Likewise.
12224         * modules/quotearg (Depends-on): Likewise.
12225         * modules/regex (Depends-on): Likewise.
12226         * modules/relocatable-prog (Depends-on): Likewise.
12227         * modules/same (Depends-on): Likewise.
12228         * modules/signbit (Depends-on): Likewise.
12229         * modules/strcasestr-simple (Depends-on): Likewise.
12230         * modules/unictype/gen-ctype (Depends-on): Likewise.
12231         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
12232         * modules/uniname/uniname (Depends-on): Likewise.
12233         * modules/unistr/u8-cmp (Depends-on): Likewise.
12234
12235 2008-11-02  Bruno Haible  <bruno@clisp.org>
12236
12237         Mark 'memchr' obsolete.
12238         * modules/memchr (Status, Notice): New sections.
12239         * modules/argp (Depends-on): Add memchr.
12240         * modules/base64 (Depends-on): Likewise.
12241         * modules/c-strcasestr (Depends-on): Likewise.
12242         * modules/chdir-long (Depends-on): Likewise.
12243         * modules/fnmatch (Depends-on): Likewise.
12244         * modules/getsubopt (Depends-on): Likewise.
12245         * modules/git-merge-changelog (Depends-on): Likewise.
12246         * modules/glob (Depends-on): Likewise.
12247         * modules/strcasestr-simple (Depends-on): Likewise.
12248         * modules/strnlen (Depends-on): Likewise.
12249
12250 2008-11-02  Bruno Haible  <bruno@clisp.org>
12251
12252         Mark 'atexit' obsolete.
12253         * modules/atexit (Status, Notice): New sections.
12254         * modules/chdir-long (Depends-on): Add atexit.
12255         * modules/wait-process (Depends-on): Likewise.
12256
12257 2008-11-02  Bruno Haible  <bruno@clisp.org>
12258
12259         * gnulib-tool: New option --with-obsolete.
12260         (func_usage): Document it.
12261         (func_modules_transitive_closure): Drop obsolete dependencies if
12262         incobsolete is not true.
12263         (func_import): Read and save the incobsolete variable to the cache.
12264
12265 2008-11-02  Bruno Haible  <bruno@clisp.org>
12266
12267         * modules/TEMPLATE-EXTENDED: New field 'Status'.
12268         * gnulib-tool: New option --extract-status.
12269         (func_usage): Document it.
12270         (sed_extract_prog): Recognize it.
12271         (func_get_status): New function.
12272
12273 2008-10-30  Simon Josefsson  <simon@josefsson.org>
12274
12275         * modules/sockets (License): Change from LGPL to LGPLv2+.
12276
12277 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12278
12279         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
12280
12281 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12282
12283         * MODULES.html.sh (Support for systems lacking POSIX:2001):
12284         Mention times and sys_times.
12285         * modules/sys_times, modules/sys_times-tests: New modules.
12286         * modules/times, modules/times-tests: Likewise
12287         * m4/sys_times_h.m4: New file.
12288         * lib/sys_times.in.h: Likewise
12289         * lib/times.c: Likewise.
12290         * tests/test-sys_times.c: Likewise.
12291         * tests/test-times.c: Likewise.
12292         * doc/posix-headers/sys_times.texi: Update.
12293         * doc/posix-functions/times.texi: Update.
12294
12295 2008-10-28  Jim Meyering  <meyering@redhat.com>
12296
12297         * modules/tempname (Depends-on): Add lstat.
12298
12299         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
12300
12301 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12302
12303         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
12304         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
12305         using idiom used elsewhere in gnulib.
12306
12307 2008-10-27  Jim Meyering  <meyering@redhat.com>
12308
12309         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
12310
12311 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12312
12313         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
12314         TESTS_ENVIRONMENT, for shell scripts that needs to call built
12315         programs.
12316         * tests/test-argp-2.sh: Use $EXEEXT when needed.
12317
12318 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12319
12320         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
12321
12322 2008-10-27  Bruno Haible  <bruno@clisp.org>
12323
12324         * tests/test-lstat.c: Include <stdio.h>.
12325
12326 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12327
12328         * modules/lstat-tests: New module.
12329         * tests/test-lstat.c: New file.
12330
12331 2008-10-26  Jim Meyering  <meyering@redhat.com>
12332
12333         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
12334
12335 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12336             Bruno Haible  <bruno@clisp.org>
12337
12338         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
12339         * modules/configmake (Include): Add a note that the include must come
12340         after all system headers.
12341         * lib/javaversion.c: Include configmake.h after all other includes.
12342
12343 2008-10-26  Bruno Haible  <bruno@clisp.org>
12344
12345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
12346         HAVE_STRUCT_RANDOM_DATA to 1.
12347         (gl_STDLIB_H): Simplify.
12348
12349 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12350
12351         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
12352         substitute HAVE_STRUCT_RANDOM_DATA.
12353         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
12354         random_data.
12355         * modules/stdlib (Makefile.am): Substitute
12356         HAVE_STRUCT_RANDOM_DATA.
12357
12358 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12359
12360         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
12361         * doc/gnulib-intro.texi (Copyright): Likewise.
12362
12363 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12364
12365         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
12366         findings.
12367
12368 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
12369             Bruno Haible  <bruno@clisp.org>
12370
12371         * lib/unistd.in.h: Include <winsock2.h>.
12372         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
12373         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
12374         Provide dummy declarations.
12375         (gethostname): Override.
12376         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
12377         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
12378         gl_PREREQ_SYS_H_WINSOCK2.
12379         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
12380         * doc/posix-functions/gethostname.texi: More details.
12381
12382 2008-10-25  Bruno Haible  <bruno@clisp.org>
12383
12384         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
12385         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
12386         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
12387
12388         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
12389         here ...
12390         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
12391         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
12392         gl_UNISTD_H_DEFAULTS.
12393
12394 2008-10-25  Eric Blake  <ebb9@byu.net>
12395
12396         signbit: avoid spurious compiler failure
12397         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
12398         declarations inside function.
12399
12400 2008-10-24  Simon Josefsson  <simon@josefsson.org>
12401             Bruno Haible  <bruno@clisp.org>
12402
12403         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
12404         * modules/random_r (Depends-on): Add stdint.
12405
12406 2008-10-24  Bruno Haible  <bruno@clisp.org>
12407
12408         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
12409         Eggert.
12410         * modules/strerror (License): Likewise.
12411
12412 2008-10-24  Jim Meyering  <meyering@redhat.com>
12413
12414         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
12415         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
12416
12417 2008-10-24  Eric Blake  <ebb9@byu.net>
12418
12419         getgroups: fix compilation when getgroups is available
12420         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
12421         but with <config.h> override of getgroups disabled.
12422
12423 2008-10-24  Simon Josefsson  <simon@josefsson.org>
12424
12425         * doc/gnulib.texi (Header files): Add note about C++ problems.
12426         Explained by Bruno Haible <bruno@clisp.org>.
12427
12428 2008-10-23  Bruno Haible  <bruno@clisp.org>
12429
12430         Define a dummy SA_NODEFER macro on Interix.
12431         * lib/signal.in.h (SA_NODEFER): Define fallback.
12432         Reported by Aleksey Cheusov <cheusov@tut.by> via
12433         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
12434
12435 2008-10-23  Bruno Haible  <bruno@clisp.org>
12436
12437         * modules/freadahead (License): Change to LGPLv2+.
12438         Suggested by Simon Josefsson.
12439
12440 2008-10-23  Jim Meyering  <meyering@redhat.com>
12441
12442         random_r: new module
12443         * modules/random_r: New file.
12444         * m4/random_r.m4: New file.
12445         * lib/random_r.c: New file, from glibc.
12446         * modules/random_r-tests: New file.
12447         * tests/test-random_r.c: New file.
12448         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
12449          Declare.
12450         (RAND_MAX): Define.
12451         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
12452         * modules/stdlib: Substitute them, too.
12453         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
12454         * doc/glibc-functions/initstate_r.texi: Mention the new module.
12455         * doc/glibc-functions/random_r.texi: Likewise.
12456         * doc/glibc-functions/setstate_r.texi: Likewise.
12457         * doc/glibc-functions/srandom_r.texi: Likewise.
12458         * config/srclist.txt: Mention it.
12459
12460 2008-10-23  David Lutterkort  <lutter@redhat.com>
12461
12462         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
12463         link requirement
12464
12465 2008-10-23  Jim Meyering  <meyering@redhat.com>
12466
12467         selinux-h: mark parameters of stub functions as intentionally unused
12468         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
12469         * lib/se-context.in.h: Likewise.
12470
12471 2008-10-22  Simon Josefsson  <simon@josefsson.org>
12472
12473         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
12474
12475 2008-10-22  Simon Josefsson  <simon@josefsson.org>
12476
12477         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
12478
12479 2008-10-22  Eric Blake  <ebb9@byu.net>
12480
12481         glthread/thread: avoid compiler warning
12482         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
12483         Add unreachable abort to silence compiler.
12484
12485 2008-10-22  Eric Blake  <ebb9@byu.net>
12486
12487         netdb: also supply struct addrinfo for cygwin 1.5.x
12488         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
12489         older cygwin.
12490         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
12491         cygwin.
12492         * doc/posix-headers/netdb.texi (netdb.h): Document this.
12493
12494 2008-10-22  Bruno Haible  <bruno@clisp.org>
12495
12496         * users.txt: Update entry about pspp.
12497
12498 2008-10-21  Bruno Haible  <bruno@clisp.org>
12499
12500         Simplification.
12501         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
12502         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
12503
12504         Simplification.
12505         * lib/ioctl.c (ioctl): Don't undefine.
12506         * lib/socket.c (socket): Don't undefine.
12507
12508         Remove unused module indicator macros.
12509         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
12510         GNULIB_$1 as a C macro.
12511
12512         * doc/posix-functions/close.texi: Undo last change.
12513         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
12514         Windows platforms.
12515
12516 2008-10-21  Bruno Haible  <bruno@clisp.org>
12517
12518         Add gethostname() declaration to <unistd.h>.
12519         * lib/unistd.in.h (gethostname): New declaration.
12520         * lib/gethostname.c: Include <unistd.h>.
12521         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
12522         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
12523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
12524         and HAVE_GETHOSTNAME.
12525         * modules/gethostname (Depends-on): Add unistd.
12526         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12527         (Include): Specify <unistd.h>.
12528         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
12529         HAVE_GETHOSTNAME.
12530         * tests/test-gethostname.c: Include <unistd.h> first.
12531
12532 2008-10-21  Bruno Haible  <bruno@clisp.org>
12533
12534         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
12535         * modules/select-tests (Depends-on): Likewise.
12536         Reported by Simon Josefsson.
12537
12538 2008-10-21  Simon Josefsson  <simon@josefsson.org>
12539
12540         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
12541         * lib/accept.c: New file, based on winsock.c.
12542         * lib/bind.c: New file, based on winsock.c.
12543         * lib/connect.c: New file, based on winsock.c.
12544         * lib/getpeername.c: New file, based on winsock.c.
12545         * lib/getsockname.c: New file, based on winsock.c.
12546         * lib/getsockopt.c: New file, based on winsock.c.
12547         * lib/ioctl.c: New file, based on winsock.c.
12548         * lib/listen.c: New file, based on winsock.c.
12549         * lib/recv.c: New file, based on winsock.c.
12550         * lib/recvfrom.c: New file, based on winsock.c.
12551         * lib/send.c: New file, based on winsock.c.
12552         * lib/sendto.c: New file, based on winsock.c.
12553         * lib/setsockopt.c: New file, based on winsock.c.
12554         * lib/shutdown.c: New file, based on winsock.c.
12555         * lib/socket.c: New file, based on winsock.c.
12556         * lib/w32sock.h: New file, based on winsock.c.
12557         * lib/winsock.c: Remove file.
12558         * modules/accept: Likewise.
12559         * modules/bind: Likewise.
12560         * modules/connect: Likewise.
12561         * modules/getpeername: Likewise.
12562         * modules/getsockname: Likewise.
12563         * modules/getsockopt: Likewise.
12564         * modules/ioctl: Likewise.
12565         * modules/listen: Likewise.
12566         * modules/recv: Likewise.
12567         * modules/recvfrom: Likewise.
12568         * modules/send: Likewise.
12569         * modules/sendto: Likewise.
12570         * modules/setsockopt: Likewise.
12571         * modules/shutdown: Likewise.
12572         * modules/socket: Use socket.c instead of winsock.c.
12573         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
12574         * doc/posix-functions/accept.texi: Doc fix.
12575         * doc/posix-functions/bind.texi: Doc fix.
12576         * doc/posix-functions/close.texi: Doc fix.
12577         * doc/posix-functions/connect.texi: Doc fix.
12578         * doc/posix-functions/getpeername.texi: Doc fix.
12579         * doc/posix-functions/getsockname.texi: Doc fix.
12580         * doc/posix-functions/getsockopt.texi: Doc fix.
12581         * doc/posix-functions/ioctl.texi: Doc fix.
12582         * doc/posix-functions/listen.texi: Doc fix.
12583         * doc/posix-functions/recv.texi: Doc fix.
12584         * doc/posix-functions/recvfrom.texi: Doc fix.
12585         * doc/posix-functions/send.texi: Doc fix.
12586         * doc/posix-functions/sendto.texi: Doc fix.
12587         * doc/posix-functions/setsockopt.texi: Doc fix.
12588         * doc/posix-functions/shutdown.texi: Doc fix.
12589         * doc/posix-functions/socket.texi: Doc fix.
12590
12591 2008-10-20  Bruno Haible  <bruno@clisp.org>
12592
12593         Take into account the role of SIGABRT_COMPAT on Windows 2008.
12594         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
12595         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
12596         as an alias for SIGABRT.
12597         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
12598         (sigaction): Map it to SIGABRT.
12599         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
12600
12601 2008-10-20  Bruno Haible  <bruno@clisp.org>
12602
12603         * lib/fts.c: Don't include lstat.h.
12604         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
12605
12606         Move the lstat() declaration to <sys/stat.h>.
12607         * lib/lstat.h: Remove file.
12608         * lib/sys_stat.in.h: Add special invocation convention.
12609         (lstat): New declaration.
12610         * lib/lstat.c (orig_lstat): New function.
12611         (rpl_lstat): Use orig_lstat instead of lstat.
12612         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
12613         AC_C_INLINE. Set REPLACE_LSTAT.
12614         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
12615         and REPLACE_LSTAT.
12616         * modules/lstat (Files): Remove lib/lstat.h.
12617         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12618         (Include): Specify <sys/stat.h> instead of lstat.h.
12619         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
12620         REPLACE_LSTAT.
12621         * NEWS: Mention the change.
12622
12623 2008-10-20  Bruno Haible  <bruno@clisp.org>
12624
12625         * modules/posix_spawn-tests: New file.
12626         * tests/test-posix_spawn3.c: New file.
12627
12628 2008-10-20  Bruno Haible  <bruno@clisp.org>
12629
12630         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
12631         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12632         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
12633         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12634         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
12635
12636 2008-10-20  Bruno Haible  <bruno@clisp.org>
12637
12638         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
12639         of posix_spawn on AIX 5.3.
12640
12641 2008-10-20  Bruno Haible  <bruno@clisp.org>
12642
12643         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
12644
12645 2008-10-20  Bruno Haible  <bruno@clisp.org>
12646
12647         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
12648         of AC_LANG_PROGRAM.
12649
12650 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12651
12652         * lib/netdb.in.h: Don't define GNU specific constants until they
12653         are supported or needed.  Reported by Bruno Haible
12654         <bruno@clisp.org>.
12655
12656 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12657
12658         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
12659
12660 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12661
12662         * lib/getaddrinfo.h: Remove file.
12663         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
12664         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
12665         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
12666         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
12667         * modules/netdb: Substitute GNULIB_GETADDRINFO.
12668         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
12669         * tests/test-getaddrinfo.c: Likewise.
12670         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
12671         * NEWS: Mention change.
12672
12673 2008-10-19  Bruno Haible  <bruno@clisp.org>
12674
12675         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
12676
12677 2008-10-19  Bruno Haible  <bruno@clisp.org>
12678
12679         * lib/wait-process.c: Include simply <sys/wait.h>.
12680         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
12681         WIFSTOPPED): Remove fallback definitions.
12682         * modules/wait-process (Depends-on): Add sys_wait.
12683
12684         New module 'sys_wait'.
12685         * modules/sys_wait: New file.
12686         * lib/sys_wait.in.h: New file, partially copied from
12687         lib/wait-process.c.
12688         * m4/sys_wait_h.m4: New file.
12689         * doc/posix-headers/sys_wait.texi: Mention the new module.
12690
12691 2008-10-19  Bruno Haible  <bruno@clisp.org>
12692
12693         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
12694
12695 2008-10-19  Bruno Haible  <bruno@clisp.org>
12696
12697         Assume that waitpid() fills an 'int' status, not a 'union wait'.
12698         * lib/wait-process.c (WAIT_T): Remove type.
12699         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
12700         (wait_subprocess): Update.
12701
12702 2008-10-19  Bruno Haible  <bruno@clisp.org>
12703
12704         New module 'atoll'.
12705         * modules/atoll: New file.
12706         * lib/stdlib.in.h (atoll): New declaration.
12707         * lib/atoll.c: New file, from glibc with modifications.
12708         * m4/atoll.m4: New file.
12709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
12710         HAVE_ATOLL.
12711         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
12712         * doc/posix-functions/atoll.texi: Mention the new module.
12713
12714 2008-10-19  Bruno Haible  <bruno@clisp.org>
12715
12716         Add strtoull() declaration to <stdlib.h>.
12717         * lib/stdlib.in.h (strtoull): New declaration.
12718         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12719         Set HAVE_STRTOULL.
12720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
12721         HAVE_STRTOULL.
12722         * modules/strtoull (Depends-on): Add stdlib.
12723         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12724         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
12725         HAVE_STRTOULL.
12726
12727 2008-10-19  Bruno Haible  <bruno@clisp.org>
12728
12729         Add strtoll() declaration to <stdlib.h>.
12730         * lib/stdlib.in.h (strtoll): New declaration.
12731         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12732         Set HAVE_STRTOLL.
12733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
12734         HAVE_STRTOLL.
12735         * modules/strtoll (Depends-on): Add stdlib.
12736         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12737         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
12738
12739 2008-10-19  Bruno Haible  <bruno@clisp.org>
12740
12741         * modules/bcopy (Depends-on): Add strings.
12742         (Include): Specify <strings.h>.
12743
12744 2008-10-19  Bruno Haible  <bruno@clisp.org>
12745
12746         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
12747
12748 2008-10-19  Bruno Haible  <bruno@clisp.org>
12749
12750         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
12751         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
12752         mingw.
12753
12754 2008-10-19  Bruno Haible  <bruno@clisp.org>
12755
12756         * lib/atanl.c: Don't include isnanl.h.
12757         * lib/cosl.c: Likewise.
12758         * lib/ldexpl.c: Likewise.
12759         * lib/logl.c: Likewise.
12760         * lib/sinl.c: Likewise.
12761         * lib/sqrtl.c: Likewise.
12762         * lib/tanl.c: Likewise.
12763
12764         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
12765         * lib/isnanf.h: Remove file.
12766         * lib/isnand.h: Remove file.
12767         * lib/isnanl.h: Remove file.
12768         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
12769         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
12770         macros.
12771         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
12772         HAVE_ISNANF, don't define it as a C macro.
12773         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
12774         HAVE_ISNAND, don't define it as a C macro.
12775         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
12776         HAVE_ISNANL, don't define it as a C macro.
12777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
12778         HAVE_ISNAN[FDL].
12779         * modules/isnanf (Files): Remove lib/isnanf.h.
12780         (Depends-on): Add math.
12781         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12782         (Include): Specify <math.h> instead of isnanf.h.
12783         * modules/isnand (Files): Remove lib/isnand.h.
12784         (Depends-on): Add math.
12785         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12786         (Include): Specify <math.h> instead of isnand.h.
12787         * modules/isnanl (Files): Remove lib/isnanl.h.
12788         (Depends-on): Add math.
12789         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12790         (Include): Specify <math.h> instead of isnanl.h.
12791         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
12792         HAVE_ISNAN[FDL].
12793         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
12794         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
12795         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
12796         * NEWS: Mention the change.
12797
12798 2008-10-18  Bruno Haible  <bruno@clisp.org>
12799
12800         Add getusershell(), setusershell(), endusershell() declarations to
12801         <unistd.h>.
12802         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
12803         declarations.
12804         * lib/getusershell.c: Include unistd.h.
12805         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
12806         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12807         HAVE_GETUSERSHELL.
12808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
12809         and HAVE_GETUSERSHELL.
12810         * modules/getusershell (Depends-on): Add unistd, extensions.
12811         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12812         (Include): Specify <unistd.h>.
12813         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
12814         HAVE_GETUSERSHELL.
12815
12816 2008-10-18  Bruno Haible  <bruno@clisp.org>
12817
12818         Add a getloadavg() declaration to <stdlib.h>.
12819         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
12820         getloadavg declaration.
12821         (getloadavg): New declaration.
12822         * lib/getloadavg.c: Include <stdlib.h> first.
12823         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
12824         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
12825         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
12826         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
12827         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12828         * modules/getloadavg (Depends-on): Add stdlib, extensions.
12829         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12830         (Include): Specify <stdlib.h>.
12831         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
12832         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12833
12834 2008-10-18  Bruno Haible  <bruno@clisp.org>
12835
12836         * lib/dirchownmod.c: Don't include lchmod.h.
12837
12838         Move the lchmod() declaration to <sys/stat.h>.
12839         * lib/lchmod.h: Remove file.
12840         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
12841         (lchmod): New declaration, moved here from lib/lchown.h.
12842         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
12843         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
12844         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
12845         and HAVE_LCHMOD.
12846         * modules/lchmod (Files): Remove lib/lchmod.h.
12847         (Depends-on): Add sys_stat, extensions.
12848         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12849         (Include): Specify <sys/stat.h> instead of lchmod.h.
12850         * modules/sys_stat (Depends-on): Add link-warning.
12851         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
12852         definition of GL_LINK_WARNING.
12853         * NEWS: Mention the change.
12854
12855 2008-10-18  Bruno Haible  <bruno@clisp.org>
12856
12857         * lib/fchdir.c: Don't include dirfd.h.
12858         * lib/fts.c: Likewise.
12859         * lib/getcwd.c: Likewise.
12860         * lib/glob.c: Likewise.
12861
12862         Move the dirfd() declaration to <dirent.h>.
12863         * lib/dirfd.h: Remove file.
12864         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
12865         (dirfd): New declaration.
12866         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
12867         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
12868         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
12869         HAVE_DECL_DIRFD.
12870         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
12871         HAVE_DECL_DIRFD.
12872         * modules/dirfd (Files): Remove lib/dirfd.h.
12873         (Depends-on): Add dirent, extensions.
12874         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
12875         (Include): Specify <dirent.h> instead of dirfd.h.
12876         * modules/dirent (Depends-on): Add link-warning.
12877         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
12878         definition of GL_LINK_WARNING.
12879         * NEWS: Mention the change.
12880
12881 2008-10-18  Bruno Haible  <bruno@clisp.org>
12882
12883         Move the euidaccess() declaration to <unistd.h>.
12884         * lib/euidaccess.h: Remove file.
12885         * lib/unistd.in.h (euidaccess): New declaration.
12886         * lib/euidaccess.c: Don't include euidaccess.h.
12887         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
12888         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
12889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
12890         and HAVE_EUIDACCESS.
12891         * modules/euidaccess (Files): Remove lib/euidaccess.h.
12892         (Depends-on): Add unistd.
12893         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12894         (Include): Specify <unistd.h> instead of euidaccess.h.
12895         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
12896         HAVE_EUIDACCESS.
12897         * NEWS: Mention the change.
12898
12899 2008-10-18  Bruno Haible  <bruno@clisp.org>
12900
12901         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
12902
12903         Move the getdomainname() declaration to <unistd.h>.
12904         * lib/getdomainname.h: Remove file.
12905         * lib/unistd.in.h (getdomainname): New declaration.
12906         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
12907         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
12908         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12909         HAVE_GETDOMAINNAME.
12910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12911         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
12912         * modules/getdomainname (Files): Remove lib/getdomainname.h.
12913         (Depends-on): Add unistd, extensions.
12914         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12915         (Includes): Specify <unistd.h> instead of getdomainname.h.
12916         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
12917         HAVE_GETDOMAINNAME.
12918         * NEWS: Mention the change.
12919
12920 2008-10-18  Bruno Haible  <bruno@clisp.org>
12921
12922         * modules/dirent: New file.
12923         * m4/dirent_h.m4: New file.
12924         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
12925         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
12926         * modules/fchdir (Files): Remove lib/dirent.in.h.
12927         (Depends-on): Add dirent.
12928         (Makefile.am): Move rules to modules/dirent.
12929         * doc/posix-headers/dirent.texi: Mention the new module.
12930
12931 2008-10-18  Bruno Haible  <bruno@clisp.org>
12932
12933         Avoid -Wunused-parameter warnings in public gnulib header files.
12934         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
12935         macro.
12936         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
12937
12938 2008-10-18  Bruno Haible  <bruno@clisp.org>
12939
12940         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
12941         * doc/glibc-functions/error.texi: Mention the module 'error'.
12942         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
12943         * doc/glibc-functions/getdomainname.texi: Mention the module
12944         'getdomainname'.
12945         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
12946         * doc/glibc-functions/getpagesize.texi: Mention the module
12947         'getpagesize'.
12948         * doc/glibc-functions/getusershell.texi: Mention the module
12949         'getusershell'.
12950         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
12951         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
12952         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
12953         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
12954         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
12955         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
12956         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
12957         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
12958         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
12959         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
12960         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
12961         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
12962         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
12963         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
12964
12965 2008-10-17  Bruno Haible  <bruno@clisp.org>
12966
12967         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
12968         HP-UX and IRIX, use -0.0L.
12969         * tests/test-ceill.c (minus_zero): Likewise.
12970         * tests/test-floorl.c (minus_zero): Likewise.
12971         * tests/test-frexpl.c (minus_zero): Likewise.
12972         * tests/test-isnan.c (minus_zerol): Likewise.
12973         * tests/test-isnanl.h (minus_zero): Likewise.
12974         * tests/test-ldexpl.c (minus_zero): Likewise.
12975         * tests/test-roundl.c (minus_zero): Likewise.
12976         * tests/test-signbit.c (minus_zerol): Likewise.
12977         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
12978         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
12979         * tests/test-truncl.c (minus_zero): Likewise.
12980         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
12981         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
12982         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
12983         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
12984
12985 2008-10-17  Bruno Haible  <bruno@clisp.org>
12986
12987         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
12988         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
12989         that it gets activated only for gcc >= 3.0.
12990         * lib/dirent.in.h: Likewise.
12991         * lib/errno.in.h: Likewise.
12992         * lib/fcntl.in.h: Likewise.
12993         * lib/float.in.h: Likewise.
12994         * lib/iconv.in.h: Likewise.
12995         * lib/inttypes.in.h: Likewise.
12996         * lib/locale.in.h: Likewise.
12997         * lib/math.in.h: Likewise.
12998         * lib/netdb.in.h: Likewise.
12999         * lib/netinet_in.in.h: Likewise.
13000         * lib/search.in.h: Likewise.
13001         * lib/signal.in.h: Likewise.
13002         * lib/spawn.in.h: Likewise.
13003         * lib/stdarg.in.h: Likewise.
13004         * lib/stdint.in.h: Likewise.
13005         * lib/stdio.in.h: Likewise.
13006         * lib/stdlib.in.h: Likewise.
13007         * lib/string.in.h: Likewise.
13008         * lib/strings.in.h: Likewise.
13009         * lib/sys_file.in.h: Likewise.
13010         * lib/sys_ioctl.in.h: Likewise.
13011         * lib/sys_select.in.h: Likewise.
13012         * lib/sys_socket.in.h: Likewise.
13013         * lib/sys_stat.in.h: Likewise.
13014         * lib/sys_time.in.h: Likewise.
13015         * lib/sysexits.in.h: Likewise.
13016         * lib/time.in.h: Likewise.
13017         * lib/unistd.in.h: Likewise.
13018         * lib/wchar.in.h: Likewise.
13019         * lib/wctype.in.h: Likewise.
13020         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13021
13022 2008-10-17  Jim Meyering  <meyering@redhat.com>
13023
13024         ignore-value: don't depend on inline module
13025         * modules/ignore-value (Depends-on): Remove 'inline'.
13026         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
13027         Suggestion from Bruno Haible.
13028
13029 2008-10-17  Bruno Haible  <bruno@clisp.org>
13030
13031         New implementation of condition variables for Win32.
13032         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
13033         (gl_linked_waitqueue_t): New type.
13034         (gl_cond_t): Use it.
13035         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
13036         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
13037         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
13038         (glthread_cond_init_func, glthread_cond_wait_func,
13039         glthread_cond_timedwait_func, glthread_cond_signal_func,
13040         glthread_cond_broadcast_func, glthread_cond_destroy_func):
13041         Reimplemented on the basis of gl_linked_waitqueue_t.
13042         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
13043         gl_waitqueue_t.
13044         (gl_rwlock_t): Update.
13045         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
13046
13047 2008-10-17  Simon Josefsson  <simon@josefsson.org>
13048
13049         * modules/recvfrom (Depends-on): Add dependency on getpeername.
13050         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13051
13052 2008-10-17  Jim Meyering  <meyering@redhat.com>
13053
13054         ignore-value: new module
13055         * modules/ignore-value: New file.
13056         * lib/ignore-value.h: New file.
13057         * MODULES.html.sh (Compiler warning management): New section,
13058         just for this module.  More to come.
13059
13060 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
13061
13062         open-safer.c: avoid 'signed and unsigned in conditional...' warning
13063         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
13064         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
13065
13066 2008-10-16  Jim Meyering  <meyering@redhat.com>
13067
13068         openat-die.c: avoid 'no previous prototype' warning
13069         * lib/openat-die.c: Include "openat.h".
13070         Reported by Reuben Thomas <rrt@sc3d.org>.
13071
13072 2008-10-16  Simon Josefsson  <simon@josefsson.org>
13073
13074         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
13075         * lib/netdb.in.h: Fix typo.
13076         Reported by Bruno Haible  <bruno@clisp.org>
13077
13078         * lib/netdb.in.h: Include sys/socket.h for platforms without
13079         netdb.h, to get structures like hostent on MinGW.
13080         * modules/netdb (Depends-on): Add sys_socket.
13081
13082 2008-10-15  Simon Josefsson  <simon@josefsson.org>
13083
13084         * modules/netdb, modules/netdb-tests: New file.
13085         * m4/netdb_h.m4: New file.
13086         * lib/netdb.in.h: Add, currently just an empty file pending
13087         definitions.
13088         * tests/test-netdb.c: New file.
13089         * doc/posix-headers/netdb.texi: Mention that we replace it if
13090         needed.
13091         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13092         netdb.
13093
13094 2008-10-15  Simon Josefsson  <simon@josefsson.org>
13095
13096         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
13097         with code.
13098
13099 2008-10-13  Bruno Haible  <bruno@clisp.org>
13100
13101         * lib/glthread/cond.c (glthread_cond_wait_func,
13102         glthread_cond_timedwait_func): Add a comment.
13103
13104 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13105
13106         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
13107         * tests/test-select.c: Likewise,
13108
13109 2008-10-13  Bruno Haible  <bruno@clisp.org>
13110
13111         * lib/glthread/cond.c (glthread_cond_wait_func,
13112         glthread_cond_timedwait_func): Fix variable name.
13113         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13114
13115 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
13116
13117         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
13118         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
13119         struct sockaddr.sa_len.
13120         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
13121
13122 2008-10-13  Simon Josefsson  <simon@josefsson.org>
13123
13124         * build-aux/pmccabe2html: Add css and css_url parameters.
13125
13126 2008-10-12  Bruno Haible  <bruno@clisp.org>
13127
13128         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
13129         calling aclx_get.
13130         Reported by Rainer Tammer <tammer@tammer.net>.
13131
13132 2008-10-12  Bruno Haible  <bruno@clisp.org>
13133
13134         Use msvcrt aware primitives for creation/termination of Win32 threads.
13135         * lib/glthread/thread.c: Include <process.h>.
13136         (glthread_create_func): Use _beginthreadex instead of CreateThread.
13137         (wrapper_func): Update signature.
13138         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
13139
13140 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13141             Bruno Haible  <bruno@clisp.org>
13142
13143         Provide a Win32 implementation of the 'cond' module.
13144         * lib/glthread/cond.h [USE_WIN32]: New implementation.
13145         * lib/glthread/cond.c (glthread_cond_init_func,
13146         glthread_cond_wait_func, glthread_cond_timedwait_func,
13147         glthread_cond_signal_func, glthread_cond_broadcast_func,
13148         glthread_cond_destroy_func) [USE_WIN32]: New functions.
13149         * modules/cond (Dependencies): Add gettimeofday.
13150
13151 2008-10-11  Bruno Haible  <bruno@clisp.org>
13152
13153         Make sleep work on older versions of mingw.
13154         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
13155         only whether it exists.
13156         * doc/posix-functions/sleep.texi: Mention the problem with older
13157         versions of mingw.
13158
13159 2008-10-11  Bruno Haible  <bruno@clisp.org>
13160
13161         New module 'shutdown'.
13162         * modules/shutdown: New file.
13163         * lib/sys_socket.in.h (shutdown): New declaration.
13164         * lib/winsock.c (shutdown): New function.
13165         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13166         GNULIB_SHUTDOWN.
13167         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
13168         * doc/posix-functions/shutdown.texi: Document the new module.
13169
13170 2008-10-11  Jim Meyering  <meyering@redhat.com>
13171
13172         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
13173
13174 2008-10-11  Bruno Haible  <bruno@clisp.org>
13175
13176         New module 'fclose'.
13177         * modules/fclose: New file.
13178         * lib/stdio.in.h (fclose): New declaration.
13179         * lib/fclose.c: New file.
13180         * m4/fclose.m4: New file.
13181         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
13182         REPLACE_FCLOSE.
13183         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
13184         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
13185         REPLACE_FCLOSE.
13186         * modules/close (Depends-on): fclose.
13187         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
13188
13189 2008-10-11  Bruno Haible  <bruno@clisp.org>
13190
13191         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
13192         set errno and don't call _close.
13193
13194 2008-10-10  Bruno Haible  <bruno@clisp.org>
13195
13196         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
13197         ACL, not afterwards. Fixes test failure on Cygwin.
13198
13199 2008-10-09  Ben Pfaff  <blp@gnu.org>
13200
13201         * build-aux/announce-gen: Fix gnulib version related part of usage
13202         message.  Die with a useful error message if no tarballs are
13203         found.
13204
13205 2008-10-10  Jim Meyering  <meyering@redhat.com>
13206
13207         bootstrap: use git's --depth=N option only if it's supported
13208         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
13209         recognize the --depth option.  Reported by Pádraig Brady.
13210
13211 2008-10-09  Bruno Haible  <bruno@clisp.org>
13212
13213         New module 'ioctl'.
13214         * modules/ioctl: New file.
13215         * lib/sys_socket.in.h (ioctl): Remove declaration.
13216         * lib/winsock.c: Include <sys/ioctl.h>.
13217         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
13218         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
13219         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
13220         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
13221         * doc/posix-functions/ioctl.texi: Mention the new module.
13222
13223 2008-10-09  Bruno Haible  <bruno@clisp.org>
13224
13225         New module 'sys_ioctl'.
13226         * lib/sys_ioctl.in.h: New file.
13227         * m4/sys_ioctl_h.m4: New file.
13228         * modules/sys_ioctl: New file.
13229         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
13230
13231 2008-10-09  Bruno Haible  <bruno@clisp.org>
13232
13233         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
13234         * lib/winsock.c: Include <stdarg.h>.
13235         (rpl_ioctl): Change to second argument 'int' and then varargs.
13236
13237 2008-10-09  Bruno Haible  <bruno@clisp.org>
13238
13239         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
13240         when the sys_socket module is present and the system has <winsock2.h>.
13241
13242 2008-10-09  Bruno Haible  <bruno@clisp.org>
13243
13244         * doc/posix-functions/close.texi: Mention module 'close' instead of
13245         module 'sys_socket'.
13246
13247 2008-10-09  Bruno Haible  <bruno@clisp.org>
13248
13249         * doc/glibc-headers/sys_ioctl.texi: New file.
13250         * doc/gnulib.texi: Include it.
13251
13252 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13253             Bruno Haible  <bruno@clisp.org>
13254
13255         Combine the two replacements of 'close'.
13256         * lib/sys_socket.in.h (close): Define to a reminder to include
13257         <unistd.h>.
13258         (_gl_close_fd_maybe_socket): New declaration.
13259         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
13260         * lib/winsock.c (close): Remove undefinition.
13261         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
13262         needed for the gnulib module 'close'.
13263         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
13264         define to an error symbol or to a warning, if suitable.
13265         * lib/close.c: Include <sys/socket.h>.
13266         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
13267         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
13268         UNISTD_H_HAVE_WINSOCK2_H.
13269         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
13270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13271         UNISTD_H_HAVE_WINSOCK2_H.
13272         * modules/sys_socket (Files): Add m4/unistd_h.m4.
13273         (configure.ac): Set a module indicator.
13274         (Makefile.am): Substitute GNULIB_CLOSE.
13275         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
13276         * modules/poll-tests (Depends-on): Add close.
13277         * modules/select-tests (Depends-on): Likewise.
13278
13279 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13280             Bruno Haible  <bruno@clisp.org>
13281
13282         New module 'close'.
13283         * modules/close: New file.
13284         * lib/unistd.in.h (close): Move declaration out of the
13285         FCHDIR_REPLACEMENT scope.
13286         (_gl_unregister_fd): New declaration.
13287         * lib/close.c: New file.
13288         * lib/fchdir.c (rpl_close): Remove function.
13289         * m4/close.m4: New file.
13290         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
13291         close.
13292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
13293         REPLACE_CLOSE.
13294         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
13295         REPLACE_CLOSE.
13296         * modules/fchdir (Depends-on): Add close.
13297
13298 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13299             Bruno Haible  <bruno@clisp.org>
13300
13301         * lib/fcntl.in.h (open): Simplify conditionals.
13302         (_gl_register_fd): New declaration.
13303         * lib/fchdir.c (rpl_open): Remove function.
13304         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
13305         also.
13306         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
13307         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
13308         open.
13309
13310 2008-10-09  Jim Meyering  <meyering@redhat.com>
13311
13312         GNUmakefile: use the more name-space-friendly "_version"
13313         * top/GNUmakefile (_dummy): Update.
13314         (_version): Rename from "version".
13315
13316 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13317             Bruno Haible  <bruno@clisp.org>
13318
13319         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
13320         rpl_close.
13321         (_gl_register_fd): New function, extracted from rpl_open.
13322         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
13323         (rpl_open, rpl_opendir): Use _gl_register_fd.
13324
13325 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13326
13327         Fix organization of 'open' replacement.
13328         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
13329         (gl_FUNC_OPEN): Use it.
13330         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
13331
13332 2008-10-08  Bruno Haible  <bruno@clisp.org>
13333
13334         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
13335
13336 2008-10-08  Simon Josefsson  <simon@josefsson.org>
13337
13338         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
13339         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
13340         listen).
13341
13342 2008-10-08  Eric Blake  <ebb9@byu.net>
13343
13344         GNUmakefile: add 'make version' target
13345         * top/GNUmakefile (_curr-ver): Split version update rules...
13346         (version): ...into a target.
13347
13348 2008-10-07  Bruno Haible  <bruno@clisp.org>
13349
13350         Use a more portable replacement expression for -0.0L.
13351         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
13352         instead of -0.0L. Fix m4 quotation.
13353
13354         * tests/test-signbit.c: Include <float.h>.
13355         (minus_zero): New variable.
13356         (test_signbitl): Use minus_zero instead of -zero.
13357         * modules/signbit-tests (Depends-on): Add float.
13358
13359         * tests/test-ceill.c: Include <float.h>.
13360         (zero): Remove variable.
13361         (minus_zero): New variable.
13362         (main): Use minus_zero instead of -zero.
13363         * modules/ceill-tests (Depends-on): Add float.
13364
13365         * tests/test-floorl.c: Include <float.h>.
13366         (zero): Remove variable.
13367         (minus_zero): New variable.
13368         (main): Use minus_zero instead of -zero.
13369         * modules/floorl-tests (Depends-on): Add float.
13370
13371         * tests/test-roundl.c: Include <float.h>.
13372         (zero): Remove variable.
13373         (minus_zero): New variable.
13374         (main): Use minus_zero instead of -zero.
13375         * modules/roundl-tests (Depends-on): Add float.
13376
13377         * tests/test-truncl.c: Include <float.h>.
13378         (zero): Remove variable.
13379         (minus_zero): New variable.
13380         (main): Use minus_zero instead of -zero.
13381         * modules/truncl-tests (Depends-on): Add float.
13382
13383         * tests/test-frexpl.c (zero): Remove variable.
13384         (minus_zero): New variable.
13385         (main): Use minus_zero instead of -zero.
13386         * modules/frexpl-tests (Depends-on): Add float.
13387
13388         * tests/test-isnan.c (zerol): Remove variable.
13389         (minus_zerol): New variable.
13390         (test_long_double): Use minus_zerol instead of -zerol.
13391         * modules/isnan-tests (Depends-on): Add float.
13392
13393         * tests/test-isnanl.h (zero): Remove variable.
13394         (minus_zero): New variable.
13395         (main): Use minus_zero instead of -zero.
13396         * modules/isnanl-nolibm-tests (Depends-on): Add float.
13397         * modules/isnanl-tests (Depends-on): Add float.
13398
13399         * tests/test-ldexpl.c (zero): Remove variable.
13400         (minus_zero): New variable.
13401         (main): Use minus_zero instead of -zero.
13402         * modules/ldexpl-tests (Depends-on): Add float.
13403
13404         * tests/test-snprintf-posix.h (zerol): Remove variable.
13405         (minus_zerol): New variable.
13406         (test_function): Use minus_zerol instead of -zerol.
13407         * modules/snprintf-posix-tests (Depends-on): Add float.
13408         * modules/vsnprintf-posix-tests (Depends-on): Add float.
13409
13410         * tests/test-sprintf-posix.h (zerol): Remove variable.
13411         (minus_zerol): New variable.
13412         (test_function): Use minus_zerol instead of -zerol.
13413         * modules/sprintf-posix-tests (Depends-on): Add float.
13414         * modules/vsprintf-posix-tests (Depends-on): Add float.
13415
13416         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
13417         (minus_zerol): New variable.
13418         (test_function): Use minus_zerol instead of -zerol.
13419         * modules/vasnprintf-posix-tests (Depends-on): Add float.
13420
13421         * tests/test-vasprintf-posix.c (zerol): Remove variable.
13422         (minus_zerol): New variable.
13423         (test_function): Use minus_zerol instead of -zerol.
13424         * modules/vasprintf-posix-tests (Depends-on): Add float.
13425
13426 2008-10-07  Simon Josefsson  <simon@josefsson.org>
13427
13428         * MODULES.html.sh (Support for building documentation): Mention
13429         pmccabe2html.  Sort entries.
13430
13431         Add pmccabe2html module, from gnupdf.
13432         * build-aux/pmccabe.css: New file.
13433         * build-aux/pmccabe2html: New file.
13434         * m4/pmccabe2html.m4: New file.
13435         * modules/pmccabe2html: New file.
13436
13437 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
13438
13439         flock: new module
13440         * MODULES.html.sh: Add to list of modules.
13441         * lib/flock.c: flock implementation for Windows and Unix systems
13442         which have fcntl.
13443         * doc/glibc-functions/flock.texi: Update documentation.
13444         * lib/sys_file.in.h: <sys/file.h> header file.
13445         * m4/flock.m4: M4 macros.
13446         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
13447         * modules/flock: flock module.
13448         * modules/flock-tests: flock tests module.
13449         * modules/sys_file: sys/file.h module.
13450         * tests/test-flock.c: test suite for flock.
13451
13452 2008-10-06  Jim Meyering  <meyering@redhat.com>
13453
13454         bootstrap: check for LT_INIT more portably still ;-)
13455         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
13456         Spotted by Bruno Haible.
13457
13458 2008-10-06  Eric Blake  <ebb9@byu.net>
13459
13460         test-signbit: avoid tripping Irix cc bug on -0.0L
13461         * tests/test-signbit.c (minus_zerol): Delete, and replace with
13462         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
13463         entire testsuite consistent and avoids an Irix 6.2 bug.
13464
13465 2008-10-05  Bruno Haible  <bruno@clisp.org>
13466             Jim Meyering  <jim@meyering.net>
13467
13468         Add an option for ignoring EPIPE during close_stdout.
13469         * lib/closeout.h: Include <stdbool.h>.
13470         (close_stdout_set_ignore_EPIPE): New declaration.
13471         * lib/closeout.c: Include <stdbool.h>.
13472         (ignore_EPIPE): New variable.
13473         (close_stdout_set_ignore_EPIPE): New function.
13474         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
13475         * lib/close-stream.c (close_stream): Mention the possible EPIPE
13476         failure.
13477         * modules/closeout (Depends-on): Add stdbool.
13478
13479 2008-10-05  Bruno Haible  <bruno@clisp.org>
13480
13481         * modules/accept: New file.
13482         * modules/bind: New file.
13483         * modules/connect: New file.
13484         * modules/getpeername: New file.
13485         * modules/getsockname: New file.
13486         * modules/getsockopt: New file.
13487         * modules/listen: New file.
13488         * modules/recv: New file.
13489         * modules/recvfrom: New file.
13490         * modules/send: New file.
13491         * modules/sendto: New file.
13492         * modules/setsockopt: New file.
13493         * modules/socket: New file.
13494         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
13495         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13496         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
13497         the particular module is requested. Add a link warning when the
13498         particular module is not requested.
13499         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
13500         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
13501         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
13502         the particular module is requested.
13503         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
13504         gl_SYS_SOCKET_H_DEFAULTS): New macros.
13505         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
13506         * modules/sys_socket (Depends-on): Add link-warning.
13507         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
13508         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
13509         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
13510         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
13511         GL_LINK_WARNING.
13512         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
13513         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
13514         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
13515         * doc/posix-functions/getpeername.texi: Mention the new module
13516         'getpeername'.
13517         * doc/posix-functions/getsockname.texi: Mention the new module
13518         'getsockname'.
13519         * doc/posix-functions/getsockopt.texi: Mention the new module
13520         'getsockopt'.
13521         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
13522         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
13523         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
13524         * doc/posix-functions/send.texi: Mention the new module 'send'.
13525         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
13526         * doc/posix-functions/setsockopt.texi: Mention the new module
13527         'setsockopt'.
13528         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
13529         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
13530         listen, connect, accept.
13531         * modules/select-tests (Depends-on): Likewise.
13532
13533 2008-10-05  Bruno Haible  <bruno@clisp.org>
13534
13535         * lib/winsock.c (strerror): Remove unused #undef.
13536         (rpl_close): Remove unused local variable.
13537
13538         * modules/sys_socket (Depends-on); Add errno.
13539
13540 2008-10-05  Bruno Haible  <bruno@clisp.org>
13541
13542         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
13543         (select): Add a link warning when the 'select' module is not used.
13544         * modules/sys_select (Depends-on): Add link-warning.
13545         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
13546         Suggested by Paolo Bonzini.
13547
13548 2008-10-05  Jim Meyering  <meyering@redhat.com>
13549
13550         bootstrap: check for LT_INIT more portably
13551         * build-aux/bootstrap: Avoid using grep -E, since it's not
13552         portable enough.  Suggestion from Bruno Haible.
13553
13554 2008-10-05  Bruno Haible  <bruno@clisp.org>
13555
13556         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
13557         as being fixed by gnulib.
13558
13559 2008-10-05  Bruno Haible  <bruno@clisp.org>
13560
13561         * modules/select-tests: New file, mostly copied from
13562         modules/sys_select-tests.
13563         * tests/test-select.c: New file, mostly copied from
13564         tests/test-sys_select.c.
13565         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
13566         * modules/sys_select-tests (Depends-on): Remove all dependencies.
13567         (Makefile.am): Remove test_sys_select_LDADD.
13568
13569         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
13570         to an undefined symbol, for an error message.
13571         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
13572         (gl_SYS_SELECT_H_DEFAULTS): New macro.
13573         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
13574         winsock-select.c here.
13575         * modules/sys_select (Files): Remove lib/winsock-select.c.
13576         (Depends-on): Remove alloca.
13577         (Makefile.am): Substitute GNULIB_SELECT.
13578         * modules/select: New file.
13579         * doc/posix-functions/select.texi: Update.
13580
13581 2008-10-05  Bruno Haible  <bruno@clisp.org>
13582
13583         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
13584         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
13585         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
13586         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
13587         getdtablesize.
13588         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13589         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13590
13591 2008-10-05  Bruno Haible  <bruno@clisp.org>
13592
13593         * modules/getdtablesize-tests: New file.
13594         * tests/test-getdtablesize.c: New file.
13595
13596         New module 'getdtablesize'.
13597         * lib/unistd.in.h (getdtablesize): New declaration.
13598         * lib/getdtablesize.c: New file.
13599         * m4/getdtablesize.m4: New file.
13600         * modules/getdtablesize: New file.
13601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13602         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
13603         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
13604         HAVE_GETDTABLESIZE.
13605         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
13606
13607 2008-10-05  Bruno Haible  <bruno@clisp.org>
13608
13609         * modules/sched (Makefile.am): Fix typo.
13610         Reported by Simon Josefsson.
13611
13612 2008-10-05  Jim Meyering  <meyering@redhat.com>
13613
13614         bootstrap: check for LT_INIT, too
13615         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
13616         are deprecated.  Suggestion from Ralf Wildenhues.
13617
13618 2008-10-05  Bruno Haible  <bruno@clisp.org>
13619
13620         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
13621         overriding them by ours.
13622         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
13623
13624 2008-10-05  Jim Meyering  <meyering@redhat.com>
13625
13626         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
13627         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
13628         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
13629
13630 2008-10-04  Bruno Haible  <bruno@clisp.org>
13631
13632         * modules/dup2 (License): Change to LGPLv2+.
13633         * modules/sleep (License): Likewise.
13634         * modules/perror (License): Likewise.
13635         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
13636         Blake.
13637         * modules/signal (License): Likewise.
13638         * modules/sigprocmask (License): Likewise.
13639         * modules/raise (License): Change to LGPLv2+, with approval by Jim
13640         Meyering.
13641
13642 2008-10-04  Bruno Haible  <bruno@clisp.org>
13643
13644         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
13645         Reported by Rainer Tammer <tammer@tammer.net>.
13646
13647 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
13648             Bruno Haible  <bruno@clisp.org>
13649
13650         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
13651         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
13652         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
13653
13654 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
13655
13656         filevercmp: new module
13657         * lib/filevercmp.h: New function filevercmp comparing version strings.
13658         * lib/filevercmp.c: Implementation of filevercmp function.
13659         * modules/filevercmp: Module metadata.
13660         * tests/test-filevercmp.c: Unit test for new module.
13661         * modules/filevercmp-tests: Unit test metadata.
13662         * MODULES.html.sh: Add filevercmp module.
13663
13664 2008-10-03  Bruno Haible  <bruno@clisp.org>
13665
13666         * lib/c-ctype.h: Add comment.
13667         Reported by Jim Meyering.
13668
13669 2008-10-02  Bruno Haible  <bruno@clisp.org>
13670
13671         * modules/posix_spawn-internal (Depends-on): Add 'open'.
13672
13673 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13674
13675         * build-aux/bootstrap: Allow renaming bootstrap, and change the
13676         name of bootstrap.conf accordingly.
13677
13678 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13679
13680         * build-aux/bootstrap: Install git-merge-changelog configuration
13681         items into .gitconfig if needed.
13682
13683 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13684
13685         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
13686         git repository, and initialize/update it accordingly.
13687
13688 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
13689
13690         * modules/fsync-tests: New file.
13691         * tests/test-fsync.c: New file.
13692
13693         New module 'fsync'.
13694         * lib/fsync.c: New file.
13695         * m4/fsync.m4: New file.
13696         * modules/fsync: New file.
13697         * lib/unistd.in.h (fsync): New declaration.
13698         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
13699         GNULIB_FSYNC and HAVE_FSYNC.
13700         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
13701         * MODULES.html.sh (posix_functions): Add fsync.
13702         * doc/posix-functions/fsync.texi: Mention the new module.
13703
13704 2008-10-02  Jim Meyering  <meyering@redhat.com>
13705
13706         fts.c: sync with similar code from coreutils' remove.c
13707         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
13708         Guard also with "#if defined __linux__", since for now at least,
13709         this code is Linux-kernel-specific.
13710
13711 2008-10-02  Jim Meyering  <meyering@redhat.com>
13712
13713         fts: bug fixes
13714         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
13715         Include <sys/vfs.h>, not <sys/statfs.h>.
13716
13717         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
13718         Include <sys/vfs.h>, not <sys/statfs.h>.
13719
13720 2008-10-01  Bruno Haible  <bruno@clisp.org>
13721
13722         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
13723         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
13724         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
13725         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
13726         * doc/posix-functions/posix_spawnp.texi: Likewise.
13727         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
13728         whether posix_spawn actually works.
13729         * m4/pipe.m4 (gl_PIPE): Likewise.
13730         * modules/execute (Files): Add m4/posix_spawn.m4.
13731         * modules/pipe (Files): Add m4/posix_spawn.m4.
13732         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
13733
13734 2008-10-01  Jim Meyering  <meyering@redhat.com>
13735
13736         remove trailing spaces
13737         * NEWS: Likewise.
13738         * lib/poll.c (poll): Likewise.
13739         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
13740         * lib/winsock.c (rpl_close): Likewise.
13741         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
13742         * modules/yield: Likewise.
13743         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
13744         * tests/test-sys_select.c (connect_to_socket): Likewise.
13745
13746         fts.c: adjust a new interface to be more generally useful
13747         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
13748         (fts_build): Adjust caller.
13749
13750 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13751
13752         * modules/cond-tests: New file.
13753         * tests/test-cond.c: New file.
13754
13755 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13756             Bruno Haible  <bruno@clisp.org>
13757
13758         * modules/cond (Dependencies): Add errno, time.
13759         * lib/glthread/cond.h: Include <time.h>.
13760         (gl_cond_define, gl_cond_define_initialized): Use the same definition
13761         across platforms.
13762
13763 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13764             Bruno Haible  <bruno@clisp.org>
13765
13766         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
13767
13768 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13769             Bruno Haible  <bruno@clisp.org>
13770
13771         * modules/tls-tests (Depends-on): Add thread, yield.
13772         (configure.ac): Remove all checks.
13773         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
13774         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13775         gl_thread_self): Remove definitions. Include glthread/thread.h and
13776         glthread/yield.h instead.
13777         (test_tls): Pass an additional NULL argument to gl_thread_join.
13778
13779 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13780             Bruno Haible  <bruno@clisp.org>
13781
13782         * modules/lock-tests (Depends-on): Add thread, yield.
13783         (configure.ac): Remove all checks.
13784         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
13785         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13786         gl_thread_self): Remove definitions. Include glthread/thread.h and
13787         glthread/yield.h instead.
13788         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
13789         additional NULL argument to gl_thread_join.
13790
13791 2008-09-30  Bruno Haible  <bruno@clisp.org>
13792
13793         Fix the Win32 implementation of the 'thread' module.
13794         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
13795         pointer type.
13796         (gl_thread_self): Invoke gl_thread_self_func.
13797         (gl_thread_self_func): New declaration.
13798         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
13799         (do_init_self_key, init_self_key): New functions.
13800         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
13801         Remove some fields.
13802         (running_threads, running_lock): Remove variables.
13803         (get_current_thread_handle): New function.
13804         (gl_thread_self_func, wrapper_func, glthread_create_func,
13805         glthread_join_func, gl_thread_exit_func): Largely rewritten and
13806         simplified.
13807
13808 2008-09-30  Bruno Haible  <bruno@clisp.org>
13809
13810         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
13811         files.
13812
13813 2008-09-30  Jim Meyering  <meyering@redhat.com>
13814
13815         fts.m4: correct the test for statfs.f_type
13816         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
13817         when checking for statfs.f_type.
13818
13819 2008-09-15  Simon Josefsson  <simon@josefsson.org>
13820
13821         tests: avoid some compiler warnings
13822         * tests/test-memchr.c (main): Pass NULL indirectly.
13823         * tests/test-getdate.c (main): Remove unused variable 'ret'.
13824
13825 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
13826
13827         getdate.y: disallow countable dayshifts like "4 yesterday ago"
13828         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
13829         exactly specified dayshifts.
13830         (dayshift): New rule.
13831         (rel): Add dayshift.
13832         (relative_time_table) [tomorrow, yesterday, today, now]:
13833         Use tDAY_SHIFT in place of tDAY_UNIT.
13834         * tests/test-getdate.c: Add tests for now-disallowed countable
13835         dayshifts, e.g., "4 yesterday ago".
13836
13837 2008-09-29  Bruno Haible  <bruno@clisp.org>
13838
13839         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
13840         * tests/test-posix_spawn1.in.sh: Renamed from
13841         tests/test-posix_spawn.in.sh.
13842         * tests/test-posix_spawn2.c: New file.
13843         * tests/test-posix_spawn2.in.sh: New file.
13844         * modules/posix_spawnp-tests (Files): Update.
13845         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
13846
13847 2008-09-29  Bruno Haible  <bruno@clisp.org>
13848
13849         Propagate effects of putenv/setenv/unsetenv to child processes.
13850         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
13851         * lib/pipe.c (create_pipe): Likewise.
13852
13853 2008-09-29  Bruno Haible  <bruno@clisp.org>
13854
13855         Enable use of shell scripts as executables in mingw.
13856         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
13857         run the program as a shell script.
13858         * lib/pipe.c (create_pipe): Likewise.
13859         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
13860         resulting array.
13861
13862 2008-09-29  Eric Blake  <ebb9@byu.net>
13863
13864         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
13865
13866 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
13867
13868         * doc/posix-functions/accept.texi: Update mingw problems.
13869         * doc/posix-functions/bind.texi: Update mingw problems.
13870         * doc/posix-functions/close.texi: Update mingw problems.
13871         * doc/posix-functions/connect.texi: Update mingw problems.
13872         * doc/posix-functions/getpeername.texi: Update mingw problems.
13873         * doc/posix-functions/getsockname.texi: Update mingw problems.
13874         * doc/posix-functions/getsockopt.texi: Update mingw problems.
13875         * doc/posix-functions/ioctl.texi: Update mingw problems.
13876         * doc/posix-functions/listen.texi: Update mingw problems.
13877         * doc/posix-functions/recv.texi: Update mingw problems.
13878         * doc/posix-functions/recvfrom.texi: Update mingw problems.
13879         * doc/posix-functions/select.texi: Update mingw problems.
13880         * doc/posix-functions/send.texi: Update mingw problems.
13881         * doc/posix-functions/sendto.texi: Update mingw problems.
13882         * doc/posix-functions/setsockopt.texi: Update mingw problems.
13883         * doc/posix-functions/socket.texi: Update mingw problems.
13884
13885 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
13886             Bruno Haible  <bruno@clisp.org>
13887
13888         * lib/sys_select.in.h: Include sys/time.h.
13889         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
13890         * modules/sys_select: Depend on sys_time.
13891         * tests/test-sys_select.c: Test that sys/select.h defines struct
13892         timeval fully.
13893
13894 2008-09-29  Bruno Haible  <bruno@clisp.org>
13895
13896         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
13897         * lib/sys_select.in.h: Likewise.
13898
13899 2008-09-29  Bruno Haible  <bruno@clisp.org>
13900
13901         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
13902
13903 2008-09-29  Bruno Haible  <bruno@clisp.org>
13904
13905         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
13906         Set LIBSOCKET instead of augmenting LIBS.
13907         * modules/sockets (Link): New section.
13908         * modules/sockets-tests (test_sockets_LDADD): New variable.
13909         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
13910         * modules/poll-tests (test_poll_LDADD): New variable.
13911         * NEWS: Document the change.
13912
13913 2008-09-29  Bruno Haible  <bruno@clisp.org>
13914
13915         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
13916         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
13917         ARPA_INET_H directly.
13918         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
13919
13920 2008-09-28  Bruno Haible  <bruno@clisp.org>
13921
13922         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
13923         from gl_HEADER_SYS_SOCKET.
13924         (gl_HEADER_SYS_SOCKET): Invoke it.
13925         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13926
13927 2008-09-28  Bruno Haible  <bruno@clisp.org>
13928
13929         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
13930         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
13931         Needed on OSF/1 4.0.
13932
13933 2008-09-28  Bruno Haible  <bruno@clisp.org>
13934
13935         Override open more carefully.
13936         * lib/open.c (orig_open): New function.
13937         (rpl_open): Use orig_open instead of open.
13938         * lib/fcntl.in.h: Add special invocation convention.
13939         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
13940         (gl_FUNC_OPEN): Invoke it.
13941
13942         Override freopen more carefully.
13943         * lib/freopen.c (orig_freopen): New function.
13944         (rpl_freopen): Use orig_freopen instead of freopen.
13945         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
13946         (gl_FUNC_FREOPEN): Invoke it.
13947
13948         Override fopen more carefully.
13949         * lib/fopen.c (orig_fopen): New function.
13950         (rpl_fopen): Use orig_fopen instead of fopen.
13951         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
13952         (gl_FUNC_FOPEN): Invoke it.
13953         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
13954
13955 2008-09-28  Bruno Haible  <bruno@clisp.org>
13956
13957         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
13958         SIGPIPE.
13959
13960 2008-09-28  Bruno Haible  <bruno@clisp.org>
13961
13962         * tests/test-sigaction.c (handler, main): Disable the check whether
13963         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
13964         glibc systems with LinuxThreads.
13965
13966 2008-09-28  Bruno Haible  <bruno@clisp.org>
13967
13968         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
13969
13970         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
13971         with AIX xlc.
13972         * lib/fcntl.in.h (open): Likewise.
13973         Reported by Rainer Tammer <tammer@tammer.net>.
13974
13975 2008-09-28  Bruno Haible  <bruno@clisp.org>
13976
13977         * modules/posix_spawnp-tests: New file.
13978         * tests/test-posix_spawn.c: New file.
13979         * tests/test-posix_spawn.in.sh: New file.
13980
13981         New module 'posix_spawnp'.
13982         * modules/posix_spawnp: New file.
13983         * lib/spawnp.c: New file, from GNU libc with modifications.
13984         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
13985
13986         New module 'posix_spawn'.
13987         * modules/posix_spawn: New file.
13988         * lib/spawn.c: New file, from GNU libc with modifications.
13989         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13990
13991         New module 'posix_spawnattr_destroy'.
13992         * modules/posix_spawnattr_destroy: New file.
13993         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
13994         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
13995         module.
13996
13997         New module 'posix_spawnattr_setsigmask'.
13998         * modules/posix_spawnattr_setsigmask: New file.
13999         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
14000         modifications.
14001         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
14002         new module.
14003
14004         New module 'posix_spawnattr_getsigmask'.
14005         * modules/posix_spawnattr_getsigmask: New file.
14006         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
14007         modifications.
14008         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
14009         new module.
14010
14011         New module 'posix_spawnattr_setsigdefault'.
14012         * modules/posix_spawnattr_setsigdefault: New file.
14013         * lib/spawnattr_setdefault.c: New file, from GNU libc with
14014         modifications.
14015         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
14016         new module.
14017
14018         New module 'posix_spawnattr_getsigdefault'.
14019         * modules/posix_spawnattr_getsigdefault: New file.
14020         * lib/spawnattr_getdefault.c: New file, from GNU libc with
14021         modifications.
14022         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
14023         new module.
14024
14025         New module 'posix_spawnattr_setschedpolicy'.
14026         * modules/posix_spawnattr_setschedpolicy: New file.
14027         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
14028         modifications.
14029         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
14030         new module.
14031
14032         New module 'posix_spawnattr_getschedpolicy'.
14033         * modules/posix_spawnattr_getschedpolicy: New file.
14034         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
14035         modifications.
14036         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
14037         new module.
14038
14039         New module 'posix_spawnattr_setschedparam'.
14040         * modules/posix_spawnattr_setschedparam: New file.
14041         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
14042         modifications.
14043         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
14044         new module.
14045
14046         New module 'posix_spawnattr_getschedparam'.
14047         * modules/posix_spawnattr_getschedparam: New file.
14048         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
14049         modifications.
14050         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
14051         new module.
14052
14053         New module 'posix_spawnattr_setpgroup'.
14054         * modules/posix_spawnattr_setpgroup: New file.
14055         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
14056         modifications.
14057         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
14058         module.
14059
14060         New module 'posix_spawnattr_getpgroup'.
14061         * modules/posix_spawnattr_getpgroup: New file.
14062         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
14063         modifications.
14064         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
14065         module.
14066
14067         New module 'posix_spawnattr_setflags'.
14068         * modules/posix_spawnattr_setflags: New file.
14069         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
14070         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
14071         module.
14072
14073         New module 'posix_spawnattr_getflags'.
14074         * modules/posix_spawnattr_getflags: New file.
14075         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
14076         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
14077         module.
14078
14079         New module 'posix_spawnattr_init'.
14080         * modules/posix_spawnattr_init: New file.
14081         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
14082         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
14083         module.
14084
14085         New module 'posix_spawn_file_actions_destroy'.
14086         * modules/posix_spawn_file_actions_destroy: New file.
14087         * lib/spawn_faction_destroy.c: New file, from GNU libc with
14088         modifications.
14089         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
14090         the new module.
14091
14092         New module 'posix_spawn_file_actions_addopen'.
14093         * modules/posix_spawn_file_actions_addopen: New file.
14094         * lib/spawn_faction_addopen.c: New file, from GNU libc with
14095         modifications.
14096         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
14097         the new module.
14098
14099         New module 'posix_spawn_file_actions_adddup2'.
14100         * modules/posix_spawn_file_actions_adddup2: New file.
14101         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
14102         modifications.
14103         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
14104         the new module.
14105
14106         New module 'posix_spawn_file_actions_addclose'.
14107         * modules/posix_spawn_file_actions_addclose: New file.
14108         * lib/spawn_faction_addclose.c: New file, from GNU libc with
14109         modifications.
14110         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14111         the new module.
14112
14113         New module 'posix_spawn_file_actions_init'.
14114         * modules/posix_spawn_file_actions_init: New file.
14115         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
14116         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
14117         new module.
14118
14119         New module 'posix_spawn-internal'.
14120         * modules/posix_spawn-internal: New file.
14121         * lib/spawn_int.h: New file, from GNU libc with modifications.
14122         * lib/spawni.c: New file, from GNU libc with modifications.
14123         * m4/posix_spawn.m4: New file.
14124
14125         New module 'spawn'.
14126         * modules/spawn: New file.
14127         * lib/spawn.in.h: New file, from GNU libc with modifications.
14128         * m4/spawn_h.m4: New file.
14129         * doc/posix-headers/spawn.texi: Mention the new module.
14130
14131 2008-09-28  Bruno Haible  <bruno@clisp.org>
14132
14133         * modules/sched-tests: New file.
14134         * tests/test-sched.c: New file.
14135
14136         New module 'sched'.
14137         * modules/sched: New file.
14138         * lib/sched.in.h: New file.
14139         * m4/sched_h.m4: New file.
14140         * doc/posix-headers/sched.texi: Mention the new module.
14141
14142 2008-09-27  Eric Blake  <ebb9@byu.net>
14143
14144         Fix previous patch, and tweak references to $0.
14145         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
14146         (func_version, func_gnulib_dir): Don't call this program
14147         gnulib-tool.
14148         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
14149         with using $0 in function.
14150         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
14151         (func_fatal_error): Reuse the name the user invoked us with.
14152
14153 2008-09-27  Bruno Haible  <bruno@clisp.org>
14154
14155         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
14156         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
14157         (gl_ICONV_H): Not here.
14158         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
14159         instead of assigning ICONV_H directly.
14160
14161         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
14162         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
14163         WCHAR_H directly.
14164
14165 2008-09-27  Bruno Haible  <bruno@clisp.org>
14166
14167         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
14168         * modules/arpa_inet (Depends-on): Add link-warning.
14169         (Makefile.am): Insert the definition of GL_LINK-WARNING.
14170         * modules/unistd (Makefile.am): Likewise.
14171
14172 2008-09-26  Bruno Haible  <bruno@clisp.org>
14173
14174         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
14175         variables.
14176         (func_version): Essentially copied from gnulib-tool.
14177         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
14178         func_readlink): Copied from gnulib-tool.
14179
14180 2008-09-26  Bruno Haible  <bruno@clisp.org>
14181
14182         * gnulib-tool (func_version): Change directory to $gnulib_dir before
14183         invoking git-version-gen.
14184
14185 2008-09-26  Bruno Haible  <bruno@clisp.org>
14186
14187         * posix-modules: Update to directory names changed on 2008-01-19.
14188         Remove commas in output before splitting into words. No more need to
14189         avoid 'ftruncate' since 2007-02-19.
14190
14191 2008-09-26  Bruno Haible  <bruno@clisp.org>
14192
14193         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
14194
14195 2008-09-26  Bruno Haible  <bruno@clisp.org>
14196
14197         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
14198         * modules/fwriteerror (Depends-on): Add errno.
14199
14200 2008-09-26  Bruno Haible  <bruno@clisp.org>
14201
14202         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
14203         * tests/test-vc-list-files-cvs.sh: Likewise.
14204
14205 2008-09-26  Bruno Haible  <bruno@clisp.org>
14206
14207         * doc/posix-headers/sys_resource.texi: Reorder items.
14208
14209 2008-09-26  Jim Meyering  <meyering@redhat.com>
14210
14211         fts: tweak inode comparison function
14212         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
14213         inode numbers, as documented.
14214
14215         fts: sort dirent entries on inode number before traversing
14216         This avoids a quadratic, seek-related performance penalty when
14217         operating on a directory containing many entries (measurable at 10k;
14218         3.5 hours at 2 million entries with a cold cache) on certain types
14219         of file systems, including ext3 and ext4, but not tmpfs.
14220         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
14221         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
14222         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
14223         (fs_handles_readdir_ordered_dirents_efficiently): New function.
14224         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
14225         (fts_build): Set the stat.st_ino member from D_INO.
14226         If it is likely to be useful, sort dirent entries on inode number.
14227
14228         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
14229         and the struct statfs.f_type member.
14230         * modules/fts (Depends-on): Add d-ino.
14231
14232 2008-09-26  Bruno Haible  <bruno@clisp.org>
14233
14234         * modules/sigpipe-die (Depends-on): Add sigpipe.
14235
14236         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
14237         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
14238         and GNULIB_STDIO_H_SIGPIPE are set.
14239         * lib/stdio-write.c: New file.
14240         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
14241         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14242         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14243         REPLACE_STDIO_WRITE_FUNCS.
14244         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
14245         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14246         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14247         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
14248         * modules/stdio (Files): Add lib/stdio-write.c.
14249         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
14250         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14251         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14252         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
14253         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
14254         REPLACE_FPRINTF_POSIX.
14255         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
14256         REPLACE_PRINTF_POSIX.
14257         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
14258         REPLACE_VFPRINTF_POSIX.
14259         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
14260         REPLACE_VPRINTF_POSIX.
14261         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
14262         SIGPIPE issue.
14263         * doc/posix-functions/fputc.texi: Likewise.
14264         * doc/posix-functions/fputs.texi: Likewise.
14265         * doc/posix-functions/fwrite.texi: Likewise.
14266         * doc/posix-functions/printf.texi: Likewise.
14267         * doc/posix-functions/putc.texi: Likewise.
14268         * doc/posix-functions/putchar.texi: Likewise.
14269         * doc/posix-functions/puts.texi: Likewise.
14270         * doc/posix-functions/vfprintf.texi: Likewise.
14271         * doc/posix-functions/vprintf.texi: Likewise.
14272
14273         * modules/safe-write (Depends-on): Add write.
14274
14275         * modules/sigpipe-tests: New file.
14276         * tests/test-sigpipe.c: New file.
14277         * tests/test-sigpipe.sh: New file.
14278
14279         * modules/write: New file.
14280         * lib/unistd.in.h: Include <sys/types.h>.
14281         (write): New declaration.
14282         * lib/write.c: New file.
14283         * m4/write.m4: New file.
14284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14285         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
14286         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
14287         GNULIB_WRITE, REPLACE_WRITE.
14288         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
14289         and the SIGPIPE issue.
14290
14291         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
14292         (raise): New declaration.
14293         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
14294         (ext_signal): New function.
14295         (rpl_raise): New function.
14296         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14297         GNULIB_SIGNAL_H_SIGPIPE.
14298         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
14299         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
14300
14301         * modules/sigpipe: New file.
14302         * m4/sigpipe.m4: New file.
14303
14304 2008-09-25  Derek Price  <derek@ximbiot.com>
14305             Bruno Haible  <bruno@clisp.org>
14306
14307         * gnulib-tool (func_import): Report all license incompatibilities, not
14308         just the first one.
14309
14310 2008-09-25  Bruno Haible  <bruno@clisp.org>
14311
14312         * gnulib-tool (func_import): When computing the edits, consider not
14313         only the Makefile.ams that exist but also those that will be generated.
14314
14315 2008-09-25  Simon Josefsson  <simon@josefsson.org>
14316
14317         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
14318         fixes gnulib-tool --test warning about duplicate dependency.
14319
14320 2008-09-25  Bruno Haible  <bruno@clisp.org>
14321
14322         * gnulib-tool: Don't ask the user to perform edits in the generated
14323         Makefile.ams.
14324         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
14325         apply to the Makefile.am being generated.
14326         (func_emit_tests_Makefile_am): Execute edits that apply to the
14327         Makefile.am being generated.
14328         (func_import): Setup list of Makefile.am edits before emitting the
14329         Makefile.ams, not at the end.
14330         (func_create_testdir): Update.
14331         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14332
14333 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14334
14335         * gnulib-tool (func_import): Store the --tests-base option in the
14336         comment in gnulib-cache.m4.
14337
14338 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
14339
14340         * NEWS: Document increased portability that sys_select now provides.
14341
14342         * lib/sys_select.in.h: Install select wrapper.
14343         * lib/sys_socket.in.h: Use more descriptive name when there is no
14344         select wrapper.
14345         * lib/winsock-select.c: New.
14346         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
14347         Require gl_HEADER_SYS_SOCKET.
14348         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
14349         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
14350         * tests/test-sys_select.c: Add functional tests.
14351
14352 2008-09-24  Eric Blake  <ebb9@byu.net>
14353
14354         open, fopen: close fd leak in last patch
14355         * lib/open.c (rpl_open): Close fd before returning error.
14356         * lib/fopen.c (rpl_fopen): Close fd before returning error.
14357         * doc/posix-functions/open.texi (open): Document that Irix also
14358         has the bug.
14359         * doc/posix-functions/fopen.texi (fopen): Likewise.
14360         Reported by Paolo Bonzini.
14361
14362 2008-09-24  Bruno Haible  <bruno@clisp.org>
14363
14364         Ensure that a filename ending in a slash cannot be used to access a
14365         non-directory.
14366         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
14367         to check whether it's really a directory.
14368         * lib/fopen.c: Include fcntl.h, unistd.h.
14369         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
14370         and fdopen().
14371         * modules/fopen (Depends-on): Add unistd.
14372         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
14373         * tests/test-fopen.c (main): Likewise.
14374         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
14375         * doc/posix-functions/fopen.texi: Likewise.
14376         Reported by Eric Blake.
14377
14378 2008-09-23  Eric Blake  <ebb9@byu.net>
14379
14380         c-stack: avoid compiler optimizations when provoking overflow
14381         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
14382         recursion harder to optimize, to ensure a stack overflow occurs.
14383         * tests/test-c-stack.c (recurse): Likewise.
14384         Borrowed from libsigsegv.
14385
14386         c-stack: work around Irix sigaltstack bug
14387         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
14388         whether sigaltstack uses wrong end of stack_t (copied in part from
14389         libsigsegv).
14390         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
14391         Irix bug, without requiring an over-allocation.
14392         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
14393         bug.
14394
14395         fopen: document mingw bug on directories
14396         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
14397         not allowing a stream visiting a directory, even though reading
14398         from such a stream is not portable.
14399
14400 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14401
14402         * lib/poll.c: Rewrite.
14403         * modules/poll: Depend on alloca.
14404
14405 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14406
14407         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
14408         instead define prototypes for a full set of wrappers.  Ensure
14409         that Cygwin does not use the compatibility code, which is only
14410         for MinGW.
14411         * lib/winsock.c: New.
14412         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
14413         * modules/sys_socket: Add lib/winsock.c.
14414
14415         * modules/poll-tests: Add errno and perror.
14416         * tests/test-poll.c: Use ioctl, not ioctlsocket.
14417
14418 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14419
14420         * tests/test-poll.c: Downgrade minimum needed Winsock version.
14421
14422 2008-09-23  Bruno Haible  <bruno@clisp.org>
14423
14424         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
14425         * doc/glibc-functions/*: Likewise.
14426
14427 2008-09-23  Simon Josefsson  <simon@josefsson.org>
14428
14429         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
14430         success.
14431
14432 2008-09-22  Eric Blake  <ebb9@byu.net>
14433             Bruno Haible  <bruno@clisp.org>
14434
14435         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
14436         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
14437         supply %A but mishandle pseudo-NaN.
14438         Reported by Simon Josefsson.
14439
14440 2008-09-21  Bruno Haible  <bruno@clisp.org>
14441
14442         * tests/test-lock.c (main): Tweak skip message.
14443         * tests/test-tls.c (main): Likewise.
14444
14445 2008-09-21  Bruno Haible  <bruno@clisp.org>
14446
14447         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
14448         whether 'struct sigaction' has sa_sigaction here...
14449         (gl_PREREQ_SIG_HANDLER_H): ... not here.
14450         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
14451
14452 2008-09-21  Bruno Haible  <bruno@clisp.org>
14453
14454         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
14455         section.
14456         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
14457         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
14458         the new section.
14459         (Support for obsolete systems lacking POSIX:2001): New section.
14460         (String handling <string.h>): Move strdup to the new section.
14461         Suggested by Simon Josefsson and Paolo Bonzini.
14462
14463 2008-09-21  Bruno Haible  <bruno@clisp.org>
14464
14465         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
14466         exponents in %e and %g results on 'long double'. Needed for mingw's
14467         improved *printf functions.
14468         * tests/test-vasprintf-posix.c (test_function): Likewise.
14469         * tests/test-snprintf-posix.h (test_function): Likewise.
14470         * tests/test-sprintf-posix.h (test_function): Likewise.
14471         Reported by Eric Blake.
14472
14473 2008-09-21  Bruno Haible  <bruno@clisp.org>
14474
14475         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
14476         * tests/test-sprintf-posix.h (test_function): Likewise.
14477
14478 2008-09-21  Bruno Haible  <bruno@clisp.org>
14479
14480         * modules/getpass (Depends-on): Add strdup-posix.
14481
14482         New module 'strdup-posix'.
14483         * modules/strdup-posix: New file.
14484         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
14485         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
14486         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14487         REPLACE_STRDUP.
14488         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
14489         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
14490         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14491         strdup-posix.
14492
14493         * modules/strdup (Depends-on): Remove malloc-posix.
14494
14495 2008-09-20  Bruno Haible  <bruno@clisp.org>
14496
14497         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
14498         Wildenhues.
14499
14500 2008-09-20  Bruno Haible  <bruno@clisp.org>
14501
14502         Ensure that wint_t gets defined on IRIX 5.3.
14503         * lib/wchar.in.h (wint_t): Define if not defined by the system.
14504         * lib/wctype.in.h (wint_t): Likewise.
14505         (__wctype_wint_t): Remove type.
14506         (isw*): Use wint_t instead of __wctype_wint_t.
14507         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
14508         * modules/wchar (Files): Add m4/wint_t.m4.
14509         (Makefile.am): Substitute HAVE_WINT_T.
14510         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
14511         * tests/test-wctype.c: Check that wint_t is defined.
14512         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
14513         * doc/posix-headers/wctype.texi: Likewise.
14514         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14515
14516 2008-09-18  Bruno Haible  <bruno@clisp.org>
14517
14518         * gnulib-tool (func_exit): Update comment.
14519
14520 2008-09-18  Simon Josefsson  <simon@josefsson.org>
14521
14522         * modules/getaddrinfo (Depends-on): Remove strdup, this module
14523         assumes strdup exists and does not depend on strdup to return
14524         ENOMEM on out of memory conditions.
14525
14526 2008-09-18  Bruno Haible  <bruno@clisp.org>
14527
14528         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
14529         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
14530         digits for the exponent.
14531
14532 2008-09-18  Jim Meyering  <meyering@redhat.com>
14533             Bruno Haible  <bruno@clisp.org>
14534
14535         * lib/vasnprintf.c (decimal_point_char): Define also if
14536         NEED_PRINTF_INFINITE_LONG_DOUBLE.
14537
14538 2008-09-16  Bruno Haible  <bruno@clisp.org>
14539         and Eric Blake  <ebb9@byu.net>
14540
14541         vasnprintf: support Irix 5.3
14542         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
14543         that mishandle long double infinity.
14544         Reported by Tom G. Christensen.
14545
14546 2008-09-16  Bruno Haible  <bruno@clisp.org>
14547
14548         * doc/glibc-functions/scandir.texi: Mention the function is missing on
14549         Solaris 9.
14550         * doc/glibc-functions/alphasort.texi: Likewise.
14551         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
14552
14553 2008-09-16  Jim Meyering  <meyering@redhat.com>
14554
14555         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
14556         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
14557         a umask modification leak out of a subshell.  Otherwise, the
14558         opensolaris /bin/sh would be accepted and thus cause unwarranted
14559         failures in the coreutils test suite.
14560
14561 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
14562
14563         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
14564         to succeed.
14565
14566 2008-09-16  Jim Meyering  <meyering@redhat.com>
14567
14568         avoid spurious test failure when library is built without ACL support
14569         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
14570         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
14571         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
14572         * tests/test-copy-acl.sh: Likewise.
14573
14574 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14575
14576         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
14577         based on character occurrence counts.
14578
14579 2008-09-15  Eric Blake  <ebb9@byu.net>
14580
14581         tests: avoid some compiler warnings
14582         * tests/test-memchr.c (main): Pass NULL indirectly.
14583         * tests/test-closein.c (main): Avoid unused variable.
14584
14585 2008-09-15  Bruno Haible  <bruno@clisp.org>
14586
14587         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
14588         are missing on OpenBSD 4.0 individually.
14589         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14590
14591 2008-09-15  Bruno Haible  <bruno@clisp.org>
14592
14593         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
14594         * doc/posix-functions/strerror.texi: Mention also Cygwin.
14595         * doc/posix-functions/perror.texi: Likewise.
14596         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
14597         is missing.
14598         Reported by Eric Blake.
14599
14600         * lib/errno.in.h: Use replacement values >= 2000.
14601         Reported by Eric Blake.
14602
14603 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14604
14605         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
14606         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
14607         limit.
14608         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
14609         compareseq was aborted.
14610
14611 2008-09-14  Bruno Haible  <bruno@clisp.org>
14612
14613         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
14614         yvec_edit_count.
14615         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
14616         (fstrcmp_bounded): Simplify result computation accordingly.
14617
14618 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14619
14620         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
14621         (fstrcmp): Define in terms of fstrcmp_bounded.
14622         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
14623         lower_bound argument.
14624         Return quickly if the result is certainly < lower_bound.
14625         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
14626
14627 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14628
14629         * lib/diffseq.h (EARLY_ABORT): New macro.
14630         (compareseq): Change return type to bool. Return true when EARLY_ABORT
14631         evaluates to true.
14632
14633 2008-09-14  Bruno Haible  <bruno@clisp.org>
14634
14635         * modules/perror-tests: New file.
14636         * tests/test-perror.sh: New file.
14637         * tests/test-perror.c: New file.
14638
14639         New module 'perror'.
14640         * lib/stdio.in.h (perror): New declaration.
14641         * lib/perror.c: New file.
14642         * m4/perror.m4: New file.
14643         * modules/perror: New file.
14644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
14645         * doc/posix-functions/perror.texi: Mention the perror module.
14646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
14647         REPLACE_PERROR.
14648         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
14649         REPLACE_PERROR.
14650
14651 2008-09-14  Bruno Haible  <bruno@clisp.org>
14652
14653         * modules/stdio (Makefile.am): Reorder to match the order in
14654         lib/stdio.in.h.
14655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14656
14657 2008-09-13  Bruno Haible  <bruno@clisp.org>
14658
14659         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
14660
14661 2008-09-13  Bruno Haible  <bruno@clisp.org>
14662
14663         Extend strerror to cover the added errno values.
14664         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
14665         (rpl_strerror): Provide error messages for the added errno values and
14666         for the WSA* values.
14667         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
14668         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
14669         strerror.
14670         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
14671         * modules/strerror (Depends-on): Add errno.
14672         * doc/posix-functions/strerror.texi: Document the change.
14673         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
14674         and EOVERFLOW.
14675
14676 2008-09-13  Bruno Haible  <bruno@clisp.org>
14677
14678         * modules/EOVERFLOW: Remove file.
14679         * m4/eoverflow.m4: Remove file.
14680         * modules/EOVERFLOW-tests: Remove file.
14681         * tests/test-EOVERFLOW.c: Remove file.
14682         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
14683         * modules/ftell (Depends-on): Likewise.
14684         * modules/getdelim (Depends-on): Likewise.
14685         * modules/getugroups (Depends-on): Likewise.
14686         * modules/poll (Depends-on): Likewise.
14687         * modules/snprintf (Depends-on): Likewise.
14688         * modules/sprintf-posix (Depends-on): Likewise.
14689         * modules/vasnprintf (Depends-on): Likewise.
14690         * modules/vasprintf (Depends-on): Likewise.
14691         * modules/vfprintf-posix (Depends-on): Likewise.
14692         * modules/vsnprintf (Depends-on): Likewise.
14693         * modules/vsprintf-posix (Depends-on): Likewise.
14694         * modules/xvasprintf (Depends-on): Likewise.
14695         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14696         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
14697         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
14698         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
14699         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14700         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
14701         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
14702         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
14703         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14704         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
14705         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
14706         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
14707         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14708         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
14709         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
14710         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
14711         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14712         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
14713         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
14714         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
14715         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14716         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
14717         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
14718         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
14719         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
14720         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14721         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
14722         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
14723         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
14724         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
14725         * MODULES.html.sh: Remove EOVERFLOW.
14726         * NEWS: Mention the change.
14727
14728 2008-09-13  Bruno Haible  <bruno@clisp.org>
14729
14730         * modules/errno-tests: New file.
14731         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
14732
14733         * lib/errno.in.h: New file.
14734         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
14735         * modules/errno: New file.
14736         * doc/posix-headers/errno.texi: Update documentation.
14737         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
14738
14739 2008-09-13  Bruno Haible  <bruno@clisp.org>
14740
14741         * tests/test-poll.c: Use #if for native Windows, rather than testing
14742         __MSVCRT__.
14743
14744 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14745             Bruno Haible  <bruno@clisp.org>
14746
14747         * lib/glob.c: Don't include <pwd.h> on native Windows.
14748         (WINDOWS32): New macro.
14749         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
14750
14751 2008-09-13  Bruno Haible  <bruno@clisp.org>
14752
14753         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
14754         (ETIMEDOUT): Remove macro.
14755         (glthread_cond_timedwait_multithreaded): New declaration.
14756         (glthread_cond_timedwait): Use it.
14757         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
14758         (glthread_cond_timedwait_multithreaded): New function.
14759
14760 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14761
14762         * modules/poll-tests: Do not check for io.h.
14763         * tests/test-poll.c: Check for __MSVCRT__ instead.
14764
14765 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14766
14767         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
14768         * modules/poll-tests: Add inet_pton, stdbool, sockets.
14769         * tests/test-poll.c: Use them.  Use _pipe on Windows.
14770
14771 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14772
14773         * modules/poll-tests: New.
14774         * tests/test-poll.c: New.
14775
14776 2008-09-12  Eric Blake  <ebb9@byu.net>
14777
14778         frexp: test for NetBSD failure on -0.0
14779         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
14780         not all, bugs from NetBSD 3.0 have been fixed.
14781         * doc/posix-functions/frexp.texi (frexp): Document bug.
14782         Reported by Thomas Klausner.
14783
14784         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
14785         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
14786         literal -0.0.
14787         Reported by Jonathan C. Patschke <jp@centtech.com>.
14788
14789 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14790
14791         * lib/glthread/cond.h: Use dummy implementation also if
14792         USE_WIN32_THREADS.
14793
14794 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14795
14796         * modules/fnmatch-posix (License): Change to LGPLv2+.
14797         * modules/fnmatch-gnu (License): Likewise.
14798
14799 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14800
14801         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
14802
14803 2008-09-11  Jim Meyering  <meyering@redhat.com>
14804
14805         * users.txt: Add gtk-vnc.
14806
14807 2008-09-08  Simon Josefsson  <simon@josefsson.org>
14808
14809         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
14810         rotate amounts.
14811
14812         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
14813         required for 16-bit and 8-bit rotates.
14814         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
14815         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
14816         UINT8_MAX instead of hard-coded constants.
14817         Suggested by Paul Eggert.
14818
14819 2008-09-07  Bruno Haible  <bruno@clisp.org>
14820
14821         * tests/test-striconveh.c (main): Check behaviour when converting from
14822         UTF-7.
14823
14824         Make striconveh work better with stateful encodings.
14825         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
14826         that iconv does not increment the inptr when returning -1/EINVAL.
14827
14828 2008-09-07  Bruno Haible  <bruno@clisp.org>
14829
14830         * build-aux/config.rpath: Update according to libtool-2.2.6.
14831         * build-aux/config.libpath: Likewise.
14832
14833 2008-09-06  Bruno Haible  <bruno@clisp.org>
14834
14835         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
14836         * lib/freadptr.c (freadptr): Likewise.
14837         * lib/freadseek.c (freadptrinc): Likewise.
14838         Reported by Simon Josefsson.
14839
14840 2008-09-06  Bruno Haible  <bruno@clisp.org>
14841
14842         * modules/freadptr (License): Change to LGPLv2+.
14843         * modules/freadseek (License): Likewise.
14844         Suggested by Eric Blake.
14845
14846         * modules/memchr2 (License): Change to LGPLv2+.
14847         Approved by Eric Blake.
14848
14849 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14850             Bruno Haible  <bruno@clisp.org>
14851
14852         Make gnulib-tool work with native 'sed' on AIX.
14853         * gnulib-tool (sed_noop): New variable.
14854         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
14855         func_add_or_update, func_create_testdir): Use it to initialize sed
14856         script variables.
14857         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14858
14859 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
14860             Bruno Haible  <bruno@clisp.org>
14861
14862         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
14863         also works after #include directives.
14864
14865 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
14866
14867         getdate.y: reject an out-of-range timezone value
14868         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
14869         the range [-24...+24].  When specified with only one or two digits,
14870         * tests/test-getdate.c: Tests for the fix.
14871         * doc/getdate.texi: Document this change.
14872
14873 2008-09-03  Bruno Haible  <bruno@clisp.org>
14874
14875         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
14876
14877 2008-09-02  Simon Josefsson  <simon@josefsson.org>
14878
14879         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
14880         <bruce.korb@gmail.com> with ideas from Ben Pfaff
14881         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
14882         Blake <ebb9@byu.net>.
14883
14884         * tests/test-bitrotate.c: Add more test vectors.
14885
14886 2008-09-02  Eric Blake  <ebb9@byu.net>
14887
14888         vasnprintf-posix: handle large precision via %.*d
14889         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
14890         when handling it ourselves.
14891         * tests/test-vasnprintf-posix.c (test_function): Add test.
14892         * tests/test-snprintf-posix.h (test_function): Likewise.
14893         * tests/test-sprintf-posix.h (test_function): Likewise.
14894         * tests/test-vasprintf-posix.c (test_function): Likewise.
14895         Reported by Alain Guibert.
14896
14897 2008-09-01  Eric Blake  <ebb9@byu.net>
14898
14899         c-stack: make configure-time check more robust
14900         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
14901         successful sigaction call.
14902         Reported by Tom G. Christensen.
14903
14904 2008-09-01  Bruno Haible  <bruno@clisp.org>
14905
14906         New module 'findprog-lgpl'.
14907         * modules/findprog-lgpl: New file.
14908         * lib/findprog-lgpl.c: New file.
14909         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
14910         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
14911         to decide whether to use strdup or xstrdup, concatenated_filename or
14912         xconcatenated_filename.
14913
14914 2008-09-01  Bruno Haible  <bruno@clisp.org>
14915
14916         Split module 'concat-filename' into 'concat-filename' (LGPL) and
14917         'xconcat-filename' (GPL).
14918         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
14919         (License): Change to LGPLv2+.
14920         * modules/xconcat-filename: New file.
14921         * lib/concat-filename.h (concatenated_filename): Change specification.
14922         (xconcatenated_filename): New declaration.
14923         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
14924         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
14925         memory situations.
14926         * lib/xconcat-filename.c: New file.
14927         * NEWS: Mention the change.
14928         * lib/findprog.c: Include concat-filename.h, not filename.h.
14929         (find_in_path): Use xconcatenated_filename instead of
14930         concatenated_filename.
14931         * lib/javacomp.c: Include concat-filename.h, not filename.h.
14932         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
14933         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
14934         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
14935         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
14936         instead of concatenated_filename.
14937         * lib/javaexec.c: Include concat-filename.h, not filename.h.
14938         (execute_java_class): Use xconcatenated_filename instead of
14939         concatenated_filename.
14940         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
14941         * modules/javacomp (Depends-on): Likewise.
14942         * modules/javaexec (Depends-on): Likewise.
14943
14944 2008-09-01  Bruno Haible  <bruno@clisp.org>
14945
14946         Split module 'filename' into 'filename' and 'concat-filename'.
14947         * modules/filename: Keep only lib/filename.h.
14948         (License): Change to LGPLv2+.
14949         * modules/concat-filename: New file, extracted from modules/filename.
14950         * lib/filename.h (concatenated_filename): Remove declaration.
14951         * lib/concat-filename.h: New file, extracted from lib/filename.h.
14952         * lib/concat-filename.c: Include concat-filename.h.
14953         * NEWS: Mention the change.
14954
14955 2008-09-01  Simon Josefsson  <simon@josefsson.org>
14956
14957         * lib/bitrotate.h (rotl8, rotr8): Add.
14958
14959         * modules/bitrotate (configure.ac): Need
14960         AC_REQUIRE([AC_C_INLINE]).
14961         (Description): Mention stdint.h.  Reported by Bruno Haible
14962         <bruno@clisp.org>.
14963
14964         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
14965         Paolo Bonzini <bonzini@gnu.org>.
14966
14967 2008-08-31  Bruno Haible  <bruno@clisp.org>
14968
14969         Assume Solaris specific bi-arch conventions on Solaris systems.
14970         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
14971         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
14972         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
14973         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
14974         like acl_libdirstem.
14975         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
14976         acl_libdirstem.
14977         * NEWS: Mention the change.
14978         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
14979
14980 2008-08-31  Jim Meyering  <meyering@redhat.com>
14981
14982         * lib/strftime.h: Add comments describing the two added arguments.
14983
14984         remove duplicate #include directives
14985         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
14986         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
14987
14988 2008-08-31  Bruno Haible  <bruno@clisp.org>
14989
14990         New module 'sigpipe-die'.
14991         * modules/sigpipe-die: New file.
14992         * lib/sigpipe-die.h: New file.
14993         * lib/sigpipe-die.c: New file.
14994         * MODULES.html.sh (Signal handling): Add sigpipe-die.
14995
14996 2008-08-31  Bruno Haible  <bruno@clisp.org>
14997
14998         Don't override previously installed signal handlers.
14999         * lib/fatal-signal.c (saved_sigactions): New variable.
15000         (uninstall_handlers): Reset the signal to the saved handler, not
15001         to SIG_DFL (except when ignored).
15002         (install_handlers): Save the previous handlers.
15003
15004 2008-08-30  Bruno Haible  <bruno@clisp.org>
15005
15006         * gnulib-tool (func_reset_sigpipe): New function.
15007         (func_get_automake_snippet, func_modules_transitive_closure,
15008         func_import): Invoke it before a join command that reads from stdin,
15009         to avoid "echo: write error: Broken pipe" error messages on stderr.
15010         Reported by Sam Steingold <sds@gnu.org>.
15011
15012 2008-08-30  Bruno Haible  <bruno@clisp.org>
15013
15014         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
15015         Code copied from m4/open.m4.
15016         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
15017         access and the filename ends in a slash. Code copied from lib/open.c.
15018         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
15019         * tests/test-fopen.c (main): Check against bug with trailing slash.
15020
15021 2008-08-29  Bruno Haible  <bruno@clisp.org>
15022
15023         Avoid some "gcc -pedantic" warnings.
15024         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
15025         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
15026         * lib/dirent.in.h: Likewise.
15027         * lib/fcntl.in.h: Likewise.
15028         * lib/float.in.h: Likewise.
15029         * lib/iconv.in.h: Likewise.
15030         * lib/inttypes.in.h: Likewise.
15031         * lib/locale.in.h: Likewise.
15032         * lib/math.in.h: Likewise.
15033         * lib/netinet_in.in.h: Likewise.
15034         * lib/search.in.h: Likewise.
15035         * lib/signal.in.h: Likewise.
15036         * lib/stdarg.in.h: Likewise.
15037         * lib/stdint.in.h: Likewise.
15038         * lib/stdio.in.h: Likewise.
15039         * lib/stdlib.in.h: Likewise.
15040         * lib/string.in.h: Likewise.
15041         * lib/strings.in.h: Likewise.
15042         * lib/sys_select.in.h: Likewise.
15043         * lib/sys_socket.in.h: Likewise.
15044         * lib/sys_stat.in.h: Likewise.
15045         * lib/sys_time.in.h: Likewise.
15046         * lib/sysexits.in.h: Likewise.
15047         * lib/time.in.h: Likewise.
15048         * lib/unistd.in.h: Likewise.
15049         * lib/wchar.in.h: Likewise.
15050         * lib/wctype.in.h: Likewise.
15051         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
15052         * modules/fchdir (Makefile.am): Likewise.
15053         * modules/fcntl (Makefile.am): Likewise.
15054         * modules/float (Makefile.am): Likewise.
15055         * modules/iconv_open (Makefile.am): Likewise.
15056         * modules/inttypes (Makefile.am): Likewise.
15057         * modules/locale (Makefile.am): Likewise.
15058         * modules/math (Makefile.am): Likewise.
15059         * modules/netinet_in (Makefile.am): Likewise.
15060         * modules/search (Makefile.am): Likewise.
15061         * modules/signal (Makefile.am): Likewise.
15062         * modules/stdarg (Makefile.am): Likewise.
15063         * modules/stdint (Makefile.am): Likewise.
15064         * modules/stdio (Makefile.am): Likewise.
15065         * modules/stdlib (Makefile.am): Likewise.
15066         * modules/string (Makefile.am): Likewise.
15067         * modules/strings (Makefile.am): Likewise.
15068         * modules/sys_select (Makefile.am): Likewise.
15069         * modules/sys_socket (Makefile.am): Likewise.
15070         * modules/sys_stat (Makefile.am): Likewise.
15071         * modules/sys_time (Makefile.am): Likewise.
15072         * modules/sysexits (Makefile.am): Likewise.
15073         * modules/time (Makefile.am): Likewise.
15074         * modules/unistd (Makefile.am): Likewise.
15075         * modules/wchar (Makefile.am): Likewise.
15076         * modules/wctype (Makefile.am): Likewise.
15077         Reported by Reuben Thomas <rrt@sc3d.org>.
15078
15079 2008-08-29  Bruno Haible  <bruno@clisp.org>
15080
15081         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
15082         any more.
15083
15084 2008-08-29  Simon Josefsson  <simon@josefsson.org>
15085
15086         * MODULES.html.sh (Misc): Add bitrotate.
15087
15088         * modules/bitrotate: New file.
15089
15090         * lib/bitrotate.h: New file.
15091
15092         * modules/bitrotate-tests: New file.
15093
15094         * tests/test-bitrotate.c: New file.
15095
15096         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
15097         on the bitrotate module.
15098
15099         * lib/arctwo.c: Use new bitrotate module.
15100
15101 2008-08-29  Jim Meyering  <meyering@redhat.com>
15102
15103         bootstrap: merge changes from coreutils
15104         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
15105         of copied files.  Remove a kludge, now that this is fixed.
15106         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
15107         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
15108         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
15109
15110 2008-08-29  Bruno Haible  <bruno@clisp.org>
15111
15112         * MODULES.html.sh: Remove --cvs-urls option.
15113
15114 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
15115
15116         maint.mk: adjust to file name change
15117         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
15118
15119 2008-08-28  Jim Meyering  <meyering@redhat.com>
15120
15121         * modules/getndelim2 (License): Relicense to LGPLv2+.
15122         Approved by Richard Stallman for the version of 1995, and by
15123         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
15124
15125 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
15126
15127         * lib/getdelim.c (flockfile, funlockfile): Make all of them
15128         dummy if one is not available.  Do not touch them if
15129         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
15130         (getc_maybe_unlocked): New.
15131         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
15132
15133 2008-08-26  Eric Blake  <ebb9@byu.net>
15134
15135         doc/INSTALL: resync from autoconf
15136         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
15137         (INSTALL_PRELUDE): Delete; this is done more efficiently by
15138         moving...
15139         * install.texi [!autoconf]: ...here.  Resync from autoconf.
15140         * INSTALL: Regenerate.
15141         * INSTALL.ISO: New file.
15142         * INSTALL.UTF-8: Likewise.
15143
15144 2008-08-26  Jim Meyering  <meyering@redhat.com>
15145
15146         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
15147         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
15148         these definitions conditional, so that they may be overridden, too.
15149
15150 2008-08-26  Bruno Haible  <bruno@clisp.org>
15151
15152         Generate INSTALL file variants with prettier quotes.
15153         * doc/Makefile (INSTALL_PRELUDE): New macro.
15154         (INSTALL): Use it.
15155         (INSTALL.ISO, INSTALL.UTF-8): New rules.
15156
15157 2008-08-26  Bruno Haible  <bruno@clisp.org>
15158
15159         Run makeinfo in an English locale.
15160         * doc/Makefile (MAKEINFO): New variable.
15161
15162 2008-08-26  Bruno Haible  <bruno@clisp.org>
15163
15164         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
15165         Suggested by Eric Blake.
15166
15167 2008-08-25  Bruno Haible  <bruno@clisp.org>
15168
15169         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
15170
15171 2008-08-25  Eric Blake  <ebb9@byu.net>
15172
15173         c-stack: test that stack overflow can be caught
15174         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
15175         that platform allows handling stack overflow; at least OS/2 EMX
15176         has sigaltstack, but crashes before transferring control to
15177         handler on stack overflow.
15178         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
15179         check for HAVE_STACK_OVERFLOW_HANDLING.
15180         Reported by Elbert Pol.
15181
15182 2008-08-25  Bruno Haible  <bruno@clisp.org>
15183
15184         * doc/posix-functions/strftime.texi: Fix description of strftime
15185         module.
15186
15187 2008-08-24  Bruno Haible  <bruno@clisp.org>
15188
15189         * tests/uniwidth/test-uc_width2.c: New file.
15190         * tests/uniwidth/test-uc_width2.sh: New file.
15191         * modules/uniwidth/width-tests (Files): Add the new files.
15192         (TESTS): Add uniwidth/test-uc_width2.sh.
15193         (TESTS_ENVIRONMENT): New variable.
15194         (check_PROGRAMS): Add test-uc_width2.
15195         (test_uc_width2_SOURCES): New variable.
15196
15197         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
15198         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
15199         not 0x00AB.
15200         Reported by Alexander V. Lukyanov <lav@netis.ru>.
15201
15202 2008-08-22  Eric Blake  <ebb9@byu.net>
15203
15204         test-lock, test-tls: mention why a test is skipped
15205         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
15206         skipped.
15207         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
15208
15209         count-one-bits: relax license
15210         * modules/count-one-bits (License): Relicense to LGPLv2+.
15211         Suggested by Ludovic Courtès, approved by Ben Pfaff.
15212
15213 2008-08-22  Andreas Schwab  <schwab@suse.de>
15214
15215         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15216         Remove spurious space in assignment.
15217
15218 2008-08-21  Simon Josefsson  <simon@josefsson.org>
15219
15220         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
15221         Paul Eggert <eggert@CS.UCLA.EDU>.
15222
15223 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
15224
15225         * modules/gettext: Add m4/threadlib.m4.
15226
15227 2008-08-19  Eric Blake  <ebb9@byu.net>
15228
15229         test-c-stack: fix compilation failure on FreeBSD 5.0
15230         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
15231         headers before <sys/resource.h>.
15232         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
15233         the bug.
15234         Reported by Nelson H. F. Beebe.
15235
15236         strverscmp: migrate from "strverscmp.h" to <string.h>
15237         * modules/string (Makefile.am): Add new hooks.
15238         * modules/strverscmp (Files): Remove strverscmp.h.
15239         (Depends-on): Add string.
15240         (configure.ac): Add indicator.
15241         (Include): Mention new header.
15242         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
15243         defaults.
15244         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
15245         results.
15246         * lib/strverscmp.h: Delete.
15247         * lib/string.in.h (strverscmp): Provide declaration, when needed.
15248         * tests/test-strverscmp.c (includes): Adjust client.
15249         * lib/check-version.c (includes): Likewise.
15250         * NEWS: Document the change.
15251
15252         strverscmp: add unit test
15253         * modules/strverscmp-tests: New file.
15254         * tests/test-strverscmp.c: Likewise.
15255
15256 2008-08-19  Simon Josefsson  <simon@josefsson.org>
15257
15258         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
15259         regarding Windows crypto stuff, from Mono.
15260
15261 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
15262
15263         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
15264         if present, for intel RND.  Return error on failures.
15265
15266 2008-08-18  Ben Pfaff  <blp@gnu.org>
15267
15268         gitlog-to-changelog: give better diagnostic for failed pipe-open
15269         * build-aux/gitlog-to-changelog: Improve error message: suggest
15270         that the version of Git may be too old.
15271
15272 2008-08-18  Simon Josefsson  <simon@josefsson.org>
15273
15274         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
15275         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
15276
15277 2008-08-18  Bruno Haible  <bruno@clisp.org>
15278
15279         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
15280         pthread_in_use().
15281
15282 2008-08-18  Bruno Haible  <bruno@clisp.org>
15283
15284         * lib/glthread/threadlib.c: Include <pthread.h>.
15285
15286 2008-08-18  Bruno Haible  <bruno@clisp.org>
15287
15288         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
15289         glthread_recursive_lock_* macros.
15290         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
15291         Fix syntax error.
15292
15293 2008-08-18  Bruno Haible  <bruno@clisp.org>
15294
15295         * lib/glthread/thread.c: Avoid forcing a context switch right after
15296         thread creation.
15297
15298 2008-08-17  Bruno Haible  <bruno@clisp.org>
15299
15300         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
15301         * lib/glthread/thread.h: Provide Win32 specific implementation.
15302         * modules/thread (Files): Add lib/glthread/thread.c.
15303         (Depends-on): Add lock.
15304         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
15305
15306 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15307
15308         New module 'yield'.
15309         * modules/yield: New file.
15310         * lib/glthread/yield.h: New file.
15311         * m4/yield.m4: New file.
15312         * MODULES.html.sh (Multithreading): Add yield.
15313
15314 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15315
15316         New module 'thread'.
15317         * modules/thread: New file.
15318         * lib/glthread/thread.h: New file.
15319         * m4/thread.m4: New file.
15320         * MODULES.html.sh (Multithreading): Add thread.
15321
15322 2008-08-17  Bruno Haible  <bruno@clisp.org>
15323
15324         * lib/glthread/lock.h: Include <stdlib.h> always.
15325         * lib/glthread/tls.h: Likewise.
15326         * lib/glthread/cond.h: Likewise.
15327
15328 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15329
15330         New module 'cond'.
15331         * modules/cond: New file.
15332         * lib/glthread/cond.h: New file.
15333         * lib/glthread/cond.c: New file.
15334         * m4/cond.m4: New file.
15335         * MODULES.html.sh (Multithreading): Add cond.
15336
15337 2008-08-16  Eric Blake  <ebb9@byu.net>
15338
15339         c-stack: fix regression on Irix 5.3 from 2008-06-21
15340         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
15341         sa_sigaction...
15342         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
15343         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
15344         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
15345         * modules/signal (Makefile.am): Use the value.
15346         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
15347         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
15348         * doc/posix-headers/signal.texi (signal.h): Document this
15349         portability issue.
15350         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
15351         Reported by Tom G. Christensen.
15352
15353 2008-08-17  Bruno Haible  <bruno@clisp.org>
15354
15355         New module 'threadlib'.
15356         * modules/threadlib: New file.
15357         * lib/glthread/threadlib.c: New file, extracted from
15358         lib/glthread/lock.c.
15359         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
15360         functions.
15361         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
15362         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
15363         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
15364         macros.
15365         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
15366         (gl_DISABLE_THREADS): Remove macro.
15367         * modules/lock (Files): Remove build-aux/config.rpath.
15368         (Depends-on): Remove havelib. Add threadlib.
15369         (configure.ac-early): Remove section.
15370         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
15371         * modules/tls (Depends-on): Remove lock. Add threadlib.
15372         (Link): New section, copied from threadlib.
15373         * MODULES.html.sh (Multithreading): Add threadlib.
15374
15375 2008-08-14  Bruno Haible  <bruno@clisp.org>
15376
15377         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
15378         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
15379         glthread_rwlock_unlock, glthread_rwlock_destroy,
15380         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
15381         glthread_recursive_lock_destroy): Define as macros always.
15382         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
15383         glthread_lock_lock.
15384         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
15385         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
15386         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
15387         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
15388         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
15389         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
15390         (glthread_recursive_lock_lock_func): Renamed from
15391         glthread_recursive_lock_lock.
15392         (glthread_recursive_lock_unlock_func): Renamed from
15393         glthread_recursive_lock_unlock.
15394         (glthread_recursive_lock_destroy_func): Renamed from
15395         glthread_recursive_lock_destroy.
15396
15397 2008-08-14  Bruno Haible  <bruno@clisp.org>
15398
15399         * lib/glthread/lock.h: Renamed from lib/lock.h.
15400         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
15401         * lib/glthread/tls.h: Renamed from lib/tls.h.
15402         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
15403         * lib/fstrcmp.c: Update includes.
15404         * lib/strsignal.c: Update includes.
15405         * modules/lock (Files, Makefile.am): Update.
15406         (Include): Change to "glthread/lock.h".
15407         * modules/tls (Files, Makefile.am): Update.
15408         (Include): Change to "glthread/tls.h".
15409         * tests/test-lock.c: Update includes.
15410         * tests/test-tls.c: Update includes.
15411         * NEWS: Mention the renamed header files.
15412
15413 2008-08-11  Jim Meyering  <meyering@redhat.com>
15414
15415         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
15416
15417 2008-08-11  Eric Blake  <ebb9@byu.net>
15418
15419         test-c-stack: avoid C99-ism
15420         * tests/test-c-stack.c (main): Fix whitespace, move declaration
15421         before statement.
15422         Reported by Alain Guibert.
15423
15424 2008-08-10  Jim Meyering  <meyering@redhat.com>
15425
15426         ensure that return value of uinttostr et al are not ignored
15427         * lib/inttostr.h (__GNUC_PREREQ): Define.
15428         (__attribute_warn_unused_result__): Define.
15429         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
15430
15431 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
15432
15433         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
15434         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
15435
15436 2008-08-07  Jim Meyering  <meyering@redhat.com>
15437
15438         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
15439
15440         * modules/mkstemp (License): Relicense under LGPLv2+.
15441         * modules/tempname (License): Likewise.
15442
15443 2008-08-06  Bruno Haible  <bruno@clisp.org>
15444
15445         * lib/poll.c (poll): Further micro-optimization.
15446
15447 2008-08-06  Jim Meyering  <meyering@redhat.com>
15448
15449         inet_pton.c: use locale-independent tolower
15450         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
15451         (inet_pton6): Use c_tolower rather than tolower.
15452         * modules/inet_pton (Depends-on): Add c-ctype.
15453
15454 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
15455
15456         * lib/poll.c (poll): Avoid division when timeout is 0, cache
15457         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
15458
15459 2008-08-06  Jim Meyering  <meyering@redhat.com>
15460
15461         * modules/inet_pton (License): Relicense under LGPLv2+.
15462
15463 2008-08-03  Bruno Haible  <bruno@clisp.org>
15464
15465         Additional non-aborting API for lock and tls.
15466         * lib/lock.h: Include <errno.h>.
15467         (glthread_lock_init): New macro/function.
15468         (gl_lock_init): Define as wrapper around glthread_lock_init.
15469         (glthread_lock_lock): New macro/function.
15470         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
15471         (glthread_lock_unlock): New macro/function.
15472         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
15473         (glthread_lock_destroy): New macro/function.
15474         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
15475         (glthread_rwlock_init): New macro/function.
15476         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
15477         (glthread_rwlock_rdlock): New macro/function.
15478         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
15479         (glthread_rwlock_wrlock): New macro/function.
15480         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
15481         (glthread_rwlock_unlock): New macro/function.
15482         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
15483         (glthread_rwlock_destroy): New macro/function.
15484         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
15485         (glthread_recursive_lock_init): New macro/function.
15486         (gl_recursive_lock_init): Define as wrapper around
15487         glthread_recursive_lock_init.
15488         (glthread_recursive_lock_lock): New macro/function.
15489         (gl_recursive_lock_lock): Define as wrapper around
15490         glthread_recursive_lock_lock.
15491         (glthread_recursive_lock_unlock): New macro/function.
15492         (gl_recursive_lock_unlock): Define as wrapper around
15493         glthread_recursive_lock_unlock.
15494         (glthread_recursive_lock_destroy): New macro/function.
15495         (gl_recursive_lock_destroy): Define as wrapper around
15496         glthread_recursive_lock_destroy.
15497         (glthread_once): New macro/function.
15498         (gl_once): Define as wrapper around glthread_once.
15499         Update function declarations.
15500         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
15501         glthread_rwlock_init. Return error code.
15502         (glthread_rwlock_rdlock_multithreaded): Renamed from
15503         glthread_rwlock_rdlock. Return error code.
15504         (glthread_rwlock_wrlock_multithreaded): Renamed from
15505         glthread_rwlock_wrlock. Return error code.
15506         (glthread_rwlock_unlock_multithreaded): Renamed from
15507         glthread_rwlock_unlock. Return error code.
15508         (glthread_rwlock_destroy_multithreaded): Renamed from
15509         glthread_rwlock_destroy. Return error code.
15510         (glthread_recursive_lock_init_multithreaded): Renamed from
15511         glthread_recursive_lock_init. Return error code.
15512         (glthread_recursive_lock_lock_multithreaded): Renamed from
15513         glthread_recursive_lock_lock. Return error code.
15514         (glthread_recursive_lock_unlock_multithreaded): Renamed from
15515         glthread_recursive_lock_unlock. Return error code.
15516         (glthread_recursive_lock_destroy_multithreaded): Renamed from
15517         glthread_recursive_lock_destroy. Return error code.
15518         (glthread_once_call): Make static.
15519         (glthread_once_multithreaded): Renamed from glthread_once.
15520         * lib/tls.h: Include <errno.h>.
15521         (glthread_tls_key_init): New macro/function.
15522         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
15523         (glthread_tls_set): New macro/function.
15524         (gl_tls_set): Define as wrapper around glthread_tls_set.
15525         (glthread_tls_key_destroy): New macro/function.
15526         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
15527         Update function declarations.
15528         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
15529         glthread_tls_get.
15530         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15531
15532 2008-08-04  Eric Blake  <ebb9@byu.net>
15533
15534         gnumakefile: use space, not TAB, outside of targets
15535         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
15536
15537 2008-08-02  Jim Meyering  <meyering@redhat.com>
15538
15539         getdate.y: avoid locale-dependent date parsing failure
15540         In Turkish locales, getdate would fail to recognize keywords
15541         containing a lowercase "i".  The solution is not to rely on
15542         locale-sensitive case-conversion.
15543         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
15544         (lookup_word): Use c_toupper in place of toupper.
15545         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
15546         Reported by Vefa Bicakci <bicave@superonline.com> in
15547         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
15548         * modules/getdate (Depends-on): Add c-ctype.
15549
15550 2008-08-02  Bruno Haible  <bruno@clisp.org>
15551
15552         * gnulib-tool (func_import): When updating or creating a .gitignore
15553         file, prepend each added line with a slash, and ignore leading slashes
15554         from the existing lines.
15555         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
15556
15557 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15558
15559         Portability fix for GNU make 3.79.1.
15560         * top/GNUmakefile: Avoid 'else COND', which older GNU make
15561         versions do not understand.
15562
15563 2008-08-01  Bruno Haible  <bruno@clisp.org>
15564
15565         Work around bug of HP-UX 10.20 cc with -0.0 literal.
15566         * tests/test-isnanf.h (zero): New variable.
15567         (main): Avoid literal -0.0f.
15568         * tests/test-isnand.h (zero): New variable.
15569         (main): Avoid literal -0.0.
15570         * tests/test-isnanl.h (zero): New variable.
15571         (main): Avoid literal -0.0L.
15572         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
15573         (test_float, test_double, test_long_double): Avoid literals -0.0f,
15574         -0.0, -0.0L.
15575         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
15576         (test_signbitd): Avoid literal -0.0.
15577         (test_signbitl): Avoid literal -0.0L.
15578         * tests/test-ceilf1.c (zero): New variable.
15579         (main): Avoid literal -0.0f.
15580         * tests/test-ceill.c (zero): New variable.
15581         (main): Avoid literal -0.0L.
15582         * tests/test-floorf1.c (zero): New variable.
15583         (main): Avoid literal -0.0f.
15584         * tests/test-floorl.c (zero): New variable.
15585         (main): Avoid literal -0.0L.
15586         * tests/test-roundf1.c (zero): New variable.
15587         (main): Avoid literal -0.0f.
15588         * tests/test-round1.c (zero): New variable.
15589         (main): Avoid literal -0.0.
15590         * tests/test-roundl.c (zero): New variable.
15591         (main): Avoid literal -0.0L.
15592         * tests/test-truncf1.c (zero): New variable.
15593         (main): Avoid literal -0.0f.
15594         * tests/test-trunc1.c (zero): New variable.
15595         (main): Avoid literal -0.0.
15596         * tests/test-truncl.c (zero): New variable.
15597         (main): Avoid literal -0.0L.
15598         * tests/test-frexp.c (zero): New variable.
15599         (main): Avoid literal -0.0.
15600         * tests/test-frexpl.c (zero): New variable.
15601         (main): Avoid literal -0.0L.
15602         * tests/test-ldexpl.c (zero): New variable.
15603         (main): Avoid literal -0.0L.
15604         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
15605         (zerod, zerol): New variables.
15606         (test_function): Avoid literals -0.0, -0.0L.
15607         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
15608         (zerod, zerol): New variables.
15609         (test_function): Avoid literals -0.0, -0.0L.
15610         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
15611         (zerod, zerol): New variables.
15612         (test_function): Avoid literals -0.0, -0.0L.
15613         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
15614         (zerod, zerol): New variables.
15615         (test_function): Avoid literals -0.0, -0.0L.
15616         * tests/test-strtod.c (zero): New variable.
15617         (main): Avoid literal -0.0.
15618         Reported by Jonathan C. Patschke <jp@centtech.com>.
15619
15620 2008-07-31  Jim Meyering  <meyering@redhat.com>
15621
15622         sha256.h: correct definition of SHA224_DIGEST_SIZE
15623         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
15624         Reported by Paulie Pena IV <paulie4@gmail.com>.
15625         Define as 224 / 8, rather than as a literal.
15626         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
15627         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
15628         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
15629
15630 2008-07-31  Bruno Haible  <bruno@clisp.org>
15631
15632         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
15633         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
15634         Reported by Jonathan Patschke <jp@centtech.com>.
15635
15636 2008-07-31  Bruno Haible  <bruno@clisp.org>
15637
15638         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
15639         Reported by Paolo Bonzini <bonzini@gnu.org>.
15640
15641 2008-07-30  Eric Blake  <ebb9@byu.net>
15642
15643         test-strtod: allow compilation without -lm
15644         * tests/test-strtod.c (main): Avoid link dependence on fabs.
15645         Reported by Dennis Clarke <blastwave@gmail.com>.
15646
15647 2008-07-28  Jim Meyering  <meyering@redhat.com>
15648
15649         bootstrap: work also when there are no .po files in po/
15650         * build-aux/bootstrap (update_po_files): Complete the change
15651         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
15652
15653 2008-07-27  Jim Meyering  <meyering@redhat.com>
15654
15655         * users.txt: Add zile.
15656
15657 2008-07-26  Ben Pfaff  <blp@gnu.org>
15658
15659         Add missing dependencies on new m4/exponent[fdl].m4 files.
15660         * modules/isnanf-nolibm: Add m4/exponentf.m4.
15661         * modules/isnand-nolibm: Add m4/exponentd.m4.
15662         * modules/isnanl-nolibm: Add m4/exponentl.m4.
15663         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
15664         m4/isnan[fdl].m4, because the macros actually used moved.
15665         Reported by Jim Meyering.
15666
15667 2008-07-14  Ben Pfaff  <blp@gnu.org>
15668
15669         Add isinf module.
15670         * lib/isinf.c: New file.
15671         * lib/math.in.h: Define isinf macro if we have decided to replace
15672         it.
15673         * m4/isinf.m4: New file.
15674         * m4/math_h.m4: Initialize and substitute variables for isinf
15675         module.
15676         * modules/isinf: New file.
15677         * modules/isinf-tests: New file.
15678         * modules/math: Add substitutions for new module.
15679         * tests/test-isinf.c: New file.
15680         * doc/posix-functions/isinf.texi: Mention new module.
15681         * MODULES.html.sh: Mention new module.
15682
15683 2008-07-14  Ben Pfaff  <blp@gnu.org>
15684
15685         Factor out some macros for use by additional modules.
15686         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
15687         exponentf.m4.
15688         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
15689         exponentd.m4.
15690         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
15691         file exponentl.m4.
15692         * m4/exponentf.m4: New file.
15693         * m4/exponentd.m4: New file.
15694         * m4/exponentl.m4: New file.
15695         * modules/isnanf: Use new file m4/exponentf.m4.
15696         * modules/isnand: Use new file m4/exponentd.m4.
15697         * modules/isnanl: Use new file m4/exponentl.m4.
15698
15699 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
15700
15701         mktime.c: normalize tp->tm_isdst value to -1/0/1.
15702         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
15703         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
15704         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
15705
15706         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
15707         readlink on platforms without PATH_MAX.
15708
15709 2008-07-21  Eric Blake  <ebb9@byu.net>
15710
15711         Warn, not fail, on stale version.
15712         * top/GNUmakefile (_curr-ver): Tone down previous patch.
15713
15714         Don't allow installation with stale devel version number.
15715         * top/GNUmakefile (_is-install-target): New macro.
15716         (_curr-ver): Forbid installation with stale version number.
15717
15718 2008-07-20  Bruno Haible  <bruno@clisp.org>
15719
15720         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
15721         TESTS_ENVIRONMENT.
15722         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
15723
15724 2008-07-20  Bruno Haible  <bruno@clisp.org>
15725
15726         * lib/c-stack.h (c_stack_action): Add documentation.
15727         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
15728
15729 2008-07-20  Bruno Haible  <bruno@clisp.org>
15730
15731         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
15732         * modules/readlink (License): Likewise.
15733
15734 2008-07-17  Eric Blake  <ebb9@byu.net>
15735
15736         * modules/c-stack (Link): Fix typo.
15737
15738         Make c-stack use libsigsegv, when available.
15739         * modules/c-stack (Depends-on): Add libsigsegv.
15740         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
15741         needed.
15742         * lib/c-stack.c (SIGSTKSZ): Define fallback.
15743         (segv_handler, overflow_handler, c_stack_action)
15744         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
15745         implementation when libsigsegv is available, but only when using
15746         the library is necessary.
15747         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
15748         comment, explaining why XSI check fails on Linux.
15749         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
15750         * tests/test-c-stack2.sh: Tweak skip message.
15751         * NEWS: Document new link-time requirements.
15752
15753 2008-07-16  Eric Blake  <ebb9@byu.net>
15754
15755         c-stack: Expose false positives when not using libsigsegv.
15756         * modules/c-stack-tests (Files): Expand test.
15757         * tests/test-c-stack.c (main): Add means to conditionally trigger
15758         non-overflow SIGSEGV.
15759         * tests/test-c-stack2.sh: New file.
15760
15761 2008-07-14  Bruno Haible  <bruno@clisp.org>
15762
15763         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
15764         Reported by Eric Blake.
15765
15766 2008-07-14  Sam Steingold  <sds@gnu.org>
15767             Bruno Haible  <bruno@clisp.org>
15768
15769         New module libsigsegv.
15770         * modules/libsigsegv: New file.
15771         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
15772         modifications.
15773         * MODULES.html.sh (Signal handling): New section.
15774
15775 2008-07-14  Bruno Haible  <bruno@clisp.org>
15776
15777         * modules/unictype/ctype-* (Description): Add the word "function".
15778         Improves the resulting doc in MODULES.html.
15779
15780 2008-07-12  Ben Pfaff  <blp@gnu.org>
15781
15782         Add longlong module.
15783         * modules/longlong: New file.
15784
15785 2008-07-12  Bruno Haible  <bruno@clisp.org>
15786
15787         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
15788         to empty.
15789
15790 2008-07-10  Ben Pfaff  <blp@gnu.org>
15791
15792         Add isnan module.
15793         * doc/posix-functions/isnan.texi: Mention new module.
15794         * lib/math.in.h: Define isnan macro if we have decided to replace
15795         it.
15796         * m4/isnan.m4: New file.
15797         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
15798         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
15799         also.
15800         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
15801         redundancy.
15802         * m4/math_h.m4: Initialize and substitute variables for isnan
15803         module.
15804         * modules/isnan: New file.
15805         * modules/isnan-tests: New file.
15806         * modules/math: Add substitutions for new module.
15807         * tests/test-isnan.c: New file.
15808         * MODULES.html.sh: Mention new module.
15809
15810 2008-07-10  Ben Pfaff  <blp@gnu.org>
15811
15812         Add isnanf module.
15813         * lib/isnanf.m4: New file.
15814         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
15815         (gl_HAVE_ISNANF_IN_LIBM): New macro.
15816         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
15817         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
15818         * modules/isnanf: New file.
15819         * modules/isnanf-tests: New file.
15820         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
15821         files.
15822         * tests/test-isnanf-nolibm.c: factored most of its contents into
15823         new file tests/test-isnanf.h.
15824         * tests/test-isnanf.h: New file.
15825         * tests/test-isnanf.c: New file.
15826         * MODULES.html.sh: Mention new module.
15827         * doc/glibc-functions/isnanf.texi: Mention new module.
15828
15829 2008-07-10  Ben Pfaff  <blp@gnu.org>
15830
15831         Add isnand module.
15832         * lib/isnand.h: New file.
15833         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
15834         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
15835         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
15836         functionality also.
15837         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
15838         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
15839         (gl_HAVE_ISNAND_IN_LIBM): New macro.
15840         * modules/isnand: New file.
15841         * modules/isnand-tests: New file.
15842         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
15843         files.
15844         * tests/test-isnand-nolibm.c: factored most of its contents into
15845         new file tests/test-isnand.h.
15846         * tests/test-isnand.h: New file.
15847         * tests/test-isnand.c: New file.
15848         * MODULES.html.sh: Mention new module.
15849
15850 2008-07-10  Ben Pfaff  <blp@gnu.org>
15851
15852         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
15853         * lib/isnand.h: Rename lib/isnand-nolibm.h.
15854         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
15855         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
15856         * modules/isnanf-nolibm: Update references to renamed files.
15857         * modules/isnand-nolibm: Likewise.
15858         * modules/isnanf-nolibm-tests: Likewise.
15859         * modules/isnand-nolibm-tests: Likewise.
15860         * lib/frexp.c: Likewise.
15861         * lib/isfinite.c: Likewise.
15862         * lib/signbitd.c: Likewise.
15863         * lib/signbitf.c: Likewise.
15864         * lib/vasnprintf.c: Likewise.
15865         * tests/test-ceilf1.c: Likewise.
15866         * tests/test-ceilf2.c: Likewise.
15867         * tests/test-floorf1.c: Likewise.
15868         * tests/test-floorf2.c: Likewise.
15869         * tests/test-frexp.c: Likewise.
15870         * tests/test-round1.c: Likewise.
15871         * tests/test-round2.c: Likewise.
15872         * tests/test-roundf1.c: Likewise.
15873         * tests/test-strtod.c: Likewise.
15874         * tests/test-trunc1.c: Likewise.
15875         * tests/test-trunc2.c: Likewise.
15876         * tests/test-truncf1.c: Likewise.
15877         * tests/test-truncf2.c: Likewise.
15878         * NEWS: Mention the renamed header files.
15879
15880 2008-07-11  Jim Meyering  <meyering@redhat.com>
15881
15882         vc-list-files: make the last-resort awk code more portable
15883         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
15884         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
15885         does not support it.
15886
15887 2008-07-10  Eric Blake  <ebb9@byu.net>
15888
15889         Work with tar's bootstrap.
15890         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
15891         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
15892         an m4 comment.
15893
15894 2008-07-09  Jim Meyering  <meyering@redhat.com>
15895
15896         posix-shell.m4: fix typo that made this test malfunction
15897         * m4/posix-shell.m4: Remove capitalization in variable name.
15898
15899 2008-07-08  Bruno Haible  <bruno@clisp.org>
15900
15901         * m4/onceonly.m4: Update comments.
15902         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15903
15904 2008-07-04  Jim Meyering  <meyering@redhat.com>
15905
15906         * users.txt: Add vc-dwim.
15907         (bison, coreutils): Use the gitweb URL.
15908
15909 2008-07-03  Jim Meyering  <meyering@redhat.com>
15910
15911         * users.txt: Add libffcall.  From Sam Steingold.
15912
15913 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
15914
15915         getdate.y: do not ignore TZ with relative day, month or year offset
15916         * lib/getdate.y (get_date): Move the tz-handling block to follow the
15917         relative-date-handling, since otherwise, the latter would clobber the
15918         sole output (an updated Start value) of the tz-handling block.
15919         * tests/test-getdate.c: Tests for the fix
15920
15921 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15922
15923         Recognize 'foo_LIBRARIES += libgnu.a'.
15924         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
15925         makefile snippet has already specified an installation location,
15926         also using '+='.
15927
15928 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
15929
15930         getdate.y: factor out common actions
15931         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
15932         Use them in place of open-coded actions.
15933
15934 2008-07-01  Simon Josefsson  <simon@josefsson.org>
15935
15936         Add self-test for getdate module.
15937         * modules/getdate-tests: New file.
15938         * tests/test-getdate.c: New file.
15939
15940 2008-06-29  Bruno Haible  <bruno@clisp.org>
15941
15942         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
15943         .gitignore.
15944         Reported by Sylvain Beucler <beuc@beuc.net>.
15945
15946 2008-06-29  Bruno Haible  <bruno@clisp.org>
15947
15948         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
15949         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
15950
15951 2008-06-29  Bruno Haible  <bruno@clisp.org>
15952
15953         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
15954         EXTRA_DIST.
15955         Reported by Sylvain Beucler <beuc@beuc.net>.
15956
15957 2008-06-26  Jim Meyering  <meyering@redhat.com>
15958
15959         make several modules depend on the "open" module
15960         This provides slightly increased consistency when opening-for-write
15961         the name of a non-directory spelled with a trailing slash.
15962         * modules/chdir-safer: Likewise.
15963         * modules/chown: Likewise.
15964         * modules/clean-temp: Likewise.
15965         * modules/copy-file: Likewise.
15966         * modules/fchdir: Likewise.
15967         * modules/fcntl-safer: Likewise.
15968         * modules/pipe: Likewise.
15969         * modules/utime: Likewise.
15970         Prompted by Eric Blake and Bruno Haible.
15971
15972 2008-06-24  Andreas Schwab  <schwab@suse.de>
15973
15974         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
15975         literals can be used as initializers for global variables.
15976
15977 2008-06-23  Eric Blake  <ebb9@byu.net>
15978
15979         Make gnulib-cache.m4 easier to diff.
15980         * gnulib-tool (func_import): Allow newlines when reading cached
15981         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
15982
15983 2008-06-23  Bruno Haible  <bruno@clisp.org>
15984
15985         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
15986         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
15987         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
15988         m4/signalblocking.m4.
15989         (gl_PREREQ_SIGACTION): Don't invoke it.
15990         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
15991         gl_PREREQ_SIG_HANDLER_H.
15992         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15993         Don't check for sigaction here.
15994
15995 2008-06-23  Bruno Haible  <bruno@clisp.org>
15996
15997         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
15998         (install_handlers): Don't set the SA_RESETHAND flag.
15999
16000 2008-06-23  Bruno Haible  <bruno@clisp.org>
16001
16002         * m4/sigaction.m4: Comment fixes.
16003         * lib/signal.in.h: Likewise.
16004
16005 2008-06-23  Eric Blake  <ebb9@byu.net>
16006
16007         Fix typo.
16008         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
16009
16010         Avoid SA_ namespace.
16011         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
16012         Reported by Ralf Wildenhues.
16013
16014         Avoid test failure due to SA_RESTORER.
16015         * tests/test-sigaction.c (SA_MASK): New macro.
16016         (main): Avoid failing due to extension flags being set.
16017         Reported by Jim Meyering.
16018
16019         Revert use of sig-handler.h in sigprocmask.c.
16020         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
16021         it requires the existence of struct sigaction.
16022         * lib/sigprocmask.c (handler_t): Restore typedef.
16023         (rpl_signal, old_handlers): Use local type.
16024
16025 2008-06-22  Bruno Haible  <bruno@clisp.org>
16026
16027         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
16028         conditionally.
16029         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16030
16031 2008-06-22  Bruno Haible  <bruno@clisp.org>
16032
16033         * doc/posix-functions/siginterrupt.texi: Move note.
16034
16035         * lib/signal.in.h (SA_RESTART): New macro.
16036         * lib/sigaction.c: Update comment.
16037
16038         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
16039
16040         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
16041         (gl_PREREQ_SIGPROCMASK): Invoke it.
16042         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
16043
16044         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
16045
16046         * lib/sigprocmask.c: Update a comment.
16047
16048 2008-06-21  Eric Blake  <ebb9@byu.net>
16049
16050         Use sigaction module rather than signal().
16051         * modules/c-stack (Depends-on): Add sigaction.
16052         * modules/fatal-signal (Depends-on): Likewise.
16053         * modules/nanosleep (Depends-on): Likewise.
16054         * modules/sigprocmask (Files): Add sig-handler.h.
16055         * modules/sigaction (Files): Likewise.
16056         * lib/sig-handler.h (get_handler): New file, suggested by Paul
16057         Eggert.
16058         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
16059         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
16060         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
16061         (init_fatal_signals): Likewise.
16062         * lib/nanosleep.c (rpl_nanosleep): Likewise.
16063         (siginterrupt): Delete fallback.
16064         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
16065         instead.
16066         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
16067         siginterrupt.
16068
16069         New module sigaction, for mingw.
16070         * modules/sigaction: New module...
16071         * modules/sigaction-tests: ...and its test.
16072         * m4/sigaction.m4: New file.
16073         * lib/sigaction.c: Likewise.
16074         * tests/test-sigaction.c: Likewise.
16075         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
16076         * modules/signal (Makefile.am): Likewise.
16077         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
16078         needed.
16079         * doc/posix-headers/signal.texi (signal.h): Mention provided
16080         types.
16081         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
16082         that sigaction is preferable.
16083         * doc/posix-functions/sigaction.texi (sigaction): Mention new
16084         module.
16085         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16086         sigaction.
16087
16088         Improve robustness of sigprocmask by overriding signal.
16089         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
16090         is in use.
16091         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
16092         (SIGKILL, SIGSTOP): Provide fallbacks.
16093         (rpl_signal): Implement.
16094         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
16095         signal can be called inside handlers.
16096
16097         Fix nanosleep module on mingw.
16098         * modules/nanosleep (Depends-on): Add sys_select.
16099         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
16100
16101         Fix licensing of sigprocmask.
16102         * modules/raise (License): Relicense as LGPL.
16103
16104 2008-06-21  Bruno Haible  <bruno@clisp.org>
16105
16106         * lib/propername.c (proper_name_utf8): Don't use the transliterated
16107         result if it contains question marks.
16108         Reported by Michael Geng <linux@michaelgeng.de>.
16109
16110 2008-06-19  Bruno Haible  <bruno@clisp.org>
16111
16112         Fix CVS-ism.
16113         * doc/gnulib.texi: Include updated-stamp.texi.
16114         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
16115         (updated-stamp.texi): New rule.
16116         (gnulib.info): Depend on it.
16117         * doc/.gitignore: Add updated-stamp.texi.
16118         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
16119
16120 2008-06-19  Bruno Haible  <bruno@clisp.org>
16121
16122         * doc/Makefile (gnulib.info): Update and simplify dependencies.
16123         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
16124
16125 2008-06-19  Eric Blake  <ebb9@byu.net>
16126
16127         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
16128         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
16129         Reported by Stepan Kasal.
16130
16131 2008-06-18  Bruno Haible  <bruno@clisp.org>
16132
16133         * lib/fatal-signal.c (init_fatal_signals): Add comment.
16134         Reported by Eric Blake.
16135
16136 2008-06-18  Eric Blake  <ebb9@byu.net>
16137
16138         Work around cygwin 1.5.25 strsignal bug.
16139         * tests/test-strsignal.c: Allow for const char *.
16140         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
16141
16142 2008-06-18  Simon Josefsson  <simon@josefsson.org>
16143
16144         * users.txt: Update URL to article and add author/date
16145         information.
16146
16147 2008-06-17  Bruno Haible  <bruno@clisp.org>
16148
16149         New macro gl_DISABLE_THREADS.
16150         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
16151         if the user did not pass --enable-threads or --disable-threads option.
16152         (gl_DISABLE_THREADS): New macro.
16153         Reported by Eric Blake <ebb9@byu.net>.
16154
16155 2008-06-17  Bruno Haible  <bruno@clisp.org>
16156
16157         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
16158         when the macro ignores it.
16159         Based on a patch by Eric Blake <ebb9@byu.net>.
16160
16161 2008-06-17  Bruno Haible  <bruno@clisp.org>
16162
16163         * modules/tls (License): Change to LGPLv2+.
16164         Reported by Eric Blake.
16165
16166 2008-06-17  Eric Blake  <ebb9@byu.net>
16167
16168         Simplify c-stack prerequisites.
16169         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
16170         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
16171         no longer requires <ucontext.h> to exist.  Optimize setrlimit
16172         check.
16173         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
16174         <sys/resource.h>.
16175
16176         Move c-stack test into testsuite.
16177         * modules/c-stack-tests: New file.
16178         * lib/c-stack.c [DEBUG]: Move test program...
16179         * tests/test-c-stack.c: ...into this new file.  Skip rather than
16180         fail test if sigaltstack is lacking.
16181         * tests/test-c-stack.sh: New driver file.
16182
16183 2008-06-16  Eric Blake  <ebb9@byu.net>
16184
16185         Use raise module consistently.
16186         * modules/fatal-signal (Depends-on): Add raise.
16187         * modules/sigprocmask (Depends-on): Likewise.
16188         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
16189         * lib/sigprocmask.c (sigprocmask): Likewise.
16190         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
16191         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
16192
16193         Fix compliance bug in sigpending.
16194         * lib/sigprocmask.c (sigpending): Return pending array via
16195         parameter, not return value.
16196
16197 2008-06-14  Eric Blake  <ebb9@byu.net>
16198
16199         Improve obstack-printf test code.
16200         * tests/test-obstack-printf.c (test_function): Fix comment, and
16201         simplify usage of obstack_* in macros.  Add a test for coverage.
16202         Reported by Bruno Haible.
16203
16204 2008-06-14  Bruno Haible  <bruno@clisp.org>
16205
16206         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
16207         array size as a constant, not as a const variable.
16208         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
16209         AC_USE_SYSTEM_EXTENSIONS.
16210         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16211         Test whether the obstack_printf function actually exists.
16212         * modules/obstack-printf (Depends-on): Add extensions.
16213         (Include): Remove obstack.h.
16214         * modules/obstack-printf-posix (Depends-on): Add extensions.
16215         (Include): Remove obstack.h.
16216
16217 2008-06-13  Eric Blake  <ebb9@byu.net>
16218
16219         Add obstack-printf and obstack-printf-posix modules.
16220         * modules/obstack-printf: New file.
16221         * modules/obstack-printf-posix: Likewise.
16222         * MODULES.html.sh (Misc): Mention them.
16223         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
16224         Likewise.
16225         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
16226         Likewise.
16227         * modules/stdio (Makefile.am): Accomodate new modules.
16228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16229         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
16230         Declare.
16231         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
16232         functions.
16233         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
16234         (gl_REPLACE_OBSTACK_PRINTF): New macros
16235         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
16236         * tests/test-obstack-printf.c: New file.
16237         * modules/obstack-printf-tests: Likewise.
16238         * modules/obstack-printf-posix-tests: Likewise.
16239
16240 2008-06-11  Bruno Haible  <bruno@clisp.org>
16241
16242         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
16243         * lib/open.c: Include errno.h.
16244         (open): Fail when attempting to write to a file that has a trailing
16245         slash.
16246         * tests/test-open.c (main): Test against trailing slash bug.
16247         * doc/posix-functions/open.texi: Mention the trailing slash bug.
16248
16249 2008-06-10  Bruno Haible  <bruno@clisp.org>
16250
16251         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
16252         for $? to work inside the trap command, with various /bin/sh-s.
16253         * tests/test-vc-list-files-cvs.sh: Likewise.
16254
16255 2008-06-10  Bruno Haible  <bruno@clisp.org>
16256
16257         * lib/acl-internal.h: Don't include gettext.h here.
16258         * lib/set-mode-acl.c: Include gettext.h here.
16259         * lib/copy-acl.c: Likewise.
16260
16261 2008-06-10  Bruno Haible  <bruno@clisp.org>
16262
16263         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
16264         * lib/wait-process.c (wait_subprocess): Likewise.
16265         * lib/execute.h (execute): Add termsigp argument.
16266         * lib/execute.c (execute): Likewise.
16267         * lib/csharpcomp.c (compile_csharp_using_pnet,
16268         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
16269         * lib/csharpexec.c (execute_csharp_using_pnet,
16270         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
16271         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
16272         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
16273         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
16274         is_jikes_present): Update.
16275         * lib/javaexec.c (execute_java_class): Update.
16276         * lib/javaversion.c (execute_and_read_line): Update.
16277         * NEWS: Document the changes.
16278         Reported by Eric Blake.
16279
16280 2008-06-10  Eric Blake  <ebb9@byu.net>
16281
16282         Add missing include.
16283         * tests/test-strstr.c (includes): Add <signal.h>.
16284         * tests/test-strcasestr.c (includes): Likewise.
16285         * tests/test-memmem.c (includes): Likewise.
16286
16287 2008-06-10  Bruno Haible  <bruno@clisp.org>
16288
16289         * lib/wait-process.c (wait_subprocess): Add an assertion.
16290
16291 2008-06-10  Bruno Haible  <bruno@clisp.org>
16292
16293         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
16294
16295 2008-06-10  Bruno Haible  <bruno@clisp.org>
16296
16297         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
16298         using alarm().
16299         * tests/test-strcasestr.c (main): Likewise.
16300         * tests/test-strstr.c (main): Likewise.
16301
16302 2008-06-09  Bruno Haible  <bruno@clisp.org>
16303
16304         Work around the Solaris 10 ACE ACLs ABI change.
16305         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
16306         declare if ACL_NO_TRIVIAL is present.
16307         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
16308         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
16309         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
16310         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
16311         define if ACL_NO_TRIVIAL is present.
16312         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
16313         and use the current ABI.
16314         (file_has_acl): Use same #if condition as elsewhere.
16315         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
16316         in use, and use the current ABI.
16317         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
16318         Reported by Jim Meyering.
16319
16320 2008-06-09  Eric Blake  <ebb9@byu.net>
16321
16322         Work around environments that (stupidly) ignore SIGALRM.
16323         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
16324         before using alarm().
16325         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16326         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
16327         Reported by Ian Beckwith <ianb@erislabs.net>.
16328
16329         Produce autobuild blurb earlier in log.
16330         * modules/autobuild (configure.ac-early): Move AB_INIT here.
16331
16332 2008-06-09  Jim Meyering  <meyering@redhat.com>
16333         and Ondřej Vašík  <ovasik@redhat.com>
16334
16335         utimens.c: correct kernel bug work-around
16336         Ondřej Vašík found that the invalid return value of 280 indicates
16337         failure, not success, and the kernel bug we're trying to work
16338         around affects not just the utimensat call, but also the fallback
16339         futimens call.
16340         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
16341         not success.
16342         [HAVE_FUTIMENS]: Use the same work-around, here.
16343
16344 2008-06-09  Jim Meyering  <meyering@redhat.com>
16345
16346         add more guards around definition of ACE_-related code
16347         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
16348         ALLOW and ACE_OWNER are also defined.
16349
16350 2008-06-08  Bruno Haible  <bruno@clisp.org>
16351
16352         * lib/acl-internal.h: Add me as co-author.
16353         * lib/file-has-acl.c: Likewise.
16354         * lib/set-mode-acl.c: Likewise.
16355         * lib/copy-acl.c: Likewise.
16356
16357 2008-06-08  Bruno Haible  <bruno@clisp.org>
16358
16359         Add support for AIX ACLs.
16360         * lib/acl-internal.h (acl_nontrivial): New declaration.
16361         * lib/file-has-acl.c (acl_nontrivial): New function.
16362         (file_has_acl): Add implementation using AIX 4 ACL API.
16363         * lib/set-mode-acl.c (qset_acl): Likewise.
16364         * lib/copy-acl.c (qcopy_acl): Likewise.
16365
16366 2008-06-08  Bruno Haible  <bruno@clisp.org>
16367
16368         Add support for HP-UX ACLs.
16369         * lib/acl-internal.h (acl_nontrivial): New declaration.
16370         * lib/file-has-acl.c (acl_nontrivial): New function.
16371         (file_has_acl): Add implementation using HP-UX 11 ACL API.
16372         * lib/set-mode-acl.c (qset_acl): Likewise.
16373         * lib/copy-acl.c (qcopy_acl): Likewise.
16374
16375 2008-06-08  Bruno Haible  <bruno@clisp.org>
16376
16377         Add support for Cygwin ACLs.
16378         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
16379         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
16380         the chmod_or_fchmod call.
16381         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
16382
16383 2008-06-08  Bruno Haible  <bruno@clisp.org>
16384
16385         Fix bug with setuid modes in Solaris 10+ code.
16386         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
16387         succeeded, when the mode contains some special bits.
16388
16389 2008-06-08  Bruno Haible  <bruno@clisp.org>
16390
16391         Add support for Solaris 7..10 ACLs.
16392         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
16393         declarations.
16394         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
16395         functions.
16396         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
16397         * lib/set-mode-acl.c (qset_acl): Likewise.
16398         * lib/copy-acl.c (qcopy_acl): Likewise.
16399
16400 2008-06-08  Bruno Haible  <bruno@clisp.org>
16401
16402         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
16403         declaration.
16404         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
16405         (acl_access_nontrivial): Remove MacOS X case.
16406         (file_has_acl): Use acl_extended_nontrivial.
16407         * lib/copy-acl.c (qcopy_acl): Likewise.
16408
16409 2008-06-08  Bruno Haible  <bruno@clisp.org>
16410
16411         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
16412
16413 2008-06-08  Jim Meyering  <meyering@redhat.com>
16414
16415         * modules/acl (Maintainer): Add Bruno Haible.
16416
16417 2008-06-07  Bruno Haible  <bruno@clisp.org>
16418
16419         Improve support for Tru64 ACLs.
16420         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
16421         ACL on OSF/1.
16422
16423 2008-06-07  Bruno Haible  <bruno@clisp.org>
16424
16425         Add support for MacOS X ACLs.
16426         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
16427         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
16428         * lib/set-mode-acl.c (qset_acl): Likewise.
16429         * lib/copy-acl.c (qcopy_acl): Likewise.
16430
16431 2008-06-07  Bruno Haible  <bruno@clisp.org>
16432
16433         Fix memory leak introduced on 2008-05-22.
16434         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
16435         use.
16436
16437 2008-06-07  Bruno Haible  <bruno@clisp.org>
16438
16439         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
16440         to construct an empty ACL.
16441
16442 2008-06-07  Bruno Haible  <bruno@clisp.org>
16443
16444         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
16445         precisely.
16446         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
16447
16448 2008-06-07  Bruno Haible  <bruno@clisp.org>
16449
16450         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
16451         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
16452
16453 2008-06-07  Bruno Haible  <bruno@clisp.org>
16454
16455         * doc/posix-functions/_setjmp.texi: Explain the use of this function
16456         regardless of POSIX.
16457         * doc/posix-functions/_longjmp.texi: Likewise.
16458         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
16459         SystemV platform in this case.
16460
16461 2008-06-06  Eric Blake  <ebb9@byu.net>
16462
16463         Document abort() bugs.
16464         * doc/posix-functions/abort.texi (abort): Mention anomalies.
16465
16466         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
16467         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
16468         sigsetjmp.
16469         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
16470         siglongjmp, but only as a macro.
16471         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
16472         is obsolete.
16473         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
16474
16475         Tweak documentation to cover cygwin argz bugs.
16476         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
16477         argz bug fix; no code change needed since no cygwin releases
16478         occurred between the last fix and the bug being tested.
16479         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
16480         module and recently fixed cygwin bugs.
16481         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
16482         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
16483         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
16484         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
16485         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
16486         Likewise.
16487         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
16488         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
16489         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
16490         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
16491         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
16492         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
16493         Likewise.
16494
16495         Avoid gcc warning on cygwin.
16496         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
16497         !ACL_NO_TRIVIAL]: Avoid unused variable.
16498
16499 2008-06-05  Eric Blake  <ebb9@byu.net>
16500
16501         Be tolerant of UNKNOWN version in gnulib-tool test dir.
16502         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
16503         git-version-gen fails to come up with a version.
16504         Reported by Simon Josefsson.
16505
16506 2008-06-05  Jim Meyering  <meyering@redhat.com>
16507             Paul Eggert  <eggert@cs.ucla.edu>
16508
16509         utimens.c: work around a probable Linux kernel bug
16510         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
16511         appears to be a kernel bug that causes utimensat to return 280
16512         instead of 0, indicating success.
16513
16514 2008-06-04  Bruno Haible  <bruno@clisp.org>
16515
16516         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
16517         2008-06-01 commit.
16518
16519 2008-06-04  Bruno Haible  <bruno@clisp.org>
16520
16521         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
16522         * lib/file-has-acl.c (acl_access_nontrivial): New function.
16523         (file_has_acl): Use it. Save errno afterwards.
16524         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
16525
16526 2008-06-03  Bruno Haible  <bruno@clisp.org>
16527
16528         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
16529         draft code. Simplify #ifs.
16530         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
16531         Put Solaris code after POSIX-draft code. Fix comments regarding
16532         Solaris 10, HP-UX. Mention Cygwin.
16533         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
16534
16535 2008-06-03  Eric Blake  <ebb9@byu.net>
16536
16537         Provide fallback for older kernels.
16538         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
16539         Provide runtime fallback if kernel lacks support.
16540         Reported by Mike Frysinger.
16541
16542 2008-06-02  Bruno Haible  <bruno@clisp.org>
16543
16544         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
16545         it exists.
16546
16547 2008-06-02  Bruno Haible  <bruno@clisp.org>
16548
16549         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
16550         * lib/copy-acl.c (qcopy_acl): Update comment.
16551
16552 2008-06-02  Bruno Haible  <bruno@clisp.org>
16553
16554         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
16555         like ACL APIs.
16556
16557 2008-06-02  Bruno Haible  <bruno@clisp.org>
16558
16559         * tests/test-file-has-acl.sh: Use different code for Cygwin.
16560         * tests/test-set-mode-acl.sh: Likewise.
16561         * tests/test-copy-acl.sh: Likewise.
16562         * tests/test-copy-file.sh: Likewise.
16563
16564 2008-06-02  Bruno Haible  <bruno@clisp.org>
16565
16566         * tests/test-file-has-acl.sh: Remove unused code.
16567
16568 2008-06-01  Bruno Haible  <bruno@clisp.org>
16569
16570         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
16571         (copy_acl): Just a wrapper around qcopy_acl that emits the error
16572         messages.
16573         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
16574
16575 2008-06-01  Bruno Haible  <bruno@clisp.org>
16576
16577         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
16578         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
16579         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
16580         APIs.
16581         * modules/acl-tests (configure.ac): Remove tests now contained in
16582         m4/acl.m4.
16583
16584 2008-06-02  Jim Meyering  <meyering@redhat.com>
16585
16586         announce-gen: use a better key-server host name
16587         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
16588         it may be more consistently reliable.  Suggested by Werner Koch
16589         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
16590
16591 2008-06-01  Bruno Haible  <bruno@clisp.org>
16592
16593         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
16594         Reported by Voroskoi Andras <voroskoi@gmail.com>.
16595
16596 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
16597
16598         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
16599
16600 2008-06-01  Bruno Haible  <bruno@clisp.org>
16601
16602         New ACL tests.
16603         * tests/test-file-has-acl.sh: New file.
16604         * tests/test-file-has-acl.c: New file.
16605         * tests/test-set-mode-acl.sh: New file.
16606         * tests/test-set-mode-acl.c: New file.
16607         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
16608         * tests/test-copy-acl.c: New file.
16609         * modules/acl-tests: New file, based on modules/copy-file-tests.
16610         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
16611         (Depends-on): Add acl-tests.
16612         (configure.ac): Remove checks.
16613         (Makefile.am): Don't create test-sameacls program here any more.
16614
16615 2008-06-01  Bruno Haible  <bruno@clisp.org>
16616
16617         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
16618         * tests/test-sameacls.c: Include progname.h.
16619         (main): Invoke set_program_name. Portability fixes for MacOS X,
16620         Solaris, HP-UX.
16621
16622 2008-06-01  Bruno Haible  <bruno@clisp.org>
16623
16624         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
16625         function.
16626         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
16627
16628 2008-06-01  Bruno Haible  <bruno@clisp.org>
16629
16630         * modules/rpmatch (Depends-on): Add strdup.
16631
16632 2008-06-01  Bruno Haible  <bruno@clisp.org>
16633
16634         * lib/pipe.c: Include unistd-safer.h.
16635         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
16636         * modules/pipe (Depends-on): Add unistd-safer.
16637
16638 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16639
16640         * modules/autobuild (configure.ac): Call AB_INIT.
16641
16642 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16643
16644         * tests/test-getaddrinfo.c: Don't print debug messages by default.
16645         Suggested by Bruno Haible <bruno@clisp.org>.
16646
16647 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16648
16649         * tests/test-base64.c: Cast size_t to unsigned long when invoking
16650         printf.  Use %lu instead of %d.  Reported by Bruno Haible
16651         <bruno@clisp.org>.
16652
16653 2008-05-29  Eric Blake  <ebb9@byu.net>
16654
16655         Prefer new POSIX 200x interfaces over futimesat.
16656         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
16657         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
16658         when available.
16659         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
16660
16661 2008-05-28  Bruno Haible  <bruno@clisp.org>
16662
16663         * modules/stpcpy (License): Change to LGPLv2+.
16664         Requested by David Lutterkort <dlutter@redhat.com>.
16665
16666 2008-05-27  Bruno Haible  <bruno@clisp.org>
16667
16668         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
16669         current mingw.
16670         Reported by Jose E. Marchesi <jemarch@gnu.org>.
16671
16672 2008-05-27  Bruno Haible  <bruno@clisp.org>
16673
16674         * modules/iconv_open (Link): New section, from module 'iconv'.
16675         * modules/striconv (Link): Likewise.
16676         * modules/striconveh (Link): Likewise.
16677         * modules/xstriconv (Link): Likewise.
16678         * modules/unicodeio (Link): Likewise.
16679         * modules/propername (Link): Likewise.
16680         Reported by Jim Meyering.
16681
16682 2008-05-26  Jim Meyering  <meyering@redhat.com>
16683
16684         sha256: do not artificially restrict buffer length to be < 2^32
16685         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
16686         uint32_t to size_t.
16687         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
16688         to match.
16689
16690         avoid unaligned access errors, e.g., on sparc
16691         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
16692         direct access through a possibly-unaligned uint64* pointer.
16693         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
16694         direct access through a possibly-unaligned uint32* pointer.
16695         Prompted by this patch from Tom "spot" Callaway:
16696         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
16697
16698         sha512.c: fix typo in comment
16699         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
16700
16701 2008-05-25  Bruno Haible  <bruno@clisp.org>
16702
16703         * lib/set-mode-acl.c: Renamed from lib/acl.c.
16704         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
16705         (Makefile.am): Update lib_SOURCES.
16706
16707 2008-05-25  Bruno Haible  <bruno@clisp.org>
16708
16709         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
16710
16711 2008-05-25  Jim Meyering  <meyering@redhat.com>
16712
16713         useless-if-before-free: freed expr may have white-space differences
16714         * build-aux/useless-if-before-free: Recognize cases in which the
16715         freed expression differs from the tested one in embedded white
16716         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
16717         $1 was used, so we can't make any regexp shy.  Improved tests now
16718         detect this.
16719
16720         useless-if-before-free: accept white space in the expression.
16721         * build-aux/useless-if-before-free: For now, any white space
16722         in the expression must be identical in the free argument.
16723
16724         useless-if-before-free: efficiency tweak
16725         * build-aux/useless-if-before-free: Make the expression-matching
16726         regexp "shy".
16727         Make the *outer* regexp shy, not the expr-matching one.
16728
16729         update code-in-comment to accept cast of free arg
16730         * build-aux/useless-if-before-free: Update regexp.
16731
16732 2008-05-25  Bruno Haible  <bruno@clisp.org>
16733
16734         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
16735         * modules/copy-file-tests (Files, Makefile.am): Update.
16736         * tests/test-copy-file.c (func_test_copy): Update.
16737
16738 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
16739
16740         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
16741
16742 2008-05-23  Bruno Haible  <bruno@clisp.org>
16743
16744         Improve support for ACLs on OSF/1.
16745         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
16746         Remove fallback for unknown flavors of ACLs.
16747
16748 2008-05-22  Bruno Haible  <bruno@clisp.org>
16749
16750         Add support for ACLs on OSF/1.
16751         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
16752         replacements.
16753         (acl_free_text): New macro fallback.
16754         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
16755         acl_free.
16756         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
16757         acl_free_text function. Require AC_C_INLINE.
16758
16759 2008-05-22  Bruno Haible  <bruno@clisp.org>
16760
16761         Make copy_acl work on MacOS X 10.5.
16762         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
16763         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
16764         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
16765         If MODE_INSIDE_ACL, don't assume that every system has the same text
16766         representation for ACLs as FreeBSD.
16767         * lib/copy-acl.c (copy_acl): Add support for platforms with
16768         !MODE_INSIDE_ACL.
16769         * lib/file-has-acl.c (file_has_acl): Likewise.
16770         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
16771         FreeBSD, MacOS X, or IRIX, respectively.
16772
16773 2008-05-22  Bruno Haible  <bruno@clisp.org>
16774
16775         * lib/acl.h: Don't include <sys/acl.h>.
16776         (GETACLCNT): Move fallback to lib/acl-internal.h.
16777         * lib/acl-internal.h: Include <sys/acl.h> here.
16778         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
16779
16780 2008-05-22  Bruno Haible  <bruno@clisp.org>
16781
16782         Split off copy_acl function to separate file.
16783         * lib/copy-acl.c: New file, extracted from lib/acl.c.
16784         * lib/acl.c (copy_acl): Moved function to separate file.
16785         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
16786         * modules/acl (Files): Add lib/copy-acl.c.
16787         (Makefiles.am): Augment lib_SOURCES.
16788
16789 2008-05-22  Bruno Haible  <bruno@clisp.org>
16790
16791         * modules/copy-file-tests: New file.
16792         * tests/test-copy-file.sh: New file.
16793         * tests/test-copy-file.c: New file.
16794         * tests/test-copy-file-sameacls.c: New file.
16795
16796 2008-05-22  Eric Blake  <ebb9@byu.net>
16797
16798         Avoid gcc warning.
16799         * tests/test-memcmp.c (main): Pass NULL indirectly.
16800
16801 2008-05-21  Bruno Haible  <bruno@clisp.org>
16802
16803         Add reference doc about ACLs.
16804         * doc/acl-resources.txt: New file.
16805         * doc/acl-cygwin.txt: New file.
16806
16807 2008-05-21  Bruno Haible  <bruno@clisp.org>
16808
16809         Avoid one more warning from gcc.
16810         * lib/vasnprintf.c (IF_LINT): Update comments.
16811         (VASNPRINTF): Use it also for the 'prefix' array initializer.
16812
16813 2008-05-21  Jim Meyering  <meyering@redhat.com>
16814
16815         avoid a warning from gcc
16816         * lib/vasnprintf.c (IF_LINT): Define.
16817         (scale10_round_decimal_long_double):
16818         Use it to avoid a "may be used uninitialized" warning.
16819         (scale10_round_decimal_double): Likewise.
16820
16821 2008-05-21  Simon Josefsson  <simon@josefsson.org>
16822
16823         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
16824         declared.
16825
16826 2008-05-20  Bruno Haible  <bruno@clisp.org>
16827
16828         * tests/test-memcmp.c (main): Test also the sign of the result. Test
16829         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
16830
16831 2008-05-20  Simon Josefsson  <simon@josefsson.org>
16832
16833         * modules/memcmp-tests: New file.
16834         * tests/test-memcmp.c: New file.
16835
16836 2008-05-19  Bruno Haible  <bruno@clisp.org>
16837
16838         * modules/propername (Notice, configure.ac): Put quoted "..." into
16839         --keyword option.
16840         * lib/propername.h: Update comments accordingly.
16841         Reported by Eric Blake.
16842
16843 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
16844
16845         * modules/getpass-gnu (Depends-on): Add fseeko.
16846
16847 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16848
16849         * modules/base64-tests: New file.
16850
16851 2008-05-19  Bo Borgerson <gigabo@gmail.com>
16852
16853         * lib/base64.c (base64_decode_ctx): If a decode context structure
16854         was passed in use it to ignore newlines.  If a context structure
16855         was _not_ passed in, continue to treat newlines as garbage (this
16856         is the historical behavior).  Formerly base64_decode.
16857         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16858         takes a decode context structure.
16859         * lib/base64.h (base64_decode): Macro for four-argument calls.
16860         (base64_decode_alloc): Likewise.
16861         * lib/base64.c (base64_decode_ctx): If a decode context structure
16862         was passed in use it to ignore newlines.  If a context structure
16863         was _not_ passed in, continue to treat newlines as garbage (this
16864         is the historical behavior).  Formerly base64_decode.
16865         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16866         takes a decode context structure.
16867         * lib/base64.h (base64_decode): Macro for four-argument calls.
16868         (base64_decode_alloc): Likewise.
16869
16870 2008-05-19  Jim Meyering  <meyering@redhat.com>
16871
16872         avoid a warning from gcc
16873         * lib/trim.c (IF_LINT): Define.
16874         (trim2): Use it to avoid a "may be used uninitialized" warning.
16875
16876         Fix doc typo.
16877         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
16878
16879 2008-05-19  Bruno Haible  <bruno@clisp.org>
16880
16881         * doc/glibc-functions/getpass.texi: Document limits of other
16882         implementations.
16883
16884 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16885             Bruno Haible <bruno@clisp.org>
16886
16887         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
16888
16889 2008-05-18  Bruno Haible  <bruno@clisp.org>
16890
16891         * modules/propername: New file, from GNU gettext.
16892         * lib/propername.h: New file, from GNU gettext.
16893         * lib/propername.c: New file, from GNU gettext.
16894         * MODULES.html.sh (Internationalization functions): Add propername.
16895
16896 2008-05-16  Jim Meyering  <meyering@redhat.com>
16897             Bruno Haible  <bruno@clisp.org>
16898
16899         Avoid some warnings from "gcc -Wshadow".
16900         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
16901
16902 2008-05-15  Eric Blake  <ebb9@byu.net>
16903
16904         Extend previous patch to cygwin 1.7.0.
16905         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
16906         fast implementation in cygwin >= 1.7.0.
16907         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16908         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16909
16910 2008-05-15  Bruno Haible  <bruno@clisp.org>
16911
16912         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
16913         implementation in glibc >= 2.9.
16914         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16916
16917 2008-05-15  Bruno Haible  <bruno@clisp.org>
16918
16919         * MODULES.html.sh (Internationalization functions): Remove linebreak.
16920         (Unicode string functions): Add unilbrk/*.
16921         Reported by Karl Berry.
16922
16923 2008-05-15  Eric Blake  <ebb9@byu.net>
16924
16925         Fix violation of <stdbool.h> replacement in regex.
16926         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
16927         * lib/regexec.c (re_search_internal): Likewise.
16928         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
16929
16930 2008-05-15  Jim Meyering  <meyering@redhat.com>
16931
16932         avoid distracting test output when git or cvs is not found
16933         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
16934         * tests/test-vc-list-files-git.sh: Likewise.
16935
16936 2008-05-15  Eric Blake  <ebb9@byu.net>
16937
16938         Glibc finally accepted the memmem speedup code, bugzilla #5514.
16939         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
16940         glibc version.
16941         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16942         * doc/posix-functions/strstr.texi (strstr): Likewise.
16943         * lib/str-two-way.h (MAX): Sychronize with glibc.
16944
16945 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
16946
16947         * lib/regcomp.c (optimize_utf8): Add a note on why we test
16948         opr.ctx_type.
16949         (calc_first): Initialize constraint field.
16950         (duplicate_node_closure): Use it instead of special casing ANCHORS.
16951         Fix grammar.
16952         (duplicate_node): Merge constraint field for all node types.
16953         (calc_eclosure_iter): Look at constraint field for all node types.
16954         * lib/regex_internal.c (create_cd_newstate): Don't look at
16955         opr.ctx_type.
16956
16957 2008-05-14  Bruno Haible  <bruno@clisp.org>
16958
16959         Help GCC to do better code generation.
16960         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
16961         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16962         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
16963         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
16964         Declare with attribute 'malloc' if supported.
16965
16966 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
16967
16968         use "echo STR|wc -c" rather than unportable "expr length STR"
16969         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
16970         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
16971
16972 2008-05-14  Jim Meyering  <meyering@redhat.com>
16973
16974         use dd ibs=$n count=1 ... rather than less-portable head -c$n
16975         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
16976         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
16977         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
16978         via Collin Lasse.
16979
16980 2008-05-14  Eric Blake  <ebb9@byu.net>
16981
16982         Avoid quadratic growth in gl_LIBSOURCES.
16983         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
16984         Suggested by Bruno Haible.
16985
16986         Test xmemdup0.
16987         * modules/xmemdup0-tests: New file.
16988         * tests/test-xmemdup0.c: Likewise.
16989
16990 2008-05-13  Eric Blake  <ebb9@byu.net>
16991
16992         Split xmemdup0 into its own module.
16993         * modules/xmemdup0: New file.
16994         * lib/xmemdup0.h: Likewise.
16995         * lib/xmemdup0.c: Likewise.
16996         * MODULES.html.sh (Memory management functions): Add xmemdup0.
16997         * lib/xalloc.h (xmemdup0): Remove.
16998         * lib/xmalloc.c (xmemdup0): Likewise.
16999
17000 2008-05-13  Eric Blake  <ebb9@byu.net>
17001             Bruno Haible  <bruno@clisp.org>
17002
17003         Reduce number of forks required during autoconf.
17004         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
17005         and gl_LIBSOURCES_DIR.
17006         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
17007         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
17008         m4_syscmd per file.
17009         <m4_foreach_w>: Move...
17010         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
17011
17012 2008-05-13  Eric Blake  <ebb9@byu.net>
17013
17014         * gnulib-tool: Fix various comment typos.
17015
17016 2008-05-12  Bruno Haible  <bruno@clisp.org>
17017
17018         Tailor the linebreaking algorithm.
17019         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
17020
17021 2008-05-12  Bruno Haible  <bruno@clisp.org>
17022
17023         Update to Unicode 5.0.0.
17024         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
17025         LBP_JV, LBP_JT. Redistribute values.
17026         (unilbrk_table): Change size.
17027         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
17028         Unicode TR#14 rev. 22.
17029         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
17030         LBP_JV, LBP_JT. Redistribute values.
17031         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
17032         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
17033         Update.
17034         * lib/unilbrk/lbrkprop1.h: Regenerated.
17035         * lib/unilbrk/lbrkprop2.h: Regenerated.
17036         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
17037         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
17038         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
17039         Likewise.
17040         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
17041         Likewise.
17042         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
17043         result.
17044         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
17045         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
17046         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
17047         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
17048         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
17049         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
17050
17051 2008-05-11  Bruno Haible  <bruno@clisp.org>
17052
17053         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
17054
17055 2008-05-11  Bruno Haible  <bruno@clisp.org>
17056
17057         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
17058         * modules/unilbrk/gen-lbrk: New file.
17059
17060 2008-05-11  Bruno Haible  <bruno@clisp.org>
17061
17062         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
17063         * m4/sha512.m4 (gl_SHA512): Likewise.
17064
17065 2008-05-11  Jim Meyering  <meyering@redhat.com>
17066
17067         New modules: crypto/sha256, crypto/sha512 (from coreutils)
17068         * modules/crypto/sha256: New file.
17069         * modules/crypto/sha512: Likewise.
17070         * lib/sha256.c: Likewise.
17071         * lib/sha256.h: Likewise.
17072         * lib/sha512.c: Likewise.
17073         * lib/sha512.h: Likewise.
17074         * lib/u64.h: Likewise.
17075         * m4/sha256.m4: Likewise.
17076         * m4/sha512.m4: Likewise.
17077         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
17078
17079 2008-05-10  Bruno Haible  <bruno@clisp.org>
17080
17081         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
17082         (Input/Output <stdio.h>): Add xprintf.
17083         (Signal handling <signal.h>): Add strsignal.
17084         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
17085         (Core language properties): Add func.
17086         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
17087         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
17088         strings.
17089         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
17090         (Input/output): New section.
17091         (File system functions): Add openat-die, stat-macros.
17092         (Networking functions): Add sockets.
17093         (Unicode string functions): Add unictype/*.
17094         (Support for building libraries and executables): Add gperf.
17095         (Support for building documentation): Add agpl-3.0.
17096         (Misc): Add nocrash.
17097
17098 2008-05-10  Bruno Haible  <bruno@clisp.org>
17099
17100         * modules/unictype/gen-ctype: New file.
17101
17102 2008-05-10  Jim Meyering  <meyering@redhat.com>
17103
17104         Make chdir-safer.c more efficient on a system with no symlinks.
17105         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
17106         also if ELOOP is zero.  Suggested by Bruno Haible.
17107
17108         Make chdir-safer.c slightly safer.
17109         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
17110         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
17111
17112         Avoid compile failure on systems without ELOOP (like mingw).
17113         * lib/chdir-safer.c (ELOOP): Define if not already defined.
17114         Reported by Bruno Haible.
17115
17116 2008-05-10  Bruno Haible  <bruno@clisp.org>
17117
17118         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
17119         (is_utf8_encoding): Use a case-insensitive comparison.
17120         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
17121         streq.
17122
17123 2008-05-10  Bruno Haible  <bruno@clisp.org>
17124
17125         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
17126         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
17127         * lib/unilbrk/ulc-common.h (iconv_string_length,
17128         iconv_string_keeping_offsets): Remove declarations.
17129         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
17130         Don't include <iconv.h>, streq.h, xsize.h.
17131         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
17132         conversion.
17133         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
17134         <iconv.h>, streq.h, xsize.h.
17135         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
17136         conversion.
17137         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
17138         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
17139         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
17140         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
17141
17142 2008-05-10  Bruno Haible  <bruno@clisp.org>
17143
17144         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
17145         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
17146
17147         * modules/unilbrk/u32-width-linebreaks-tests: New file.
17148         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
17149
17150         * modules/unilbrk/u16-width-linebreaks-tests: New file.
17151         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
17152
17153         * modules/unilbrk/u8-width-linebreaks-tests: New file.
17154         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
17155
17156         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
17157         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
17158
17159         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
17160         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
17161
17162         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
17163         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
17164
17165         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
17166         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
17167
17168 2008-05-10  Bruno Haible  <bruno@clisp.org>
17169
17170         Split up 'linebreak' module.
17171         * lib/unilbrk.h: New file, based on lib/linebreak.h.
17172         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
17173         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
17174         modifications.
17175         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
17176         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
17177         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
17178         lib/linebreak.c.
17179         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
17180         lib/linebreak.c.
17181         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
17182         lib/linebreak.c.
17183         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
17184         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
17185         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
17186         lib/linebreak.c.
17187         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
17188         lib/linebreak.c.
17189         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
17190         lib/linebreak.c.
17191         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
17192         lib/linebreak.c.
17193         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
17194         lib/linebreak.c.
17195         * modules/unilbrk/base: New file.
17196         * modules/unilbrk/tables: New file.
17197         * modules/unilbrk/u8-possible-linebreaks: New file.
17198         * modules/unilbrk/u16-possible-linebreaks: New file.
17199         * modules/unilbrk/u32-possible-linebreaks: New file.
17200         * modules/unilbrk/ulc-common: New file.
17201         * modules/unilbrk/ulc-possible-linebreaks: New file.
17202         * modules/unilbrk/u8-width-linebreaks: New file.
17203         * modules/unilbrk/u16-width-linebreaks: New file.
17204         * modules/unilbrk/u32-width-linebreaks: New file.
17205         * modules/unilbrk/ulc-width-linebreaks: New file.
17206         * lib/linebreak.h: Remove file.
17207         * lib/linebreak.c: Remove file.
17208         * m4/linebreak.m4: Remove file.
17209         * modules/linebreak: Remove file.
17210         * NEWS: Mention the changes.
17211
17212 2008-05-09  Eric Blake  <ebb9@byu.net>
17213
17214         Add xmemdup0.
17215         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
17216         implementation.
17217         * lib/xmalloc.c (xmemdup0): New C implementation.
17218
17219 2008-05-08  Bruno Haible  <bruno@clisp.org>
17220
17221         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
17222
17223 2008-05-07  Eric Blake  <ebb9@byu.net>
17224
17225         Support cross-compilation of <wctype.h>.
17226         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
17227         AC_CACHE_CHECK.
17228
17229 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
17230
17231         * build-aux/vc-list-files: Add support for bzr.
17232
17233 2008-05-03  Jim Meyering  <meyering@redhat.com>
17234
17235         avoid failed assertion with tight malloc
17236         * tests/test-getndelim2.c: Correct an off-by-one assertion.
17237
17238 2008-05-03  Simon Josefsson  <simon@josefsson.org>
17239
17240         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
17241         are needed from arpa/inet.h.
17242         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
17243         Reported by Bruno Haible.
17244
17245 2008-05-02  Jim Meyering  <meyering@redhat.com>
17246
17247         avoid compilation error on FreeBSD 6
17248         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
17249
17250 2008-05-01  Jim Meyering  <meyering@redhat.com>
17251
17252         useless-if-before-free: correct --help's exit status description
17253         * build-aux/useless-if-before-free (usage): Like grep, exit 0
17254         for one or more matches, etc.  Reported by Bruno Haible.
17255
17256         vc-list-files: make the stand-alone gnulib test work
17257         * modules/vc-list-files-tests (configure.ac):
17258         Define and AC_SUBST abs_aux_dir.
17259         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
17260         $(abs_top_srcdir) to each script and having each of them
17261         duplicate the work of setting PATH, set PATH here, using
17262         the new variable, abs_aux_dir instead.
17263         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
17264         * tests/test-vc-list-files-git.sh: Likewise.
17265         Reported by Bruno Haible.
17266
17267 2008-05-01  Bruno Haible  <bruno@clisp.org>
17268
17269         * lib/getndelim2.c (getndelim2): Fix newsize computation during
17270         reallocation. Rename 'done' to 'found_delimiter'.
17271
17272 2008-05-01  Jim Meyering  <meyering@redhat.com>
17273
17274         vc-list-files: accommodate /bin/sh like the one from Solaris 10
17275         * build-aux/vc-list-files: Use `...`, not $(...).
17276
17277 2008-04-30  Jim Meyering  <meyering@redhat.com>
17278
17279         add tests for vc-list-files
17280         * modules/vc-list-files-tests: New module.
17281         * tests/test-vc-list-files-cvs.sh: New file.
17282         * tests/test-vc-list-files-git.sh: New file.
17283
17284         avoid a warning from gcc
17285         * lib/getndelim2.c (IF_LINT): Define.
17286         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
17287
17288         vc-list-files: work properly with build-aux/cvsu, too
17289         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
17290         to all cvs-based clauses.
17291
17292         vc-list-files: work properly in the CVS+awk case, too
17293         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
17294
17295         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
17296         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
17297         take more than one file argument, so .  Add quotes, just in case $dir
17298         ever contains a shell meta-character.  Prompted by Soren Hansen in
17299         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
17300
17301 2008-04-29  Eric Blake  <ebb9@byu.net>
17302
17303         Optimize getndelim2 to use block operations when possible.
17304         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
17305         freadseek, and memchr2.
17306         * lib/getndelim2.c (getndelim2): Use them for block reads.
17307
17308 2008-04-29  Bruno Haible  <bruno@clisp.org>
17309
17310         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
17311         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17312         * modules/inet_ntop (Depends-on): Add extensions.
17313         * modules/inet_pton (Depends-on): Likewise.
17314         Reported by Simon Josefsson.
17315
17316 2008-04-29  Jim Meyering  <meyering@redhat.com>
17317
17318         When the is more than one match in a block, match all of them.
17319         * build-aux/useless-if-before-free: Iterate through each block
17320         until there are no more matches.
17321
17322         Fix broken useless-if-before-free script.
17323         * build-aux/useless-if-before-free: Fix typo: missing "?" after
17324         the expression to match cast of argument to free-like function.
17325
17326 2008-04-29  Eric Blake  <ebb9@byu.net>
17327
17328         Use new header.
17329         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
17330
17331 2008-04-29  Jim Meyering  <meyering@redhat.com>
17332
17333         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
17334         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
17335         by gnulib to exist and to declare e.g., inet_ntop.
17336         Don't include "inet_ntop.h", now removed.
17337
17338         * m4/arpa_inet_h.m4: Remove trailing blanks.
17339
17340 2008-04-29  Eric Blake  <ebb9@byu.net>
17341
17342         Silence valgrind on safe reads beyond potential array bounds.
17343         * lib/rawmemchr.valgrind: New file.
17344         * lib/strchrnul.valgrind: Likewise.
17345         * modules/rawmemchr (Files): Distribute new file.
17346         * modules/strchrnul (Files): Likewise.
17347         Suggested by Bruno Haible.
17348
17349 2008-04-29  Bruno Haible  <bruno@clisp.org>
17350
17351         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
17352         (inet_ntop, inet_pton): Change portability warning's wording.
17353         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
17354         Invoke gl_CHECK_NEXT_HEADERS.
17355         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
17356         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
17357         set ARPA_INET_H.
17358         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17359         * modules/arpa_inet (Description): No longer only for systems that
17360         lack it.
17361         (Depends-on): Add include_next.
17362         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
17363         HAVE_ARPA_INET_H.
17364
17365 2008-04-29  Jim Meyering  <meyering@redhat.com>
17366
17367         * modules/mkdir (License): Re-license as LGPLv2+.
17368
17369 2008-04-29  Bruno Haible  <bruno@clisp.org>
17370
17371         * modules/rawmemchr (Maintainer): Set to Eric.
17372         * modules/strchrnul (Maintainer): Likewise.
17373
17374 2008-04-29  Simon Josefsson  <simon@josefsson.org>
17375
17376         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
17377         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
17378
17379         * modules/arpa_inet (arpa/inet.h): Use them.
17380
17381 2008-04-28  Eric Blake  <ebb9@byu.net>
17382
17383         Test getndelim2.
17384         * modules/getndelim2-tests: New file.
17385         * tests/test-getndelim2.c: Likewise.
17386         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
17387         stream.
17388         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
17389
17390         * MODULES.html.sh: Document new module.
17391
17392 2008-04-20  Bruno Haible  <bruno@clisp.org>
17393
17394         * lib/c-stack.c (die): Use raise.
17395         * modules/c-stack (Depends-on): Add raise.
17396
17397 2008-04-28  Bruno Haible  <bruno@clisp.org>
17398
17399         Expect rpmatch to be declared.
17400         * lib/yesno.c (rpmatch): Remove declaration.
17401
17402         Declare rpmatch.
17403         * lib/stdlib.in.h (rpmatch): New declaration.
17404         * lib/rpmatch.c: Include <stdlib.h> first.
17405         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
17406         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
17407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
17408         HAVE_RPMATCH.
17409         * modules/rpmatch (Depends-on): Add stdlib, extensions.
17410         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17411         (Include): Set to <stdlib.h>.
17412         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
17413         HAVE_RPMATCH.
17414         * NEWS: Document the change.
17415
17416 2008-04-28  Bruno Haible  <bruno@clisp.org>
17417
17418         Change rpmatch to use nl_langinfo when appropriate.
17419         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
17420         (N_): New macro.
17421         (localized_pattern): New function/macro.
17422         (try): Remove match, nomatch arguments. Copy the pattern into safe
17423         memory before caching it.
17424         (rpmatch): Use localized_pattern. Add translator comments.
17425         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
17426         Suggested by Eric Blake.
17427         * modules/rpmatch (Depends-on): Add stdbool.
17428
17429 2008-04-28  Eric Blake  <ebb9@byu.net>
17430
17431         Add rawmemchr module, matching glibc.
17432         * modules/string (Makefile.am): New indicator.
17433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
17434         * lib/string.in.h (rawmemchr): Declare when appropriate.
17435         * modules/rawmemchr: New file.
17436         * m4/rawmemchr.m4: Likewise.
17437         * lib/rawmemchr.c: Likewise.
17438         * modules/rawmemchr-tests: Likewise.
17439         * tests/test-rawmemchr.c: Likewise.
17440         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
17441         module.
17442         * modules/strchrnul (Depends-on): Add rawmemchr.
17443         * lib/strchrnul.c (strchrnul): Optimize a corner case.
17444
17445         Whitespace cleanup.
17446         * tests/test-strchrnul.c: Reindent.
17447         * lib/strchrnul.c: Likewise.
17448
17449         Optimize and test strchrnul.
17450         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
17451         * modules/strchrnul-tests: New file.
17452         * tests/test-strchrnul.c: Likewise.
17453
17454         Remove intprops dependency.
17455         * modules/memchr (Depends-on): Remove intprops.
17456         * modules/memrchr (Depends-on): Likewise.
17457         * modules/memchr2 (Depends-on): Likewise.
17458         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
17459         * lib/memrchr.c (__memrchr): Likewise.
17460         * lib/memrchr2.c (memchr2): Likewise.
17461         Reported by Simon Josefsson.
17462
17463 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17464
17465         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
17466         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17467
17468 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17469
17470         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
17471
17472         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
17473
17474         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
17475
17476         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
17477         declarations.
17478         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
17479
17480         * m4/inet_pton.m4: Don't check for header files.
17481
17482         * m4/inet_ntop.m4: Don't check for header files.
17483
17484 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17485
17486         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
17487         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
17488         trigger for cygwin).
17489         Reported by Bruno Haible  <bruno@clisp.org>.
17490
17491 2008-04-28  Bruno Haible  <bruno@clisp.org>
17492
17493         * doc/posix-functions/strdup.texi: Mention mingw problem.
17494
17495 2008-04-27  Bruno Haible  <bruno@clisp.org>
17496
17497         * modules/stat-time-tests (Depends-on): Add sleep.
17498         * tests/test-stat-time.c (force_unlink): New function.
17499         (cleanup): Use it.
17500         (test_mtime): Remove the ctime related tests.
17501         (test_ctime): New function, containing the ctime related tests.
17502         (main): Call test_ctime, except on native Windows platforms.
17503
17504 2008-04-27  Bruno Haible  <bruno@clisp.org>
17505
17506         * lib/rpmatch.c (rpmatch): Add some comments.
17507         Reported by James Youngman <jay@gnu.org>.
17508
17509 2008-04-27  Bruno Haible  <bruno@clisp.org>
17510
17511         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
17512         quiet NaNs.
17513
17514 2008-04-27  Bruno Haible  <bruno@clisp.org>
17515
17516         Make test-yesno.sh work on mingw.
17517         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
17518         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
17519         (main): Set stdin to binary mode.
17520         * modules/yesno-tests (Depends-on): Add binary-io.
17521
17522 2008-04-27  Bruno Haible  <bruno@clisp.org>
17523
17524         Fix 'isfinite' on x86, x86_64, ia64 platforms.
17525         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
17526         argument that lie outside the IEEE 854 domain.
17527         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
17528         (gl_ISFINITE): Use it.
17529         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
17530
17531 2008-04-27  Bruno Haible  <bruno@clisp.org>
17532
17533         Allow local renaming in config.h.
17534         * lib/memrchr.c (memrchr): Don't undefine outside libc.
17535
17536 2008-04-27  Bruno Haible  <bruno@clisp.org>
17537
17538         * lib/memchr.c (__memchr): Change type of 'i'.
17539         * lib/memchr2.c (memchr2): Likewise.
17540
17541 2008-04-26  Eric Blake  <ebb9@byu.net>
17542         and Bruno Haible  <bruno@clisp.org>
17543
17544         Optimize and test memrchr.
17545         * modules/memrchr (Depends-on): Add intprops.
17546         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
17547         * modules/memrchr-tests: New file.
17548         * tests/test-memrchr.c: New file.
17549
17550 2008-04-26  Bruno Haible  <bruno@clisp.org>
17551
17552         Add tentative support for DragonFly BSD.
17553         * lib/stdio-impl.h: Add macros for DragonFly BSD.
17554         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
17555         fp.
17556         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
17557         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
17558         * lib/fpurge.c (fpurge): Likewise.
17559         * lib/freadable.c (freaadable): Likewise.
17560         * lib/freadahead.c (freadahead): Likewise.
17561         * lib/freading.c (freading): Likewise.
17562         * lib/freadptr.c (freadptr): Likewise.
17563         * lib/freadseek.c (freadptrinc): Likewise.
17564         * lib/fseeko.c (fseeko): Likewise.
17565         * lib/fseterr.c (fseterr): Likewise.
17566         * lib/fwritable.c (fwritable): Likewise.
17567         * lib/fwriting.c (fwriting): Likewise.
17568
17569 2008-04-26  Bruno Haible  <bruno@clisp.org>
17570
17571         * lib/stdio-impl.h: New file.
17572         * lib/fbufmode.c: Include stdio-impl.h.
17573         (fbufmode): Use fp_, remove redundant #defines.
17574         * lib/fflush.c: Include stdio-impl.h.
17575         (clear_ungetc_buffer): Remove redundant #defines.
17576         * lib/fpurge.c: Include stdio-impl.h.
17577         (fpurge): Remove redundant #defines.
17578         * lib/freadable.c: Include stdio-impl.h.
17579         (freadable): Remove redundant #defines.
17580         * lib/freadahead.c: Include stdio-impl.h.
17581         (freadahead): Remove redundant #defines.
17582         * lib/freading.c: Include stdio-impl.h.
17583         (freading): Remove redundant #defines.
17584         * lib/freadptr.c: Include stdio-impl.h.
17585         (freadptr): Remove redundant #defines.
17586         * lib/freadseek.c: Include stdio-impl.h.
17587         (freadptrinc): Remove redundant #defines.
17588         * lib/fseeko.c: Include stdio-impl.h.
17589         (rpl_fseeko): Remove redundant #defines.
17590         * lib/fseterr.c: Include stdio-impl.h.
17591         (fseterr): Remove redundant #defines.
17592         * lib/fwritable.c: Include stdio-impl.h.
17593         (fwritable: Remove redundant #defines.
17594         * lib/fwriting.c: Include stdio-impl.h.
17595         (fwriting): Remove redundant #defines.
17596         * modules/fbufmode (Files): Add lib/stdio-impl.h.
17597         * modules/fflush (Files): Likewise.
17598         * modules/fpurge (Files): Likewise.
17599         * modules/freadable (Files): Likewise.
17600         * modules/freadahead (Files): Likewise.
17601         * modules/freading (Files): Likewise.
17602         * modules/freadptr (Files): Likewise.
17603         * modules/freadseek (Files): Likewise.
17604         * modules/fseeko (Files): Likewise.
17605         * modules/fseterr (Files): Likewise.
17606         * modules/fwritable (Files): Likewise.
17607         * modules/fwriting (Files): Likewise.
17608
17609 2008-04-26  Bruno Haible  <bruno@clisp.org>
17610
17611         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
17612         restore_seek_optimization, update_fpos_cache): New functions, extracted
17613         from rpl_fflush.
17614         (rpl_fflush): Use them.
17615         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
17616         (gl_REPLACE_FFLUSH): Use it.
17617
17618 2008-04-26  Bruno Haible  <bruno@clisp.org>
17619
17620         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
17621         on Solaris.
17622         * tests/test-xstrtoimax.sh: Likewise.
17623         * tests/test-xstrtoumax.sh: Likewise.
17624         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17625
17626 2008-04-26  Bruno Haible  <bruno@clisp.org>
17627
17628         * modules/memchr-tests: New file.
17629         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
17630
17631 2008-04-26  Eric Blake  <ebb9@byu.net>
17632             Bruno Haible  <bruno@clisp.org>
17633
17634         * lib/memchr.c: Include intprops.h.
17635         (__memchr): Optimize parallel detection of matching bytes. Rename local
17636         variables. Add explanatory comments.
17637
17638 2008-04-26  Bruno Haible  <bruno@clisp.org>
17639
17640         Fix module 'memchr', broken since 2000-10-28.
17641         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
17642
17643 2008-04-26  Bruno Haible  <bruno@clisp.org>
17644
17645         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
17646         comments.
17647
17648 2008-04-25  Eric Blake  <ebb9@byu.net>
17649
17650         Use native fstatat on cygwin 1.7.0.
17651         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
17652         first.
17653
17654 2008-04-23  Eric Blake  <ebb9@byu.net>
17655
17656         Improve memchr2 performance.
17657         * lib/memchr2.c (memchr2): Further optimize parallel detection of
17658         NUL bytes.
17659         * modules/memchr2 (Depends-on): Use intprops.h.
17660
17661 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17662
17663         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
17664         an inline function instead of a CPP macro.  Patch by Ben Pfaff
17665         <blp@cs.stanford.edu>.
17666
17667 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17668
17669         * lib/arpa_inet.in.h: New file.
17670
17671         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
17672         (Makefile.am): Sed in substitute header file.
17673
17674         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
17675         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
17676
17677         * modules/inet_ntop (configure.ac): Use
17678         gl_ARPA_INET_MODULE_INDICATOR.
17679
17680         * modules/inet_pton (configure.ac): Use
17681         gl_ARPA_INET_MODULE_INDICATOR.
17682
17683 2008-04-22  Jim Meyering  <meyering@redhat.com>
17684
17685         * modules/verify (License): Re-license as LGPLv2+.
17686
17687 2008-04-22  Simon Josefsson  <simon@josefsson.org>
17688
17689         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
17690         parameter to void* as per POSIX standard (MinGW uses char*).
17691
17692 2008-04-21  Bruno Haible  <bruno@clisp.org>
17693
17694         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17695         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17696         Define to replacements if REPLACE_ISWCNTRL is 1.
17697         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
17698         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
17699         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
17700         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
17701         what it fixes.
17702         * doc/posix-functions/iswalpha.texi: Likewise.
17703         * doc/posix-functions/iswblank.texi: Likewise.
17704         * doc/posix-functions/iswcntrl.texi: Likewise.
17705         * doc/posix-functions/iswdigit.texi: Likewise.
17706         * doc/posix-functions/iswgraph.texi: Likewise.
17707         * doc/posix-functions/iswlower.texi: Likewise.
17708         * doc/posix-functions/iswprint.texi: Likewise.
17709         * doc/posix-functions/iswpunct.texi: Likewise.
17710         * doc/posix-functions/iswspace.texi: Likewise.
17711         * doc/posix-functions/iswupper.texi: Likewise.
17712         * doc/posix-functions/iswxdigit.texi: Likewise.
17713         Reported by Alain Guibert.
17714
17715 2008-04-21  Bruno Haible  <bruno@clisp.org>
17716
17717         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
17718         Patch by Alain Guibert.
17719
17720 2008-04-21  Bruno Haible  <bruno@clisp.org>
17721
17722         Fix test failures on mingw.
17723         * tests/test-xstrtol.c (print_no_progname): New function.
17724         (main): Install it in error_print_progname hook.
17725         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
17726         * tests/test-xstrtoimax.sh: Likewise.
17727         * tests/test-xstrtoumax.sh: Likewise.
17728
17729 2008-04-21  Bruno Haible  <bruno@clisp.org>
17730
17731         Fix test failure on mingw.
17732         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
17733
17734 2008-04-21  Bruno Haible  <bruno@clisp.org>
17735
17736         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
17737         Actually assign a value.
17738
17739 2008-04-20  Bruno Haible  <bruno@clisp.org>
17740
17741         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
17742         take 2.
17743         * lib/canonicalize.c (canonicalize_file_name): Elide if the
17744         'canonicalize-lgpl' module is also used.
17745         * lib/canonicalize-lgpl.c: Undo last change.
17746         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
17747
17748 2008-04-20  Bruno Haible  <bruno@clisp.org>
17749
17750         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
17751         config.h. Provide _mkdir based fallback for mingw.
17752         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
17753         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
17754         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
17755         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
17756         rather than defining mkdir in config.h.
17757         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
17758         (gl_SYS_STAT_H_DEFAULTS): New macro.
17759         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
17760         HAVE_IO_H any more.
17761         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
17762         HAVE_DECL_MKDIR and HAVE_IO_H.
17763
17764 2008-04-20  Bruno Haible  <bruno@clisp.org>
17765
17766         * lib/isapipe.c: Port to native Windows platforms.
17767
17768 2008-04-20  Bruno Haible  <bruno@clisp.org>
17769
17770         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
17771
17772 2008-04-21  Eric Blake  <ebb9@byu.net>
17773
17774         Work around preprocessors that don't handle UINTMAX_MAX.
17775         * lib/memchr2.c (memchr2): Avoid embedded #if.
17776         Reported by Alain Guibert, fix suggested by Bruno Haible.
17777
17778 2008-04-21  Simon Josefsson  <simon@josefsson.org>
17779
17780         * doc/posix-functions/strftime.texi (strftime): Explain better
17781         Windows incompatibility.  Suggested by Micah Cowan
17782         <micah@cowan.name>.
17783
17784 2008-04-20  Bruno Haible  <bruno@clisp.org>
17785
17786         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
17787         unistr/u8-mblen.
17788
17789 2008-04-20  Bruno Haible  <bruno@clisp.org>
17790
17791         Fix test failure on platforms with non-GNU iconv.
17792         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
17793         (U_TO_U8): Use it, rather than u16_to_u8.
17794         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
17795         units at the end of the input string.
17796         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
17797
17798 2008-04-20  Bruno Haible  <bruno@clisp.org>
17799
17800         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
17801         when the resulting length is 0.
17802         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
17803
17804 2008-04-20  Bruno Haible  <bruno@clisp.org>
17805
17806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
17807         works.
17808         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
17809
17810 2008-04-20  Bruno Haible  <bruno@clisp.org>
17811
17812         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
17813         * modules/tsearch-tests (configure.ac): Test for initstate function.
17814
17815 2008-04-20  Bruno Haible  <bruno@clisp.org>
17816
17817         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
17818         for nlink_t if missing.
17819         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
17820
17821 2008-04-19  Bruno Haible  <bruno@clisp.org>
17822
17823         Work around snprintf bug on Linux libc5.
17824         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
17825         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
17826         gl_SNPRINTF_SIZE1.
17827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17828         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
17829         that test failed.
17830         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
17831         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
17832         * modules/snprintf (Files): Add m4/printf.m4.
17833         * modules/vsnprintf (Files): Likewise.
17834         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
17835         * doc/posix-functions/vsnprintf.texi: Likewise.
17836
17837 2008-04-19  Bruno Haible  <bruno@clisp.org>
17838
17839         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
17840         from 0.0058 to less than 10^-7.
17841
17842 2008-04-19  Bruno Haible  <bruno@clisp.org>
17843
17844         Fix rounding when a precision is given.
17845         * lib/vasnprintf.c (is_borderline): New function.
17846         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
17847         9...9x.
17848         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
17849         %e, %g.
17850         * tests/test-vasprintf-posix.c (test_function): Likewise.
17851         * tests/test-snprintf-posix.h (test_function): Likewise.
17852         * tests/test-sprintf-posix.h (test_function): Likewise.
17853         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
17854         * tests/test-printf-posix.h (test_function): Likewise.
17855         * tests/test-printf-posix.output: Update.
17856         Reported by John Darrington <john@darrington.wattle.id.au> via
17857         Ben Pfaff <blp@cs.stanford.edu>.
17858
17859 2008-04-18  Simon Josefsson  <simon@josefsson.org>
17860
17861         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
17862         Suggested by Bruno Haible <bruno@clisp.org>.
17863
17864 2008-04-17  Bruno Haible  <bruno@clisp.org>
17865
17866         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
17867         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
17868         implementation.
17869         Patch by Bruce Merry <bmerry@gmail.com>.
17870
17871 2008-04-17  Simon Josefsson  <simon@josefsson.org>
17872
17873         * doc/posix-functions/strftime.texi (strftime): Mention that %e
17874         doesn't work under Windows.
17875
17876 2008-04-16  Bruno Haible  <bruno@clisp.org>
17877
17878         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
17879         New macros.
17880         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
17881         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
17882         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
17883         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
17884         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
17885         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
17886         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
17887         macros.
17888         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
17889         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
17890         Northern Sotho, Uighur.
17891
17892 2008-04-16  Bruno Haible  <bruno@clisp.org>
17893
17894         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
17895         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
17896         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
17897         Reported by Daniel Bergström <daniel@octocode.com>.
17898
17899 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
17900             Bruno Haible  <bruno@clisp.org>
17901
17902         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
17903         function.
17904         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
17905         New functions, mostly extracted from gl_locale_name_default.
17906         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
17907
17908 2008-04-16  Eric Blake  <ebb9@byu.net>
17909
17910         Adjust strtod detection to catch glibc 2.7 bug.
17911         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
17912         Reported by John Gatewood Ham.
17913
17914 2008-04-16  Bruno Haible  <bruno@clisp.org>
17915
17916         Add tentative support for Linux libc5.
17917         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
17918         * lib/fpurge.c (fpurge): Likewise.
17919         * lib/freadable.c (freadable): Likewise.
17920         * lib/freadahead.c (freadahead): Likewise.
17921         * lib/freading.c (freading): Likewise.
17922         * lib/freadptr.c (freadptr): Likewise.
17923         * lib/freadseek.c (freadptrinc): Likewise.
17924         * lib/fseeko.c (rpl_fseeko): Likewise.
17925         * lib/fseterr.c (fseterr): Likewise.
17926         * lib/fwritable.c (fwritable): Likewise.
17927         * lib/fwriting.c (fwriting): Likewise.
17928         Reported by Alain Guibert <alguibert+bts@free.fr>.
17929
17930 2008-04-15  Bruno Haible  <bruno@clisp.org>
17931
17932         * modules/mathl (configure.ac): Define module indicator.
17933
17934 2008-04-15  Bruno Haible  <bruno@clisp.org>
17935
17936         * lib/logl.c (logl): Remove unused variables.
17937
17938 2008-04-15  Bruno Haible  <bruno@clisp.org>
17939
17940         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
17941         fails.
17942
17943 2008-04-15  Bruno Haible  <bruno@clisp.org>
17944
17945         * lib/trim.c (trim2): Fix argument of isspace() macro.
17946
17947 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
17948
17949         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
17950         to 0.
17951         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
17952
17953 2008-04-14  Bruno Haible  <bruno@clisp.org>
17954
17955         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
17956         AC_LANG_PROGRAM argument.
17957         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
17958         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
17959         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17960         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17961         * m4/math_h.m4 (gl_MATH_H): Likewise.
17962         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17963         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17964         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
17965         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
17966         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17967         * m4/regex.m4 (gl_REGEX): Likewise.
17968         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
17969         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
17970         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17971         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
17972         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
17973         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17974         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17975         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17976
17977 2008-04-14  Jim Meyering  <meyering@redhat.com>
17978
17979         test-strtod: fix typos: s/abs/fabs/
17980         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
17981
17982 2008-04-13  Bruno Haible  <bruno@clisp.org>
17983
17984         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
17985         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
17986         module is also used and while not building the reloc-wrapper.
17987
17988 2008-04-13  Bruno Haible  <bruno@clisp.org>
17989
17990         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
17991
17992 2008-04-13  Bruno Haible  <bruno@clisp.org>
17993
17994         Fix AIX compilation failure introduced on 2008-04-02.
17995         * tests/test-frexp.c (exp): Undefine before redefining.
17996         * tests/test-frexpl.c (exp): Likewise.
17997
17998 2008-04-13  Bruno Haible  <bruno@clisp.org>
17999
18000         Work around a HP-UX stdio bug.
18001         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
18002         * tests/test-ftello.c (main): Likewise.
18003         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
18004         * doc/posix-functions/ftello.texi: Likewise.
18005
18006 2008-04-13  Bruno Haible  <bruno@clisp.org>
18007
18008         Make test-signbit pass on HP-UX/hppa.
18009         * tests/test-signbit.c (minus_zerol): New variable.
18010         (test_signbitl): Use it.
18011
18012 2008-04-13  Bruno Haible  <bruno@clisp.org>
18013
18014         Make truncl work on OSF/1 4.0.
18015         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
18016         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
18017         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
18018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
18019         HAVE_DECL_TRUNCL.
18020         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
18021         HAVE_DECL_TRUNCL.
18022         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
18023
18024 2008-04-13  Bruno Haible  <bruno@clisp.org>
18025
18026         * lib/unictype.h: Remove trailing comma from enumeration definitions.
18027
18028 2008-04-13  Bruno Haible  <bruno@clisp.org>
18029
18030         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
18031         expression, so as to avoid HP-UX 11 cc compiler bug.
18032
18033 2008-04-13  Bruno Haible  <bruno@clisp.org>
18034
18035         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
18036
18037 2008-04-13  Bruno Haible  <bruno@clisp.org>
18038
18039         * lib/git-merge-changelog.c: Remove empty declaration outside of
18040         functions.
18041
18042 2008-04-13  Bruno Haible  <bruno@clisp.org>
18043
18044         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
18045
18046 2008-04-13  Bruno Haible  <bruno@clisp.org>
18047
18048         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
18049         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
18050         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
18051         also if it exists but lacks definitions of the SHUT_* macros.
18052         * modules/sys_socket (Description): Update.
18053         Reported by Elbert Pol <e.pol@chello.nl>.
18054
18055 2008-04-13  Bruno Haible  <bruno@clisp.org>
18056
18057         * lib/localcharset.c (OS2): Don't redefine if already defined.
18058         Reported by Elbert Pol <e.pol@chello.nl>.
18059
18060 2008-04-13  Bruno Haible  <bruno@clisp.org>
18061
18062         * lib/binary-io.h [__EMX__]: Include <io.h>.
18063         Reported by Elbert Pol <e.pol@chello.nl>.
18064
18065 2008-04-12  Bruno Haible  <bruno@clisp.org>
18066
18067         * lib/fpucw.h: Enable the definitions also for x86_64.
18068         Needed for NetBSD/x86_64.
18069         Reported by Thomas Klausner <tk@giga.or.at>.
18070
18071 2008-04-12  Bruno Haible  <bruno@clisp.org>
18072
18073         * tests/test-strtod.c: Include isnand.h.
18074         (main): Use isnand instead of isnan.
18075         Reported by Jim Meyering.
18076
18077 2008-04-12  Bruno Haible  <bruno@clisp.org>
18078
18079         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
18080         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18081
18082 2008-04-12  Jim Meyering  <meyering@redhat.com>
18083
18084         * m4/math_h.m4 (gl_MATH_H): Fix typos.
18085
18086 2008-04-12  Bruno Haible  <bruno@clisp.org>
18087
18088         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
18089         Reported by Elbert Pol <e.pol@chello.nl>.
18090
18091 2008-04-12  Eric Blake  <ebb9@byu.net>
18092
18093         Work around Solaris 10 math.h bug.
18094         * m4/math_h.m4 (gl_MATH_H): Check for bug.
18095         (gl_MATH_H_DEFAULTS): Set up default.
18096         * modules/math (Makefile.am): Replace new indicators.
18097         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
18098         * tests/test-math.c (main): Test this.
18099         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
18100         * doc/posix-headers/math.texi (math.h): Mention bug.
18101         Reported by Nelson H. F. Beebe and Jim Meyering.
18102
18103 2008-04-11  Bruno Haible  <bruno@clisp.org>
18104
18105         Adapt to future versions of Apple GCC.
18106         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
18107         Reported by Peter O'Gorman <peter@pogma.com>.
18108
18109 2008-04-11  Bruno Haible  <bruno@clisp.org>
18110
18111         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
18112
18113 2008-04-11  Bruno Haible  <bruno@clisp.org>
18114
18115         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
18116
18117         * modules/getaddrinfo-tests (Makefile.am): Define
18118         test_getaddrinfo_LDADD.
18119
18120 2008-04-11  Bruno Haible  <bruno@clisp.org>
18121
18122         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
18123         (init): Fix syntax error.
18124         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
18125         is declared.
18126
18127 2008-04-11  Bruno Haible  <bruno@clisp.org>
18128
18129         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
18130         * modules/glob (Depends-on): Add stdbool.
18131
18132 2008-04-11  Bruno Haible  <bruno@clisp.org>
18133
18134         * lib/trim.c: Include <string.h>.
18135
18136 2008-04-11  Eric Blake  <ebb9@byu.net>
18137
18138         Avoid compile failure on OS/2.
18139         * lib/regex_internal.h (internal_function): Disable optimization
18140         on OS/2 (__EMX__), where it caused compiler error.
18141         Reported by Elbert Pol.
18142
18143 2008-04-11  Bruno Haible  <bruno@clisp.org>
18144
18145         Flush the standard error stream before aborting. Needed on mingw.
18146         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
18147         * tests/test-array_list.c (ASSERT): Likewise.
18148         * tests/test-array_oset.c (ASSERT): Likewise.
18149         * tests/test-avltree_list.c (ASSERT): Likewise.
18150         * tests/test-avltree_oset.c (ASSERT): Likewise.
18151         * tests/test-avltreehash_list.c (ASSERT): Likewise.
18152         * tests/test-binary-io.c (ASSERT): Likewise.
18153         * tests/test-byteswap.c (ASSERT): Likewise.
18154         * tests/test-c-ctype.c (ASSERT): Likewise.
18155         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
18156         * tests/test-c-strcasestr.c (ASSERT): Likewise.
18157         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
18158         * tests/test-c-strstr.c (ASSERT): Likewise.
18159         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
18160         * tests/test-canonicalize.c (ASSERT): Likewise.
18161         * tests/test-carray_list.c (ASSERT): Likewise.
18162         * tests/test-ceilf1.c (ASSERT): Likewise.
18163         * tests/test-ceilf2.c (ASSERT): Likewise.
18164         * tests/test-ceill.c (ASSERT): Likewise.
18165         * tests/test-count-one-bits.c (ASSERT): Likewise.
18166         * tests/test-fbufmode.c (ASSERT): Likewise.
18167         * tests/test-fflush2.c (ASSERT): Likewise.
18168         * tests/test-floorf1.c (ASSERT): Likewise.
18169         * tests/test-floorf2.c (ASSERT): Likewise.
18170         * tests/test-floorl.c (ASSERT): Likewise.
18171         * tests/test-fopen.c (ASSERT): Likewise.
18172         * tests/test-fpending.c (ASSERT): Likewise.
18173         * tests/test-fprintf-posix.c (ASSERT): Likewise.
18174         * tests/test-fpurge.c (ASSERT): Likewise.
18175         * tests/test-freadable.c (ASSERT): Likewise.
18176         * tests/test-freadahead.c (ASSERT): Likewise.
18177         * tests/test-freading.c (ASSERT): Likewise.
18178         * tests/test-freadptr.c (ASSERT): Likewise.
18179         * tests/test-freadptr2.c (ASSERT): Likewise.
18180         * tests/test-freadseek.c (ASSERT): Likewise.
18181         * tests/test-freopen.c (ASSERT): Likewise.
18182         * tests/test-frexp.c (ASSERT): Likewise.
18183         * tests/test-frexpl.c (ASSERT): Likewise.
18184         * tests/test-fseek.c (ASSERT): Likewise.
18185         * tests/test-fseeko.c (ASSERT): Likewise.
18186         * tests/test-fstrcmp.c (ASSERT): Likewise.
18187         * tests/test-ftell.c (ASSERT): Likewise.
18188         * tests/test-ftello.c (ASSERT): Likewise.
18189         * tests/test-func.c (ASSERT): Likewise.
18190         * tests/test-fwritable.c (ASSERT): Likewise.
18191         * tests/test-fwriting.c (ASSERT): Likewise.
18192         * tests/test-getdelim.c (ASSERT): Likewise.
18193         * tests/test-getline.c (ASSERT): Likewise.
18194         * tests/test-i-ring.c (ASSERT): Likewise.
18195         * tests/test-iconv-utf.c (ASSERT): Likewise.
18196         * tests/test-iconv.c (ASSERT): Likewise.
18197         * tests/test-isfinite.c (ASSERT): Likewise.
18198         * tests/test-isnand.c (ASSERT): Likewise.
18199         * tests/test-isnanf.c (ASSERT): Likewise.
18200         * tests/test-isnanl.h (ASSERT): Likewise.
18201         * tests/test-ldexpl.c (ASSERT): Likewise.
18202         * tests/test-linked_list.c (ASSERT): Likewise.
18203         * tests/test-linkedhash_list.c (ASSERT): Likewise.
18204         * tests/test-localename.c (ASSERT): Likewise.
18205         * tests/test-lseek.c (ASSERT): Likewise.
18206         * tests/test-mbscasecmp.c (ASSERT): Likewise.
18207         * tests/test-mbscasestr1.c (ASSERT): Likewise.
18208         * tests/test-mbscasestr2.c (ASSERT): Likewise.
18209         * tests/test-mbscasestr3.c (ASSERT): Likewise.
18210         * tests/test-mbscasestr4.c (ASSERT): Likewise.
18211         * tests/test-mbschr.c (ASSERT): Likewise.
18212         * tests/test-mbscspn.c (ASSERT): Likewise.
18213         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
18214         * tests/test-mbspbrk.c (ASSERT): Likewise.
18215         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
18216         * tests/test-mbsrchr.c (ASSERT): Likewise.
18217         * tests/test-mbsspn.c (ASSERT): Likewise.
18218         * tests/test-mbsstr1.c (ASSERT): Likewise.
18219         * tests/test-mbsstr2.c (ASSERT): Likewise.
18220         * tests/test-mbsstr3.c (ASSERT): Likewise.
18221         * tests/test-memchr2.c (ASSERT): Likewise.
18222         * tests/test-memmem.c (ASSERT): Likewise.
18223         * tests/test-open.c (ASSERT): Likewise.
18224         * tests/test-printf-frexp.c (ASSERT): Likewise.
18225         * tests/test-printf-frexpl.c (ASSERT): Likewise.
18226         * tests/test-printf-posix.c (ASSERT): Likewise.
18227         * tests/test-quotearg.c (ASSERT): Likewise.
18228         * tests/test-rbtree_list.c (ASSERT): Likewise.
18229         * tests/test-rbtree_oset.c (ASSERT): Likewise.
18230         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
18231         * tests/test-round1.c (ASSERT): Likewise.
18232         * tests/test-roundf1.c (ASSERT): Likewise.
18233         * tests/test-roundl.c (ASSERT): Likewise.
18234         * tests/test-signbit.c (ASSERT): Likewise.
18235         * tests/test-sleep.c (ASSERT): Likewise.
18236         * tests/test-snprintf-posix.c (ASSERT): Likewise.
18237         * tests/test-snprintf.c (ASSERT): Likewise.
18238         * tests/test-sprintf-posix.c (ASSERT): Likewise.
18239         * tests/test-stat-time.c (ASSERT): Likewise.
18240         * tests/test-strcasestr.c (ASSERT): Likewise.
18241         * tests/test-strerror.c (ASSERT): Likewise.
18242         * tests/test-striconv.c (ASSERT): Likewise.
18243         * tests/test-striconveh.c (ASSERT): Likewise.
18244         * tests/test-striconveha.c (ASSERT): Likewise.
18245         * tests/test-strsignal.c (ASSERT): Likewise.
18246         * tests/test-strstr.c (ASSERT): Likewise.
18247         * tests/test-strtod.c (ASSERT): Likewise.
18248         * tests/test-trunc1.c (ASSERT): Likewise.
18249         * tests/test-trunc2.c (ASSERT): Likewise.
18250         * tests/test-truncf1.c (ASSERT): Likewise.
18251         * tests/test-truncf2.c (ASSERT): Likewise.
18252         * tests/test-truncl.c (ASSERT): Likewise.
18253         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
18254         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
18255         * tests/test-vasnprintf.c (ASSERT): Likewise.
18256         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
18257         * tests/test-vasprintf.c (ASSERT): Likewise.
18258         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
18259         * tests/test-vprintf-posix.c (ASSERT): Likewise.
18260         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
18261         * tests/test-vsnprintf.c (ASSERT): Likewise.
18262         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
18263         * tests/test-wcwidth.c (ASSERT): Likewise.
18264         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
18265         * tests/test-xprintf-posix.c (ASSERT): Likewise.
18266         * tests/test-xvasprintf.c (ASSERT): Likewise.
18267         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
18268         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
18269         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
18270         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
18271         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
18272         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
18273         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
18274         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
18275         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
18276         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
18277         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
18278         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
18279         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
18280         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
18281         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
18282         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
18283         * tests/unictype/test-block_list.c (ASSERT): Likewise.
18284         * tests/unictype/test-block_of.c (ASSERT): Likewise.
18285         * tests/unictype/test-block_test.c (ASSERT): Likewise.
18286         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
18287         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
18288         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
18289         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
18290         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
18291         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
18292         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
18293         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
18294         * tests/unictype/test-combining.c (ASSERT): Likewise.
18295         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
18296         * tests/unictype/test-digit.c (ASSERT): Likewise.
18297         * tests/unictype/test-mirror.c (ASSERT): Likewise.
18298         * tests/unictype/test-numeric.c (ASSERT): Likewise.
18299         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
18300         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
18301         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
18302         * tests/unictype/test-scripts.c (ASSERT): Likewise.
18303         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
18304         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
18305         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
18306         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
18307         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
18308         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
18309         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
18310         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
18311         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
18312         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
18313         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
18314         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
18315         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
18316         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
18317         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
18318         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
18319         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
18320         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
18321         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
18322         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
18323         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
18324         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
18325         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
18326         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
18327         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
18328         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
18329         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
18330         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
18331         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
18332         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
18333         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
18334         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
18335         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
18336         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
18337         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
18338         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
18339         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
18340         Reported by Eric Blake.
18341
18342 2008-04-11  Bruno Haible  <bruno@clisp.org>
18343
18344         * lib/wchar.in.h: Tweak comment.
18345
18346 2008-04-11  Bruno Haible  <bruno@clisp.org>
18347
18348         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
18349         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
18350         gl_COMMON.
18351         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
18352
18353 2008-04-11  Bruno Haible  <bruno@clisp.org>
18354
18355         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
18356
18357 2008-04-11  Simon Josefsson  <simon@josefsson.org>
18358
18359         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
18360         of attempting to use non-existing /dev/*random.  Based on patch
18361         from Adam Strzelecki <ono@java.pl> in
18362         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
18363
18364 2008-04-08  Bruno Haible  <bruno@clisp.org>
18365
18366         Add tentative support for emx+gcc.
18367         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
18368         * lib/fpurge.c (fpurge): Likewise.
18369         * lib/freadable.c (freadable): Likewise.
18370         * lib/freadahead.c (freadahead): Likewise.
18371         * lib/freading.c (freading): Likewise.
18372         * lib/freadptr.c (freadptr): Likewise.
18373         * lib/freadseek.c (freadptrinc): Likewise.
18374         * lib/fseeko.c (rpl_fseeko): Likewise.
18375         * lib/fseterr.c (fseterr): Likewise.
18376         * lib/fwritable.c (fwritable): Likewise.
18377         * lib/fwriting.c (fwriting): Likewise.
18378         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
18379
18380 2008-04-09  Eric Blake  <ebb9@byu.net>
18381
18382         Avoid some autoconf warnings.
18383         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
18384         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
18385         * m4/afs.m4 (gl_AFS): Likewise.
18386         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
18387         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
18388         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18389         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
18390         (gl_INTEGER_TYPE_SUFFIX): Likewise.
18391         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
18392         (AC_CHECK_DECLS_ONCE): Likewise.
18393         Rename file...
18394         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
18395         gnulib-tool requires autoconf 2.59 or better.
18396         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
18397
18398 2008-04-08  Eric Blake  <ebb9@byu.net>
18399
18400         Use 'git describe --match' if present (added in git 1.5.5).
18401         * build-aux/git-version-gen: Limit result to tags that match 'v*'
18402         if possible.
18403
18404 2008-04-08  Bruno Haible  <bruno@clisp.org>
18405
18406         Add tentative support for OpenServer.
18407         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
18408         _ptr, _cnt.
18409         * lib/fpurge.c (fpurge): Likewise.
18410         * lib/freadable.c (freadable): Likewise.
18411         * lib/freadahead.c (freadahead): Likewise.
18412         * lib/freading.c (freading): Likewise.
18413         * lib/freadptr.c (freadptr): Likewise.
18414         * lib/freadseek.c (freadptrinc): Likewise.
18415         * lib/fseeko.c (rpl_fseeko): Likewise.
18416         * lib/fseterr.c (fseterr): Likewise.
18417         * lib/fwritable.c (fwritable): Likewise.
18418         * lib/fwriting.c (fwriting): Likewise.
18419         Reported by Roger Cornelius <rac@tenzing.org> and
18420         Brian K. White <brian@aljex.com>.
18421
18422 2008-04-06  Jim Meyering  <meyering@redhat.com>
18423
18424         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
18425
18426 2008-04-06  Bruno Haible  <bruno@clisp.org>
18427
18428         Avoid possible error with non-ASCII bytes in UTF-8 locales.
18429         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
18430         * tests/test-printf-posix.sh: Likewise.
18431         * tests/test-vfprintf-posix.sh: Likewise.
18432         * tests/test-vprintf-posix.sh: Likewise.
18433         * tests/test-xprintf-posix.sh: Likewise.
18434
18435 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18436
18437         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
18438         hide error from 'ls', needed on OS/2.
18439         Report by Elbert Pol <elbert.pol@gmail.com>.
18440
18441 2008-04-04  Eric Blake  <ebb9@byu.net>
18442
18443         Make test-fseeko.c failures meaningful.
18444         * tests/test-fseeko.c: Print line number on failure.
18445         * tests/test-fseek.c: Likewise.
18446         Reported by Nelson H. F. Beebe.
18447
18448         Improve strtod bug detection check.
18449         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
18450         required for Solaris 10.
18451         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
18452
18453 2008-04-04  Bruno Haible  <bruno@clisp.org>
18454
18455         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
18456         by m4/setenv.m4.
18457
18458 2008-04-03  Eric Blake  <ebb9@byu.net>
18459
18460         Ensure sane .version contents.
18461         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
18462         version string.
18463         * build-aux/git-version-gen: Improve documentation.
18464
18465         Make GNU make output nicer.
18466         * top/GNUmakefile [!_have-Makefile]: Add dependency on
18467         MAKECMDGOALS to enforce message for all command line targets.  Set
18468         srcdir for use in maint.mk.
18469
18470         Another maintainer tweak.
18471         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
18472         a target that regenerates version.
18473
18474 2008-04-03  Jim Meyering  <meyering@redhat.com>
18475
18476         vc-list-files: don't cause coreutils "make po-check" failure
18477         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
18478
18479 2008-04-03  Eric Blake  <ebb9@byu.net>
18480
18481         Allow VPATH usage of vc-list-files.
18482         * build-aux/vc-list-files (scriptversion): Add timestamp.
18483         (options): Add --help, --version, -C.
18484         (CVS): Support installed cvsu.
18485
18486 2008-04-02  Bruno Haible  <bruno@clisp.org>
18487
18488         Avoid some "statement with no effect" warnings from gcc.
18489         * tests/test-wctype.c (main): Explicitly ignore unused values.
18490         Reported by Jim Meyering.
18491
18492 2008-04-02  Jim Meyering  <meyering@redhat.com>
18493
18494         Avoid some warnings from "gcc -Wshadow".
18495         * tests/test-frexp.c (exp): Define to a different identifier.
18496         * tests/test-frexpl.c (exp): Likewise.
18497
18498 2008-04-03  Jim Meyering  <meyering@redhat.com>
18499
18500         bootstrap: remove dangling *.[ch] symlinks from lib
18501         * build-aux/bootstrap [dangling symlink removal]: Move find's
18502         -depth option to precede all others, to avoid a warning.
18503         Remove *.[ch] files too, and from "$source_base" (usually lib/).
18504
18505 2008-04-02  Bruno Haible  <bruno@clisp.org>
18506
18507         Avoid some warnings from "gcc -Wshadow".
18508         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
18509         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
18510         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
18511         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
18512         Reported by Jim Meyering.
18513
18514 2008-04-01  Bruno Haible  <bruno@clisp.org>
18515
18516         Fix test to work on IRIX 6.5 with cc.
18517         * tests/test-math.c (numeric_equal): New function.
18518         (main): Use it.
18519
18520 2008-04-01  Bruno Haible  <bruno@clisp.org>
18521
18522         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
18523
18524 2008-04-01  Bruno Haible  <bruno@clisp.org>
18525
18526         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
18527         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18528         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
18529         (Depends-on): Remove math.
18530
18531         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
18532         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18533         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
18534         (Depends-on): Remove math.
18535
18536         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
18537         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18538         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
18539         (Depends-on): Remove math.
18540         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
18541         (Depends-on): Remove math.
18542
18543         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
18544         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18545         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
18546         (Depends-on): Remove math.
18547         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
18548         (Depends-on): Remove math.
18549
18550         * tests/test-round1.c: Include nan.h.
18551         (main): Use NaNd instead of NAN.
18552         * modules/round-tests (Files): Add tests/nan.h.
18553
18554         * tests/test-trunc1.c: Include nan.h.
18555         (main): Use NaNd instead of NAN.
18556         * modules/trunc-tests (Files): Add tests/nan.h.
18557
18558         * tests/test-roundf1.c: Include nan.h.
18559         (main): Use NaNf instead of NAN.
18560         * modules/roundf-tests (Files): Add tests/nan.h.
18561
18562         * tests/test-truncf1.c: Include nan.h.
18563         (main): Use NaNf instead of NAN.
18564         * modules/truncf-tests (Files): Add tests/nan.h.
18565
18566         * tests/test-ceilf1.c: Include nan.h.
18567         (main): Use NaNf instead of NAN.
18568         * modules/ceilf-tests (Files): Add tests/nan.h.
18569
18570         * tests/test-floorf1.c: Include nan.h.
18571         (main): Use NaNf instead of NAN.
18572         * modules/floorf-tests (Files): Add tests/nan.h.
18573
18574         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
18575         (main): Use NaNf instead of NAN.
18576         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
18577
18578         * tests/test-isnand.c: Include nan.h instead of <math.h>.
18579         (main): Use NaNd instead of NAN.
18580         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
18581
18582         * tests/test-frexp.c: Include nan.h.
18583         (main): Use NaNd instead of NAN.
18584         * modules/frexp-tests (Files): Add tests/nan.h.
18585
18586         * lib/isnan.c: Don't include <math.h>.
18587         (FUNC): Don't use NAN macro.
18588         * modules/isnand-nolibm (Depends-on): Remove math.
18589         * modules/isnanf-nolibm (Depends-on): Remove math.
18590         * modules/isnanl (Depends-on): Remove math.
18591         * modules/isnanl-nolibm (Depends-on): Remove math.
18592
18593         * tests/nan.h: New file.
18594
18595 2008-04-01  Eric Blake  <ebb9@byu.net>
18596
18597         Fix typos.
18598         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
18599         values to be the right type.
18600
18601         For now, cater to gnulib strtod inaccuracies.
18602         * tests/test-strtod.c (main): Allow 1-ulp error on expected
18603         fractional results.  While not as nice from a QoI perspective, it
18604         is a quicker patch than correctly implementing decimal to binary
18605         rounding.
18606
18607 2008-03-31  Eric Blake  <ebb9@byu.net>
18608
18609         Guarantee a definition of NAN.
18610         * lib/math.in.h (NAN): Define if missing.
18611         * tests/test-math.c (main): Test it.
18612         * doc/posix-headers/math.texi (math.h): Document this.
18613         * lib/isnan.c (rpl_isnand): Use it.
18614         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
18615         * tests/test-floorf1.c (NaN): Likewise.
18616         * tests/test-frexp.c (NaN): Likewise.
18617         * tests/test-isnand.c (NaN): Likewise.
18618         * tests/test-isnanf.c (NaN): Likewise.
18619         * tests/test-round1.c (NaN): Likewise.
18620         * tests/test-roundf1.c (NaN): Likewise.
18621         * tests/test-snprintf-posix.h (NaN): Likewise.
18622         * tests/test-sprintf-posix.h (NaN): Likewise.
18623         * tests/test-trunc1.c (NaN): Likewise.
18624         * tests/test-truncf1.c (NaN): Likewise.
18625         * tests/test-vasnprintf-posix.c (NaN): Likewise.
18626         * tests/test-vasprintf-posix.c (NaN): Likewise.
18627         * modules/isnand-nolibm (Depends-on): Add math.
18628         * modules/isnanf-nolibm (Depends-on): Likewise.
18629         * modules/isnanl (Depends-on): Likewise.
18630         * modules/isnanl-nolibm (Depends-on): Likewise.
18631         * modules/snprintf-posix-tests (Depends-on): Likewise.
18632         * modules/sprintf-posix-tests (Depends-on): Likewise.
18633         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
18634         * modules/vsprintf-posix-tests (Depends-on): Likewise.
18635         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
18636         * modules/vasprintf-posix-tests (Depends-on): Likewise.
18637
18638 2008-03-31  Bruno Haible  <bruno@clisp.org>
18639
18640         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
18641         * doc/posix-functions/strtod.texi: Likewise.
18642
18643 2008-03-31  Bruno Haible  <bruno@clisp.org>
18644
18645         * tests/test-strtod.c (main): Don't use C99 syntax.
18646
18647 2008-03-31  Bruno Haible  <bruno@clisp.org>
18648
18649         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
18650         Reported by Eric Blake.
18651
18652 2008-03-31  Jim Meyering  <meyering@redhat.com>
18653
18654         Don't compare actual signbit return values.
18655         * tests/test-strtod.c (main): Rather, compare only their
18656         zero/non-zero nature.
18657
18658 2008-03-31  Eric Blake  <ebb9@byu.net>
18659
18660         More strtod documentation.
18661         * doc/posix-functions/strtod.texi (strtod): Interpret more test
18662         failures as distinct bugs.
18663
18664 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18665
18666         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
18667         Problem reported by Erik Benada in
18668         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
18669
18670 2008-03-30  Bruno Haible  <bruno@clisp.org>
18671
18672         * tests/test-strtod.c: Add comments about which assertion fails on which
18673         platform.
18674         * doc/posix-functions/strtod.texi: Add info about many more platforms.
18675
18676 2008-03-30  Eric Blake  <ebb9@byu.net>
18677
18678         Test signbit behavior on zeros.
18679         * tests/test-signbit.c (test_signbitf): Add tests for zero.
18680         (test_signbitd, test_signbitl): Likewise.
18681
18682         More strtod touchups.
18683         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
18684         sign of negative underflow, for now.  Use .5, not .1.
18685         * doc/posix-functions/strtod.texi (strtod): Mention these
18686         limitations.
18687         Reported by Jim Meyering.
18688
18689 2008-03-30  Bruno Haible  <bruno@clisp.org>
18690
18691         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
18692         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
18693
18694 2008-03-30  Bruno Haible  <bruno@clisp.org>
18695
18696         Avoid failure when attempting to return empty iconv results on some
18697         platforms.
18698         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
18699         allocation, don't report ENOMEM when the resulting string is empty.
18700
18701 2008-03-30  Bruno Haible  <bruno@clisp.org>
18702
18703         Fix buffer overrun.
18704         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
18705         Don't consider the width for tmp_length. Check count against tmp_length
18706         before doing the padding. Ensure enough allocation during padding.
18707
18708 2008-03-30  Eric Blake  <ebb9@byu.net>
18709
18710         strtod touchups.
18711         * lib/strtod.c (strtod): Avoid compiler warnings.
18712         Reported by Jim Meyering.
18713
18714 2008-03-30  Bruno Haible  <bruno@clisp.org>
18715
18716         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
18717         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
18718         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
18719         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
18720         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
18721         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
18722         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
18723         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
18724
18725         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
18726         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
18727         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
18728         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
18729         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
18730         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
18731         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
18732         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
18733
18734         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
18735         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
18736         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
18737         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
18738         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
18739         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
18740         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
18741         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
18742
18743         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
18744         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
18745
18746         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
18747         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
18748
18749         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
18750         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
18751
18752         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
18753         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
18754         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
18755
18756         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
18757         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
18758         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
18759
18760         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
18761         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
18762         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
18763
18764         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
18765         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
18766         * modules/vasprintf (Depends-on): Add EOVERFLOW.
18767
18768         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
18769         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
18770         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
18771         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
18772         (Depends-on): Add EOVERFLOW.
18773         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
18774         (Depends-on): Add EOVERFLOW.
18775         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18776         (Depends-on): Add EOVERFLOW.
18777         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18778         (Depends-on): Add EOVERFLOW.
18779         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18780         (Depends-on): Add EOVERFLOW.
18781         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18782         (Depends-on): Add EOVERFLOW.
18783         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18784         (Depends-on): Add EOVERFLOW.
18785         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18786         (Depends-on): Add EOVERFLOW.
18787
18788         * lib/sprintf.c (EOVERFLOW): Remove fallback.
18789         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
18790         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
18791
18792         * lib/snprintf.c (EOVERFLOW): Remove fallback.
18793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
18794         * modules/snprintf (Depends-on): Add EOVERFLOW.
18795
18796         * lib/poll.c (EOVERFLOW): Remove fallback.
18797         * modules/poll (Depends-on): Add EOVERFLOW.
18798
18799         * lib/getugroups.c (EOVERFLOW): Remove fallback.
18800         * modules/getugroups (Depends-on): Add EOVERFLOW.
18801
18802         * lib/getdelim.c (EOVERFLOW): Remove fallback.
18803         * modules/getdelim (Depends-on): Add EOVERFLOW.
18804
18805         * lib/ftell.c (EOVERFLOW): Remove fallback.
18806         * modules/ftell (Depends-on): Add EOVERFLOW.
18807
18808         * lib/fprintf.c (EOVERFLOW): Remove fallback.
18809         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
18810         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
18811
18812         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
18813
18814         * modules/EOVERFLOW-tests: New file.
18815         * tests/test-EOVERFLOW.c: New file.
18816
18817         * modules/EOVERFLOW: New file.
18818         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
18819
18820 2008-03-30  Bruno Haible  <bruno@clisp.org>
18821
18822         Fix bug introduced on 2007-06-10.
18823         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
18824         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
18825
18826 2008-03-30  Bruno Haible  <bruno@clisp.org>
18827
18828         Improve freadseek's efficiency after ungetc.
18829         * lib/freadseek.c: Include freadahead.h.
18830         (freadptrinc): New function, extracted from freadseek.
18831         (freadseek): Use it in a loop. Use freadahead to determine the number
18832         of loop iterations.
18833         * modules/freadseek (Depends-on): Add freadahead.
18834         (configure.ac): Require AC_C_INLINE.
18835
18836 2008-03-30  Bruno Haible  <bruno@clisp.org>
18837
18838         * lib/freadseek.c (freadseek): Don't ignore the return value of
18839         freadptr.
18840
18841 2008-03-29  Eric Blake  <ebb9@byu.net>
18842
18843         Add hex float support.
18844         * modules/strtod (Depends-on): Add c-ctype.
18845         (Link): Mention POW_LIB.
18846         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
18847         whitespace between 'e' and exponent.
18848         * tests/test-strtod.c (main): Enable hex float tests.
18849         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
18850         now provides.
18851
18852         Document various strtod bugs, with some fixes.
18853         * doc/posix-functions/strtod.texi (strtod): Document bugs with
18854         "-0x", "inf", "nan", and hex constants.
18855         * doc/posix-functions/atof.texi (atof): Likewise.
18856         * modules/stdlib (Makefile.am): Support strtod.
18857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
18858         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
18859         detect additional strtod bugs.
18860         * lib/stdlib.in.h (rpl_strtod): Add declarations.
18861         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
18862         bool where appropriate.  Parse 'inf' and 'nan'.
18863         * tests/test-strtod.c: New file.
18864         * modules/strtod (Depends-on): Add stdbool, stdlib.
18865         (configure.ac): Turn on module indicator.
18866         * modules/strtod-tests: New module.
18867
18868 2008-03-29  Eric Blake  <ebb9@byu.net>
18869
18870         Fix ftell on mingw.
18871         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
18872         * modules/ftell-tests (Depends-on): Add binary-io.
18873         * modules/ftello-tests (Depends-on): Likewise.
18874         * tests/test-ftell.c (main): Enhance test to cover behavior after
18875         ungetc.  Enforce binary mode.
18876         * tests/test-ftello.c (main): Likewise.
18877
18878         Pass test-freadseek on cygwin.
18879         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
18880         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
18881         ungetc buffer.
18882
18883         * tests/test-fflush2.c (main): Fix typo.
18884
18885 2008-03-29  Bruno Haible  <bruno@clisp.org>
18886
18887         * tests/test-fflush2.c (main): Temporarily disable the contents of
18888         this test.
18889         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
18890         Reported by Eric Blake.
18891
18892 2008-03-28  Simon Josefsson  <simon@josefsson.org>
18893
18894         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
18895         (GC_SHA224_DIGEST_SIZE): Add.
18896
18897         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
18898         (gc_hash_digest_length): Likewise.
18899         (gc_hash_buffer): Likewise.
18900
18901 2008-03-25  Bruno Haible  <bruno@clisp.org>
18902
18903         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
18904         detail which gettext release to use.
18905         Reported by Simon Josefsson.
18906
18907 2008-03-26  Jim Meyering  <meyering@redhat.com>
18908
18909         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
18910         * modules/gnumakefile (clean-GNUmakefile): Also, use
18911         test ... && ... || : syntax rather than if-then ... fi.
18912
18913         gnumakefile: Don't double-quote-expand $(VPATH) value.
18914         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
18915
18916 2008-03-24  Eric Blake  <ebb9@byu.net>
18917
18918         Alter GNUmakefile to install into top directory.
18919         * modules/maintainer-makefile: Split, and add dependency...
18920         * modules/gnumakefile: to this new module.
18921         * build-aux/GNUmakefile: Move...
18922         * top/GNUmakefile: ...here.
18923         * build-aux/maint.mk: Move...
18924         * top/maint.mk: ...here.
18925         * MODULES.html.sh (Support for maintaining...): Document new
18926         module.
18927
18928 2008-03-23  Bruno Haible  <bruno@clisp.org>
18929
18930         * gnulib-tool: New options --vc-files, --no-vc-files.
18931         (func_usage): Document them.
18932         (vc_files): New variable.
18933         (func_import): Consider vc_files.
18934         (func_create_testdir): Set vc_files to empty.
18935         Suggested by Jim Meyering and Karl Berry.
18936
18937 2008-03-23  Bruno Haible  <bruno@clisp.org>
18938
18939         Fix regex compilation error on HP-UX 11.
18940         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
18941         * modules/regex (Files): Add m4/mbstate_t.m4.
18942         Reported by Ton Voon <ton.voon@altinity.com>.
18943
18944 2008-03-23  Bruno Haible  <bruno@clisp.org>
18945
18946         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
18947
18948 2008-03-23  Eric Blake  <ebb9@byu.net>
18949             Bruno Haible  <bruno@clisp.org>
18950
18951         Install files from top/ in the destination directory.
18952         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
18953         augmentation also for the files from top/.
18954         (func_import, func_create_testdir): Rewrite file names:
18955         top/filename -> filename.
18956
18957 2008-03-23  Bruno Haible  <bruno@clisp.org>
18958
18959         Tweak "gnulib --version" output.
18960         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
18961
18962 2008-03-23  Bruno Haible  <bruno@clisp.org>
18963
18964         Tweak "gnulib --version" output.
18965         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
18966         rather than contents of ChangeLog, when possible.
18967
18968 2008-03-21  Eric Blake  <ebb9@byu.net>
18969
18970         More --version tweaks.
18971         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
18972         date of last ChangeLog entry.
18973
18974 2008-03-21  Jim Meyering  <meyering@redhat.com>
18975
18976         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
18977
18978 2008-03-20  Eric Blake  <ebb9@byu.net>
18979
18980         VPATH fix.
18981         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
18982
18983 2008-03-20  Simon Josefsson  <simon@josefsson.org>
18984
18985         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
18986         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
18987
18988 2008-03-20  Eric Blake  <ebb9@byu.net>
18989
18990         Sync GNUmakefile with coreutils.
18991         * build-aux/GNUmakefile (have-Makefile): Rename...
18992         (_have-Makefile): ...to this, for namespace consideration.
18993         (GNUmakefile.cfg): Include, if present.
18994         (_autoreconf): Define a default.
18995         (_is-dist-target): New rule for rebuilds to pick up intra-release
18996         version.
18997         (maint-cfg.mk): Rename...
18998         (cfg.mk): ...to this.
18999
19000 2008-03-18  Jim Meyering  <meyering@redhat.com>
19001
19002         New script and module: mktempd
19003         * MODULES.html.sh (maint+release support): Add mktempd.
19004         * build-aux/mktempd: New file.
19005         * modules/mktempd: New file.
19006
19007 2008-03-15  Jim Meyering  <meyering@redhat.com>
19008
19009         Undo last change.
19010         * lib/sha1.c, lib/md5.c: 63 != ~63.
19011         Reported by Andreas Schwab.
19012
19013         sha1.c, md5.c: Hoist a redundant expression.
19014         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
19015         "ctx->buflen" only once, before calling *_process_block.
19016         * lib/md5.c (md5_process_bytes): Likewise.
19017
19018 2008-03-14  Eric Blake  <ebb9@byu.net>
19019
19020         Bump copyright year in files generated by gnulib-tool.
19021         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
19022         gnulib-tool, rather than hard-coding it.
19023
19024         Fix 'gnulib-tool --version' output to work with git.
19025         * gnulib-tool (func_gnulib_dir): New function, extracted from...
19026         (startup): ...here.
19027         (func_version): Use it to invoke git-version-gen, rather than
19028         relying on CVS keyword expansion.  Modernize wording.
19029         (cvsdatestamp, last_checkin_date, version): Kill unused
19030         variables.
19031
19032 2008-03-12  Jim Meyering  <meyering@redhat.com>
19033
19034         Recognize optional cast of the argument to free.
19035         * build-aux/useless-if-before-free: Update regexps.
19036
19037         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
19038
19039 2008-03-11  Bruno Haible  <bruno@clisp.org>
19040
19041         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
19042         by a single package.
19043         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
19044         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
19045         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
19046         Reported by Sam Steingold <sds@gnu.org>.
19047
19048 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
19049
19050         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
19051         repositories.
19052
19053 2008-03-11  Bruno Haible  <bruno@clisp.org>
19054
19055         Avoid conflicts between local macro definitions.
19056         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
19057         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
19058
19059 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
19060             Bruno Haible  <bruno@clisp.org>
19061
19062         Make va_copy work with some version of xlc on AIX 5.1.
19063         * lib/stdarg.in.h: New file.
19064         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
19065         On AIX, use a <stdarg.h> file substitute.
19066         * modules/stdarg (Files): Add lib/stdarg.in.h.
19067         (Depends-on): Add include_next.
19068         (Makefile.am): Build a stdarg.h substitute if requested.
19069         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
19070
19071 2008-03-10  Bruno Haible  <bruno@clisp.org>
19072
19073         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
19074         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
19075         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
19076
19077 2008-03-10  Bruno Haible  <bruno@clisp.org>
19078
19079         * modules/stdlib (Depends-on): Add include_next, remove
19080         absolute-header.
19081
19082 2008-03-09  Bruno Haible  <bruno@clisp.org>
19083
19084         * lib/freadahead.h (freadahead): Document more precisely.
19085         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
19086         the sum of both buffer sizes.
19087         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
19088         * NEWS: Document the change.
19089
19090 2008-03-09  Bruno Haible  <bruno@clisp.org>
19091
19092         Extend freadptr to return also the buffer size.
19093         * lib/freadptr.h (freadptr): Add sizep argument.
19094         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
19095         (freadptr): Add sizep argument. Determine buffer size like freadahead
19096         does.
19097         * tests/test-freadptr.c: Don't include freadahead.h.
19098         (main): Adapt for new calling convention of freadptr.
19099         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
19100         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
19101         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
19102         tests/test-freadptr2.sh.
19103         (Depends): Remove freadahead.
19104         (TESTS): Add test-freadptr2.sh.
19105         (check_PROGRAMS): Add test-freadptr2.
19106
19107 2008-03-09  Bruno Haible  <bruno@clisp.org>
19108
19109         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
19110         Report and solution by Simon Josefsson.
19111
19112 2008-03-06  Bruno Haible  <bruno@clisp.org>
19113
19114         Make fflush after ungetc work on BSD platforms.
19115         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
19116         * tests/test-fflush2.c: New file.
19117         * tests/test-fflush2.sh: New file.
19118         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
19119         tests/test-fflush2.c.
19120         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
19121         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
19122
19123 2008-03-06  Eric Blake  <ebb9@byu.net>
19124
19125         Likewise for ftello.
19126         * modules/ftello (Dependencies): Add extensions.
19127         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
19128
19129 2008-03-06  Bruno Haible  <bruno@clisp.org>
19130
19131         * modules/fseeko (Dependencies): Add extensions.
19132         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
19133         Needed on glibc systems.
19134
19135 2008-03-06  Bruno Haible  <bruno@clisp.org>
19136
19137         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
19138         email address.
19139         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19140
19141 2008-03-06  Bruno Haible  <bruno@clisp.org>
19142
19143         * users.txt: Add libgnupdf.
19144
19145 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
19146
19147         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
19148         (Header File Substitutes, Function Substitutes,
19149         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
19150         (Build robot for gnulib): Fix typo.
19151
19152 2008-03-06  Bruno Haible  <bruno@clisp.org>
19153
19154         * doc/gnulib-tool.texi (VCS Issues): Small updates.
19155         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19156
19157 2008-03-06  Bruno Haible  <bruno@clisp.org>
19158
19159         * doc/func.texi: New file, extracted from doc/gnulib.texi.
19160         * doc/gnulib.texi: Include it.
19161
19162 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19163
19164         * modules/func (License): Change license to unlimited; there was
19165         no LGPL parts in the module anyway.
19166
19167 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19168
19169         * modules/__func__: Renamed to modules/func.
19170         * modules/__func__-tests: Renamed to modules/func-tests.
19171         * tests/test-__func__.c: Renamed to tests/test-func.c.
19172         * m4/__func__.m4: Renamed to m4/func.m4.
19173         * doc/gnulib.texi (__func__): Section renamed to func.
19174         Suggested by Eric Blake <ebb9@byu.net>.
19175
19176 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19177
19178         * doc/gnulib.texi (__func__): Use C99 terminology when talking
19179         about __func__.  Make example self-contained.  Suggested by Eric
19180         Blake <ebb9@byu.net>.
19181
19182         * tests/test-__func__.c (main): Avoid extraneous () around __func.
19183         Suggested by Eric Blake <ebb9@byu.net>.
19184
19185 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19186
19187         * modules/__func__: New file.
19188         * modules/__func__-tests: New file.
19189         * tests/test-__func__.c: New file.
19190         * m4/__func__.m4: New file.
19191         * doc/gnulib.texi (__func__): Document __func__ module.
19192
19193 2008-03-05  Simon Josefsson  <simon@josefsson.org>
19194
19195         * modules/byteswap (License): Re-license as LGPLv2+.
19196
19197 2008-03-05  Simon Josefsson  <simon@josefsson.org>
19198
19199         * doc/Makefile: Add pdf target.
19200
19201 2008-03-05  Simon Josefsson  <simon@josefsson.org>
19202
19203         * modules/inline (License): Use 'unlimited', since there are only
19204         *.m4 files in this module.
19205
19206 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
19207             Bruno Haible  <bruno@clisp.org>
19208
19209         Add support for HP C 7.1 on OpenVMS 8.3.
19210         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
19211
19212 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
19213
19214         Update VMS specifics.
19215         * lib/getopt.c [VMS]: Remove include of unixlib.h.
19216
19217 2008-03-02  Jim Meyering  <meyering@redhat.com>
19218
19219         Remove the last dependency on the "free" module.
19220         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
19221         Reported by Bob Proulx.
19222
19223         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
19224
19225         Remove useless "if" tests before free.  Deprecate "free" module.
19226         * doc/posix-functions/free.texi: Mention that this
19227         module is no longer useful.
19228         * modules/free (Notice): Say this module is obsolete.
19229         * modules/readutmp (Depends-on): Remove free.
19230         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
19231         * lib/putenv.c (putenv): Likewise.
19232         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
19233         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
19234         * tests/test-c-strcasestr.c (main): Likewise.
19235         * tests/test-c-strstr.c (main): Likewise.
19236         * tests/test-mbscasestr1.c (main): Likewise.
19237         * tests/test-mbscasestr2.c (main): Likewise.
19238         * tests/test-mbsstr1.c (main): Likewise.
19239         * tests/test-mbsstr2.c (main): Likewise.
19240         * tests/test-memmem.c (main): Likewise.
19241         * tests/test-strcasestr.c (main): Likewise.
19242         * tests/test-striconv.c (main): Likewise.
19243         * tests/test-striconveh.c (main): Likewise.
19244         * tests/test-striconveha.c (main): Likewise.
19245         * tests/test-strstr.c (main): Likewise.
19246
19247         * build-aux/git-version-gen: Adjust a comment and the Usage string.
19248
19249         bootstrap: sync from coreutils again
19250         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
19251
19252 2008-03-01  Jim Meyering  <meyering@redhat.com>
19253
19254         bootstrap: sync from coreutils
19255         * build-aux/bootstrap (update_po_files): Copy a .po file into place
19256         also when the target doesn't exist.
19257
19258 2008-03-01  Eric Blake  <ebb9@byu.net>
19259
19260         Fix bugs in last patch.
19261         * lib/memchr2.c (memchr2): Fix typo.
19262         * tests/test-memchr2.c: Test previous bug, and don't use GNU
19263         extension.
19264         Reported by Bruce Korb.
19265
19266         New module 'memchr2'.
19267         * modules/memchr2: New file.
19268         * modules/memchr2-tests: Likewise.
19269         * lib/memchr2.h: Likewise.
19270         * lib/memchr2.c: Likewise, based on memchr.c.
19271         * tests/test-memchr2.c: New test.
19272         * MODULES.html.sh (String handling): Add memchr2.
19273
19274 2008-02-29  Bruno Haible  <bruno@clisp.org>
19275
19276         * modules/freadseek-tests: New file.
19277         * tests/test-freadseek.sh: New file.
19278         * tests/test-freadseek.c: New file.
19279
19280         New module 'freadseek'.
19281         * modules/freadseek: New file.
19282         * lib/freadseek.h: New file.
19283         * lib/freadseek.c: New file.
19284         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
19285
19286 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
19287
19288         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
19289         wydawca.
19290
19291         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
19292         program_invocation_name and program_invocation_short_name are
19293         present.
19294
19295 2008-02-28  Bruno Haible  <bruno@clisp.org>
19296
19297         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
19298         * tests/test-freadptr.sh: Also test non-seekable stdin.
19299
19300 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
19301
19302         * build-aux/bootstrap (source_base, m4_base)
19303         (doc_base, tests_base): New variables.
19304         (gnulib_tool_options): Do not hardcode base directories, use
19305         the above variables instead.
19306
19307 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
19308
19309         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
19310
19311 2008-02-28  Bruno Haible  <bruno@clisp.org>
19312
19313         * modules/freadptr-tests: New file.
19314         * tests/test-freadptr.sh: New file.
19315         * tests/test-freadptr.c: New file.
19316
19317         New module 'freadptr'.
19318         * modules/freadptr: New file.
19319         * lib/freadptr.h: New file.
19320         * lib/freadptr.c: New file.
19321         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
19322
19323 2008-02-26  Karl Berry  <karl@freefriends.org>
19324
19325         Sync from Libtool:
19326         * libltdl/argz.c (argz_add, argz_count): New functions.
19327         * libltdl/argz.in.h: Declare them.
19328         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
19329
19330 2008-02-22  Bruno Haible  <bruno@clisp.org>
19331
19332         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
19333         is a pointer type.  Needed for HP-UX 10.
19334         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
19335         * doc/posix-functions/gmtime_r.texi: Likewise.
19336         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
19337
19338 2008-02-24  Bruno Haible  <bruno@clisp.org>
19339
19340         * modules/environ-tests: New file.
19341         * tests/test-environ.c: New file.
19342
19343         New module 'environ'.
19344         * modules/environ: New file.
19345         * lib/unistd.in.h (environ): New declaration.
19346         * m4/environ.m4: New file.
19347         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
19348         after use.
19349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
19350         HAVE_DECL_ENVIRON.
19351         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
19352         HAVE_DECL_ENVIRON.
19353         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
19354         wrong claim that 'environ' is missing on some systems.
19355         * modules/execute (Depends-on): Add environ.
19356         * lib/execute.c (environ): Remove fallback declaration.
19357         * modules/pipe (Depends-on): Add environ.
19358         * lib/pipe.c (environ): Remove fallback declaration.
19359         * modules/setenv (Depends-on): Add environ.
19360         * lib/setenv.c (environ): Remove fallback declaration.
19361         * modules/unsetenv (Depends-on): Add environ.
19362         * lib/unsetenv.c (environ): Remove fallback declaration.
19363         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
19364         m4/environ.m4.
19365         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
19366         (gl_PREREQ_UNSETENV): Likewise.
19367
19368 2008-02-24  Bruno Haible  <bruno@clisp.org>
19369
19370         * doc/posix-functions/environ.texi: Document the MacOS X problem.
19371
19372 2008-02-20  Bob Proulx  <bob@proulx.com>
19373
19374         Enable use of older two part flavor 'git describe'.
19375         * build-aux/git-version-gen: If using the older two part flavor of
19376         git version then recreate the third part now present in the
19377         newer three part flavor of git describe.
19378
19379 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
19380
19381         * lib/fts.c (fts_build): Typo correction to comment.
19382
19383 2008-02-17  Bruno Haible  <bruno@clisp.org>
19384
19385         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
19386         generating no-op conflicts.
19387
19388 2008-02-17  Bruno Haible  <bruno@clisp.org>
19389
19390         Speed up by 10%.
19391         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
19392         result_entries, rather than an index-based loop.
19393
19394 2008-02-17  Bruno Haible  <bruno@clisp.org>
19395
19396         Speed up by 25%.
19397         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
19398         'hashcode_cached'.
19399         (entry_create): New function.
19400         (entry_hashcode): Use the cached hashcode if possible.
19401         (read_changelog_file, try_split_merged_entry): Use entry_create.
19402
19403 2008-02-17  Bruno Haible  <bruno@clisp.org>
19404
19405         Speed up from O(n^2) to O(n) for long ChangeLog files.
19406         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
19407         (read_changelog_file): Change implementation of entries_reversed list
19408         to rbtreehash.
19409         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
19410
19411 2008-02-17  Bruno Haible  <bruno@clisp.org>
19412
19413         New option --split-merged-entry.
19414         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
19415         (find_paragraph_end, try_split_merged_entry): New functions.
19416         (long_options): Add option --split-merged-entry.
19417         (usage): Document option --split-merged-entry.
19418         (main): Implement option --split-merged-entry.
19419         Reported by Eric Blake.
19420
19421 2008-02-17  Bruno Haible  <bruno@clisp.org>
19422
19423         * lib/git-merge-changelog.c: Include c-strstr.h.
19424         (main): Support the "git pull --rebase" situation.
19425         * modules/git-merge-changelog (Depends-on): Add c-strstr.
19426         Reported by Eric Blake.
19427
19428 2008-02-16  Eric Blake  <ebb9@byu.net>
19429
19430         Avoid doubling \ in common case of "c-maybe" quoting style.
19431         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
19432         eliding outer quotes.
19433         * lib/quotearg.h: Document this.
19434         * tests/test-quotearg.c (result_strings, inputs, results_g)
19435         (flag_results, locale_results): Test it by adding a new string to
19436         each test group.
19437         (compare_strings): Test new string.
19438
19439 2008-02-13  Eric Blake  <ebb9@byu.net>
19440
19441         Avoid trigraph quoting in default output.
19442         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
19443         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
19444         unless explicitly requested.
19445         * tests/test-quotearg.c (flag_results, main): Add additional tests.
19446
19447 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
19448
19449         Don't rely on signed integer overflowing to negative value.
19450         * lib/getugroups.c (getugroups): Include <limits.h>.
19451         Instead, compare against INT_MAX, and increment only if the test passes.
19452
19453 2008-02-13  Jim Meyering  <meyering@redhat.com>
19454         and Eric Blake  <ebb9@byu.net>
19455
19456         Avoid shadowing warning and compile errors on Linux.
19457         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
19458         forwarding macros on Linux.
19459         (dcgettext): Define a stub, for Linux.
19460         (results_g, main): Avoid warnings.
19461
19462 2008-02-12  Eric Blake  <ebb9@byu.net>
19463
19464         Silence warning in last patch.
19465         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
19466
19467         Quotearg part 4: add tests, fix c-maybe colon quoting.
19468         * lib/quotearg.h: Improve documentation.
19469         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
19470         escapes when adding outer quotes.  When quoting trigraphs, use
19471         valid C notation.  When quoting NUL, omit extra characters if next
19472         character is not digit.  Alter prototype.
19473         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
19474         callers.
19475         * modules/quotearg-tests: New module.
19476         * tests/test-quotearg.c: New test.
19477
19478 2008-02-07  Eric Blake  <ebb9@byu.net>
19479
19480         Quotearg part 3: add flag to control outer quote elision.
19481         * lib/quotearg.h (c_maybe_quoting_style): New style.
19482         (enum quoting_flags): Better documentation of flags.
19483         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
19484         c-maybe style.
19485         (quotearg_buffer_restyled): Handle new flag to elide outer
19486         quotes.
19487
19488         Quotearg part 2: add flag that can control NUL elision.
19489         * lib/quotearg.h (set_quoting_flags): New prototype.
19490         * lib/quotearg.c (struct quoting_options): Add flag field.
19491         (set_quoting_flags): New function.
19492         (quotearg_buffer_restyled): Add flags parameter.
19493         (quotearg_alloc_mem): Set the flag if length cannot be returned.
19494         (quotearg_n_options): Set the flag, since length cannot be
19495         returned.
19496         (quoting_options_from_style): Default flags correctly.
19497
19498         Quotearg part 1: more wrappers, restore quotearg_char state.
19499         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
19500         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
19501         (quotearg_colon_mem): New wrappers.
19502         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
19503         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
19504         functions.
19505         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
19506         (quotearg_colon_mem): New functions.
19507
19508 2008-02-11  Bruno Haible  <bruno@clisp.org>
19509
19510         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
19511         library in the current directory: it does not work with parallel make.
19512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19513
19514 2008-02-11  Bruno Haible  <bruno@clisp.org>
19515
19516         * .gitattributes: New file.
19517
19518 2008-02-11  Jim Meyering  <meyering@redhat.com>
19519
19520         useless-if-before-free: Fix reversed exit values.
19521         * build-aux/useless-if-before-free: Use correct values
19522         for EXIT_MATCH and EXIT_NO_MATCH.
19523
19524         * build-aux/useless-if-before-free: Close stdout carefully.
19525
19526 2008-02-10  Bruno Haible  <bruno@clisp.org>
19527
19528         New module 'git-merge-changelog'.
19529         * modules/git-merge-changelog: New file.
19530         * lib/git-merge-changelog.c: New file.
19531
19532 2008-02-10  Jim Meyering  <meyering@redhat.com>
19533
19534         useless-if-before-free: New option: --list (-l).
19535
19536         useless-if-before-free: Don't exit immediately upon open failure.
19537         * build-aux/useless-if-before-free: Exit 2 for errors.
19538         Upon failure to open a file, don't exit immediately.
19539         Rather, just warn and continue with any remaining files.
19540
19541 2008-02-10  Bruno Haible  <bruno@clisp.org>
19542
19543         New abstract list operation 'node_set_value'.
19544         * lib/gl_list.h (gl_list_node_set_value): New function.
19545         (struct gl_list_implementation): New field node_set_value.
19546         * lib/gl_list.c (gl_list_node_set_value): New function.
19547         * lib/gl_array_list.c (gl_array_node_set_value): New function.
19548         (gl_array_list_implementation): Update.
19549         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
19550         (gl_carray_list_implementation): Update.
19551         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
19552         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
19553         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
19554         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
19555         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
19556         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
19557         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
19558         Update.
19559         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
19560         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
19561         (gl_sublist_list_implementation): Update.
19562
19563 2008-02-10  Bruno Haible  <bruno@clisp.org>
19564
19565         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
19566         Needed when ELEMENT is #defined to 'some_type *'.
19567
19568 2008-02-10  Jim Meyering  <meyering@redhat.com>
19569
19570         New script and module: useless-if-before-free
19571         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
19572         * build-aux/useless-if-before-free: New file.
19573         * modules/useless-if-before-free: New file.
19574
19575         * build-aux/gitlog-to-changelog: Use committer date, not author date.
19576
19577         xstrtol_error: Fix typo.
19578         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
19579         s/exit_failure/exit_status/.
19580
19581 2008-02-09  Jim Meyering  <meyering@redhat.com>
19582
19583         New script and module: gitlog-to-changelog
19584         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
19585         * modules/gitlog-to-changelog: New file.
19586         * build-aux/gitlog-to-changelog: New file.
19587
19588 2008-02-08  Jim Meyering  <meyering@redhat.com>
19589
19590         Avoid two "parameter unused" warnings.
19591         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
19592         Mark "st" as used.
19593
19594         Use "git COMMAND", not "git-COMMAND".
19595         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
19596         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
19597         * build-aux/git-version-gen: Use "git status", not "git-status".
19598
19599 2008-02-07  Bruno Haible  <bruno@clisp.org>
19600
19601         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
19602         Avoids a crash on Windows Vista.
19603         Reported by Adam Strzelecki <ono@java.pl> via
19604         Simon Josefsson <simon@josefsson.org>.
19605
19606 2008-02-06  Bruno Haible  <bruno@clisp.org>
19607
19608         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
19609         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
19610         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
19611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
19612         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19613         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19614         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
19615         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
19616         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19617         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19618         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19619         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19620         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19621         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19622         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19623         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
19624         left-adjust flag.
19625         * tests/test-snprintf-posix.h (test_function): Likewise.
19626         * tests/test-sprintf-posix.h (test_function): Likewise.
19627         * tests/test-vasprintf-posix.c (test_function): Likewise.
19628         * doc/posix-functions/fprintf.texi: Update.
19629         * doc/posix-functions/printf.texi: Update.
19630         * doc/posix-functions/snprintf.texi: Update.
19631         * doc/posix-functions/sprintf.texi: Update.
19632         * doc/posix-functions/vfprintf.texi: Update.
19633         * doc/posix-functions/vprintf.texi: Update.
19634         * doc/posix-functions/vsnprintf.texi: Update.
19635         * doc/posix-functions/vsprintf.texi: Update.
19636         Reported by Peter Fales <psfales@alcatel-lucent.com>.
19637
19638 2008-02-06  Bruno Haible  <bruno@clisp.org>
19639
19640         Fix bug introduced on 2008-01-26.
19641         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
19642
19643 2008-02-06  Bruno Haible  <bruno@clisp.org>
19644
19645         Fix bug introduced on 2007-06-10.
19646         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
19647         !NEED_PRINTF_FLAG_ZERO.
19648
19649 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
19650
19651         getloadavg: use libperfstat on AIX5
19652         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
19653
19654 2008-02-03  Bruno Haible  <bruno@clisp.org>
19655
19656         * lib/diffseq.h: Add comments about required #includes.
19657         Reported by Michael Biggs <gnulib@doubleplum.net>.
19658
19659 2008-02-01  Bruno Haible  <bruno@clisp.org>
19660
19661         * users.txt: Add gnuit.
19662
19663 2008-01-31  Bruno Haible  <bruno@clisp.org>
19664
19665         * lib/md4.c (set_uint32): Mark as inline.
19666         * lib/md5.c (set_uint32): Likewise.
19667         * lib/sha1.c (set_uint32): Likewise.
19668         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
19669         * m4/md5.m4 (gl_MD5): Likewise.
19670         * m4/sha1.m4 (gl_SHA1): Likewise.
19671
19672 2008-01-31  Jim Meyering  <meyering@redhat.com>
19673
19674         Use "sizeof VAR", rather than a literal "4".
19675         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
19676         * lib/md4.c (md4_read_ctx): Likewise.
19677         * lib/sha1.c (sha1_read_ctx): Likewise.
19678
19679 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19680
19681         * tests/test-sha1.c: New file, based on test-md5.c.
19682
19683         * modules/crypto/sha1-tests: New file.
19684
19685 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19686
19687         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
19688
19689 2008-01-31  Jim Meyering  <meyering@redhat.com>
19690
19691         Prefer "sizeof v" over the equivalent "4".
19692         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
19693         * lib/md5.c (set_uint32): Likewise.
19694         * lib/sha1.c (set_uint32): Likewise.
19695
19696 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19697
19698         * lib/sha1.c (set_uint32): Mark function as static.
19699
19700 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19701
19702         md2: clarify comments to say that alignment is not required.
19703         * lib/md2.h: Remove warning about alignment in comment.
19704         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
19705         never been required.
19706
19707 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19708
19709         md4: adapt alignment constraint fix from sha1.
19710         * lib/md4.c (set_uint32): New function, from sha1.c
19711         (md4_read_ctx): Use it.
19712         (md4_finish_ctx): Doc fix.
19713         * lib/md4.h: Doc fix.
19714
19715 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19716
19717         md5: adapt alignment constraint fix from sha1.
19718         * lib/md5.c (set_uint32): New function, from sha1.c
19719         (md5_read_ctx): Use it.
19720         (md5_finish_ctx): Doc fix.
19721         * lib/md5.h: Doc fix.
19722
19723 2008-01-30  Peter Palfrader  <weasel@debian.org>
19724
19725         sha1: remove the result buffer alignment constraint
19726         * lib/sha1.c (set_uint32): New function.
19727         (sha1_read_ctx): Rewrite to remove the result buffer alignment
19728         constraint.
19729         (sha1_finish_ctx): Remove comment warning about alignment constraint.
19730         * lib/sha1.h: Likewise.
19731
19732 2008-01-30  Andreas Schwab  <schwab@suse.de>
19733             Bruno Haible  <bruno@clisp.org>
19734
19735         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
19736         correct definition of LDBL_MIN_EXP.
19737
19738 2008-01-30  Karl Berry  <karl@gnu.org>
19739
19740         * config/srclist-update: try to preserve x bit on updates.
19741         * config/srclistvars.sh: update for karl.
19742
19743 2008-01-29  Jim Meyering  <meyering@redhat.com>
19744
19745         vasnprintf.c: Avoid warning about unused label
19746         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
19747         "overflow" label definition and associated code with the
19748         same cpp condition that guards the sole use of that label.
19749
19750 2008-01-26  Bruno Haible  <bruno@clisp.org>
19751
19752         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
19753         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
19754         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
19755         * lib/isnanl-nolibm.h (isnanl): Likewise.
19756         Reported by Paul Eggert <eggert@cs.ucla.edu>.
19757
19758 2008-01-26  Bruno Haible  <bruno@clisp.org>
19759
19760         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
19761         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
19762
19763 2008-01-26  Bruno Haible  <bruno@clisp.org>
19764
19765         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
19766         GCC >= 4.0 built-in.
19767         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
19768
19769 2008-01-26  Bruno Haible  <bruno@clisp.org>
19770
19771         Rename isnan, applicable to 'double' only, to isnand.
19772         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
19773         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
19774         (configure.ac): Update.
19775         (Include): Replace "isnan.h" with "isnand.h".
19776         * m4/isnand.m4: Renamed from m4/isnan.m4.
19777         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
19778         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
19779         instead of isnan.c.
19780         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
19781         instead of HAVE_ISNAN_IN_LIBC.
19782         (isnand): Renamed from isnan.
19783         * lib/isnand.c: New file.
19784         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
19785         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
19786         (Makefile.am): Update.
19787         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
19788         Include isnand.h instead of isnan.h.
19789         (main): Test isnand instead of isnan.
19790         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
19791         isnan-nolibm.
19792         * modules/frexp (Depends-on): Likewise.
19793         * modules/frexp-tests (Depends-on): Likewise.
19794         * modules/frexp-nolibm (Depends-on): Likewise.
19795         * modules/frexp-nolibm-tests (Depends-on): Likewise.
19796         * modules/isfinite (Depends-on): Likewise.
19797         * modules/round-tests (Depends-on): Likewise.
19798         * modules/signbit (Depends-on): Likewise.
19799         * modules/signbit-tests (Depends-on): Likewise.
19800         * modules/snprintf-posix (Depends-on): Likewise.
19801         * modules/sprintf-posix (Depends-on): Likewise.
19802         * modules/trunc-tests (Depends-on): Likewise.
19803         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19804         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19805         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19806         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19807         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19808         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19809         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19810         * modules/vasnprintf-posix (Depends-on): Likewise.
19811         * modules/vasprintf-posix (Depends-on): Likewise.
19812         * modules/vfprintf-posix (Depends-on): Likewise.
19813         * modules/vsnprintf-posix (Depends-on): Likewise.
19814         * modules/vsprintf-posix (Depends-on): Likewise.
19815         * lib/frexp.c: Include isnand.h instead of isnan.h.
19816         (ISNAN): Set to isnand instead of isnan.
19817         * lib/isfinite.c: Include isnand.h instead of isnan.h.
19818         (gl_isfinited): Use isnand instead of isnan.
19819         * lib/signbitd.c: Include isnand.h instead of isnan.h.
19820         (gl_signbitd): Use isnand instead of isnan.
19821         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
19822         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
19823         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
19824         (main): Use isnand instead of isnan.
19825         * tests/test-round1.c: Include isnand.h.
19826         (main): Use isnand instead of isnan.
19827         * tests/test-round2.c: Include isnand.h instead of isnan.h.
19828         (ISNAN): Set to isnand instead of isnan.
19829         * tests/test-trunc1.c: Include isnand.h.
19830         (main): Use isnand instead of isnan.
19831         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
19832         (equal): Use isnand instead of isnan.
19833         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
19834         isnand-nolibm.
19835         * NEWS: Mention the change.
19836
19837 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19838             Bruno Haible  <bruno@clisp.org>
19839
19840         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
19841         the GCC builtins for signbits are present and set
19842         REPLACE_SIGNBIT_USING_GCC if so.
19843         * lib/math.in.h (signbit): Define using GCC builtins if
19844         REPLACE_SIGNBIT_USING_GCC is set.
19845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
19846         REPLACE_SIGNBIT_USING_GCC.
19847         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
19848
19849 2008-01-25  Jim Meyering  <meyering@redhat.com>
19850
19851         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
19852         * lib/poll.c: Include <config.h>, not "config.h".
19853         * tests/test-getaddrinfo.c: Likewise.
19854
19855 2008-01-25  Simon Josefsson  <simon@josefsson.org>
19856
19857         * modules/sockets-tests: New file.
19858
19859 2008-01-24  Simon Josefsson  <simon@josefsson.org>
19860
19861         * modules/sockets: New module, can be used to call WSA_Startup and
19862         WSA_Cleanup when needed.
19863
19864         * lib/sockets.h, lib/sockets.c: New files.
19865
19866         * m4/sockets.m4: New file.
19867
19868         * tests/test-sockets.c: New file.
19869
19870 2008-01-19  Bruno Haible  <bruno@clisp.org>
19871
19872         * doc/posix-headers: Renamed from doc/headers.
19873         * doc/posix-functions: Renamed from doc/functions.
19874         * doc/gnulib.texi: Update.
19875
19876 2008-01-19  Bruno Haible  <bruno@clisp.org>
19877
19878         * doc/glibc-functions/strcasestr.texi: Include contents of
19879         doc/functions/strcasestr.texi, fixing the list of platforms.
19880         * doc/functions/strcasestr.texi: Remove file.
19881
19882 2008-01-19  Bruno Haible  <bruno@clisp.org>
19883
19884         * doc/glibc-functions/memmem.texi: Include contents of
19885         doc/functions/memmem.texi.
19886         * doc/functions/memmem.texi: Remove file.
19887
19888 2008-01-18  Bruno Haible  <bruno@clisp.org>
19889
19890         * doc/glibc-functions/*.texi: New files.
19891         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
19892         to use the new files.
19893
19894 2008-01-17  Bruno Haible  <bruno@clisp.org>
19895
19896         * tests/test-gethostname.c (main): Fix printf statement.
19897
19898 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19899
19900         * modules/gethostname-tests: New file.
19901
19902         * tests/test-gethostname.c: New file.
19903
19904 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19905
19906         * lib/gethostname.c: Include string.h unconditionally, strncpy is
19907         used by the UNAME case.  Reported by Bruno Haible
19908         <bruno@clisp.org>.
19909
19910 2008-01-17  Eric Blake  <ebb9@byu.net>
19911
19912         Convert c-strcasestr to be more efficient.
19913         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
19914         (Depends-on): Add c-strcase, remove malloca, strnlen.
19915         * tests/test-c-strcasestr.c (main): Enhance test.
19916         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
19917
19918 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
19919
19920         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
19921         Use it in creating po/Makevars.
19922
19923 2008-01-15  Simon Josefsson  <simon@josefsson.org>
19924
19925         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
19926         Applications that requires it should initialize libgcrypt
19927         manually.
19928
19929 2008-01-16  Simon Josefsson  <simon@josefsson.org>
19930
19931         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
19932
19933 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19934
19935         Fix problem with getdate on mingw32 reported by Simon Josefsson
19936         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
19937         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
19938         tzname", when deciding whether to declare tzname.
19939         * lib/strftime.c (tzname): Likewise.
19940
19941 2008-01-15  Bruno Haible  <bruno@clisp.org>
19942
19943         Work around a MacOS X 10.5 bug in frexpl().
19944         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
19945         * doc/functions/frexpl.texi: Document the bug.
19946         Reported by Elias Pipping <pipping@gentoo.org>.
19947
19948 2008-01-14  Eric Blake  <ebb9@byu.net>
19949
19950         Touch up previous patch.
19951         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
19952         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
19953
19954         Convert strcasestr module to use Two-Way algorithm.
19955         * modules/strcasestr-simple: New module, based on the old
19956         strcasestr, but with Two-Way rather than KMP.
19957         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
19958         * lib/string.in.h (rpl_strcasestr): Declare.
19959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
19960         performance.
19961         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
19962         * modules/string (Makefile.am): Support strcasestr.
19963         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19964         * modules/strcasestr-tests (Depends-on): Check for alarm.
19965         * tests/test-strcasestr.c: Augment test.
19966         * lib/str-two-way.h: Clean up stray macro.
19967         * NEWS: Document new module.
19968         * MODULES.html.sh (string handling): Likewise.
19969         * doc/functions/strcasestr.texi: New file.
19970         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
19971         here, since it is not a POSIX function.
19972
19973 2008-01-14  Colin Watson  <cjwatson@debian.org>
19974             Bruno Haible  <bruno@clisp.org>
19975
19976         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
19977         works fine; if not, set REPLACE_STRSIGNAL.
19978         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
19979         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19980         REPLACE_STRSIGNAL.
19981         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
19982         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
19983         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
19984
19985 2008-01-14  Bruno Haible  <bruno@clisp.org>
19986
19987         * modules/strsignal (Include): Change to <string.h>.
19988
19989 2008-01-14  Colin Watson  <cjwatson@debian.org>
19990
19991         * modules/argp (Notice): Add a notice recommending to change
19992         XGETTEXT_OPTIONS.
19993         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
19994
19995 2008-01-13  Colin Watson  <cjwatson@debian.org>
19996
19997         * modules/strsignal-tests: New file.
19998         * tests/test-strsignal.c: New file.
19999
20000         * lib/strsignal.c: New file, from glibc with modifications.
20001         * lib/siglist.h: New file, from glibc with modifications.
20002         * lib/string.in.h (strsignal): New declaration.
20003         * m4/strsignal.m4: New file.
20004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20005         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
20006         * modules/strsignal: New file.
20007         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
20008         HAVE_DECL_STRSIGNAL.
20009
20010 2008-01-13  Bruno Haible  <bruno@clisp.org>
20011
20012         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
20013         locale encoding is not ASCII. Needed for OpenBSD 4.0.
20014         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20015         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20016
20017 2008-01-13  Bruno Haible  <bruno@clisp.org>
20018
20019         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
20020         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
20021         * lib/argp.h (__attribute__): Likewise.
20022         * lib/c-stack.c (__attribute__): Likewise.
20023         * lib/error.h (__attribute__): Likewise.
20024         * lib/fts.c (__attribute__): Likewise.
20025         * lib/openat.h (__attribute__): Likewise.
20026         * lib/stdio.in.h (__attribute__): Likewise.
20027         * lib/string.in.h (__attribute__): Likewise.
20028         * lib/utimens.c (__attribute__): Likewise.
20029         * lib/vasnprintf.h (__attribute__): Likewise.
20030         * lib/xalloc.h (__attribute__): Likewise.
20031         * lib/xprintf.h (__attribute__): Likewise.
20032         * lib/xstrtol.h (__attribute__): Likewise.
20033         * lib/xvasprintf.h (__attribute__): Likewise.
20034
20035 2008-01-12  Bruno Haible  <bruno@clisp.org>
20036
20037         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
20038         * doc/glibc-headers/a.out.texi: New file.
20039         * doc/glibc-headers/aliases.texi: New file.
20040         * doc/glibc-headers/alloca.texi: New file.
20041         * doc/glibc-headers/ar.texi: New file.
20042         * doc/glibc-headers/argp.texi: New file.
20043         * doc/glibc-headers/argz.texi: New file.
20044         * doc/glibc-headers/byteswap.texi: New file.
20045         * doc/glibc-headers/crypt.texi: New file.
20046         * doc/glibc-headers/endian.texi: New file.
20047         * doc/glibc-headers/envz.texi: New file.
20048         * doc/glibc-headers/err.texi: New file.
20049         * doc/glibc-headers/error.texi: New file.
20050         * doc/glibc-headers/execinfo.texi: New file.
20051         * doc/glibc-headers/fpu_control.texi: New file.
20052         * doc/glibc-headers/fstab.texi: New file.
20053         * doc/glibc-headers/fts.texi: New file.
20054         * doc/glibc-headers/getopt.texi: New file.
20055         * doc/glibc-headers/ieee754.texi: New file.
20056         * doc/glibc-headers/ifaddrs.texi: New file.
20057         * doc/glibc-headers/libintl.texi: New file.
20058         * doc/glibc-headers/mcheck.texi: New file.
20059         * doc/glibc-headers/mntent.texi: New file.
20060         * doc/glibc-headers/obstack.texi: New file.
20061         * doc/glibc-headers/paths.texi: New file.
20062         * doc/glibc-headers/printf.texi: New file.
20063         * doc/glibc-headers/pty.texi: New file.
20064         * doc/glibc-headers/resolv.texi: New file.
20065         * doc/glibc-headers/shadow.texi: New file.
20066         * doc/glibc-headers/sysexits.texi: New file.
20067         * doc/glibc-headers/ttyent.texi: New file.
20068
20069 2008-01-12  Jim Meyering  <meyering@redhat.com>
20070
20071         announce-gen: emit Gnulib's git-based version string.
20072         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
20073         New option --gnulib-version=V, where V is expected to be
20074         the output of running git describe in the gnulib directory.
20075         (get_tool_versions): Request feedback on xdelta.  I suspect it's
20076         not useful, and plan to stop publishing an xdelta file with each
20077         coreutils release.
20078
20079         * build-aux/announce-gen: Also check for lzma-compressed files.
20080
20081 2008-01-11  Bruno Haible  <bruno@clisp.org>
20082
20083         * tests/test-memmem.c (main): Increase maximum allowed time.
20084         * tests/test-strstr.c (main): Likewise.
20085
20086 2008-01-11  Bruno Haible  <bruno@clisp.org>
20087
20088         * doc/functions/memmem.texi: Add more precisions about platforms.
20089         * doc/functions/strstr.texi: Likewise.
20090
20091 2008-01-10  Eric Blake  <ebb9@byu.net>
20092
20093         * m4/strstr.m4: Delete cruft from copy-n-paste.
20094         Reported by Bruno Haible.
20095
20096 2008-01-10  Bruno Haible  <bruno@clisp.org>
20097
20098         Make c-strstr rely on strstr.
20099         * lib/c-strstr.c: Don't include str-kmp.h.
20100         (c_strstr): Define in terms of strstr.
20101         * modules/c-strstr (Files): Remove lib/str-kmp.h.
20102         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
20103
20104 2008-01-10  Bruno Haible  <bruno@clisp.org>
20105
20106         * doc/gnulib.texi (String Functions in C Locale): New section.
20107         * doc/c-ctype.texi: New file.
20108         * doc/c-strcase.texi: New file.
20109         * doc/c-strcaseeq.texi: New file.
20110         * doc/c-strcasestr.texi: New file.
20111         * doc/c-strstr.texi: New file.
20112         * doc/c-strtod.texi: New file.
20113         * doc/c-strtold.texi: New file.
20114
20115 2008-01-10  Eric Blake  <ebb9@byu.net>
20116
20117         * lib/relocatable.h: Fix a comment.
20118
20119 2008-01-10  Eric Blake  <ebb9@byu.net>
20120
20121         Share two-way algorithm.
20122         * lib/str-two-way.h: New file, merged from...
20123         * lib/memmem.c: ...here...
20124         * lib/strstr.c: ...and here.
20125         * modules/memmem (Files): Use it.
20126         * modules/strstr (Files): Likewise.
20127
20128         Avoid quadratic strstr implementations.
20129         * lib/strstr.c: New file.
20130         * m4/strstr.m4: Likewise.
20131         * modules/strstr: Likewise.
20132         * modules/strstr-tests: Likewise.
20133         * tests/test-strstr.c: Likewise.
20134         * lib/string.in.h (rpl_strstr): Declare.
20135         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
20136         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
20137         * modules/string (Makefile.am): Likewise.
20138         * MODULES.html.sh (string handling): Mention new module.
20139         * doc/functions/strstr.texi (strstr): Document the bug.
20140
20141 2008-01-10  Bruno Haible  <bruno@clisp.org>
20142
20143         * lib/relocatable.h (relocate): State whether result is freshly
20144         allocated or not.
20145         * lib/relocatable.c (relocate): Return a freshly allocated string
20146         instead of a pointer to a privately held string.
20147         Reported by Sylvain Beucler <beuc@gnu.org>.
20148
20149 2008-01-10  Colin Watson  <cjwatson@debian.org>
20150
20151         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
20152         s/S_ISNLK/S_ISLNK/.
20153
20154 2008-01-09  Bruno Haible  <bruno@clisp.org>
20155
20156         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
20157         and other files.
20158         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
20159         if it's only a guess.
20160         * modules/memmem: Simplify by depending on memmem-simple.
20161
20162 2008-01-09  Bruno Haible  <bruno@clisp.org>
20163
20164         Work around OpenBSD 4.0 tdelete() bug.
20165         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
20166         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
20167         macros and don't redefine the enum values.
20168         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
20169         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
20170         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
20171
20172 2008-01-09  Bruno Haible  <bruno@clisp.org>
20173
20174         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
20175         (main): Don't perform the tests if setlocale did not install a UTF-8
20176         locale. Needed on OpenBSD 4.0.
20177         * modules/wcwidth-tests (Depends-on): Add localcharset.
20178
20179 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20180
20181         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
20182         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
20183         * NEWS: announce this.
20184         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
20185
20186 2008-01-09  Simon Josefsson  <simon@josefsson.org>
20187         and Eric Blake  <ebb9@byu.net>
20188
20189         Add memmem-simple module.
20190         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
20191         (gl_FUNC_MEMMEM): Separate performance from presence checks.
20192         * modules/memmem-simple: New file.
20193         * modules/memmem (Description): Tweak.
20194         * MODULES.html.sh (string handling): Mention new module.
20195         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
20196         addressed by memmem-simple.
20197         * NEWS: Document the difference.
20198
20199 2008-01-09  Eric Blake  <ebb9@byu.net>
20200
20201         Give gcc some memmem optimization hints.
20202         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
20203         (strcasestr): Declare as pure.
20204         * modules/memmem (Maintainer): Claim my implementation.
20205
20206 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20207
20208         Support AIX 6.1 and higher.
20209         * build-aux/config.libpath: Likewise.
20210         * build-aux/config.rpath: Likewise.
20211
20212 2008-01-08  Jim Meyering  <meyering@redhat.com>
20213             Bruno Haible  <bruno@clisp.org>
20214
20215         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
20216         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
20217         Reported by Peter Fales in
20218         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
20219
20220 2008-01-08  Bruno Haible  <bruno@clisp.org>
20221
20222         * modules/unictype/category-of (Depends-on): Add
20223         unictype/category-none.
20224         * modules/unictype/category-and-tests (Depends-on): Add
20225         unictype/category-{L,N,Lu,Nd}.
20226         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
20227         * modules/unictype/category-or-tests (Depends-on): Add
20228         unictype/category-{L,N}.
20229         * modules/unictype/category-name-tests (Depends-on): Add
20230         unictype/category-{Z,Nl}.
20231         Reported by Simon Josefsson.
20232
20233 2008-01-08  Bruno Haible  <bruno@clisp.org>
20234
20235         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
20236         convention better.
20237         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
20238         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
20239         Reported by Peter Miller <millerp@canb.auug.org.au>.
20240
20241 2008-01-08  Eric Blake  <ebb9@byu.net>
20242
20243         Rewrite memmem to guarantee linear complexity without malloc.
20244         * lib/memmem.c (memmem): Use Two-Way rather than
20245         Knuth-Morris-Pratt, to allow O(1) space usage.
20246         (critical_factorization, two_way_short_needle)
20247         (two_way_long_needle): New functions.
20248         (knuth_morris_pratt): Delete.
20249         * modules/memmem (Depends-on): No longer need malloca or stdbool.
20250         Add stdint.
20251         * tests/test-memmem.c (main): Add tests for periodic needle and
20252         sublinear performance.
20253         * doc/functions/memmem.texi (memmem): Document other deficiencies
20254         in cygwin and older glibc.
20255
20256 2008-01-08  Bruno Haible  <bruno@clisp.org>
20257
20258         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
20259         augmentation.
20260
20261 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
20262
20263         Add a configure time option: --disable-acl.
20264         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
20265         AC_ARG_ENABLE(acl).
20266
20267 2008-01-06  Simon Josefsson  <simon@josefsson.org>
20268
20269         * tests/test-localename.c: Don't include obsolete "setenv.h".
20270
20271         * modules/localename-tests (Depends-on): Need unsetenv.
20272
20273 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20274
20275         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
20276
20277 2008-01-06  Colin Watson  <cjwatson@debian.org>
20278
20279         * users.txt: Add man-db.
20280
20281 2008-01-07  Bruno Haible  <bruno@clisp.org>
20282
20283         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
20284         previous section name.
20285
20286 2008-01-07  Bruno Haible  <bruno@clisp.org>
20287
20288         * lib/progname.c (set_program_name): Don't strip off a leading
20289         "lt-" prefix outside a .libs directory.
20290         Suggested by Paul Eggert.
20291
20292 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
20293             Bruno Haible  <bruno@clisp.org>
20294
20295         Improve memory cleanup in 'relocatable' module.
20296         * lib/relocatable.h (compute_curr_prefix): Change return type to
20297         'char *'.
20298         * lib/relocatable.c (compute_curr_prefix): Change return type to
20299         'char *'. Free curr_installdir after use.
20300         (relocate): Free curr_prefix_better after use.
20301         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
20302
20303 2008-01-01  Bruno Haible  <bruno@clisp.org>
20304
20305         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
20306         failure on older glibc systems.
20307         Reported by Peter Fales <psfales@alcatel-lucent.com>.
20308
20309 2008-01-05  Eric Blake  <ebb9@byu.net>
20310
20311         Avoid quadratic system memmem.
20312         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
20313         Reported by Ralf Wildenhues.
20314
20315         Fix memmem test for mingw.
20316         * modules/memmem-tests (configure.ac): Check for alarm.
20317         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
20318         it.
20319         * doc/functions/memmem.texi: New file.
20320         * doc/gnulib.texi (Function Substitutes): Add memmem.
20321         Reported by Bruno Haible.
20322
20323 2008-01-04  Bruno Haible  <bruno@clisp.org>
20324
20325         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
20326         Require gl_HEADER_STRINGS_H_DEFAULTS, not
20327         gl_HEADER_STRING_H_DEFAULTS.
20328
20329 2008-01-04  Eric Blake  <ebb9@byu.net>
20330
20331         Shorten duration of memmem test.
20332         * tests/test-memmem.c (main): Use alarm to declare failure if test
20333         is taking too long.
20334         Reported by Ralf Wildenhues.
20335
20336 2007-12-21  Simon Josefsson  <simon@josefsson.org>
20337
20338         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
20339         string, needed by strerror.
20340
20341 2008-01-03  Colin Watson  <cjwatson@debian.org>
20342             Bruno Haible  <bruno@clisp.org>
20343
20344         * doc/gnulib-tool.texi (Localization): New section.
20345
20346 2008-01-02  Bruno Haible  <bruno@clisp.org>
20347
20348         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
20349         variables to 'unsigned char *' type.
20350         Reported by Paul Eggert.
20351
20352 2008-01-02  Jim Meyering  <jim@meyering.net>
20353
20354         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
20355
20356 2007-12-31  Jim Meyering  <jim@meyering.net>
20357
20358         Avoid use of private FTS type name.
20359         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
20360
20361 2007-12-30  Karl Berry  <karl@gnu.org>
20362
20363         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
20364         work around defect in Texinfo and/or the standalone Info browser.
20365
20366 2007-12-30  Bruno Haible  <bruno@clisp.org>
20367
20368         Unify 5 copies of the KMP code.
20369         * lib/str-kmp.h: New file.
20370         * lib/c-strcasestr.c: Include str-kmp.h.
20371         (knuth_morris_pratt): Remove function.
20372         (c_strcasestr): Update.
20373         * lib/c-strstr.c: Include str-kmp.h.
20374         (knuth_morris_pratt): Remove function.
20375         (c_strcasestr): Update.
20376         * lib/mbscasestr.c: Include str-kmp.h.
20377         (knuth_morris_pratt_unibyte): Remove function.
20378         * lib/mbsstr.c: Include str-kmp.h.
20379         (knuth_morris_pratt_unibyte): Remove function.
20380         * lib/strcasestr.c: Include str-kmp.h.
20381         (knuth_morris_pratt): Remove function.
20382         (strcasestr): Update.
20383         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
20384         * modules/c-strstr (Files): Likewise.
20385         * modules/mbscasestr (Files): Likewise.
20386         * modules/mbsstr (Files): Likewise.
20387         * modules/strcasestr (Files): Likewise.
20388         Suggested by Paul Eggert.
20389
20390 2007-12-30  Bruno Haible  <bruno@clisp.org>
20391
20392         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
20393         defined.
20394
20395 2007-12-30  Bruno Haible  <bruno@clisp.org>
20396
20397         * lib/xmalloca.h: Include xalloc.h.
20398         (xnmalloca): New macro.
20399
20400 2007-12-30  Bruno Haible  <bruno@clisp.org>
20401
20402         * lib/malloca.h (nmalloca): New macro.
20403         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
20404         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
20405         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
20406         knuth_morris_pratt_multibyte): Likewise.
20407         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
20408         knuth_morris_pratt_multibyte): Likewise.
20409         * lib/memmem.c (knuth_morris_pratt): Likewise.
20410         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
20411
20412 2007-12-25  Bruno Haible  <bruno@clisp.org>
20413
20414         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
20415         * lib/glob.c: Don't include openat.h.
20416         (link_exists2_p): Add back the code that deals with the
20417         !GLOB_ALTDIRFUNC case.
20418         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
20419         let it do the filename concatenation.
20420         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
20421         * modules/glob (Depends-on): Remove openat.
20422
20423 2007-12-31  Bruno Haible  <bruno@clisp.org>
20424
20425         * modules/dirfd (License): Change to LGPLv2+.
20426         Approved by Jim Meyering.
20427
20428 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20429
20430         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
20431         when multiplying M by sizeof (size_t).
20432
20433 2007-12-10  Martin Lambers  <marlam@marlam.de>
20434
20435         Override getpagesize on mingw.
20436         * lib/getpagesize.c: New file.
20437         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
20438         * modules/getpagesize (Files): Add lib/getpagesize.c.
20439         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
20440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20441         REPLACE_GETPAGESIZE.
20442         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
20443
20444 2007-12-25  Bruno Haible  <bruno@clisp.org>
20445
20446         * modules/localcharset (Notice): New field.
20447         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
20448         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
20449
20450 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20451             Bruno Haible  <bruno@clisp.org>
20452
20453         Avoid using the syntax symbol() in formatted documentation.
20454         * MODULES.html.sh (func_module): When replacing symbol() with a
20455         hyperlink, remove the parentheses. Show an error if some remain.
20456         Recognize and render the '...' syntax.
20457         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
20458         Rework. Add paragraph about GCC's inlining.
20459         * doc/alloca.texi: Likewise.
20460         * doc/error.texi: Remove parentheses from symbol reference.
20461         * doc/gnulib-intro.texi: Likewise.
20462         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
20463         * modules/fnmatch (Description): Reword to say "the ... function".
20464         * modules/full-read (Description): Likewise.
20465         * modules/full-write (Description): Likewise.
20466         * modules/safe-read (Description): Likewise.
20467         * modules/safe-write (Description): Likewise.
20468         * modules/strchrnul (Description): Likewise.
20469         * modules/trim (Description): Likewise.
20470         * modules/error (Description): Remove parentheses from symbol
20471         references.
20472         * modules/verror (Description): Likewise.
20473         Reported by Karl Berry.
20474
20475 2007-12-25  Bruno Haible  <bruno@clisp.org>
20476
20477         Fixup after 2007-10-16 commit.
20478         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
20479
20480 2007-12-24  Bruno Haible  <bruno@clisp.org>
20481
20482         Make --enable-relocatable work with DESTDIR.
20483         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
20484         to compute installdir from destprog.
20485         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
20486         also set the RELOC_DESTDIR variable.
20487         Reported by Левашев Иван <octagram@bluebottle.com>.
20488
20489 2007-12-24  Bruno Haible  <bruno@clisp.org>
20490
20491         Fix link error due to xalloc_die().
20492         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
20493         of xreadlink.
20494         * lib/relocwrapper.c: Update comments.
20495         * build-aux/install-reloc: Remove xreadlink.c from file list.
20496         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
20497         xreadlink.c.
20498         Reported by Левашев Иван <octagram@bluebottle.com>.
20499
20500 2007-12-24  Bruno Haible  <bruno@clisp.org>
20501
20502         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
20503         * lib/setenv.h: Remove file.
20504         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
20505         lib/setenv.h.
20506         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
20507         (Depends-on): Add stdlib.
20508         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
20509         gl_FUNC_UNSETENV.
20510         (Include): Replace setenv.h with <stdlib.h>.
20511         * modules/unsetenv: New file.
20512         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
20513         * lib/unsetenv.c: Include <stdlib.h> first.
20514         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
20515         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
20516         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
20517         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
20518         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
20519         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
20520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
20521         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
20522         * doc/functions/unsetenv.texi: Update.
20523         * modules/xsetenv (Depends-on): Add unsetenv.
20524         * modules/getdate (Depends-on): Likewise.
20525         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
20526         * lib/xsetenv.c: Don't include setenv.h.
20527         * lib/getdate.y: Likewise.
20528         * lib/relocwrapper.c: Likewise.
20529         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
20530         (Depends-on): Add stdlib.
20531         * NEWS: Mention the changes.
20532         Reported by Левашев Иван <octagram@bluebottle.com>.
20533
20534 2007-12-23  Bruno Haible  <bruno@clisp.org>
20535
20536         * lib/memmem.c (memmem): Use lowercase variable names. Tab
20537         indentation.
20538
20539 2007-12-23  Bruno Haible  <bruno@clisp.org>
20540
20541         * lib/c-strcasestr.c: Add more comments.
20542         * lib/c-strstr.c: Likewise.
20543         * lib/mbscasestr.c: Likewise.
20544         * lib/mbsstr.c: Likewise.
20545         * lib/strcasestr.c: Likewise.
20546         * lib/memmem.c: Likewise.
20547
20548 2007-12-23  Bruno Haible  <bruno@clisp.org>
20549
20550         * tests/test-memmem.c: Include <string.h> first.
20551
20552 2007-12-22  Bruno Haible  <bruno@clisp.org>
20553
20554         * gnulib-tool (func_create_testdir): Change $auxdir while generating
20555         the contents of $testsbase.
20556         Reported by Ralf Wildenhues.
20557
20558 2007-12-22  Bruno Haible  <bruno@clisp.org>
20559
20560         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
20561         two variables local_ldadd_before, local_ldadd_last.
20562
20563 2007-12-20  Eric Blake  <ebb9@byu.net>
20564
20565         Work around circular library issue when cross-compiling.
20566         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
20567         that progname.o does not need to pull in rpl_memcmp.
20568
20569 2007-12-19  Eric Blake  <ebb9@byu.net>
20570
20571         Fix memmem to avoid O(n^2) worst-case complexity.
20572         * lib/memmem.c (knuth_morris_pratt): New function.
20573         (memmem): Use it if first few naive iterations fail.
20574         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
20575         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
20576         * modules/memchr (License): Likewise.
20577         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
20578         malloca.
20579         * tests/test-memmem.c: Rewrite, borrowing ideas from
20580         test-mbsstr1.c; the old version wouldn't even compile!
20581         * modules/memmem-tests: New file.
20582         * lib/string.in.h (rpl_memmem): Add declaration.
20583         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
20584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
20585         REPLACE_MEMMEM.
20586
20587 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20588
20589         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
20590         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
20591         before any system include files, and undef after them all.  This
20592         should fix a problem on VMS reported by John E. Malmberg in
20593         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
20594
20595 2007-12-17  Eric Blake  <ebb9@byu.net>
20596
20597         Revert addition of verify, for BSD/OS.
20598         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
20599         can't handle large files, for the sake of obsolete platforms.
20600         * modules/fseeko (Depends-on): Remove verify.
20601         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
20602         * doc/functions/ftello.texi (ftello): Likewise.
20603         * doc/functions/fgetpos.texi (fgetpos): Likewise.
20604         Reported by Larry Jones.
20605
20606 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
20607
20608         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
20609         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
20610
20611 2007-12-17  Jim Meyering  <meyering@redhat.com>
20612
20613         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
20614         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
20615         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
20616         * modules/getcwd (Depends-on): Add openat.
20617         Reported by Petr Salinger.
20618
20619 2007-12-17  Bruno Haible  <bruno@clisp.org>
20620
20621         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
20622         avoid a segmentation fault of the configure test on x86_64 systems.
20623
20624 2007-12-15  Jim Meyering  <meyering@redhat.com>
20625
20626         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
20627
20628 2007-12-13  Eric Blake  <ebb9@byu.net>
20629
20630         Another fseek test.
20631         * tests/test-fseek.c (main): Also test ungetc handling.
20632         * tests/test-fseeko.c (main): Likewise.
20633         * modules/fseeko (Depends-on): Add verify.
20634         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
20635         large.
20636         Reported by Larry Jones.
20637
20638         Fix fseeko on mingw.
20639         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
20640         seek.
20641
20642         Beef up fseek tests.
20643         * tests/test-fseek.c (main): Also test eof handling.
20644         * tests/test-fseeko.c (main): Likewise.
20645         Reported by Larry Jones.
20646
20647 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
20648
20649         Fix fseeko on BSD-based platforms.
20650         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
20651         successful seek.
20652
20653 2007-12-12  Eric Blake  <ebb9@byu.net>
20654
20655         Allow circular dependency of separate libtests.a
20656         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
20657         when use_libtests.
20658
20659 2007-12-11  Eric Blake  <ebb9@byu.net>
20660
20661         Fix bug with -0.0L in previous patch.
20662         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
20663         * tests/test-isnan.c (main): Also test on zeroes.
20664         * tests/test-isnanf.c (main): Likewise.
20665         * tests/test-isnanl.h (main): Likewise.
20666
20667         Detect pseudo-denormals on x86 even when cross-compiling.
20668         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
20669         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
20670         invalid bit patterns that happen to satisfy ==.
20671
20672         Avoid link failures with separate libtests.a.
20673         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
20674         last, to satisfy circular dependencies.
20675
20676 2007-12-11  Eric Blake  <ebb9@byu.net>
20677         and Bruno Haible  <bruno@clisp.org>
20678
20679         Fix OpenBSD 4.0 <float.h> handling of long double.
20680         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
20681         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
20682         * doc/headers/float.texi (float.h): Document OpenBSD bug.
20683
20684 2007-12-11  Jim Meyering  <meyering@redhat.com>
20685
20686         * users.txt: Add libvirt.
20687
20688         Support versions of autoconf prior to 2.59c.
20689         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
20690         if it is not already defined.
20691
20692 2007-12-09  Bruno Haible  <bruno@clisp.org>
20693
20694         Let 'gnulib-tool --import' collect sources needed for the tests in
20695         tests/ rather than in lib/.
20696         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
20697         argument. If true, add rules to generate libtests.a, and put libtests.a
20698         into $(LDADD). Consider source files in subdirectories and set
20699         uses_subdirs.
20700         (func_emit_initmacro_start, func_emit_initmacro_end,
20701         func_emit_initmacro_done): Pass all arguments explicitly.
20702         (func_import): Determine two module lists main_modules,
20703         testsrelated_modules. Determine use_libtests. Determine two variables
20704         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
20705         instead of just sed_transform_lib_file. Determine two variables
20706         main_files and testsrelated_files. Compute 'files' as the union of
20707         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
20708         func_add_or_update. In the generated gnulib-comp.m4, collect the
20709         object files for tests/ in different variables than those for lib/.
20710         Substitute LIBTESTS_LIBDEPS.
20711         (func_create_testdir): Combine the uses_subdirs results from
20712         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
20713
20714 2007-12-09  Bruno Haible  <bruno@clisp.org>
20715
20716         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
20717         the build-aux directory.
20718
20719 2007-12-09  Bruno Haible  <bruno@clisp.org>
20720
20721         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
20722         introduced on 2006-09-09.
20723
20724 2007-12-07  Jim Meyering  <meyering@redhat.com>
20725
20726         Let these macros work also with autoconf-2.59.
20727         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
20728         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
20729         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20730
20731 2007-12-06  Jim Meyering  <meyering@redhat.com>
20732
20733         Avoid a configure-time syntax error in gl_FUNC_ACL.
20734         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
20735         function in each branch, before testing the cache variable.
20736
20737 2007-12-04  Eric Blake  <ebb9@byu.net>
20738
20739         Make scripts executable.
20740         * build-aux/config.guess: Add execute permissions.
20741         * build-aux/config.sub: Likewise.
20742         * build-aux/gendocs.sh: Likewise.
20743
20744         Fix frexp on mingw.
20745         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
20746         cross-compiling.
20747         * doc/functions/frexp.texi (frexp): Document the bug.
20748
20749         Make cygwin fseeko check more reliable.
20750         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
20751         version numbers, rather than unrelated feature check.
20752         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
20753         * doc/functions/ftello.texi (ftello): Likewise.
20754         Reported by Bruno Haible.
20755
20756         * m4/strerror.m4: Bump version number.
20757
20758 2007-12-03  Bruno Haible  <bruno@clisp.org>
20759
20760         * doc/functions/mprotect.texi: Mention the mingw problem.
20761
20762 2007-12-03  Eric Blake  <ebb9@byu.net>
20763
20764         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
20765         REPLACE_STRERROR is initialized before this macro.
20766
20767 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
20768
20769         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
20770         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
20771         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
20772         put -lsec in even for programs other than 'ls'.  This fixes a problem
20773         for gettext reported by Bruno Haible in
20774         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
20775         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
20776         Add support for Solaris 10.  This isn't efficient, but should get the
20777         job done for now.
20778
20779 2007-12-03  James Youngman  <jay@gnu.org>
20780
20781         * doc/regexprops-generic.texi: change "an close-group" to "a
20782         close-group" and "illegal" to "not allowed".
20783
20784 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20785
20786         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
20787         pr_byname.h. Needed for the rare case when the maintainer has done
20788         "make maintainer-clean" in the source directory and then attempts a
20789         build outside the source directory.
20790         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
20791         scripts_byname.h.
20792
20793 2007-12-02  Martin Lambers <marlam@marlam.de>
20794             Bruno Haible  <bruno@clisp.org>
20795
20796         * lib/getpagesize.h: Remove file.
20797         * lib/unistd.in.h: Include declaration of getpagesize here.
20798         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
20799         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
20800         HAVE_SYS_PARAM_H.
20801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
20802         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20803         * modules/getpagesize (Files): Remove lib/getpagesize.h.
20804         (Depends-on): Add unistd.
20805         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20806         (Include): Use <unistd.h> instead of getpagesize.h.
20807         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
20808         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20809         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
20810         gl_GETPAGESIZE invocation, already handled by module dependency.
20811         * lib/pagealign_alloc.c: Don't include getpagesize.h.
20812
20813 2007-12-02  Bruno Haible  <bruno@clisp.org>
20814
20815         * modules/strings-tests: New file.
20816         * tests/test-strings.c: New file.
20817
20818         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
20819         * lib/strings.in.h: New file.
20820         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
20821         * m4/strings_h.m4: New file.
20822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
20823         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
20824         * modules/strings: New file.
20825         * modules/string (Makefile.am): Update.
20826         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
20827         Reported by Karl Berry.
20828
20829 2007-12-01  Eric Blake  <ebb9@byu.net>
20830
20831         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
20832         accomodate fix in cygwin 1.5.25.
20833
20834 2007-12-01  Jim Meyering  <meyering@redhat.com>
20835
20836         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
20837         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
20838         that would inhibit utf8-optimization of a regexp containing line-
20839         or buffer-anchors, e.g., `^', `$'.
20840
20841 2007-11-30  Bruno Haible  <bruno@clisp.org>
20842
20843         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
20844         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
20845         glthread_recursive_lock_init.
20846         * lib/lock.c (glthread_recursive_lock_init)
20847         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
20848         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20849
20850 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20851
20852         New function qset_acl, like set_acl but with syscall semantics.
20853         * lib/acl.h (qset_acl): New decl.
20854         * lib/acl.c (qset_acl): New function.
20855         (set_acl): Use new function.  Use more-consistent diagnostics.
20856
20857 2007-11-28  Jim Meyering  <meyering@redhat.com>
20858
20859         * modules/physmem (License): Change from GPL to LGPLv2+.
20860
20861 2007-11-26  Bruno Haible  <bruno@clisp.org>
20862
20863         * lib/vasnprintf.c (decode_long_double): Don't abort if the
20864         'long double' type has excess precision.
20865         Reported by Jim Meyering in
20866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
20867
20868 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20869
20870         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
20871         Sync from <http://gnu.org/licenses>.
20872         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
20873         with license text from same location.
20874         * doc/maintain.texi, doc/standards.texi:  Sync from
20875         <http://savannah.gnu.org/projects/gnustandards>.
20876
20877 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
20878         and Jim Meyering  <meyering@redhat.com>
20879
20880         Adjust getdate' grammar to accept a slightly more regular language.
20881         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
20882         Before, the former was rejected.
20883         * lib/getdate.y (digits_to_date_time): New function, factored
20884         out of ...
20885         (number): ...here.  Just call digits_to_date_time.
20886         (hybrid): New non-terminal to handle an <unsigned number,
20887         signed relative offset> sequence consistently.
20888
20889 2007-11-18  Jim Meyering  <meyering@redhat.com>
20890
20891         Pull my changes from coreutils:
20892         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
20893         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
20894         use of $gnulib_tool_option_extras, so that it's separated from the
20895         preceding argument.
20896
20897         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
20898         * build-aux/bootstrap (cp_mark_as_generated): Create any required
20899         parent destination directories before copying a file into place.
20900
20901 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
20902
20903         bootstrap: work also with 4-argument variant of AC_INIT
20904         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
20905
20906 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
20907
20908         Port test-getaddrinfo to Solaris.
20909         Problem reported by Bruno Haible in
20910         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
20911         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
20912         explanation of setting 'hints'.
20913         Don't reject an implementation merely because it returns EAI_SERVICE.
20914         (EAI_SERVICE): Define to 0 if not defined.
20915
20916 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20917
20918         The license of gnu-make and posix-shell is now "GPLed build tool".
20919         * modules/gnu-make (License): Likewise.
20920         * modules/posix-shell (License): Likewise.
20921
20922         New module posix-shell, for determining a POSIX shell
20923         or perhaps something that is close enough to a POSIX shell.
20924         * m4/posix-shell.m4: New file.
20925         * modules/posix-shell: New file.
20926
20927         * MODULES.html.sh: Mention new module.
20928
20929         New module gnu-make, for determining whether we're using GNU Make.
20930         * m4/gnu-make.m4: New file.
20931         * modules/gnu-make: New file.
20932         * MODULES.html.sh: Mention new module.
20933
20934 2007-11-14  Jim Meyering  <meyering@redhat.com>
20935
20936         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
20937         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
20938         use this macro to create a function _definition_.
20939         Remove useless "#undef ARGMATCH_DIE".
20940
20941 2007-11-14  Bruno Haible  <bruno@clisp.org>
20942
20943         * lib/config.charset: Update for OpenBSD 4.1.
20944         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
20945
20946 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
20947
20948         Document 64-bit #if problems in stdint.texi.
20949         * doc/headers/stdint.texi (stdint.h): Mention problems with
20950         64-bit-#if, and how to work around them.
20951
20952         Don't insist on 'long long int' support in the preprocessor.  It
20953         breaks too many things.  For example, PRIdMAX still uses a 'long
20954         long int' format with the latest Sun compiler, even though
20955         HAVE_LONG_LONG_INT isn't defined due to that compiler's
20956         preprocessor problem.  This causes the latest coreutils to dump
20957         core on Solaris 10 sparc with the Sun C compiler.
20958         Instead, fix the 2007-10-16 problem in a different way, by evaluating
20959         the troublesome expressions at configure-time, not at #if-time.
20960         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
20961         preprocessor.
20962         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
20963         compile-time C checks, done at 'configure'-time.
20964         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
20965         * modules/inttypes (Makefile): Substitute the new symbols that
20966         gl_INTTYPES_H now generates.
20967         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
20968
20969 2007-11-12  Bruno Haible  <bruno@clisp.org>
20970
20971         Tests for Unicode character classification functions.
20972
20973         * modules/unictype/bidicategory-byname-tests: New file.
20974         * modules/unictype/bidicategory-name-tests: New file.
20975         * modules/unictype/bidicategory-of-tests: New file.
20976         * modules/unictype/bidicategory-test-tests: New file.
20977         * modules/unictype/block-list-tests: New file.
20978         * modules/unictype/block-of-tests: New file.
20979         * modules/unictype/block-test-tests: New file.
20980         * modules/unictype/category-C-tests: New file.
20981         * modules/unictype/category-Cc-tests: New file.
20982         * modules/unictype/category-Cf-tests: New file.
20983         * modules/unictype/category-Cn-tests: New file.
20984         * modules/unictype/category-Co-tests: New file.
20985         * modules/unictype/category-Cs-tests: New file.
20986         * modules/unictype/category-L-tests: New file.
20987         * modules/unictype/category-Ll-tests: New file.
20988         * modules/unictype/category-Lm-tests: New file.
20989         * modules/unictype/category-Lo-tests: New file.
20990         * modules/unictype/category-Lt-tests: New file.
20991         * modules/unictype/category-Lu-tests: New file.
20992         * modules/unictype/category-M-tests: New file.
20993         * modules/unictype/category-Mc-tests: New file.
20994         * modules/unictype/category-Me-tests: New file.
20995         * modules/unictype/category-Mn-tests: New file.
20996         * modules/unictype/category-N-tests: New file.
20997         * modules/unictype/category-Nd-tests: New file.
20998         * modules/unictype/category-Nl-tests: New file.
20999         * modules/unictype/category-No-tests: New file.
21000         * modules/unictype/category-P-tests: New file.
21001         * modules/unictype/category-Pc-tests: New file.
21002         * modules/unictype/category-Pd-tests: New file.
21003         * modules/unictype/category-Pe-tests: New file.
21004         * modules/unictype/category-Pf-tests: New file.
21005         * modules/unictype/category-Pi-tests: New file.
21006         * modules/unictype/category-Po-tests: New file.
21007         * modules/unictype/category-Ps-tests: New file.
21008         * modules/unictype/category-S-tests: New file.
21009         * modules/unictype/category-Sc-tests: New file.
21010         * modules/unictype/category-Sk-tests: New file.
21011         * modules/unictype/category-Sm-tests: New file.
21012         * modules/unictype/category-So-tests: New file.
21013         * modules/unictype/category-Z-tests: New file.
21014         * modules/unictype/category-Zl-tests: New file.
21015         * modules/unictype/category-Zp-tests: New file.
21016         * modules/unictype/category-Zs-tests: New file.
21017         * modules/unictype/category-and-not-tests: New file.
21018         * modules/unictype/category-and-tests: New file.
21019         * modules/unictype/category-byname-tests: New file.
21020         * modules/unictype/category-name-tests: New file.
21021         * modules/unictype/category-none-tests: New file.
21022         * modules/unictype/category-of-tests: New file.
21023         * modules/unictype/category-or-tests: New file.
21024         * modules/unictype/category-test-withtable-tests: New file.
21025         * modules/unictype/combining-class-tests: New file.
21026         * modules/unictype/ctype-alnum-tests: New file.
21027         * modules/unictype/ctype-alpha-tests: New file.
21028         * modules/unictype/ctype-blank-tests: New file.
21029         * modules/unictype/ctype-cntrl-tests: New file.
21030         * modules/unictype/ctype-digit-tests: New file.
21031         * modules/unictype/ctype-graph-tests: New file.
21032         * modules/unictype/ctype-lower-tests: New file.
21033         * modules/unictype/ctype-print-tests: New file.
21034         * modules/unictype/ctype-punct-tests: New file.
21035         * modules/unictype/ctype-space-tests: New file.
21036         * modules/unictype/ctype-upper-tests: New file.
21037         * modules/unictype/ctype-xdigit-tests: New file.
21038         * modules/unictype/decimal-digit-tests: New file.
21039         * modules/unictype/digit-tests: New file.
21040         * modules/unictype/mirror-tests: New file.
21041         * modules/unictype/numeric-tests: New file.
21042         * modules/unictype/property-alphabetic-tests: New file.
21043         * modules/unictype/property-ascii-hex-digit-tests: New file.
21044         * modules/unictype/property-bidi-arabic-digit-tests: New file.
21045         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
21046         * modules/unictype/property-bidi-block-separator-tests: New file.
21047         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
21048         * modules/unictype/property-bidi-common-separator-tests: New file.
21049         * modules/unictype/property-bidi-control-tests: New file.
21050         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
21051         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
21052         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
21053         * modules/unictype/property-bidi-european-digit-tests: New file.
21054         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
21055         * modules/unictype/property-bidi-left-to-right-tests: New file.
21056         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
21057         * modules/unictype/property-bidi-other-neutral-tests: New file.
21058         * modules/unictype/property-bidi-pdf-tests: New file.
21059         * modules/unictype/property-bidi-segment-separator-tests: New file.
21060         * modules/unictype/property-bidi-whitespace-tests: New file.
21061         * modules/unictype/property-byname-tests: New file.
21062         * modules/unictype/property-combining-tests: New file.
21063         * modules/unictype/property-composite-tests: New file.
21064         * modules/unictype/property-currency-symbol-tests: New file.
21065         * modules/unictype/property-dash-tests: New file.
21066         * modules/unictype/property-decimal-digit-tests: New file.
21067         * modules/unictype/property-default-ignorable-code-point-tests: New file.
21068         * modules/unictype/property-deprecated-tests: New file.
21069         * modules/unictype/property-diacritic-tests: New file.
21070         * modules/unictype/property-extender-tests: New file.
21071         * modules/unictype/property-format-control-tests: New file.
21072         * modules/unictype/property-grapheme-base-tests: New file.
21073         * modules/unictype/property-grapheme-extend-tests: New file.
21074         * modules/unictype/property-grapheme-link-tests: New file.
21075         * modules/unictype/property-hex-digit-tests: New file.
21076         * modules/unictype/property-hyphen-tests: New file.
21077         * modules/unictype/property-id-continue-tests: New file.
21078         * modules/unictype/property-id-start-tests: New file.
21079         * modules/unictype/property-ideographic-tests: New file.
21080         * modules/unictype/property-ids-binary-operator-tests: New file.
21081         * modules/unictype/property-ids-trinary-operator-tests: New file.
21082         * modules/unictype/property-ignorable-control-tests: New file.
21083         * modules/unictype/property-iso-control-tests: New file.
21084         * modules/unictype/property-join-control-tests: New file.
21085         * modules/unictype/property-left-of-pair-tests: New file.
21086         * modules/unictype/property-line-separator-tests: New file.
21087         * modules/unictype/property-logical-order-exception-tests: New file.
21088         * modules/unictype/property-lowercase-tests: New file.
21089         * modules/unictype/property-math-tests: New file.
21090         * modules/unictype/property-non-break-tests: New file.
21091         * modules/unictype/property-not-a-character-tests: New file.
21092         * modules/unictype/property-numeric-tests: New file.
21093         * modules/unictype/property-other-alphabetic-tests: New file.
21094         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
21095         * modules/unictype/property-other-grapheme-extend-tests: New file.
21096         * modules/unictype/property-other-id-continue-tests: New file.
21097         * modules/unictype/property-other-id-start-tests: New file.
21098         * modules/unictype/property-other-lowercase-tests: New file.
21099         * modules/unictype/property-other-math-tests: New file.
21100         * modules/unictype/property-other-uppercase-tests: New file.
21101         * modules/unictype/property-paired-punctuation-tests: New file.
21102         * modules/unictype/property-paragraph-separator-tests: New file.
21103         * modules/unictype/property-pattern-syntax-tests: New file.
21104         * modules/unictype/property-pattern-white-space-tests: New file.
21105         * modules/unictype/property-private-use-tests: New file.
21106         * modules/unictype/property-punctuation-tests: New file.
21107         * modules/unictype/property-quotation-mark-tests: New file.
21108         * modules/unictype/property-radical-tests: New file.
21109         * modules/unictype/property-sentence-terminal-tests: New file.
21110         * modules/unictype/property-soft-dotted-tests: New file.
21111         * modules/unictype/property-space-tests: New file.
21112         * modules/unictype/property-terminal-punctuation-tests: New file.
21113         * modules/unictype/property-test-tests: New file.
21114         * modules/unictype/property-titlecase-tests: New file.
21115         * modules/unictype/property-unassigned-code-value-tests: New file.
21116         * modules/unictype/property-unified-ideograph-tests: New file.
21117         * modules/unictype/property-uppercase-tests: New file.
21118         * modules/unictype/property-variation-selector-tests: New file.
21119         * modules/unictype/property-white-space-tests: New file.
21120         * modules/unictype/property-xid-continue-tests: New file.
21121         * modules/unictype/property-xid-start-tests: New file.
21122         * modules/unictype/property-zero-width-tests: New file.
21123         * modules/unictype/scripts-tests: New file.
21124         * modules/unictype/syntax-c-ident-tests: New file.
21125         * modules/unictype/syntax-c-whitespace-tests: New file.
21126         * modules/unictype/syntax-java-ident-tests: New file.
21127         * modules/unictype/syntax-java-whitespace-tests: New file.
21128         * tests/unictype/test-bidi_byname.c: New file.
21129         * tests/unictype/test-bidi_name.c: New file.
21130         * tests/unictype/test-bidi_of.c: New file.
21131         * tests/unictype/test-bidi_test.c: New file.
21132         * tests/unictype/test-block_list.c: New file.
21133         * tests/unictype/test-block_of.c: New file.
21134         * tests/unictype/test-block_test.c: New file.
21135         * tests/unictype/test-categ_and.c: New file.
21136         * tests/unictype/test-categ_and_not.c: New file.
21137         * tests/unictype/test-categ_byname.c: New file.
21138         * tests/unictype/test-categ_name.c: New file.
21139         * tests/unictype/test-categ_none.c: New file.
21140         * tests/unictype/test-categ_of.c: New file.
21141         * tests/unictype/test-categ_or.c: New file.
21142         * tests/unictype/test-categ_test_withtable.c: New file.
21143         * tests/unictype/test-combining.c: New file.
21144         * tests/unictype/test-decdigit.c: New file.
21145         * tests/unictype/test-digit.c: New file.
21146         * tests/unictype/test-mirror.c: New file.
21147         * tests/unictype/test-numeric.c: New file.
21148         * tests/unictype/test-pr_byname.c: New file.
21149         * tests/unictype/test-pr_test.c: New file.
21150         * tests/unictype/test-predicate-part1.h: New file.
21151         * tests/unictype/test-predicate-part2.h: New file.
21152         * tests/unictype/test-scripts.c: New file.
21153         * tests/unictype/test-sy_c_ident.c: New file.
21154         * tests/unictype/test-sy_java_ident.c: New file.
21155
21156         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
21157         for Unicode 5.0.0.
21158         * tests/unictype/test-categ_Cc.c: Likewise.
21159         * tests/unictype/test-categ_Cf.c: Likewise.
21160         * tests/unictype/test-categ_Cn.c: Likewise.
21161         * tests/unictype/test-categ_Co.c: Likewise.
21162         * tests/unictype/test-categ_Cs.c: Likewise.
21163         * tests/unictype/test-categ_L.c: Likewise.
21164         * tests/unictype/test-categ_Ll.c: Likewise.
21165         * tests/unictype/test-categ_Lm.c: Likewise.
21166         * tests/unictype/test-categ_Lo.c: Likewise.
21167         * tests/unictype/test-categ_Lt.c: Likewise.
21168         * tests/unictype/test-categ_Lu.c: Likewise.
21169         * tests/unictype/test-categ_M.c: Likewise.
21170         * tests/unictype/test-categ_Mc.c: Likewise.
21171         * tests/unictype/test-categ_Me.c: Likewise.
21172         * tests/unictype/test-categ_Mn.c: Likewise.
21173         * tests/unictype/test-categ_N.c: Likewise.
21174         * tests/unictype/test-categ_Nd.c: Likewise.
21175         * tests/unictype/test-categ_Nl.c: Likewise.
21176         * tests/unictype/test-categ_No.c: Likewise.
21177         * tests/unictype/test-categ_P.c: Likewise.
21178         * tests/unictype/test-categ_Pc.c: Likewise.
21179         * tests/unictype/test-categ_Pd.c: Likewise.
21180         * tests/unictype/test-categ_Pe.c: Likewise.
21181         * tests/unictype/test-categ_Pf.c: Likewise.
21182         * tests/unictype/test-categ_Pi.c: Likewise.
21183         * tests/unictype/test-categ_Po.c: Likewise.
21184         * tests/unictype/test-categ_Ps.c: Likewise.
21185         * tests/unictype/test-categ_S.c: Likewise.
21186         * tests/unictype/test-categ_Sc.c: Likewise.
21187         * tests/unictype/test-categ_Sk.c: Likewise.
21188         * tests/unictype/test-categ_Sm.c: Likewise.
21189         * tests/unictype/test-categ_So.c: Likewise.
21190         * tests/unictype/test-categ_Z.c: Likewise.
21191         * tests/unictype/test-categ_Zl.c: Likewise.
21192         * tests/unictype/test-categ_Zp.c: Likewise.
21193         * tests/unictype/test-categ_Zs.c: Likewise.
21194         * tests/unictype/test-ctype_alnum.c: Likewise.
21195         * tests/unictype/test-ctype_alpha.c: Likewise.
21196         * tests/unictype/test-ctype_blank.c: Likewise.
21197         * tests/unictype/test-ctype_cntrl.c: Likewise.
21198         * tests/unictype/test-ctype_digit.c: Likewise.
21199         * tests/unictype/test-ctype_graph.c: Likewise.
21200         * tests/unictype/test-ctype_lower.c: Likewise.
21201         * tests/unictype/test-ctype_print.c: Likewise.
21202         * tests/unictype/test-ctype_punct.c: Likewise.
21203         * tests/unictype/test-ctype_space.c: Likewise.
21204         * tests/unictype/test-ctype_upper.c: Likewise.
21205         * tests/unictype/test-ctype_xdigit.c: Likewise.
21206         * tests/unictype/test-decdigit.h: Likewise.
21207         * tests/unictype/test-digit.h: Likewise.
21208         * tests/unictype/test-numeric.h: Likewise.
21209         * tests/unictype/test-pr_alphabetic.c: Likewise.
21210         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
21211         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21212         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21213         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
21214         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21215         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
21216         * tests/unictype/test-pr_bidi_control.c: Likewise.
21217         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
21218         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
21219         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21220         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21221         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21222         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21223         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21224         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21225         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
21226         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
21227         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
21228         * tests/unictype/test-pr_combining.c: Likewise.
21229         * tests/unictype/test-pr_composite.c: Likewise.
21230         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21231         * tests/unictype/test-pr_dash.c: Likewise.
21232         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21233         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
21234         * tests/unictype/test-pr_deprecated.c: Likewise.
21235         * tests/unictype/test-pr_diacritic.c: Likewise.
21236         * tests/unictype/test-pr_extender.c: Likewise.
21237         * tests/unictype/test-pr_format_control.c: Likewise.
21238         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21239         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21240         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21241         * tests/unictype/test-pr_hex_digit.c: Likewise.
21242         * tests/unictype/test-pr_hyphen.c: Likewise.
21243         * tests/unictype/test-pr_id_continue.c: Likewise.
21244         * tests/unictype/test-pr_id_start.c: Likewise.
21245         * tests/unictype/test-pr_ideographic.c: Likewise.
21246         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
21247         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
21248         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21249         * tests/unictype/test-pr_iso_control.c: Likewise.
21250         * tests/unictype/test-pr_join_control.c: Likewise.
21251         * tests/unictype/test-pr_left_of_pair.c: Likewise.
21252         * tests/unictype/test-pr_line_separator.c: Likewise.
21253         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21254         * tests/unictype/test-pr_lowercase.c: Likewise.
21255         * tests/unictype/test-pr_math.c: Likewise.
21256         * tests/unictype/test-pr_non_break.c: Likewise.
21257         * tests/unictype/test-pr_not_a_character.c: Likewise.
21258         * tests/unictype/test-pr_numeric.c: Likewise.
21259         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21260         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
21261         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
21262         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21263         * tests/unictype/test-pr_other_id_start.c: Likewise.
21264         * tests/unictype/test-pr_other_lowercase.c: Likewise.
21265         * tests/unictype/test-pr_other_math.c: Likewise.
21266         * tests/unictype/test-pr_other_uppercase.c: Likewise.
21267         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
21268         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
21269         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
21270         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
21271         * tests/unictype/test-pr_private_use.c: Likewise.
21272         * tests/unictype/test-pr_punctuation.c: Likewise.
21273         * tests/unictype/test-pr_quotation_mark.c: Likewise.
21274         * tests/unictype/test-pr_radical.c: Likewise.
21275         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21276         * tests/unictype/test-pr_soft_dotted.c: Likewise.
21277         * tests/unictype/test-pr_space.c: Likewise.
21278         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21279         * tests/unictype/test-pr_titlecase.c: Likewise.
21280         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21281         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21282         * tests/unictype/test-pr_uppercase.c: Likewise.
21283         * tests/unictype/test-pr_variation_selector.c: Likewise.
21284         * tests/unictype/test-pr_white_space.c: Likewise.
21285         * tests/unictype/test-pr_xid_continue.c: Likewise.
21286         * tests/unictype/test-pr_xid_start.c: Likewise.
21287         * tests/unictype/test-pr_zero_width.c: Likewise.
21288         * tests/unictype/test-sy_c_whitespace.c: Likewise.
21289         * tests/unictype/test-sy_java_whitespace.c: Likewise.
21290
21291 2007-11-12  Bruno Haible  <bruno@clisp.org>
21292
21293         Unicode character classification functions.
21294         * lib/unictype.h: New file.
21295         * modules/unictype/base: New file.
21296         * modules/unictype/category-L: New file.
21297         * modules/unictype/category-Lu: New file.
21298         * modules/unictype/category-Ll: New file.
21299         * modules/unictype/category-Lt: New file.
21300         * modules/unictype/category-Lm: New file.
21301         * modules/unictype/category-Lo: New file.
21302         * modules/unictype/category-M: New file.
21303         * modules/unictype/category-Mn: New file.
21304         * modules/unictype/category-Mc: New file.
21305         * modules/unictype/category-Me: New file.
21306         * modules/unictype/category-N: New file.
21307         * modules/unictype/category-Nd: New file.
21308         * modules/unictype/category-Nl: New file.
21309         * modules/unictype/category-No: New file.
21310         * modules/unictype/category-P: New file.
21311         * modules/unictype/category-Pc: New file.
21312         * modules/unictype/category-Pd: New file.
21313         * modules/unictype/category-Ps: New file.
21314         * modules/unictype/category-Pe: New file.
21315         * modules/unictype/category-Pi: New file.
21316         * modules/unictype/category-Pf: New file.
21317         * modules/unictype/category-Po: New file.
21318         * modules/unictype/category-S: New file.
21319         * modules/unictype/category-Sm: New file.
21320         * modules/unictype/category-Sc: New file.
21321         * modules/unictype/category-Sk: New file.
21322         * modules/unictype/category-So: New file.
21323         * modules/unictype/category-Z: New file.
21324         * modules/unictype/category-Zs: New file.
21325         * modules/unictype/category-Zl: New file.
21326         * modules/unictype/category-Zp: New file.
21327         * modules/unictype/category-C: New file.
21328         * modules/unictype/category-Cc: New file.
21329         * modules/unictype/category-Cf: New file.
21330         * modules/unictype/category-Cs: New file.
21331         * modules/unictype/category-Co: New file.
21332         * modules/unictype/category-Cn: New file.
21333         * modules/unictype/category-or: New file.
21334         * modules/unictype/category-of: New file.
21335         * modules/unictype/category-test: New file.
21336         * modules/unictype/category-test-withtable: New file.
21337         * modules/unictype/category-byname: New file.
21338         * modules/unictype/category-none: New file.
21339         * modules/unictype/category-and: New file.
21340         * modules/unictype/category-and-not: New file.
21341         * modules/unictype/category-name: New file.
21342         * modules/unictype/combining-class: New file.
21343         * modules/unictype/category-all: New file.
21344         * modules/unictype/bidicategory-all: New file.
21345         * modules/unictype/bidicategory-byname: New file.
21346         * modules/unictype/bidicategory-name: New file.
21347         * modules/unictype/bidicategory-of: New file.
21348         * modules/unictype/bidicategory-test: New file.
21349         * modules/unictype/decimal-digit: New file.
21350         * modules/unictype/digit: New file.
21351         * modules/unictype/numeric: New file.
21352         * modules/unictype/mirror: New file.
21353         * modules/unictype/property-white-space: New file.
21354         * modules/unictype/property-alphabetic: New file.
21355         * modules/unictype/property-other-alphabetic: New file.
21356         * modules/unictype/property-not-a-character: New file.
21357         * modules/unictype/property-default-ignorable-code-point: New file.
21358         * modules/unictype/property-other-default-ignorable-code-point: New
21359         file.
21360         * modules/unictype/property-deprecated: New file.
21361         * modules/unictype/property-logical-order-exception: New file.
21362         * modules/unictype/property-variation-selector: New file.
21363         * modules/unictype/property-private-use: New file.
21364         * modules/unictype/property-unassigned-code-value: New file.
21365         * modules/unictype/property-uppercase: New file.
21366         * modules/unictype/property-other-uppercase: New file.
21367         * modules/unictype/property-lowercase: New file.
21368         * modules/unictype/property-other-lowercase: New file.
21369         * modules/unictype/property-titlecase: New file.
21370         * modules/unictype/property-soft-dotted: New file.
21371         * modules/unictype/property-id-start: New file.
21372         * modules/unictype/property-other-id-start: New file.
21373         * modules/unictype/property-id-continue: New file.
21374         * modules/unictype/property-other-id-continue: New file.
21375         * modules/unictype/property-xid-start: New file.
21376         * modules/unictype/property-xid-continue: New file.
21377         * modules/unictype/property-pattern-white-space: New file.
21378         * modules/unictype/property-pattern-syntax: New file.
21379         * modules/unictype/property-join-control: New file.
21380         * modules/unictype/property-grapheme-base: New file.
21381         * modules/unictype/property-grapheme-extend: New file.
21382         * modules/unictype/property-other-grapheme-extend: New file.
21383         * modules/unictype/property-grapheme-link: New file.
21384         * modules/unictype/property-bidi-control: New file.
21385         * modules/unictype/property-bidi-left-to-right: New file.
21386         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
21387         * modules/unictype/property-bidi-arabic-right-to-left: New file.
21388         * modules/unictype/property-bidi-european-digit: New file.
21389         * modules/unictype/property-bidi-eur-num-separator: New file.
21390         * modules/unictype/property-bidi-eur-num-terminator: New file.
21391         * modules/unictype/property-bidi-arabic-digit: New file.
21392         * modules/unictype/property-bidi-common-separator: New file.
21393         * modules/unictype/property-bidi-block-separator: New file.
21394         * modules/unictype/property-bidi-segment-separator: New file.
21395         * modules/unictype/property-bidi-whitespace: New file.
21396         * modules/unictype/property-bidi-non-spacing-mark: New file.
21397         * modules/unictype/property-bidi-boundary-neutral: New file.
21398         * modules/unictype/property-bidi-pdf: New file.
21399         * modules/unictype/property-bidi-embedding-or-override: New file.
21400         * modules/unictype/property-bidi-other-neutral: New file.
21401         * modules/unictype/property-hex-digit: New file.
21402         * modules/unictype/property-ascii-hex-digit: New file.
21403         * modules/unictype/property-ideographic: New file.
21404         * modules/unictype/property-unified-ideograph: New file.
21405         * modules/unictype/property-radical: New file.
21406         * modules/unictype/property-ids-binary-operator: New file.
21407         * modules/unictype/property-ids-trinary-operator: New file.
21408         * modules/unictype/property-zero-width: New file.
21409         * modules/unictype/property-space: New file.
21410         * modules/unictype/property-non-break: New file.
21411         * modules/unictype/property-iso-control: New file.
21412         * modules/unictype/property-format-control: New file.
21413         * modules/unictype/property-dash: New file.
21414         * modules/unictype/property-hyphen: New file.
21415         * modules/unictype/property-punctuation: New file.
21416         * modules/unictype/property-line-separator: New file.
21417         * modules/unictype/property-paragraph-separator: New file.
21418         * modules/unictype/property-quotation-mark: New file.
21419         * modules/unictype/property-sentence-terminal: New file.
21420         * modules/unictype/property-terminal-punctuation: New file.
21421         * modules/unictype/property-currency-symbol: New file.
21422         * modules/unictype/property-math: New file.
21423         * modules/unictype/property-other-math: New file.
21424         * modules/unictype/property-paired-punctuation: New file.
21425         * modules/unictype/property-left-of-pair: New file.
21426         * modules/unictype/property-combining: New file.
21427         * modules/unictype/property-composite: New file.
21428         * modules/unictype/property-decimal-digit: New file.
21429         * modules/unictype/property-numeric: New file.
21430         * modules/unictype/property-diacritic: New file.
21431         * modules/unictype/property-extender: New file.
21432         * modules/unictype/property-ignorable-control: New file.
21433         * modules/unictype/property-test: New file.
21434         * modules/unictype/property-byname: New file.
21435         * modules/unictype/property-all: New file.
21436         * modules/unictype/scripts: New file.
21437         * modules/unictype/scripts-all: New file.
21438         * modules/unictype/block-of: New file.
21439         * modules/unictype/block-test: New file.
21440         * modules/unictype/block-list: New file.
21441         * modules/unictype/block-all: New file.
21442         * modules/unictype/syntax-c-whitespace: New file.
21443         * modules/unictype/syntax-java-whitespace: New file.
21444         * modules/unictype/syntax-c-ident: New file.
21445         * modules/unictype/syntax-java-ident: New file.
21446         * modules/unictype/ctype-alnum: New file.
21447         * modules/unictype/ctype-alpha: New file.
21448         * modules/unictype/ctype-cntrl: New file.
21449         * modules/unictype/ctype-digit: New file.
21450         * modules/unictype/ctype-graph: New file.
21451         * modules/unictype/ctype-lower: New file.
21452         * modules/unictype/ctype-print: New file.
21453         * modules/unictype/ctype-punct: New file.
21454         * modules/unictype/ctype-space: New file.
21455         * modules/unictype/ctype-upper: New file.
21456         * modules/unictype/ctype-xdigit: New file.
21457         * modules/unictype/ctype-blank: New file.
21458         * lib/unictype/bidi_byname.c: New file.
21459         * lib/unictype/bidi_name.c: New file.
21460         * lib/unictype/bidi_of.c: New file.
21461         * lib/unictype/bidi_test.c: New file.
21462         * lib/unictype/bitmap.h: New file.
21463         * lib/unictype/block_test.c: New file.
21464         * lib/unictype/blocks.c: New file.
21465         * lib/unictype/categ_C.c: New file.
21466         * lib/unictype/categ_Cc.c: New file.
21467         * lib/unictype/categ_Cf.c: New file.
21468         * lib/unictype/categ_Cn.c: New file.
21469         * lib/unictype/categ_Co.c: New file.
21470         * lib/unictype/categ_Cs.c: New file.
21471         * lib/unictype/categ_L.c: New file.
21472         * lib/unictype/categ_Ll.c: New file.
21473         * lib/unictype/categ_Lm.c: New file.
21474         * lib/unictype/categ_Lo.c: New file.
21475         * lib/unictype/categ_Lt.c: New file.
21476         * lib/unictype/categ_Lu.c: New file.
21477         * lib/unictype/categ_M.c: New file.
21478         * lib/unictype/categ_Mc.c: New file.
21479         * lib/unictype/categ_Me.c: New file.
21480         * lib/unictype/categ_Mn.c: New file.
21481         * lib/unictype/categ_N.c: New file.
21482         * lib/unictype/categ_Nd.c: New file.
21483         * lib/unictype/categ_Nl.c: New file.
21484         * lib/unictype/categ_No.c: New file.
21485         * lib/unictype/categ_P.c: New file.
21486         * lib/unictype/categ_Pc.c: New file.
21487         * lib/unictype/categ_Pd.c: New file.
21488         * lib/unictype/categ_Pe.c: New file.
21489         * lib/unictype/categ_Pf.c: New file.
21490         * lib/unictype/categ_Pi.c: New file.
21491         * lib/unictype/categ_Po.c: New file.
21492         * lib/unictype/categ_Ps.c: New file.
21493         * lib/unictype/categ_S.c: New file.
21494         * lib/unictype/categ_Sc.c: New file.
21495         * lib/unictype/categ_Sk.c: New file.
21496         * lib/unictype/categ_Sm.c: New file.
21497         * lib/unictype/categ_So.c: New file.
21498         * lib/unictype/categ_Z.c: New file.
21499         * lib/unictype/categ_Zl.c: New file.
21500         * lib/unictype/categ_Zp.c: New file.
21501         * lib/unictype/categ_Zs.c: New file.
21502         * lib/unictype/categ_and.c: New file.
21503         * lib/unictype/categ_and_not.c: New file.
21504         * lib/unictype/categ_byname.c: New file.
21505         * lib/unictype/categ_name.c: New file.
21506         * lib/unictype/categ_none.c: New file.
21507         * lib/unictype/categ_of.c: New file.
21508         * lib/unictype/categ_or.c: New file.
21509         * lib/unictype/categ_test.c: New file.
21510         * lib/unictype/combining.c: New file.
21511         * lib/unictype/ctype_alnum.c: New file.
21512         * lib/unictype/ctype_alpha.c: New file.
21513         * lib/unictype/ctype_blank.c: New file.
21514         * lib/unictype/ctype_cntrl.c: New file.
21515         * lib/unictype/ctype_digit.c: New file.
21516         * lib/unictype/ctype_graph.c: New file.
21517         * lib/unictype/ctype_lower.c: New file.
21518         * lib/unictype/ctype_print.c: New file.
21519         * lib/unictype/ctype_punct.c: New file.
21520         * lib/unictype/ctype_space.c: New file.
21521         * lib/unictype/ctype_upper.c: New file.
21522         * lib/unictype/ctype_xdigit.c: New file.
21523         * lib/unictype/decdigit.c: New file.
21524         * lib/unictype/digit.c: New file.
21525         * lib/unictype/identsyntaxmap.h: New file.
21526         * lib/unictype/mirror.c: New file.
21527         * lib/unictype/numeric.c: New file.
21528         * lib/unictype/pr_alphabetic.c: New file.
21529         * lib/unictype/pr_ascii_hex_digit.c: New file.
21530         * lib/unictype/pr_bidi_arabic_digit.c: New file.
21531         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
21532         * lib/unictype/pr_bidi_block_separator.c: New file.
21533         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
21534         * lib/unictype/pr_bidi_common_separator.c: New file.
21535         * lib/unictype/pr_bidi_control.c: New file.
21536         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
21537         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
21538         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
21539         * lib/unictype/pr_bidi_european_digit.c: New file.
21540         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
21541         * lib/unictype/pr_bidi_left_to_right.c: New file.
21542         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
21543         * lib/unictype/pr_bidi_other_neutral.c: New file.
21544         * lib/unictype/pr_bidi_pdf.c: New file.
21545         * lib/unictype/pr_bidi_segment_separator.c: New file.
21546         * lib/unictype/pr_bidi_whitespace.c: New file.
21547         * lib/unictype/pr_byname.c: New file.
21548         * lib/unictype/pr_byname.gperf: New file.
21549         * lib/unictype/pr_combining.c: New file.
21550         * lib/unictype/pr_composite.c: New file.
21551         * lib/unictype/pr_currency_symbol.c: New file.
21552         * lib/unictype/pr_dash.c: New file.
21553         * lib/unictype/pr_decimal_digit.c: New file.
21554         * lib/unictype/pr_default_ignorable_code_point.c: New file.
21555         * lib/unictype/pr_deprecated.c: New file.
21556         * lib/unictype/pr_diacritic.c: New file.
21557         * lib/unictype/pr_extender.c: New file.
21558         * lib/unictype/pr_format_control.c: New file.
21559         * lib/unictype/pr_grapheme_base.c: New file.
21560         * lib/unictype/pr_grapheme_extend.c: New file.
21561         * lib/unictype/pr_grapheme_link.c: New file.
21562         * lib/unictype/pr_hex_digit.c: New file.
21563         * lib/unictype/pr_hyphen.c: New file.
21564         * lib/unictype/pr_id_continue.c: New file.
21565         * lib/unictype/pr_id_start.c: New file.
21566         * lib/unictype/pr_ideographic.c: New file.
21567         * lib/unictype/pr_ids_binary_operator.c: New file.
21568         * lib/unictype/pr_ids_trinary_operator.c: New file.
21569         * lib/unictype/pr_ignorable_control.c: New file.
21570         * lib/unictype/pr_iso_control.c: New file.
21571         * lib/unictype/pr_join_control.c: New file.
21572         * lib/unictype/pr_left_of_pair.c: New file.
21573         * lib/unictype/pr_line_separator.c: New file.
21574         * lib/unictype/pr_logical_order_exception.c: New file.
21575         * lib/unictype/pr_lowercase.c: New file.
21576         * lib/unictype/pr_math.c: New file.
21577         * lib/unictype/pr_non_break.c: New file.
21578         * lib/unictype/pr_not_a_character.c: New file.
21579         * lib/unictype/pr_numeric.c: New file.
21580         * lib/unictype/pr_other_alphabetic.c: New file.
21581         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
21582         * lib/unictype/pr_other_grapheme_extend.c: New file.
21583         * lib/unictype/pr_other_id_continue.c: New file.
21584         * lib/unictype/pr_other_id_start.c: New file.
21585         * lib/unictype/pr_other_lowercase.c: New file.
21586         * lib/unictype/pr_other_math.c: New file.
21587         * lib/unictype/pr_other_uppercase.c: New file.
21588         * lib/unictype/pr_paired_punctuation.c: New file.
21589         * lib/unictype/pr_paragraph_separator.c: New file.
21590         * lib/unictype/pr_pattern_syntax.c: New file.
21591         * lib/unictype/pr_pattern_white_space.c: New file.
21592         * lib/unictype/pr_private_use.c: New file.
21593         * lib/unictype/pr_punctuation.c: New file.
21594         * lib/unictype/pr_quotation_mark.c: New file.
21595         * lib/unictype/pr_radical.c: New file.
21596         * lib/unictype/pr_sentence_terminal.c: New file.
21597         * lib/unictype/pr_soft_dotted.c: New file.
21598         * lib/unictype/pr_space.c: New file.
21599         * lib/unictype/pr_terminal_punctuation.c: New file.
21600         * lib/unictype/pr_test.c: New file.
21601         * lib/unictype/pr_titlecase.c: New file.
21602         * lib/unictype/pr_unassigned_code_value.c: New file.
21603         * lib/unictype/pr_unified_ideograph.c: New file.
21604         * lib/unictype/pr_uppercase.c: New file.
21605         * lib/unictype/pr_variation_selector.c: New file.
21606         * lib/unictype/pr_white_space.c: New file.
21607         * lib/unictype/pr_xid_continue.c: New file.
21608         * lib/unictype/pr_xid_start.c: New file.
21609         * lib/unictype/pr_zero_width.c: New file.
21610         * lib/unictype/scripts.c: New file.
21611         * lib/unictype/sy_c_ident.c: New file.
21612         * lib/unictype/sy_c_whitespace.c: New file.
21613         * lib/unictype/sy_java_ident.c: New file.
21614         * lib/unictype/sy_java_whitespace.c: New file.
21615
21616         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
21617         Unicode 5.0.0.
21618         * lib/unictype/blocks.h: Likewise.
21619         * lib/unictype/categ_C.h: Likewise.
21620         * lib/unictype/categ_Cc.h: Likewise.
21621         * lib/unictype/categ_Cf.h: Likewise.
21622         * lib/unictype/categ_Cn.h: Likewise.
21623         * lib/unictype/categ_Co.h: Likewise.
21624         * lib/unictype/categ_Cs.h: Likewise.
21625         * lib/unictype/categ_L.h: Likewise.
21626         * lib/unictype/categ_Ll.h: Likewise.
21627         * lib/unictype/categ_Lm.h: Likewise.
21628         * lib/unictype/categ_Lo.h: Likewise.
21629         * lib/unictype/categ_Lt.h: Likewise.
21630         * lib/unictype/categ_Lu.h: Likewise.
21631         * lib/unictype/categ_M.h: Likewise.
21632         * lib/unictype/categ_Mc.h: Likewise.
21633         * lib/unictype/categ_Me.h: Likewise.
21634         * lib/unictype/categ_Mn.h: Likewise.
21635         * lib/unictype/categ_N.h: Likewise.
21636         * lib/unictype/categ_Nd.h: Likewise.
21637         * lib/unictype/categ_Nl.h: Likewise.
21638         * lib/unictype/categ_No.h: Likewise.
21639         * lib/unictype/categ_P.h: Likewise.
21640         * lib/unictype/categ_Pc.h: Likewise.
21641         * lib/unictype/categ_Pd.h: Likewise.
21642         * lib/unictype/categ_Pe.h: Likewise.
21643         * lib/unictype/categ_Pf.h: Likewise.
21644         * lib/unictype/categ_Pi.h: Likewise.
21645         * lib/unictype/categ_Po.h: Likewise.
21646         * lib/unictype/categ_Ps.h: Likewise.
21647         * lib/unictype/categ_S.h: Likewise.
21648         * lib/unictype/categ_Sc.h: Likewise.
21649         * lib/unictype/categ_Sk.h: Likewise.
21650         * lib/unictype/categ_Sm.h: Likewise.
21651         * lib/unictype/categ_So.h: Likewise.
21652         * lib/unictype/categ_Z.h: Likewise.
21653         * lib/unictype/categ_Zl.h: Likewise.
21654         * lib/unictype/categ_Zp.h: Likewise.
21655         * lib/unictype/categ_Zs.h: Likewise.
21656         * lib/unictype/categ_of.h: Likewise.
21657         * lib/unictype/combining.h: Likewise.
21658         * lib/unictype/ctype_alnum.h: Likewise.
21659         * lib/unictype/ctype_alpha.h: Likewise.
21660         * lib/unictype/ctype_blank.h: Likewise.
21661         * lib/unictype/ctype_cntrl.h: Likewise.
21662         * lib/unictype/ctype_digit.h: Likewise.
21663         * lib/unictype/ctype_graph.h: Likewise.
21664         * lib/unictype/ctype_lower.h: Likewise.
21665         * lib/unictype/ctype_print.h: Likewise.
21666         * lib/unictype/ctype_punct.h: Likewise.
21667         * lib/unictype/ctype_space.h: Likewise.
21668         * lib/unictype/ctype_upper.h: Likewise.
21669         * lib/unictype/ctype_xdigit.h: Likewise.
21670         * lib/unictype/decdigit.h: Likewise.
21671         * lib/unictype/digit.h: Likewise.
21672         * lib/unictype/mirror.h: Likewise.
21673         * lib/unictype/numeric.h: Likewise.
21674         * lib/unictype/pr_alphabetic.h: Likewise.
21675         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21676         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21677         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21678         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21679         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21680         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21681         * lib/unictype/pr_bidi_control.h: Likewise.
21682         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21683         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21684         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21685         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21686         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21687         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21688         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21689         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21690         * lib/unictype/pr_bidi_pdf.h: Likewise.
21691         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21692         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21693         * lib/unictype/pr_combining.h: Likewise.
21694         * lib/unictype/pr_composite.h: Likewise.
21695         * lib/unictype/pr_currency_symbol.h: Likewise.
21696         * lib/unictype/pr_dash.h: Likewise.
21697         * lib/unictype/pr_decimal_digit.h: Likewise.
21698         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21699         * lib/unictype/pr_deprecated.h: Likewise.
21700         * lib/unictype/pr_diacritic.h: Likewise.
21701         * lib/unictype/pr_extender.h: Likewise.
21702         * lib/unictype/pr_format_control.h: Likewise.
21703         * lib/unictype/pr_grapheme_base.h: Likewise.
21704         * lib/unictype/pr_grapheme_extend.h: Likewise.
21705         * lib/unictype/pr_grapheme_link.h: Likewise.
21706         * lib/unictype/pr_hex_digit.h: Likewise.
21707         * lib/unictype/pr_hyphen.h: Likewise.
21708         * lib/unictype/pr_id_continue.h: Likewise.
21709         * lib/unictype/pr_id_start.h: Likewise.
21710         * lib/unictype/pr_ideographic.h: Likewise.
21711         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21712         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21713         * lib/unictype/pr_ignorable_control.h: Likewise.
21714         * lib/unictype/pr_iso_control.h: Likewise.
21715         * lib/unictype/pr_join_control.h: Likewise.
21716         * lib/unictype/pr_left_of_pair.h: Likewise.
21717         * lib/unictype/pr_line_separator.h: Likewise.
21718         * lib/unictype/pr_logical_order_exception.h: Likewise.
21719         * lib/unictype/pr_lowercase.h: Likewise.
21720         * lib/unictype/pr_math.h: Likewise.
21721         * lib/unictype/pr_non_break.h: Likewise.
21722         * lib/unictype/pr_not_a_character.h: Likewise.
21723         * lib/unictype/pr_numeric.h: Likewise.
21724         * lib/unictype/pr_other_alphabetic.h: Likewise.
21725         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21726         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21727         * lib/unictype/pr_other_id_continue.h: Likewise.
21728         * lib/unictype/pr_other_id_start.h: Likewise.
21729         * lib/unictype/pr_other_lowercase.h: Likewise.
21730         * lib/unictype/pr_other_math.h: Likewise.
21731         * lib/unictype/pr_other_uppercase.h: Likewise.
21732         * lib/unictype/pr_paired_punctuation.h: Likewise.
21733         * lib/unictype/pr_paragraph_separator.h: Likewise.
21734         * lib/unictype/pr_pattern_syntax.h: Likewise.
21735         * lib/unictype/pr_pattern_white_space.h: Likewise.
21736         * lib/unictype/pr_private_use.h: Likewise.
21737         * lib/unictype/pr_punctuation.h: Likewise.
21738         * lib/unictype/pr_quotation_mark.h: Likewise.
21739         * lib/unictype/pr_radical.h: Likewise.
21740         * lib/unictype/pr_sentence_terminal.h: Likewise.
21741         * lib/unictype/pr_soft_dotted.h: Likewise.
21742         * lib/unictype/pr_space.h: Likewise.
21743         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21744         * lib/unictype/pr_titlecase.h: Likewise.
21745         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21746         * lib/unictype/pr_unified_ideograph.h: Likewise.
21747         * lib/unictype/pr_uppercase.h: Likewise.
21748         * lib/unictype/pr_variation_selector.h: Likewise.
21749         * lib/unictype/pr_white_space.h: Likewise.
21750         * lib/unictype/pr_xid_continue.h: Likewise.
21751         * lib/unictype/pr_xid_start.h: Likewise.
21752         * lib/unictype/pr_zero_width.h: Likewise.
21753         * lib/unictype/scripts.h: Likewise.
21754         * lib/unictype/scripts_byname.gperf: Likewise.
21755         * lib/unictype/sy_c_ident.h: Likewise.
21756         * lib/unictype/sy_c_whitespace.h: Likewise.
21757         * lib/unictype/sy_java_ident.h: Likewise.
21758         * lib/unictype/sy_java_whitespace.h: Likewise.
21759
21760         * lib/unictype/Makefile: New file.
21761         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
21762         glibc.
21763         * lib/unictype/3level.h: New file, copied from glibc.
21764         * lib/unictype/3levelbit.h: New file.
21765
21766 2007-11-11  Bruno Haible  <bruno@clisp.org>
21767
21768         * modules/gperf: New file.
21769         * modules/iconv_open (Depends-on): Add it.
21770         (Makefile.am): Remove the GPERF definition.
21771
21772 2007-11-11  Bruno Haible  <bruno@clisp.org>
21773
21774         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
21775         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
21776
21777 2007-11-11  Bruno Haible  <bruno@clisp.org>
21778
21779         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
21780         (usage): Remove function.
21781
21782 2007-11-11  Bruno Haible  <bruno@clisp.org>
21783
21784         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
21785         gl_FUNC_CEILF_LIBS.
21786         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
21787         gl_FUNC_CEIL_LIBS.
21788         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
21789         gl_FUNC_CEILL_LIBS.
21790         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
21791         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
21792         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
21793
21794 2007-11-11  Bruno Haible  <bruno@clisp.org>
21795
21796         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
21797         roundf were declared but do not exist on functions.
21798         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
21799         roundl were declared but do not exist on functions.
21800         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
21801         HAVE_FLOORL_AND_CEILL, respectively.
21802         Needed for Sun C on Solaris 10.
21803
21804 2007-11-11  Bruno Haible  <bruno@clisp.org>
21805
21806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
21807         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
21808         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
21809         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
21810         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
21811         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
21812         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
21813         HAVE_DECL_ROUNDF.
21814         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
21815         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
21816         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
21817         of HAVE_DECL_ROUND*.
21818         * modules/math (Makefile.am): Update.
21819
21820 2007-11-10  Bruno Haible  <bruno@clisp.org>
21821
21822         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
21823         ptrdiff_t as m4/intl.m4.
21824
21825 2007-11-10  Jim Meyering  <meyering@redhat.com>
21826
21827         Avoid link failure for the argmatch test.
21828         * tests/test-argmatch.c (usage): Define function to avoid a link
21829         failure: argmatch_die requires a usage function.
21830
21831 2007-11-09  Bruno Haible  <bruno@clisp.org>
21832
21833         * doc/functions/snprintf.texi: Mention BeOS deficiency.
21834         * doc/functions/vsnprintf.texi: Likewise.
21835         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
21836         with a size argument < 2.
21837
21838 2007-11-09  Bruno Haible  <bruno@clisp.org>
21839
21840         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
21841         buffer. Fixes an inefficiency introduced on 2007-11-03.
21842
21843 2007-11-09  Bruno Haible  <bruno@clisp.org>
21844
21845         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
21846         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
21847
21848 2007-11-08  Jim Meyering  <meyering@redhat.com>
21849
21850         Change cache variable name prefix "jm_" to "gl_" everywhere.
21851         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
21852         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
21853         * m4/uptime.m4: s/gl_/jm_/
21854
21855 2007-11-07  Bruno Haible  <bruno@clisp.org>
21856
21857         Update to GNU gettext 0.17.
21858         * m4/intl.m4: Update to GNU gettext 0.17.
21859         * m4/po.m4: Likewise.
21860         * modules/gettext (Files): Remove m4/ulonglong.m4.
21861         (configure.ac): Require gettext infrastructure from version 0.17.
21862
21863 2007-11-06  Bruno Haible  <bruno@clisp.org>
21864
21865         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
21866         symbolic values are not defined in a public header.
21867         * lib/freadable.c (freadable) [QNX]: Likewise.
21868         * lib/freadahead.c (freadahead) [QNX]: Likewise.
21869         * lib/freading.c (freading) [QNX]: Likewise.
21870         * lib/fseterr.c (fseterr) [QNX]: Likewise.
21871         * lib/fwritable.c (fwritable) [QNX]: Likewise.
21872         * lib/fwriting.c (fwriting) [QNX]: Likewise.
21873         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
21874         Reported by Alain Magloire.
21875
21876         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
21877
21878 2007-11-05  Bruno Haible  <bruno@clisp.org>
21879
21880         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
21881         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
21882         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
21883         Reported by Eric Blake.
21884
21885 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21886             Bruno Haible  <bruno@clisp.org>
21887
21888         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
21889         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
21890         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
21891         (malloc): Undefine also before including <stdlib.h>.
21892         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
21893         Needed on OSF/1 4.0.
21894
21895 2007-11-05  Jim Meyering  <meyering@redhat.com>
21896
21897         git-version-gen: sync from coreutils.
21898         * build-aux/git-version-gen: Add comments.
21899         Change the first '-' to '.' in the snapshot version string,
21900         e.g., 6.9-377-08144 -> 6.9.377-08144
21901         Remove first parameter.
21902         Don't declare a version "-dirty" merely because a time
21903         stamp has changed.
21904
21905 2007-11-04  Bruno Haible  <bruno@clisp.org>
21906
21907         * lib/lock.h: Protect all macro definitions containing an 'if'
21908         statement through a "do { ... } while (0)".
21909         * lib/tls.h: Likewise.
21910
21911 2007-11-04  Bruno Haible  <bruno@clisp.org>
21912
21913         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
21914
21915 2007-11-04  Bruno Haible  <bruno@clisp.org>
21916
21917         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
21918         * modules/fprintf-posix (Depends-on): Add nocrash.
21919         * modules/snprintf-posix (Depends-on): Likewise.
21920         * modules/sprintf-posix (Depends-on): Likewise.
21921         * modules/vasnprintf-posix (Depends-on): Likewise.
21922         * modules/vasprintf-posix (Depends-on): Likewise.
21923         * modules/vfprintf-posix (Depends-on): Likewise.
21924         * modules/vsnprintf-posix (Depends-on): Likewise.
21925         * modules/vsprintf-posix (Depends-on): Likewise.
21926         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21927         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21928         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21929         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21930         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21931         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21932         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21933
21934 2007-11-04  Bruno Haible  <bruno@clisp.org>
21935
21936         * modules/nocrash: New file.
21937         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
21938         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
21939
21940 2007-11-04  Bruno Haible  <bruno@clisp.org>
21941
21942         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
21943         precision handling.
21944         * tests/test-vasprintf-posix.c (test_function): Likewise.
21945         * tests/test-snprintf-posix.h (test_function): Likewise.
21946         * tests/test-sprintf-posix.h (test_function): Likewise.
21947
21948         Fix *printf behaviour for large precisions on mingw and BeOS.
21949         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
21950         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
21951         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
21952         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21953         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21954         gl_PRINTF_PRECISION and test its result. Invoke
21955         gl_PREREQ_VASNPRINTF_PRECISION.
21956         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21957         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21958         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21959         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21960         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21961         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21962         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21963         * doc/functions/fprintf.texi: Update.
21964         * doc/functions/printf.texi: Update.
21965         * doc/functions/snprintf.texi: Update.
21966         * doc/functions/sprintf.texi: Update.
21967         * doc/functions/vfprintf.texi: Update.
21968         * doc/functions/vprintf.texi: Update.
21969         * doc/functions/vsnprintf.texi: Update.
21970         * doc/functions/vsprintf.texi: Update.
21971
21972 2007-11-04  Bruno Haible  <bruno@clisp.org>
21973
21974         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
21975
21976 2007-11-04  Bruno Haible  <bruno@clisp.org>
21977
21978         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
21979         Reported by Sylvain Beucler <beuc@gnu.org>.
21980
21981 2007-11-03  Bruno Haible  <bruno@clisp.org>
21982
21983         * tests/test-fprintf-posix2.sh: New file.
21984         * tests/test-fprintf-posix2.c: New file.
21985         * modules/fprintf-posix-tests (Files): Add them.
21986         (TESTS): Add test-fprintf-posix2.sh.
21987         (configure.ac): Check for getrlimit and setrlimit.
21988         (check_PROGRAMS): Add test-fprintf-posix2.
21989
21990         * tests/test-printf-posix2.sh: New file.
21991         * tests/test-printf-posix2.c: New file.
21992         * modules/printf-posix-tests (Files): Add them.
21993         (TESTS): Add test-printf-posix2.sh.
21994         (configure.ac): Check for getrlimit and setrlimit.
21995         (check_PROGRAMS): Add test-printf-posix2.
21996
21997         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
21998         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
21999         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
22000         (decode_double): New function, copied from decode_long_double.
22001         (scale10_round_decimal_decoded): New function, extracted from
22002         scale10_round_decimal_long_double.
22003         (scale10_round_decimal_long_double): Use it.
22004         (scale10_round_decimal_double): New function.
22005         (floorlog10): New function.
22006         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
22007         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
22008         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
22009         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22010         gl_PRINTF_ENOMEM and test its result. Invoke
22011         gl_PREREQ_VASNPRINTF_ENOMEM.
22012         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22013         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22014         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22015         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22016         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22017         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22018         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22019         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
22020         * modules/snprintf-posix (Depends-on): Likewise.
22021         * modules/sprintf-posix (Depends-on): Likewise.
22022         * modules/vasnprintf-posix (Depends-on): Likewise.
22023         * modules/vasprintf-posix (Depends-on): Likewise.
22024         * modules/vfprintf-posix (Depends-on): Likewise.
22025         * modules/vsnprintf-posix (Depends-on): Likewise.
22026         * modules/vsprintf-posix (Depends-on): Likewise.
22027         * doc/functions/fprintf.texi: Update.
22028         * doc/functions/printf.texi: Update.
22029         * doc/functions/snprintf.texi: Update.
22030         * doc/functions/sprintf.texi: Update.
22031         * doc/functions/vfprintf.texi: Update.
22032         * doc/functions/vprintf.texi: Update.
22033         * doc/functions/vsnprintf.texi: Update.
22034         * doc/functions/vsprintf.texi: Update.
22035
22036 2007-11-03  Bruno Haible  <bruno@clisp.org>
22037
22038         * modules/frexp-nolibm-tests: New file.
22039
22040         * modules/frexp-nolibm: New file.
22041         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
22042
22043 2007-11-03  Bruno Haible  <bruno@clisp.org>
22044
22045         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
22046         value is C99 compliant.
22047         Needed for OSF/1 5.1.
22048
22049 2007-11-03  Bruno Haible  <bruno@clisp.org>
22050
22051         Fix out-of-memory handling of vasnprintf.
22052         * lib/printf-parse.c: Include <errno.h>.
22053         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
22054         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
22055         is already set.
22056
22057 2007-11-02  Eric Blake  <ebb9@byu.net>
22058
22059         Fix tests on cygwin.
22060         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
22061
22062 2007-11-01  Bruno Haible  <bruno@clisp.org>
22063
22064         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
22065         warning.
22066         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
22067         needed for POSIX compatibility.
22068
22069 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
22070
22071         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
22072         for compatibility with GNU.
22073
22074 2007-11-01  Bruno Haible  <bruno@clisp.org>
22075
22076         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
22077         (putenv): Renamed from rpl_putenv. Change argument type from
22078         'const char *' to 'char *'.
22079         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
22080         of defining putenv in config.h, just set REPLACE_PUTENV.
22081         * modules/putenv (Depends-on): Add stdlib.
22082         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22083         (Include): Use <stdlib.h>.
22084         * lib/stdlib.in.h (putenv): New declaration.
22085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
22086         REPLACE_PUTENV.
22087         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
22088         REPLACE_PUTENV.
22089         Needed for MacOS X 10.5.0.
22090         Reported by Peter O'Gorman <peter@pogma.com>.
22091
22092 2007-11-01  Jim Meyering  <meyering@redhat.com>
22093
22094         Treat an empty date string exactly like "0".
22095         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
22096         if the remaining date string (to be parsed) is empty, use "0".
22097         Reported by Mischa Molhoek and discussed in this thread:
22098         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
22099
22100 2007-10-31  Bruno Haible  <bruno@clisp.org>
22101
22102         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
22103         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
22104         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
22105         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
22106         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
22107         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
22108
22109 2007-10-31  Bruno Haible  <bruno@clisp.org>
22110
22111         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
22112         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
22113         (AC_TYPE_LONG_LONG_INT): Use it.
22114         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
22115         it as well.
22116         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
22117         to m4/longlong.m4.
22118         * modules/stdint (Files): Remove m4/ulonglong.m4.
22119         * modules/strtoull (Files): Use m4/longlong.m4 instead of
22120         m4/ulonglong.m4.
22121         * modules/strtoumax (Files): Likewise.
22122
22123 2007-10-30  Bruno Haible  <bruno@clisp.org>
22124
22125         * modules/xvasprintf-posix: New file.
22126         Suggested by Eric Blake.
22127
22128 2007-10-30  Bruno Haible  <bruno@clisp.org>
22129
22130         * modules/xprintf-posix-tests: New file.
22131         * tests/test-xprintf-posix.sh: New file.
22132         * tests/test-xprintf-posix.c: New file.
22133         * tests/test-xfprintf-posix.c: New file.
22134
22135         * modules/xprintf-posix: New file.
22136
22137 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22138
22139         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
22140         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
22141         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
22142
22143 2007-10-29  Bruno Haible  <bruno@clisp.org>
22144
22145         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
22146         contain the special marker '_cv_'.
22147         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
22148         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
22149         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
22150         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
22151         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
22152         Reported by Ralf Wildenhues.
22153
22154 2007-10-29  Bruno Haible  <bruno@clisp.org>
22155
22156         * gnulib-tool (func_import): When --lgpl is not specified, set
22157         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
22158         GPLv3.
22159         Reported by Simon Josefsson.
22160
22161 2007-10-28  Bruno Haible  <bruno@clisp.org>
22162
22163         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
22164         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
22165         HAVE_DECL_ISFINITE.
22166         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
22167         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
22168         HAVE_DECL_ISFINITE.
22169
22170 2007-10-28  Bruno Haible  <bruno@clisp.org>
22171
22172         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
22173         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
22174
22175 2007-10-28  Bruno Haible  <bruno@clisp.org>
22176
22177         Fix link errors with Sun C 5.0 on Solaris 10.
22178         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
22179         function is declared but not present in the compiler's libm.
22180         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
22181         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
22182         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
22183         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
22184         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
22185         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
22186         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
22187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
22188         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
22189         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
22190         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
22191         HAVE_DECL_FLOORL.
22192
22193 2007-10-28  Bruno Haible  <bruno@clisp.org>
22194
22195         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
22196         gl_FUNC_FLOORL. Cache the result.
22197         (gl_FUNC_FLOORL): Use it.
22198         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
22199         gl_FUNC_CEILL. Cache the result.
22200         (gl_FUNC_CEILL): Use it.
22201
22202         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
22203         gl_FUNC_FLOOR. Cache the result.
22204         (gl_FUNC_FLOOR): Use it.
22205         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
22206         gl_FUNC_CEIL. Cache the result.
22207         (gl_FUNC_CEIL): Use it.
22208
22209         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
22210         gl_FUNC_FLOORF. Cache the result.
22211         (gl_FUNC_FLOORF): Use it.
22212         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
22213         gl_FUNC_CEILF. Cache the result.
22214         (gl_FUNC_CEILF): Use it.
22215
22216 2007-10-28  Bruno Haible  <bruno@clisp.org>
22217
22218         * gnulib-tool: Allow specifying the LGPL version number through
22219         --lgpl=2 or --lgpl=3.
22220         (func_usage): Document --lgpl with argument.
22221         Handle --lgpl=... arguments.
22222         (func_import): Recognize also gl_LGPL calls with an argument. When
22223         --lgpl=2 is used and the module's license is just LGPL, report an
22224         error. Set sed_transform_lib_file according to the lgpl variable. In
22225         the generated files, use --lgpl or gl_LGPL invocations with argument,
22226         if necessary.
22227         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
22228         an LGPv2+ license.
22229         * doc/gnulib-tool.texi (Modified imports): Update explanation of
22230         gl_LGPL macro.
22231
22232 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22233             Bruno Haible  <bruno@clisp.org>
22234
22235         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
22236         (u16_uctomb_aux): Likewise.
22237         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
22238         !HAVE_INLINE.
22239         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
22240
22241 2007-10-28  Bruno Haible  <bruno@clisp.org>
22242
22243         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
22244         Invoke AM_GETTEXT_OPTION if it exists.
22245         * modules/vasprintf: Likewise.
22246         * modules/verror: Likewise.
22247         * modules/xprintf: Likewise.
22248         * modules/xvasprintf: Likewise.
22249
22250 2007-10-27  Ben Pfaff  <blp@gnu.org>
22251
22252         * lib/math.in.h: Define isfinite macro and prototypes for
22253         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
22254         implementations.
22255         * m4/math_h.m4: New substitutions for isfinite module.
22256         * lib/isfinite.c: New file.
22257         * m4/isfinite.m4: New file.
22258         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
22259         * modules/isfinite: New file.
22260         * modules/isfinite-tests: New file.
22261         * tests/tests-isfinite.c: New file.
22262         * doc/functions/isfinite.texi: Mention isfinite module.
22263         * MODULES.html.sh: Mention new module.
22264
22265 2007-10-27  Ben Pfaff  <blp@gnu.org>
22266
22267         Ralf Wildenhues reported that Tru64 4.0D declares the round
22268         functions but does not have definitions.
22269         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
22270         cannot be found in any library, set the output variable to
22271         "missing" instead of "".
22272         * m4/round.m4: Also use our substitute if we cannot find round in
22273         any library, even if it is declared.
22274         * m4/roundf.m4: Likewise for roundf.
22275         * m4/roundl.m4: Likewise for roundl.
22276         * lib/math.in.h: Undefine roundf, round, roundl before defining
22277         their replacements, to allow for hypothetical systems where these
22278         may be defined as macros but not available in libraries.
22279
22280 2007-10-27  Bruno Haible  <bruno@clisp.org>
22281
22282         * doc/gnulib.texi: Invoke @firstparagraphindent.
22283         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
22284         changes in gnulib.
22285         (Source changes): New section.
22286
22287 2007-10-26  Bruno Haible  <bruno@clisp.org>
22288
22289         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
22290         borrowed from autoconf.
22291
22292 2007-10-26  Bruno Haible  <bruno@clisp.org>
22293
22294         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
22295         strerror returned the empty string. Needed on HP-UX 11.00.
22296
22297 2007-10-24  Micah Cowan  <micah@cowan.name>
22298
22299         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
22300         * build-aux/bootstrap: Remove support for now-unnecessary option,
22301         --cvs-user, and envvars CVS_USER, CVS_RSH.
22302
22303 2007-10-24  Jim Meyering  <meyering@redhat.com>
22304
22305         Avoid diagnostics from sha1sum when there is no cached checksum.
22306         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
22307         if the po.s1 file hasn't been created yet.
22308
22309         * build-aux/bootstrap: Sync from coreutils:
22310         2007-10-24  Jim Meyering  <meyering@redhat.com>
22311         Get gnulib from the git repository, not from an obsolete cvs one.
22312         * build-aux/bootstrap: Suggestion from Micah Cowan.
22313         2007-10-04  Jim Meyering  <jim@meyering.net>
22314         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
22315         (update_po_files): Work also when there are no .po files in po/.
22316
22317 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
22318
22319         * README: Append ".git" to git and cg examples.
22320         Problem reported by Benoit Sigoure.
22321
22322 2007-10-23  Micah Cowan  <micah@cowan.name>
22323
22324         * users.txt: Add wget.
22325
22326 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22327
22328         Fix linking of some unistdio tests on FreeBSD.
22329         * modules/unistdio/u16-vsnprintf-tests
22330         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
22331         * modules/unistdio/u16-vsprintf-tests
22332         (test_u16_vsnprintf1_LDADD): Likewise.
22333         * modules/unistdio/u32-vsnprintf-tests
22334         (test_u32_vsnprintf1_LDADD): Likewise.
22335         * modules/unistdio/u32-vsprintf-tests
22336         (test_u32_vsprintf1_LDADD): Likewise.
22337         * modules/unistdio/u8-vsnprintf-tests
22338         (test_u8_vsnprintf1_LDADD): Likewise.
22339         * modules/unistdio/u8-vsprintf-tests
22340         (test_u8_vsprintf1_LDADD): Likewise.
22341         * modules/unistdio/ulc-vsnprintf-tests
22342         (test_ulc_vsnprintf1_LDADD): Likewise.
22343         * modules/unistdio/ulc-vsprintf-tests
22344         (test_ulc_vsprintf1_LDADD): Likewise.
22345
22346         Fix linking of some uniconv tests on FreeBSD.
22347         * modules/uniconv/u16-conv-from-enc-tests
22348         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
22349         * modules/uniconv/u16-conv-to-enc-tests
22350         (test_u16_conv_to_enc_LDADD): Likewise.
22351         * modules/uniconv/u16-strconv-from-enc-tests
22352         (test_u16_strconv_from_enc_LDADD): Likewise.
22353         * modules/uniconv/u16-strconv-to-enc-tests
22354         (test_u16_strconv_to_enc_LDADD): Likewise.
22355         * modules/uniconv/u32-conv-from-enc-tests
22356         (test_u32_conv_from_enc_LDADD): Likewise.
22357         * modules/uniconv/u32-conv-to-enc-tests
22358         (test_u32_conv_to_enc_LDADD): Likewise.
22359         * modules/uniconv/u32-strconv-from-enc-tests
22360         (test_u32_strconv_from_enc_LDADD): Likewise.
22361         * modules/uniconv/u32-strconv-to-enc-tests
22362         (test_u32_strconv_to_enc_LDADD): Likewise.
22363         * modules/uniconv/u8-conv-from-enc-tests
22364         (test_u8_conv_from_enc_LDADD): Likewise.
22365         * modules/uniconv/u8-conv-to-enc-tests
22366         (test_u8_conv_to_enc_LDADD): Likewise.
22367         * modules/uniconv/u8-strconv-from-enc-tests
22368         (test_u8_strconv_from_enc_LDADD): Likewise.
22369         * modules/uniconv/u8-strconv-to-enc-tests
22370         (test_u8_strconv_to_enc_LDADD): Likewise.
22371
22372 2007-10-22  Bruno Haible  <bruno@clisp.org>
22373
22374         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
22375         size.
22376
22377 2007-10-22  Eric Blake  <ebb9@byu.net>
22378
22379         Tweak x*printf documentation.
22380         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
22381         variable name and comments.
22382         Suggested by Bruno Haible.
22383
22384 2007-10-22  Bruno Haible  <bruno@clisp.org>
22385
22386         * lib/acl.c (copy_acl): Fix file name in comment.
22387
22388 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22389
22390         Fix Tru64 problem with stdbool.h.
22391         * lib/stdbool.in.h (false, true):
22392         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
22393         Don't declare as an enum in this situation; it runs afoul of Tru64.
22394         Problem reported by Steven M. Schweda in
22395         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
22396
22397 2007-10-22  Eric Blake  <ebb9@byu.net>
22398
22399         Also wrap vf?printf.
22400         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
22401         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
22402         (xvprintf, xvfprintf): New functions.
22403
22404 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22405
22406         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
22407         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
22408
22409         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
22410         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
22411
22412 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22413
22414         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
22415         by Bruno Haible.
22416
22417 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22418
22419         * lib/getloadavg.c
22420         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
22421         Undef `sys' after including sys/table.h, for Tru64 4.0D.
22422
22423         * tests/test-i-ring.c: Work for C89.
22424
22425 2007-10-22  Bruno Haible  <bruno@clisp.org>
22426
22427         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
22428         -1u, in preprocessor expression, so that we don't test for the bug
22429         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
22430         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
22431
22432 2007-10-22  Eric Blake  <ebb9@byu.net>
22433
22434         * tests/test-yesno.sh: Silence stderr during test.
22435
22436 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22437
22438         * modules/crypto/gc-camellia: New file.
22439
22440         * m4/gc-camellia.m4: New file.
22441
22442         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
22443
22444         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
22445
22446 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22447
22448         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
22449         --help to stdout.  Reported by sms@antinode.org (Steven
22450         M. Schweda).
22451
22452 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22453
22454         * users.txt: Fix link to libksba.
22455
22456 2007-10-21  Ben Pfaff  <blp@gnu.org>
22457
22458         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
22459         round.c roundf implementation that depends on floorf and ceilf to
22460         be tested unconditionally.
22461
22462 2007-10-21  Ben Pfaff  <blp@gnu.org>
22463
22464         * m4/check-libm-func.m4: Removed.
22465         * m4/check-math-lib.m4: New file.
22466         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
22467         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
22468         definition and lack of AC_LIBOBJ([roundf]).
22469         * m4/roundl.m4: Ditto, and similarly for roundl.
22470         * modules/round: Reference new m4 file.
22471         * modules/roundf: Ditto.
22472         * modules/roundl: Ditto.
22473         * tests/test-round2.c (main): Use ROUND instead of round.
22474         Bug report from Bruno Haible.
22475
22476 2007-10-21  Bruno Haible  <bruno@clisp.org>
22477
22478         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
22479         context.
22480
22481 2007-10-21  Bruno Haible  <bruno@clisp.org>
22482
22483         * tests/test-wcwidth.c (main): Allow negative result for some control
22484         characters.
22485
22486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
22487         Needed on OSF/1 5.1.
22488
22489 2007-10-21  Bruno Haible  <bruno@clisp.org>
22490
22491         * tests/test-floorf1.c: Include isnanf.h.
22492         (main): Use isnanf() instead of isnan().
22493         * tests/test-ceilf1.c: Include isnanf.h.
22494         (main): Use isnanf() instead of isnan().
22495         * tests/test-truncf1.c: Include isnanf.h.
22496         (main): Use isnanf() instead of isnan().
22497         * tests/test-roundf1.c: Include isnanf.h.
22498         (main): Use isnanf() instead of isnan().
22499
22500 2007-10-21  Eric Blake  <ebb9@byu.net>
22501
22502         * users.txt: Update URL for m4.
22503
22504 2007-10-21  Bruno Haible  <bruno@clisp.org>
22505
22506         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
22507
22508 2007-10-21  Bruno Haible  <bruno@clisp.org>
22509
22510         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
22511         Git's management files if the CVS files are not present.
22512
22513 2007-10-20  Bruno Haible  <bruno@clisp.org>
22514
22515         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
22516         gcc-3.4.x.
22517
22518 2007-10-20  Ben Pfaff  <blp@gnu.org>
22519
22520         * lib/math.in.h: Declare round, roundf, roundl if we are providing
22521         implementations.
22522         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
22523         * lib/round.c: New file.
22524         * lib/roundf.c: New file.
22525         * lib/roundl.c: New file.
22526         * m4/round.m4: New file.
22527         * m4/roundf.m4: New file.
22528         * m4/roundl.m4: New file.
22529         * m4/check-libm-func-m4: New file.
22530         * modules/math: Replace round, roundf, roundl related @VARS@ in
22531         math.in.h.
22532         * modules/round: New file.
22533         * modules/round-tests: New file.
22534         * modules/roundf: New file.
22535         * modules/roundf-tests: New file.
22536         * modules/roundl: New file.
22537         * modules/roundl-tests: New file.
22538         * tests/test-round1.c: New file.
22539         * tests/test-round2.c: New file.
22540         * tests/test-roundf1.c: New file.
22541         * tests/test-roundf2.c: New file.
22542         * tests/test-roundl.c: New file.
22543         * doc/functions/round.texi: Mention round module.
22544         * doc/functions/roundf.texi: Mention roundf module.
22545         * doc/functions/roundl.texi: Mention roundl module.
22546         * MODULES.html.sh: Mention new modules.
22547         Thanks to Bruno Haible for suggestions.
22548
22549 2007-10-20  Jim Meyering  <meyering@redhat.com>
22550
22551         * lib/xprintf.c: Include <config.h> unconditionally.
22552
22553         Change xprintf's license to GPL.
22554         * modules/xprintf (License): s/LGPL/GPL/, since this module
22555         depends on modules (exit and exitfail) which are GPL.
22556         Suggestion from Bruno Haible.
22557
22558         xprintf fixes.
22559         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
22560         Use a clearer diagnostic.
22561         Patch from Bruno Haible.
22562
22563 2007-10-20  Bruno Haible  <bruno@clisp.org>
22564
22565         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
22566         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
22567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22568
22569 2007-10-20  Bruno Haible  <bruno@clisp.org>
22570
22571         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
22572         precision in the comparison result > x - 1 or similar.
22573         * tests/test-ceilf2.c (correct_result_p): Likewise.
22574         * tests/test-truncf2.c (correct_result_p): Likewise.
22575         * tests/test-trunc2.c (correct_result_p): Likewise.
22576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22577
22578 2007-10-20  Bruno Haible  <bruno@clisp.org>
22579
22580         * modules/ceil: New file.
22581         * m4/ceil.m4: New file.
22582         * doc/functions/ceil.texi: Mention the 'ceil' module.
22583
22584 2007-10-20  Bruno Haible  <bruno@clisp.org>
22585
22586         * modules/floor: New file.
22587         * m4/floor.m4: New file.
22588         * doc/functions/floor.texi: Mention the 'floor' module.
22589
22590 2007-10-20  Bruno Haible  <bruno@clisp.org>
22591
22592         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
22593         of %a.
22594         * modules/floorf-tests (Depends-on): Likewise.
22595         * modules/truncf-tests (Depends-on): Likewise.
22596         * modules/trunc-tests (Depends-on): Likewise.
22597         Reported by Ben Pfaff.
22598
22599 2007-10-19  Jim Meyering  <meyering@redhat.com>
22600
22601         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
22602         Don't bother testing specific errno values.  Just test ferror.
22603
22604         New module: xprintf
22605         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
22606
22607 2007-10-19  Bruno Haible  <bruno@clisp.org>
22608
22609         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
22610         syntax.
22611         * modules/javaexec (Makefile.am): Likewise.
22612         * modules/relocatable-prog (Makefile.am): Likewise.
22613         Suggested by Jim Meyering.
22614
22615 2007-10-18  Bruno Haible  <bruno@clisp.org>
22616
22617         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
22618         Reported by Jim Meyering.
22619
22620 2007-10-18  Eric Blake  <ebb9@byu.net>
22621
22622         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
22623
22624 2007-10-18  Bruno Haible  <bruno@clisp.org>
22625
22626         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
22627         the format string into writable memory. Needed in Fortify conditions.
22628
22629 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
22630             Bruno Haible  <bruno@clisp.org>
22631
22632         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
22633         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
22634         * modules/trim (Depends-on): Add mbchar.
22635         (configure.ac): Add gl_FUNC_MBRTOWC.
22636         (Makefile.am): Augment lib_SOURCES.
22637
22638 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
22639
22640         Modify glob.c to use fstatat and dirfd, to simplify it.
22641         Suggested by Eric Blake.
22642         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
22643         Don't include <stdbool.h>; not used.
22644         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
22645         (link_exists_p): Simplify implementation, since we can now assume
22646         dirfd and fstatat.
22647         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
22648
22649 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22650
22651         * gnulib-tool (func_get_dependencies): Fix sed script to
22652         match only tests.
22653
22654 2007-10-17  Bruno Haible  <bruno@clisp.org>
22655
22656         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
22657         allow locale names without encoding suffix.
22658         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22659         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22660
22661 2007-10-16  Bruno Haible  <bruno@clisp.org>
22662
22663         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
22664         * lib/getgroups.c (getgroups): Likewise.
22665         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
22666
22667 2007-10-16  Bruno Haible  <bruno@clisp.org>
22668
22669         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
22670         * modules/malloc-posix (License): Likewise.
22671         * modules/realloc-posix (License): Likewise.
22672         * modules/calloc-posix (License): Likewise.
22673         * modules/intprops (License): Change from GPL to LGPL, with
22674         Paul Eggert's approval.
22675
22676 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22677
22678         Merge glibc changes into lib/glob.c.
22679
22680         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
22681         2007-10-15 04:59:03 UTC.  Here are the changes:
22682
22683         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
22684
22685         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
22686
22687         * lib/glob.c: Add some branch prediction throughout.
22688
22689         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
22690
22691         [BZ #5103]
22692         * lib/glob.c (glob): Recognize patterns starting \/.
22693
22694         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
22695
22696         [BZ #3996]
22697         * lib/glob.c (attribute_hidden): Define if not defined.
22698         (glob): Unescape dirname, filename or username when needed and not
22699         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
22700         is NULL.  Handle unescaped [ in pattern without closing ].
22701         Don't pass GLOB_CHECK down to recursive glob for directories.
22702         (__glob_pattern_type): New function.
22703         (__glob_pattern_p): Implement using __glob_pattern_type.
22704         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
22705         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
22706         Remove unreachable code.
22707
22708         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
22709
22710         * lib/glob.c (glob_in_dir): Add some comments and asserts to
22711         explain why there are no leaks.
22712
22713         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
22714
22715         [BZ #3253]
22716         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
22717         time, rather allocate increasingly bigger arrays of pointers, if
22718         possible with alloca, if too large with malloc.
22719
22720 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22721
22722         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
22723         Problem reported by H.Merijn Brand in
22724         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
22725         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
22726         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
22727
22728 2007-10-15  Bruno Haible  <bruno@clisp.org>
22729
22730         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
22731         with explicit rpl_ prefix.
22732         * lib/fopen.c (fopen): Likewise.
22733         * lib/freopen.c (freopen): Likewise.
22734         * lib/iconv.c (iconv): Likewise.
22735         * lib/iconv_close.c (iconv_close): Likewise.
22736
22737 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22738
22739         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
22740
22741 2007-10-15  Bruno Haible  <bruno@clisp.org>
22742
22743         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
22744         <stddef.h> instead of <stdlib.h> since we only need NULL.
22745         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22746
22747 2007-10-15  Bruno Haible  <bruno@clisp.org>
22748
22749         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
22750         Replace paragraph talking about LIBOBJS.
22751         Reported by Colin Watson <cjwatson@debian.org>.
22752
22753 2007-10-15  Bruno Haible  <bruno@clisp.org>
22754
22755         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
22756         <stdlib.h> before using NULL.
22757
22758 2007-10-15  Simon Josefsson  <simon@josefsson.org>
22759
22760         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
22761         Reported by Albert Chin <china@thewrittenword.com>.
22762
22763 2007-10-14  Bruno Haible  <bruno@clisp.org>
22764
22765         * modules/iconv_open-utf-tests: New file.
22766         * tests/test-iconv-utf.c: New file.
22767
22768         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
22769         * modules/iconv_open-utf: New file.
22770         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
22771         (iconv, iconv_close): New declarations.
22772         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
22773         be defined.
22774         (iconv_open): Add special handling of conversion between UTF-8 and
22775         UTF-{16,32}{BE,LE}.
22776         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
22777         * lib/iconv_close.c: New file.
22778         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
22779         gl_FUNC_ICONV_OPEN.
22780         (gl_FUNC_ICONV_OPEN): Use it.
22781         (gl_FUNC_ICONV_OPEN_UTF): New macro.
22782         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
22783         and REPLACE_ICONV_UTF.
22784         * modules/iconv_open (Depends-on): Add c-strcase.
22785         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
22786         ICONV_CONST.
22787         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
22788
22789 2007-10-13  Albert Chin  <china@thewrittenword.com>
22790             Bruno Haible  <bruno@clisp.org>
22791
22792         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
22793         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
22794
22795 2007-10-13  Bruno Haible  <bruno@clisp.org>
22796
22797         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
22798         defined, use the ISO C99 inline semantics.
22799         * lib/argp.h (ARGP_EI): Likewise.
22800
22801 2007-10-13  Bruno Haible  <bruno@clisp.org>
22802
22803         Handle 'inline' change in gcc 4.3.0.
22804         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
22805         argp_fmtstream_write, argp_fmtstream_set_lmargin,
22806         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
22807         argp_fmtstream_point): Disable 'extern' declaration if the function
22808         definition is going to be provided inline.
22809         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
22810         semantics, not the ISO C99 inline semantics.
22811         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
22812         'extern' declaration if the function definition is going to be provided
22813         inline.
22814         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
22815         the GNU C inline semantics, not the ISO C99 inline semantics. With
22816         GCC 4.2, avoid a warning.
22817
22818 2007-10-13  Bruno Haible  <bruno@clisp.org>
22819
22820         * lib/freading.h (freading): Enable the use of __freading for
22821         glibc >= 2.7.
22822         * lib/freading.c (freading): Likewise.
22823
22824 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
22825
22826         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
22827         "warning: C99 inline functions are not supported; using GNU89".
22828
22829 2007-10-12  Bruno Haible  <bruno@clisp.org>
22830
22831         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
22832         of 2.
22833         * tests/test-ceilf2.c: New file.
22834         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
22835
22836         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
22837         * modules/ceilf-tests: Update.
22838
22839 2007-10-12  Bruno Haible  <bruno@clisp.org>
22840
22841         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
22842         of 2.
22843         * tests/test-floorf2.c: New file.
22844         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
22845
22846         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
22847         * modules/floorf-tests: Update.
22848
22849 2007-10-12  Bruno Haible  <bruno@clisp.org>
22850
22851         * tests/test-trunc2.c: New file.
22852         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
22853
22854         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
22855         * modules/trunc-tests: Update.
22856
22857 2007-10-12  Bruno Haible  <bruno@clisp.org>
22858
22859         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
22860         of 2.
22861         * tests/test-truncf2.c: New file.
22862         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
22863
22864         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
22865         * modules/truncf-tests: Update.
22866
22867 2007-10-11  Eric Blake  <ebb9@byu.net>
22868
22869         Don't claim strerror is broken on Interix.
22870         * doc/functions/strerror.texi (strerror): Known broken systems are
22871         now Solaris 8, and not Interix.
22872         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
22873         Interix on cross-compile.
22874         Reported by Martin Koeppe in
22875         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
22876
22877 2007-10-11  Bruno Haible  <bruno@clisp.org>
22878
22879         * modules/i-ring-tests: New file.
22880         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
22881         instead of assert.
22882
22883 2007-10-11  Bruno Haible  <bruno@clisp.org>
22884
22885         * modules/filenamecat-tests: New file.
22886         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
22887         * lib/filenamecat.c: Remove test code.
22888
22889 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22890
22891         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
22892
22893         * lib/strerror.c: Include <string.h> always, to test interface,
22894         and to remove the need for the dummy.
22895         Include intprops.h to compute width instead of doing it ourselves
22896         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
22897         (strerror): Define it to return NULL if there's no system strerror.
22898         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
22899         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
22900         ancient pre-strerror Unix systems well any more.  Saying "unknown
22901         system error" is enough.
22902         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
22903         simpler strerror.c implementation.
22904         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
22905         Simplify the tests to reflect the simpler strerror implementation.
22906         * modules/strerror (Depends-on): Add intprops.
22907
22908 2007-10-09  Eric Blake  <ebb9@byu.net>
22909
22910         Silence test-fpending.
22911         * modules/fpending-tests (Files): Add wrapper script.
22912         * tests/test-fpending.sh: New file.
22913
22914 2007-10-09  Bruno Haible  <bruno@clisp.org>
22915
22916         * MODULES.html.sh (func_module): Don't create a hyperlink for
22917         function names like 'printf_frexp'.
22918         (Misc): Add crc, memxor.
22919         (Characteristics of floating types): New section.
22920         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
22921         isnanf-nolibm, signbit, trunc, truncf, truncl.
22922         (Enhancements for ISO C 99 functions): New subsection Input/output.
22923         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
22924         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
22925         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
22926         (Compatibility checks for POSIX:2001 functions): Add clock-time.
22927         (Enhancements for POSIX:2001 functions): Add chdir-long.
22928         (File system functions): Add areadlink, chdir-safer, read-file.
22929         Remove cycle-check.
22930         (File system as inode set): New section.
22931         (Date and time): Add gethrxtime.
22932         (Multithreading): Add openmp.
22933         (Internationalization functions): Add localename.
22934         (Unicode string functions): Add unistr/u*-mbsnlen.
22935         (Support for maintaining and releasing projects): Add git-version-gen.
22936         (Lone files): Remove directories.
22937
22938 2007-10-08  Ben Pfaff  <blp@gnu.org>
22939
22940         * lib/xmalloca.h: Fix typo in comment.
22941
22942 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22943
22944         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
22945         when avoiding problems with integer overflow.  Use a portable test
22946         instead.
22947
22948 2007-10-08  Simon Josefsson  <simon@josefsson.org>
22949
22950         * modules/dummy (License): Change to LGPLv2+.
22951         * modules/float (License): Likewise
22952         * modules/realloc (License): Likewise
22953         * modules/stdlib (License): Likewise
22954
22955 2007-10-07  Bruno Haible  <bruno@clisp.org>
22956
22957         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
22958         * floor.c (TWO_MANT_DIG): Likewise.
22959         * ceil.c (TWO_MANT_DIG): Likewise.
22960         Reported by Ben Pfaff.
22961
22962 2007-10-07  Bruno Haible  <bruno@clisp.org>
22963
22964         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
22965         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
22966         * lib/frexp.c (FUNC): Likewise.
22967         * lib/printf-frexp.h (printf_frexp): Likewise.
22968         * lib/printf-frexpl.h (printf_frexpl): Likewise.
22969         * lib/printf-frexp.c (FUNC): Likewise.
22970         Suggested by Jim Meyering.
22971
22972 2007-10-07  Jim Meyering  <meyering@redhat.com>
22973
22974         Make xnanosleep's integer overflow test more robust.
22975         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
22976         so that gcc-4.3.0 doesn't optimize away this test for overflow.
22977
22978 2007-10-07  Bruno Haible  <bruno@clisp.org>
22979
22980         * NEWS: Mention the license change.
22981
22982         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
22983         abbreviations in the modules files.
22984
22985         Change copyright notice from GPLv2+ to GPLv3+.
22986         * README: Change copyright notice.
22987         * MODULES.html.sh: Likewise.
22988         * build-aux/bootstrap.conf: Likewise.
22989         * build-aux/config.libpath: Likewise.
22990         * build-aux/csharpcomp.sh.in: Likewise.
22991         * build-aux/csharpexec.sh.in: Likewise.
22992         * build-aux/install-reloc: Likewise.
22993         * build-aux/javacomp.sh.in: Likewise.
22994         * build-aux/javaexec.sh.in: Likewise.
22995         * build-aux/ldd.sh.in: Likewise.
22996         * build-aux/reloc-ldflags: Likewise.
22997         * build-aux/relocatable.sh.in: Likewise.
22998         * build-aux/x-to-1.in: Likewise.
22999         * check-module: Likewise.
23000         * config/srclistvars.sh: Likewise.
23001         * gnulib-tool: Likewise.
23002         * lib/acl-internal.h: Likewise.
23003         * lib/acl.c: Likewise.
23004         * lib/acl.h: Likewise.
23005         * lib/acl_entries.c: Likewise.
23006         * lib/areadlink-with-size.c: Likewise.
23007         * lib/areadlink.c: Likewise.
23008         * lib/areadlink.h: Likewise.
23009         * lib/argmatch.c: Likewise.
23010         * lib/argmatch.h: Likewise.
23011         * lib/argp-ba.c: Likewise.
23012         * lib/argp-eexst.c: Likewise.
23013         * lib/argp-fmtstream.c: Likewise.
23014         * lib/argp-fmtstream.h: Likewise.
23015         * lib/argp-fs-xinl.c: Likewise.
23016         * lib/argp-help.c: Likewise.
23017         * lib/argp-namefrob.h: Likewise.
23018         * lib/argp-parse.c: Likewise.
23019         * lib/argp-pin.c: Likewise.
23020         * lib/argp-pv.c: Likewise.
23021         * lib/argp-pvh.c: Likewise.
23022         * lib/argp-xinl.c: Likewise.
23023         * lib/argp.h: Likewise.
23024         * lib/at-func.c: Likewise.
23025         * lib/atanl.c: Likewise.
23026         * lib/backupfile.c: Likewise.
23027         * lib/backupfile.h: Likewise.
23028         * lib/basename.c: Likewise.
23029         * lib/binary-io.h: Likewise.
23030         * lib/byteswap.in.h: Likewise.
23031         * lib/c-stack.c: Likewise.
23032         * lib/c-stack.h: Likewise.
23033         * lib/c-strcasestr.c: Likewise.
23034         * lib/c-strcasestr.h: Likewise.
23035         * lib/c-strstr.c: Likewise.
23036         * lib/c-strstr.h: Likewise.
23037         * lib/c-strtod.c: Likewise.
23038         * lib/calloc.c: Likewise.
23039         * lib/canon-host.c: Likewise.
23040         * lib/canon-host.h: Likewise.
23041         * lib/canonicalize-lgpl.c: Likewise.
23042         * lib/canonicalize.c: Likewise.
23043         * lib/canonicalize.h: Likewise.
23044         * lib/ceil.c: Likewise.
23045         * lib/ceilf.c: Likewise.
23046         * lib/ceill.c: Likewise.
23047         * lib/chdir-long.c: Likewise.
23048         * lib/chdir-long.h: Likewise.
23049         * lib/chdir-safer.c: Likewise.
23050         * lib/chdir-safer.h: Likewise.
23051         * lib/chown.c: Likewise.
23052         * lib/classpath.c: Likewise.
23053         * lib/classpath.h: Likewise.
23054         * lib/clean-temp.c: Likewise.
23055         * lib/clean-temp.h: Likewise.
23056         * lib/cloexec.c: Likewise.
23057         * lib/close-stream.c: Likewise.
23058         * lib/closein.c: Likewise.
23059         * lib/closein.h: Likewise.
23060         * lib/closeout.c: Likewise.
23061         * lib/closeout.h: Likewise.
23062         * lib/concat-filename.c: Likewise.
23063         * lib/copy-file.c: Likewise.
23064         * lib/copy-file.h: Likewise.
23065         * lib/count-one-bits.h: Likewise.
23066         * lib/crc.c: Likewise.
23067         * lib/crc.h: Likewise.
23068         * lib/creat-safer.c: Likewise.
23069         * lib/csharpcomp.c: Likewise.
23070         * lib/csharpcomp.h: Likewise.
23071         * lib/csharpexec.c: Likewise.
23072         * lib/csharpexec.h: Likewise.
23073         * lib/cycle-check.c: Likewise.
23074         * lib/cycle-check.h: Likewise.
23075         * lib/diacrit.c: Likewise.
23076         * lib/diacrit.h: Likewise.
23077         * lib/diffseq.h: Likewise.
23078         * lib/dirchownmod.c: Likewise.
23079         * lib/dirent.in.h: Likewise.
23080         * lib/dirfd.c: Likewise.
23081         * lib/dirfd.h: Likewise.
23082         * lib/dirname.c: Likewise.
23083         * lib/dirname.h: Likewise.
23084         * lib/dummy.c: Likewise.
23085         * lib/dup-safer.c: Likewise.
23086         * lib/dup2.c: Likewise.
23087         * lib/eealloc.h: Likewise.
23088         * lib/error.c: Likewise.
23089         * lib/error.h: Likewise.
23090         * lib/euidaccess.c: Likewise.
23091         * lib/exclude.c: Likewise.
23092         * lib/exclude.h: Likewise.
23093         * lib/execute.c: Likewise.
23094         * lib/execute.h: Likewise.
23095         * lib/exitfail.c: Likewise.
23096         * lib/exitfail.h: Likewise.
23097         * lib/expl.c: Likewise.
23098         * lib/fatal-signal.c: Likewise.
23099         * lib/fatal-signal.h: Likewise.
23100         * lib/fbufmode.c: Likewise.
23101         * lib/fbufmode.h: Likewise.
23102         * lib/fchdir.c: Likewise.
23103         * lib/fchmodat.c: Likewise.
23104         * lib/fchownat.c: Likewise.
23105         * lib/fcntl--.h: Likewise.
23106         * lib/fcntl-safer.h: Likewise.
23107         * lib/fcntl.in.h: Likewise.
23108         * lib/fd-safer.c: Likewise.
23109         * lib/fflush.c: Likewise.
23110         * lib/file-has-acl.c: Likewise.
23111         * lib/file-set.c: Likewise.
23112         * lib/file-type.c: Likewise.
23113         * lib/file-type.h: Likewise.
23114         * lib/fileblocks.c: Likewise.
23115         * lib/filemode.c: Likewise.
23116         * lib/filemode.h: Likewise.
23117         * lib/filename.h: Likewise.
23118         * lib/filenamecat.c: Likewise.
23119         * lib/filenamecat.h: Likewise.
23120         * lib/findprog.c: Likewise.
23121         * lib/findprog.h: Likewise.
23122         * lib/float.in.h: Likewise.
23123         * lib/floor.c: Likewise.
23124         * lib/floorf.c: Likewise.
23125         * lib/floorl.c: Likewise.
23126         * lib/fopen-safer.c: Likewise.
23127         * lib/fopen.c: Likewise.
23128         * lib/fpending.c: Likewise.
23129         * lib/fpending.h: Likewise.
23130         * lib/fprintf.c: Likewise.
23131         * lib/fprintftime.h: Likewise.
23132         * lib/fpucw.h: Likewise.
23133         * lib/fpurge.c: Likewise.
23134         * lib/fpurge.h: Likewise.
23135         * lib/freadable.c: Likewise.
23136         * lib/freadable.h: Likewise.
23137         * lib/freadahead.c: Likewise.
23138         * lib/freadahead.h: Likewise.
23139         * lib/freading.c: Likewise.
23140         * lib/freading.h: Likewise.
23141         * lib/free.c: Likewise.
23142         * lib/freopen.c: Likewise.
23143         * lib/frexp.c: Likewise.
23144         * lib/frexpl.c: Likewise.
23145         * lib/fseek.c: Likewise.
23146         * lib/fseterr.c: Likewise.
23147         * lib/fseterr.h: Likewise.
23148         * lib/fstatat.c: Likewise.
23149         * lib/fstrcmp.c: Likewise.
23150         * lib/fstrcmp.h: Likewise.
23151         * lib/fsusage.c: Likewise.
23152         * lib/fsusage.h: Likewise.
23153         * lib/ftell.c: Likewise.
23154         * lib/ftello.c: Likewise.
23155         * lib/fts-cycle.c: Likewise.
23156         * lib/fts.c: Likewise.
23157         * lib/fts_.h: Likewise.
23158         * lib/full-read.c: Likewise.
23159         * lib/full-read.h: Likewise.
23160         * lib/full-write.c: Likewise.
23161         * lib/full-write.h: Likewise.
23162         * lib/fwritable.c: Likewise.
23163         * lib/fwritable.h: Likewise.
23164         * lib/fwriteerror.c: Likewise.
23165         * lib/fwriteerror.h: Likewise.
23166         * lib/fwriting.c: Likewise.
23167         * lib/fwriting.h: Likewise.
23168         * lib/gcd.c: Likewise.
23169         * lib/gcd.h: Likewise.
23170         * lib/getcwd.c: Likewise.
23171         * lib/getdate.h: Likewise.
23172         * lib/getdate.y: Likewise.
23173         * lib/getdomainname.c: Likewise.
23174         * lib/getdomainname.h: Likewise.
23175         * lib/getgroups.c: Likewise.
23176         * lib/gethostname.c: Likewise.
23177         * lib/gethrxtime.c: Likewise.
23178         * lib/gethrxtime.h: Likewise.
23179         * lib/getloadavg.c: Likewise.
23180         * lib/getndelim2.c: Likewise.
23181         * lib/getndelim2.h: Likewise.
23182         * lib/getnline.c: Likewise.
23183         * lib/getnline.h: Likewise.
23184         * lib/getopt.c: Likewise.
23185         * lib/getopt.in.h: Likewise.
23186         * lib/getopt1.c: Likewise.
23187         * lib/getopt_int.h: Likewise.
23188         * lib/getpagesize.h: Likewise.
23189         * lib/getsubopt.c: Likewise.
23190         * lib/gettime.c: Likewise.
23191         * lib/getugroups.c: Likewise.
23192         * lib/getugroups.h: Likewise.
23193         * lib/getusershell.c: Likewise.
23194         * lib/gl_anyavltree_list1.h: Likewise.
23195         * lib/gl_anyavltree_list2.h: Likewise.
23196         * lib/gl_anyhash_list1.h: Likewise.
23197         * lib/gl_anyhash_list2.h: Likewise.
23198         * lib/gl_anylinked_list1.h: Likewise.
23199         * lib/gl_anylinked_list2.h: Likewise.
23200         * lib/gl_anyrbtree_list1.h: Likewise.
23201         * lib/gl_anyrbtree_list2.h: Likewise.
23202         * lib/gl_anytree_list1.h: Likewise.
23203         * lib/gl_anytree_list2.h: Likewise.
23204         * lib/gl_anytree_oset.h: Likewise.
23205         * lib/gl_anytreehash_list1.h: Likewise.
23206         * lib/gl_anytreehash_list2.h: Likewise.
23207         * lib/gl_array_list.c: Likewise.
23208         * lib/gl_array_list.h: Likewise.
23209         * lib/gl_array_oset.c: Likewise.
23210         * lib/gl_array_oset.h: Likewise.
23211         * lib/gl_avltree_list.c: Likewise.
23212         * lib/gl_avltree_list.h: Likewise.
23213         * lib/gl_avltree_oset.c: Likewise.
23214         * lib/gl_avltree_oset.h: Likewise.
23215         * lib/gl_avltreehash_list.c: Likewise.
23216         * lib/gl_avltreehash_list.h: Likewise.
23217         * lib/gl_carray_list.c: Likewise.
23218         * lib/gl_carray_list.h: Likewise.
23219         * lib/gl_linked_list.c: Likewise.
23220         * lib/gl_linked_list.h: Likewise.
23221         * lib/gl_linkedhash_list.c: Likewise.
23222         * lib/gl_linkedhash_list.h: Likewise.
23223         * lib/gl_list.c: Likewise.
23224         * lib/gl_list.h: Likewise.
23225         * lib/gl_oset.c: Likewise.
23226         * lib/gl_oset.h: Likewise.
23227         * lib/gl_rbtree_list.c: Likewise.
23228         * lib/gl_rbtree_list.h: Likewise.
23229         * lib/gl_rbtree_oset.c: Likewise.
23230         * lib/gl_rbtree_oset.h: Likewise.
23231         * lib/gl_rbtreehash_list.c: Likewise.
23232         * lib/gl_rbtreehash_list.h: Likewise.
23233         * lib/gl_sublist.c: Likewise.
23234         * lib/gl_sublist.h: Likewise.
23235         * lib/group-member.c: Likewise.
23236         * lib/group-member.h: Likewise.
23237         * lib/hard-locale.c: Likewise.
23238         * lib/hard-locale.h: Likewise.
23239         * lib/hash-pjw.c: Likewise.
23240         * lib/hash-pjw.h: Likewise.
23241         * lib/hash-triple.c: Likewise.
23242         * lib/hash.c: Likewise.
23243         * lib/hash.h: Likewise.
23244         * lib/human.c: Likewise.
23245         * lib/human.h: Likewise.
23246         * lib/i-ring.c: Likewise.
23247         * lib/i-ring.h: Likewise.
23248         * lib/idcache.c: Likewise.
23249         * lib/imaxabs.c: Likewise.
23250         * lib/imaxdiv.c: Likewise.
23251         * lib/inet_pton.c: Likewise.
23252         * lib/inet_pton.h: Likewise.
23253         * lib/intprops.h: Likewise.
23254         * lib/inttostr.c: Likewise.
23255         * lib/inttostr.h: Likewise.
23256         * lib/inttypes.in.h: Likewise.
23257         * lib/isapipe.c: Likewise.
23258         * lib/isdir.c: Likewise.
23259         * lib/isnan.c: Likewise.
23260         * lib/isnan.h: Likewise.
23261         * lib/isnanf.c: Likewise.
23262         * lib/isnanf.h: Likewise.
23263         * lib/isnanl-nolibm.h: Likewise.
23264         * lib/isnanl.c: Likewise.
23265         * lib/isnanl.h: Likewise.
23266         * lib/javacomp.c: Likewise.
23267         * lib/javacomp.h: Likewise.
23268         * lib/javaexec.c: Likewise.
23269         * lib/javaexec.h: Likewise.
23270         * lib/javaversion.c: Likewise.
23271         * lib/javaversion.h: Likewise.
23272         * lib/javaversion.java: Likewise.
23273         * lib/lbrkprop.h: Likewise.
23274         * lib/lchmod.h: Likewise.
23275         * lib/lchown.c: Likewise.
23276         * lib/ldexpl.c: Likewise.
23277         * lib/linebreak.c: Likewise.
23278         * lib/linebreak.h: Likewise.
23279         * lib/linebuffer.c: Likewise.
23280         * lib/linebuffer.h: Likewise.
23281         * lib/locale.in.h: Likewise.
23282         * lib/logl.c: Likewise.
23283         * lib/long-options.c: Likewise.
23284         * lib/long-options.h: Likewise.
23285         * lib/lstat.c: Likewise.
23286         * lib/lstat.h: Likewise.
23287         * lib/math.in.h: Likewise.
23288         * lib/mbchar.c: Likewise.
23289         * lib/mbchar.h: Likewise.
23290         * lib/mbfile.h: Likewise.
23291         * lib/mbiter.h: Likewise.
23292         * lib/mbscasecmp.c: Likewise.
23293         * lib/mbscasestr.c: Likewise.
23294         * lib/mbschr.c: Likewise.
23295         * lib/mbscspn.c: Likewise.
23296         * lib/mbslen.c: Likewise.
23297         * lib/mbsncasecmp.c: Likewise.
23298         * lib/mbsnlen.c: Likewise.
23299         * lib/mbspbrk.c: Likewise.
23300         * lib/mbspcasecmp.c: Likewise.
23301         * lib/mbsrchr.c: Likewise.
23302         * lib/mbssep.c: Likewise.
23303         * lib/mbsspn.c: Likewise.
23304         * lib/mbsstr.c: Likewise.
23305         * lib/mbstok_r.c: Likewise.
23306         * lib/mbswidth.c: Likewise.
23307         * lib/mbswidth.h: Likewise.
23308         * lib/mbuiter.h: Likewise.
23309         * lib/memcasecmp.c: Likewise.
23310         * lib/memcasecmp.h: Likewise.
23311         * lib/memchr.c: Likewise.
23312         * lib/memcmp.c: Likewise.
23313         * lib/memcoll.c: Likewise.
23314         * lib/memcoll.h: Likewise.
23315         * lib/memcpy.c: Likewise.
23316         * lib/memrchr.c: Likewise.
23317         * lib/mkancesdirs.c: Likewise.
23318         * lib/mkdir-p.c: Likewise.
23319         * lib/mkdir-p.h: Likewise.
23320         * lib/mkdir.c: Likewise.
23321         * lib/mkdirat.c: Likewise.
23322         * lib/mkdtemp.c: Likewise.
23323         * lib/mkstemp-safer.c: Likewise.
23324         * lib/mkstemp.c: Likewise.
23325         * lib/modechange.c: Likewise.
23326         * lib/modechange.h: Likewise.
23327         * lib/mountlist.c: Likewise.
23328         * lib/mountlist.h: Likewise.
23329         * lib/mpsort.c: Likewise.
23330         * lib/nanosleep.c: Likewise.
23331         * lib/obstack.c: Likewise.
23332         * lib/obstack.h: Likewise.
23333         * lib/open-safer.c: Likewise.
23334         * lib/open.c: Likewise.
23335         * lib/openat-die.c: Likewise.
23336         * lib/openat-priv.h: Likewise.
23337         * lib/openat-proc.c: Likewise.
23338         * lib/openat.c: Likewise.
23339         * lib/openat.h: Likewise.
23340         * lib/pagealign_alloc.c: Likewise.
23341         * lib/pagealign_alloc.h: Likewise.
23342         * lib/physmem.c: Likewise.
23343         * lib/physmem.h: Likewise.
23344         * lib/pipe-safer.c: Likewise.
23345         * lib/pipe.c: Likewise.
23346         * lib/pipe.h: Likewise.
23347         * lib/posixtm.c: Likewise.
23348         * lib/posixtm.h: Likewise.
23349         * lib/posixver.c: Likewise.
23350         * lib/printf-frexp.c: Likewise.
23351         * lib/printf-frexp.h: Likewise.
23352         * lib/printf-frexpl.c: Likewise.
23353         * lib/printf-frexpl.h: Likewise.
23354         * lib/printf.c: Likewise.
23355         * lib/progname.c: Likewise.
23356         * lib/progname.h: Likewise.
23357         * lib/progreloc.c: Likewise.
23358         * lib/putenv.c: Likewise.
23359         * lib/quote.c: Likewise.
23360         * lib/quote.h: Likewise.
23361         * lib/quotearg.c: Likewise.
23362         * lib/quotearg.h: Likewise.
23363         * lib/raise.c: Likewise.
23364         * lib/readline.c: Likewise.
23365         * lib/readline.h: Likewise.
23366         * lib/readlink.c: Likewise.
23367         * lib/readtokens.c: Likewise.
23368         * lib/readtokens.h: Likewise.
23369         * lib/readtokens0.c: Likewise.
23370         * lib/readtokens0.h: Likewise.
23371         * lib/readutmp.c: Likewise.
23372         * lib/readutmp.h: Likewise.
23373         * lib/realloc.c: Likewise.
23374         * lib/relocwrapper.c: Likewise.
23375         * lib/rename-dest-slash.c: Likewise.
23376         * lib/rename.c: Likewise.
23377         * lib/rmdir.c: Likewise.
23378         * lib/rpmatch.c: Likewise.
23379         * lib/safe-read.c: Likewise.
23380         * lib/safe-read.h: Likewise.
23381         * lib/safe-write.c: Likewise.
23382         * lib/safe-write.h: Likewise.
23383         * lib/same-inode.h: Likewise.
23384         * lib/same.c: Likewise.
23385         * lib/same.h: Likewise.
23386         * lib/save-cwd.c: Likewise.
23387         * lib/save-cwd.h: Likewise.
23388         * lib/savedir.c: Likewise.
23389         * lib/savedir.h: Likewise.
23390         * lib/savewd.c: Likewise.
23391         * lib/savewd.h: Likewise.
23392         * lib/search.in.h: Likewise.
23393         * lib/setenv.c: Likewise.
23394         * lib/setenv.h: Likewise.
23395         * lib/settime.c: Likewise.
23396         * lib/sh-quote.c: Likewise.
23397         * lib/sh-quote.h: Likewise.
23398         * lib/sig2str.c: Likewise.
23399         * lib/sig2str.h: Likewise.
23400         * lib/signal.in.h: Likewise.
23401         * lib/signbitd.c: Likewise.
23402         * lib/signbitf.c: Likewise.
23403         * lib/signbitl.c: Likewise.
23404         * lib/sigprocmask.c: Likewise.
23405         * lib/sincosl.c: Likewise.
23406         * lib/sleep.c: Likewise.
23407         * lib/sprintf.c: Likewise.
23408         * lib/sqrtl.c: Likewise.
23409         * lib/stat-time.h: Likewise.
23410         * lib/stdio--.h: Likewise.
23411         * lib/stdio-safer.h: Likewise.
23412         * lib/stdlib--.h: Likewise.
23413         * lib/stdlib-safer.h: Likewise.
23414         * lib/stdlib.in.h: Likewise.
23415         * lib/stpcpy.c: Likewise.
23416         * lib/stpncpy.c: Likewise.
23417         * lib/strchrnul.c: Likewise.
23418         * lib/strcspn.c: Likewise.
23419         * lib/strerror.c: Likewise.
23420         * lib/strftime.c: Likewise.
23421         * lib/strftime.h: Likewise.
23422         * lib/striconveh.c: Likewise.
23423         * lib/striconveh.h: Likewise.
23424         * lib/striconveha.c: Likewise.
23425         * lib/striconveha.h: Likewise.
23426         * lib/stripslash.c: Likewise.
23427         * lib/strnlen1.c: Likewise.
23428         * lib/strnlen1.h: Likewise.
23429         * lib/strtod.c: Likewise.
23430         * lib/strtoimax.c: Likewise.
23431         * lib/strtok_r.c: Likewise.
23432         * lib/strtol.c: Likewise.
23433         * lib/strtoll.c: Likewise.
23434         * lib/strtoul.c: Likewise.
23435         * lib/strtoull.c: Likewise.
23436         * lib/sysexits.in.h: Likewise.
23437         * lib/tempname.c: Likewise.
23438         * lib/tempname.h: Likewise.
23439         * lib/timespec.h: Likewise.
23440         * lib/tls.c: Likewise.
23441         * lib/tls.h: Likewise.
23442         * lib/tmpdir.c: Likewise.
23443         * lib/tmpdir.h: Likewise.
23444         * lib/tmpfile-safer.c: Likewise.
23445         * lib/tmpfile.c: Likewise.
23446         * lib/trigl.c: Likewise.
23447         * lib/trigl.h: Likewise.
23448         * lib/trim.c: Likewise.
23449         * lib/trim.h: Likewise.
23450         * lib/trunc.c: Likewise.
23451         * lib/truncf.c: Likewise.
23452         * lib/truncl.c: Likewise.
23453         * lib/tsearch.c: Likewise.
23454         * lib/unicodeio.c: Likewise.
23455         * lib/unicodeio.h: Likewise.
23456         * lib/unistd--.h: Likewise.
23457         * lib/unistd-safer.h: Likewise.
23458         * lib/unistdio/ulc-fprintf.c: Likewise.
23459         * lib/unistdio/ulc-vfprintf.c: Likewise.
23460         * lib/unlinkdir.c: Likewise.
23461         * lib/unlinkdir.h: Likewise.
23462         * lib/unlocked-io.h: Likewise.
23463         * lib/unsetenv.c: Likewise.
23464         * lib/userspec.c: Likewise.
23465         * lib/utime.c: Likewise.
23466         * lib/utimecmp.c: Likewise.
23467         * lib/utimecmp.h: Likewise.
23468         * lib/utimens.c: Likewise.
23469         * lib/verify.h: Likewise.
23470         * lib/verror.c: Likewise.
23471         * lib/verror.h: Likewise.
23472         * lib/version-etc-fsf.c: Likewise.
23473         * lib/version-etc.c: Likewise.
23474         * lib/version-etc.h: Likewise.
23475         * lib/vfprintf.c: Likewise.
23476         * lib/vprintf.c: Likewise.
23477         * lib/vsprintf.c: Likewise.
23478         * lib/w32spawn.h: Likewise.
23479         * lib/wait-process.c: Likewise.
23480         * lib/wait-process.h: Likewise.
23481         * lib/wcwidth.c: Likewise.
23482         * lib/write-any-file.c: Likewise.
23483         * lib/xalloc-die.c: Likewise.
23484         * lib/xalloc.h: Likewise.
23485         * lib/xasprintf.c: Likewise.
23486         * lib/xgetcwd.c: Likewise.
23487         * lib/xgetcwd.h: Likewise.
23488         * lib/xgetdomainname.c: Likewise.
23489         * lib/xgetdomainname.h: Likewise.
23490         * lib/xgethostname.c: Likewise.
23491         * lib/xmalloc.c: Likewise.
23492         * lib/xmalloca.c: Likewise.
23493         * lib/xmalloca.h: Likewise.
23494         * lib/xmemcoll.c: Likewise.
23495         * lib/xnanosleep.c: Likewise.
23496         * lib/xreadlink.c: Likewise.
23497         * lib/xreadlink.h: Likewise.
23498         * lib/xsetenv.c: Likewise.
23499         * lib/xsetenv.h: Likewise.
23500         * lib/xstriconv.c: Likewise.
23501         * lib/xstriconv.h: Likewise.
23502         * lib/xstrndup.c: Likewise.
23503         * lib/xstrndup.h: Likewise.
23504         * lib/xstrtod.c: Likewise.
23505         * lib/xstrtod.h: Likewise.
23506         * lib/xstrtol-error.c: Likewise.
23507         * lib/xstrtol.c: Likewise.
23508         * lib/xstrtol.h: Likewise.
23509         * lib/xtime.h: Likewise.
23510         * lib/xvasprintf.c: Likewise.
23511         * lib/xvasprintf.h: Likewise.
23512         * lib/yesno.c: Likewise.
23513         * lib/yesno.h: Likewise.
23514         * posix-modules: Likewise.
23515         * tests/test-alloca-opt.c: Likewise.
23516         * tests/test-arcfour.c: Likewise.
23517         * tests/test-arctwo.c: Likewise.
23518         * tests/test-argmatch.c: Likewise.
23519         * tests/test-argp-2.sh: Likewise.
23520         * tests/test-argp.c: Likewise.
23521         * tests/test-arpa_inet.c: Likewise.
23522         * tests/test-array_list.c: Likewise.
23523         * tests/test-array_oset.c: Likewise.
23524         * tests/test-atexit.c: Likewise.
23525         * tests/test-avltree_list.c: Likewise.
23526         * tests/test-avltree_oset.c: Likewise.
23527         * tests/test-avltreehash_list.c: Likewise.
23528         * tests/test-base64.c: Likewise.
23529         * tests/test-binary-io.c: Likewise.
23530         * tests/test-byteswap.c: Likewise.
23531         * tests/test-c-ctype.c: Likewise.
23532         * tests/test-c-strcasecmp.c: Likewise.
23533         * tests/test-c-strcasestr.c: Likewise.
23534         * tests/test-c-strncasecmp.c: Likewise.
23535         * tests/test-c-strstr.c: Likewise.
23536         * tests/test-canonicalize-lgpl.c: Likewise.
23537         * tests/test-canonicalize.c: Likewise.
23538         * tests/test-carray_list.c: Likewise.
23539         * tests/test-ceilf.c: Likewise.
23540         * tests/test-ceill.c: Likewise.
23541         * tests/test-count-one-bits.c: Likewise.
23542         * tests/test-crc.c: Likewise.
23543         * tests/test-dirname.c: Likewise.
23544         * tests/test-fbufmode.c: Likewise.
23545         * tests/test-fcntl.c: Likewise.
23546         * tests/test-fflush.c: Likewise.
23547         * tests/test-floorf.c: Likewise.
23548         * tests/test-floorl.c: Likewise.
23549         * tests/test-fopen.c: Likewise.
23550         * tests/test-fprintf-posix.c: Likewise.
23551         * tests/test-fprintf-posix.h: Likewise.
23552         * tests/test-fpurge.c: Likewise.
23553         * tests/test-freadable.c: Likewise.
23554         * tests/test-freadahead.c: Likewise.
23555         * tests/test-freading.c: Likewise.
23556         * tests/test-freopen.c: Likewise.
23557         * tests/test-frexp.c: Likewise.
23558         * tests/test-frexpl.c: Likewise.
23559         * tests/test-fseek.c: Likewise.
23560         * tests/test-fseeko.c: Likewise.
23561         * tests/test-fseterr.c: Likewise.
23562         * tests/test-fstrcmp.c: Likewise.
23563         * tests/test-ftell.c: Likewise.
23564         * tests/test-ftello.c: Likewise.
23565         * tests/test-fwritable.c: Likewise.
23566         * tests/test-fwriting.c: Likewise.
23567         * tests/test-getaddrinfo.c: Likewise.
23568         * tests/test-getpass.c: Likewise.
23569         * tests/test-gettimeofday.c: Likewise.
23570         * tests/test-hmac-md5.c: Likewise.
23571         * tests/test-hmac-sha1.c: Likewise.
23572         * tests/test-iconv.c: Likewise.
23573         * tests/test-iconvme.c: Likewise.
23574         * tests/test-inttypes.c: Likewise.
23575         * tests/test-isnan.c: Likewise.
23576         * tests/test-isnanf.c: Likewise.
23577         * tests/test-isnanl-nolibm.c: Likewise.
23578         * tests/test-isnanl.c: Likewise.
23579         * tests/test-isnanl.h: Likewise.
23580         * tests/test-ldexpl.c: Likewise.
23581         * tests/test-linked_list.c: Likewise.
23582         * tests/test-linkedhash_list.c: Likewise.
23583         * tests/test-locale.c: Likewise.
23584         * tests/test-localename.c: Likewise.
23585         * tests/test-lock.c: Likewise.
23586         * tests/test-lseek.c: Likewise.
23587         * tests/test-malloca.c: Likewise.
23588         * tests/test-math.c: Likewise.
23589         * tests/test-mbscasecmp.c: Likewise.
23590         * tests/test-mbscasestr1.c: Likewise.
23591         * tests/test-mbscasestr2.c: Likewise.
23592         * tests/test-mbscasestr3.c: Likewise.
23593         * tests/test-mbscasestr4.c: Likewise.
23594         * tests/test-mbschr.c: Likewise.
23595         * tests/test-mbscspn.c: Likewise.
23596         * tests/test-mbsncasecmp.c: Likewise.
23597         * tests/test-mbspbrk.c: Likewise.
23598         * tests/test-mbspcasecmp.c: Likewise.
23599         * tests/test-mbsrchr.c: Likewise.
23600         * tests/test-mbsspn.c: Likewise.
23601         * tests/test-mbsstr1.c: Likewise.
23602         * tests/test-mbsstr2.c: Likewise.
23603         * tests/test-mbsstr3.c: Likewise.
23604         * tests/test-md5.c: Likewise.
23605         * tests/test-memmem.c: Likewise.
23606         * tests/test-netinet_in.c: Likewise.
23607         * tests/test-open.c: Likewise.
23608         * tests/test-printf-frexp.c: Likewise.
23609         * tests/test-printf-frexpl.c: Likewise.
23610         * tests/test-printf-posix.c: Likewise.
23611         * tests/test-printf-posix.h: Likewise.
23612         * tests/test-rbtree_list.c: Likewise.
23613         * tests/test-rbtree_oset.c: Likewise.
23614         * tests/test-rbtreehash_list.c: Likewise.
23615         * tests/test-read-file.c: Likewise.
23616         * tests/test-rijndael.c: Likewise.
23617         * tests/test-search.c: Likewise.
23618         * tests/test-signbit.c: Likewise.
23619         * tests/test-sleep.c: Likewise.
23620         * tests/test-snprintf-posix.c: Likewise.
23621         * tests/test-snprintf-posix.h: Likewise.
23622         * tests/test-snprintf.c: Likewise.
23623         * tests/test-sprintf-posix.c: Likewise.
23624         * tests/test-sprintf-posix.h: Likewise.
23625         * tests/test-stat-time.c: Likewise.
23626         * tests/test-stdbool.c: Likewise.
23627         * tests/test-stdint.c: Likewise.
23628         * tests/test-stdio.c: Likewise.
23629         * tests/test-stdlib.c: Likewise.
23630         * tests/test-stpncpy.c: Likewise.
23631         * tests/test-strcasestr.c: Likewise.
23632         * tests/test-striconv.c: Likewise.
23633         * tests/test-striconveh.c: Likewise.
23634         * tests/test-striconveha.c: Likewise.
23635         * tests/test-string.c: Likewise.
23636         * tests/test-sys_select.c: Likewise.
23637         * tests/test-sys_socket.c: Likewise.
23638         * tests/test-sys_stat.c: Likewise.
23639         * tests/test-sys_time.c: Likewise.
23640         * tests/test-sysexits.c: Likewise.
23641         * tests/test-time.c: Likewise.
23642         * tests/test-tls.c: Likewise.
23643         * tests/test-trunc.c: Likewise.
23644         * tests/test-truncf.c: Likewise.
23645         * tests/test-truncl.c: Likewise.
23646         * tests/test-unistd.c: Likewise.
23647         * tests/test-vasnprintf-posix.c: Likewise.
23648         * tests/test-vasnprintf-posix2.c: Likewise.
23649         * tests/test-vasnprintf.c: Likewise.
23650         * tests/test-vasprintf-posix.c: Likewise.
23651         * tests/test-vasprintf.c: Likewise.
23652         * tests/test-verify.c: Likewise.
23653         * tests/test-vfprintf-posix.c: Likewise.
23654         * tests/test-vprintf-posix.c: Likewise.
23655         * tests/test-vsnprintf-posix.c: Likewise.
23656         * tests/test-vsnprintf.c: Likewise.
23657         * tests/test-vsprintf-posix.c: Likewise.
23658         * tests/test-wchar.c: Likewise.
23659         * tests/test-wctype.c: Likewise.
23660         * tests/test-wcwidth.c: Likewise.
23661         * tests/test-xstrtol.c: Likewise.
23662         * tests/test-xvasprintf.c: Likewise.
23663         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23664         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23665         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23666         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23667         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23668         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23669         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23670         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23671         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23672         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23673         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23674         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23675         * tests/uniname/test-uninames.c: Likewise.
23676         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23677         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
23678         * tests/unistdio/test-u16-printf1.h: Likewise.
23679         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23680         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23681         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23682         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23683         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23684         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23685         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23686         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
23687         * tests/unistdio/test-u32-printf1.h: Likewise.
23688         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23689         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23690         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23691         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23692         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23693         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23694         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23695         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
23696         * tests/unistdio/test-u8-printf1.h: Likewise.
23697         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23698         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23699         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23700         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23701         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23702         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23703         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23704         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
23705         * tests/unistdio/test-ulc-printf1.h: Likewise.
23706         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23707         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23708         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23709         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23710         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23711         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23712         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23713         * tests/uniwidth/test-u16-width.c: Likewise.
23714         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23715         * tests/uniwidth/test-u32-width.c: Likewise.
23716         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23717         * tests/uniwidth/test-u8-width.c: Likewise.
23718         * tests/uniwidth/test-uc_width.c: Likewise.
23719         * config/srclist-update: Likewise.
23720         (fixlicense): Update to GPLv3+.
23721
23722         Change copyright notice from LGPLv2.1+ to LGPLv3+.
23723         * tests/test-tsearch.c: Change copyright notice.
23724
23725         Change copyright notice from LGPLv2.0+ to LGPLv3+.
23726         * lib/c-strcaseeq.h: Change copyright notice.
23727         * lib/streq.h: Likewise.
23728         * lib/uniconv.h: Likewise.
23729         * lib/uniconv/u-conv-from-enc.h: Likewise.
23730         * lib/uniconv/u-conv-to-enc.h: Likewise.
23731         * lib/uniconv/u-strconv-from-enc.h: Likewise.
23732         * lib/uniconv/u-strconv-to-enc.h: Likewise.
23733         * lib/uniconv/u16-conv-from-enc.c: Likewise.
23734         * lib/uniconv/u16-conv-to-enc.c: Likewise.
23735         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
23736         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
23737         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
23738         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
23739         * lib/uniconv/u32-conv-from-enc.c: Likewise.
23740         * lib/uniconv/u32-conv-to-enc.c: Likewise.
23741         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
23742         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
23743         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
23744         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
23745         * lib/uniconv/u8-conv-from-enc.c: Likewise.
23746         * lib/uniconv/u8-conv-to-enc.c: Likewise.
23747         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
23748         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
23749         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
23750         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
23751         * lib/uniname.h: Likewise.
23752         * lib/uniname/uniname.c: Likewise.
23753         * lib/unistdio.h: Likewise.
23754         * lib/unistdio/u-asnprintf.h: Likewise.
23755         * lib/unistdio/u-asprintf.h: Likewise.
23756         * lib/unistdio/u-printf-args.c: Likewise.
23757         * lib/unistdio/u-printf-args.h: Likewise.
23758         * lib/unistdio/u-printf-parse.h: Likewise.
23759         * lib/unistdio/u-snprintf.h: Likewise.
23760         * lib/unistdio/u-sprintf.h: Likewise.
23761         * lib/unistdio/u-vasprintf.h: Likewise.
23762         * lib/unistdio/u-vsnprintf.h: Likewise.
23763         * lib/unistdio/u-vsprintf.h: Likewise.
23764         * lib/unistdio/u16-asnprintf.c: Likewise.
23765         * lib/unistdio/u16-asprintf.c: Likewise.
23766         * lib/unistdio/u16-printf-parse.c: Likewise.
23767         * lib/unistdio/u16-snprintf.c: Likewise.
23768         * lib/unistdio/u16-sprintf.c: Likewise.
23769         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
23770         * lib/unistdio/u16-u16-asprintf.c: Likewise.
23771         * lib/unistdio/u16-u16-snprintf.c: Likewise.
23772         * lib/unistdio/u16-u16-sprintf.c: Likewise.
23773         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
23774         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
23775         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
23776         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
23777         * lib/unistdio/u16-vasnprintf.c: Likewise.
23778         * lib/unistdio/u16-vasprintf.c: Likewise.
23779         * lib/unistdio/u16-vsnprintf.c: Likewise.
23780         * lib/unistdio/u16-vsprintf.c: Likewise.
23781         * lib/unistdio/u32-asnprintf.c: Likewise.
23782         * lib/unistdio/u32-asprintf.c: Likewise.
23783         * lib/unistdio/u32-printf-parse.c: Likewise.
23784         * lib/unistdio/u32-snprintf.c: Likewise.
23785         * lib/unistdio/u32-sprintf.c: Likewise.
23786         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
23787         * lib/unistdio/u32-u32-asprintf.c: Likewise.
23788         * lib/unistdio/u32-u32-snprintf.c: Likewise.
23789         * lib/unistdio/u32-u32-sprintf.c: Likewise.
23790         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
23791         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
23792         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
23793         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
23794         * lib/unistdio/u32-vasnprintf.c: Likewise.
23795         * lib/unistdio/u32-vasprintf.c: Likewise.
23796         * lib/unistdio/u32-vsnprintf.c: Likewise.
23797         * lib/unistdio/u32-vsprintf.c: Likewise.
23798         * lib/unistdio/u8-asnprintf.c: Likewise.
23799         * lib/unistdio/u8-asprintf.c: Likewise.
23800         * lib/unistdio/u8-printf-parse.c: Likewise.
23801         * lib/unistdio/u8-snprintf.c: Likewise.
23802         * lib/unistdio/u8-sprintf.c: Likewise.
23803         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
23804         * lib/unistdio/u8-u8-asprintf.c: Likewise.
23805         * lib/unistdio/u8-u8-snprintf.c: Likewise.
23806         * lib/unistdio/u8-u8-sprintf.c: Likewise.
23807         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
23808         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
23809         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
23810         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
23811         * lib/unistdio/u8-vasnprintf.c: Likewise.
23812         * lib/unistdio/u8-vasprintf.c: Likewise.
23813         * lib/unistdio/u8-vsnprintf.c: Likewise.
23814         * lib/unistdio/u8-vsprintf.c: Likewise.
23815         * lib/unistdio/ulc-asnprintf.c: Likewise.
23816         * lib/unistdio/ulc-asprintf.c: Likewise.
23817         * lib/unistdio/ulc-printf-parse.c: Likewise.
23818         * lib/unistdio/ulc-snprintf.c: Likewise.
23819         * lib/unistdio/ulc-sprintf.c: Likewise.
23820         * lib/unistdio/ulc-vasnprintf.c: Likewise.
23821         * lib/unistdio/ulc-vasprintf.c: Likewise.
23822         * lib/unistdio/ulc-vsnprintf.c: Likewise.
23823         * lib/unistdio/ulc-vsprintf.c: Likewise.
23824         * lib/unistr.h: Likewise.
23825         * lib/unistr/u-cpy-alloc.h: Likewise.
23826         * lib/unistr/u-cpy.h: Likewise.
23827         * lib/unistr/u-endswith.h: Likewise.
23828         * lib/unistr/u-move.h: Likewise.
23829         * lib/unistr/u-set.h: Likewise.
23830         * lib/unistr/u-startswith.h: Likewise.
23831         * lib/unistr/u-stpcpy.h: Likewise.
23832         * lib/unistr/u-stpncpy.h: Likewise.
23833         * lib/unistr/u-strcat.h: Likewise.
23834         * lib/unistr/u-strcpy.h: Likewise.
23835         * lib/unistr/u-strcspn.h: Likewise.
23836         * lib/unistr/u-strdup.h: Likewise.
23837         * lib/unistr/u-strlen.h: Likewise.
23838         * lib/unistr/u-strncat.h: Likewise.
23839         * lib/unistr/u-strncpy.h: Likewise.
23840         * lib/unistr/u-strnlen.h: Likewise.
23841         * lib/unistr/u-strpbrk.h: Likewise.
23842         * lib/unistr/u-strspn.h: Likewise.
23843         * lib/unistr/u-strstr.h: Likewise.
23844         * lib/unistr/u-strtok.h: Likewise.
23845         * lib/unistr/u16-check.c: Likewise.
23846         * lib/unistr/u16-chr.c: Likewise.
23847         * lib/unistr/u16-cmp.c: Likewise.
23848         * lib/unistr/u16-cpy-alloc.c: Likewise.
23849         * lib/unistr/u16-cpy.c: Likewise.
23850         * lib/unistr/u16-endswith.c: Likewise.
23851         * lib/unistr/u16-mblen.c: Likewise.
23852         * lib/unistr/u16-mbsnlen.c: Likewise.
23853         * lib/unistr/u16-mbtouc-aux.c: Likewise.
23854         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
23855         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
23856         * lib/unistr/u16-mbtouc.c: Likewise.
23857         * lib/unistr/u16-mbtoucr.c: Likewise.
23858         * lib/unistr/u16-move.c: Likewise.
23859         * lib/unistr/u16-next.c: Likewise.
23860         * lib/unistr/u16-prev.c: Likewise.
23861         * lib/unistr/u16-set.c: Likewise.
23862         * lib/unistr/u16-startswith.c: Likewise.
23863         * lib/unistr/u16-stpcpy.c: Likewise.
23864         * lib/unistr/u16-stpncpy.c: Likewise.
23865         * lib/unistr/u16-strcat.c: Likewise.
23866         * lib/unistr/u16-strchr.c: Likewise.
23867         * lib/unistr/u16-strcmp.c: Likewise.
23868         * lib/unistr/u16-strcpy.c: Likewise.
23869         * lib/unistr/u16-strcspn.c: Likewise.
23870         * lib/unistr/u16-strdup.c: Likewise.
23871         * lib/unistr/u16-strlen.c: Likewise.
23872         * lib/unistr/u16-strmblen.c: Likewise.
23873         * lib/unistr/u16-strmbtouc.c: Likewise.
23874         * lib/unistr/u16-strncat.c: Likewise.
23875         * lib/unistr/u16-strncmp.c: Likewise.
23876         * lib/unistr/u16-strncpy.c: Likewise.
23877         * lib/unistr/u16-strnlen.c: Likewise.
23878         * lib/unistr/u16-strpbrk.c: Likewise.
23879         * lib/unistr/u16-strrchr.c: Likewise.
23880         * lib/unistr/u16-strspn.c: Likewise.
23881         * lib/unistr/u16-strstr.c: Likewise.
23882         * lib/unistr/u16-strtok.c: Likewise.
23883         * lib/unistr/u16-to-u32.c: Likewise.
23884         * lib/unistr/u16-to-u8.c: Likewise.
23885         * lib/unistr/u16-uctomb-aux.c: Likewise.
23886         * lib/unistr/u16-uctomb.c: Likewise.
23887         * lib/unistr/u32-check.c: Likewise.
23888         * lib/unistr/u32-chr.c: Likewise.
23889         * lib/unistr/u32-cmp.c: Likewise.
23890         * lib/unistr/u32-cpy-alloc.c: Likewise.
23891         * lib/unistr/u32-cpy.c: Likewise.
23892         * lib/unistr/u32-endswith.c: Likewise.
23893         * lib/unistr/u32-mblen.c: Likewise.
23894         * lib/unistr/u32-mbsnlen.c: Likewise.
23895         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
23896         * lib/unistr/u32-mbtouc.c: Likewise.
23897         * lib/unistr/u32-mbtoucr.c: Likewise.
23898         * lib/unistr/u32-move.c: Likewise.
23899         * lib/unistr/u32-next.c: Likewise.
23900         * lib/unistr/u32-prev.c: Likewise.
23901         * lib/unistr/u32-set.c: Likewise.
23902         * lib/unistr/u32-startswith.c: Likewise.
23903         * lib/unistr/u32-stpcpy.c: Likewise.
23904         * lib/unistr/u32-stpncpy.c: Likewise.
23905         * lib/unistr/u32-strcat.c: Likewise.
23906         * lib/unistr/u32-strchr.c: Likewise.
23907         * lib/unistr/u32-strcmp.c: Likewise.
23908         * lib/unistr/u32-strcpy.c: Likewise.
23909         * lib/unistr/u32-strcspn.c: Likewise.
23910         * lib/unistr/u32-strdup.c: Likewise.
23911         * lib/unistr/u32-strlen.c: Likewise.
23912         * lib/unistr/u32-strmblen.c: Likewise.
23913         * lib/unistr/u32-strmbtouc.c: Likewise.
23914         * lib/unistr/u32-strncat.c: Likewise.
23915         * lib/unistr/u32-strncmp.c: Likewise.
23916         * lib/unistr/u32-strncpy.c: Likewise.
23917         * lib/unistr/u32-strnlen.c: Likewise.
23918         * lib/unistr/u32-strpbrk.c: Likewise.
23919         * lib/unistr/u32-strrchr.c: Likewise.
23920         * lib/unistr/u32-strspn.c: Likewise.
23921         * lib/unistr/u32-strstr.c: Likewise.
23922         * lib/unistr/u32-strtok.c: Likewise.
23923         * lib/unistr/u32-to-u16.c: Likewise.
23924         * lib/unistr/u32-to-u8.c: Likewise.
23925         * lib/unistr/u32-uctomb.c: Likewise.
23926         * lib/unistr/u8-check.c: Likewise.
23927         * lib/unistr/u8-chr.c: Likewise.
23928         * lib/unistr/u8-cmp.c: Likewise.
23929         * lib/unistr/u8-cpy-alloc.c: Likewise.
23930         * lib/unistr/u8-cpy.c: Likewise.
23931         * lib/unistr/u8-endswith.c: Likewise.
23932         * lib/unistr/u8-mblen.c: Likewise.
23933         * lib/unistr/u8-mbsnlen.c: Likewise.
23934         * lib/unistr/u8-mbtouc-aux.c: Likewise.
23935         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
23936         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
23937         * lib/unistr/u8-mbtouc.c: Likewise.
23938         * lib/unistr/u8-mbtoucr.c: Likewise.
23939         * lib/unistr/u8-move.c: Likewise.
23940         * lib/unistr/u8-next.c: Likewise.
23941         * lib/unistr/u8-prev.c: Likewise.
23942         * lib/unistr/u8-set.c: Likewise.
23943         * lib/unistr/u8-startswith.c: Likewise.
23944         * lib/unistr/u8-stpcpy.c: Likewise.
23945         * lib/unistr/u8-stpncpy.c: Likewise.
23946         * lib/unistr/u8-strcat.c: Likewise.
23947         * lib/unistr/u8-strchr.c: Likewise.
23948         * lib/unistr/u8-strcmp.c: Likewise.
23949         * lib/unistr/u8-strcpy.c: Likewise.
23950         * lib/unistr/u8-strcspn.c: Likewise.
23951         * lib/unistr/u8-strdup.c: Likewise.
23952         * lib/unistr/u8-strlen.c: Likewise.
23953         * lib/unistr/u8-strmblen.c: Likewise.
23954         * lib/unistr/u8-strmbtouc.c: Likewise.
23955         * lib/unistr/u8-strncat.c: Likewise.
23956         * lib/unistr/u8-strncmp.c: Likewise.
23957         * lib/unistr/u8-strncpy.c: Likewise.
23958         * lib/unistr/u8-strnlen.c: Likewise.
23959         * lib/unistr/u8-strpbrk.c: Likewise.
23960         * lib/unistr/u8-strrchr.c: Likewise.
23961         * lib/unistr/u8-strspn.c: Likewise.
23962         * lib/unistr/u8-strstr.c: Likewise.
23963         * lib/unistr/u8-strtok.c: Likewise.
23964         * lib/unistr/u8-to-u16.c: Likewise.
23965         * lib/unistr/u8-to-u32.c: Likewise.
23966         * lib/unistr/u8-uctomb-aux.c: Likewise.
23967         * lib/unistr/u8-uctomb.c: Likewise.
23968         * lib/unitypes.h: Likewise.
23969         * lib/uniwidth.h: Likewise.
23970         * lib/uniwidth/cjk.h: Likewise.
23971         * lib/uniwidth/u16-strwidth.c: Likewise.
23972         * lib/uniwidth/u16-width.c: Likewise.
23973         * lib/uniwidth/u32-strwidth.c: Likewise.
23974         * lib/uniwidth/u32-width.c: Likewise.
23975         * lib/uniwidth/u8-strwidth.c: Likewise.
23976         * lib/uniwidth/u8-width.c: Likewise.
23977         * lib/uniwidth/width.c: Likewise.
23978
23979 2007-10-07  Bruno Haible  <bruno@clisp.org>
23980
23981         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
23982         The file is still under LGPL (see modules/inttypes).
23983
23984 2007-10-06  Bruno Haible  <bruno@clisp.org>
23985
23986         * modules/trunc (Dependencies): Add 'extensions'.
23987         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
23988         Reported by Ben Pfaff <blp@gnu.org>.
23989
23990 2007-10-06  Bruno Haible  <bruno@clisp.org>
23991
23992         * modules/freopen-tests: New file.
23993         * tests/test-freopen.c: New file.
23994
23995         * modules/fopen-tests: New file.
23996         * tests/test-fopen.c: New file.
23997
23998         * modules/fopen: New file.
23999         * lib/fopen.c: New file.
24000         * m4/fopen.m4: New file.
24001         * modules/freopen: New file.
24002         * lib/freopen.c: New file.
24003         * m4/freopen.m4: New file.
24004         * lib/stdio.in.h (fopen, freopen): New declarations.
24005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
24006         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
24007         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
24008         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
24009         * doc/functions/fopen.texi: Mention the 'fopen' module.
24010         * doc/functions/freopen.texi: Mention the 'freopen' module.
24011
24012 2007-10-06  Bruno Haible  <bruno@clisp.org>
24013
24014         * modules/open-tests: New file.
24015         * tests/test-open.c: New file.
24016
24017         * modules/open: New file.
24018         * lib/open.c: New file.
24019         * m4/open.m4: New file.
24020         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
24021         lib/open.c does.
24022         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
24023         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
24024         macros.
24025         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
24026         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
24027         REPLACE_OPEN.
24028         * doc/functions/open.texi: Mention the 'open' module.
24029
24030 2007-10-04  Bruno Haible  <bruno@clisp.org>
24031
24032         * modules/ceill-tests: New file.
24033         * tests/test-ceill.c: New file.
24034
24035         * modules/ceill: New file.
24036         * lib/ceill.c: Replace entire file.
24037         * m4/ceill.m4: New file.
24038         * lib/math.in.h (ceill): Replace declaration.
24039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
24040         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
24041         * doc/functions/ceill.texi: Mention the 'ceill' module.
24042         * modules/mathl (Files): Remove lib/ceill.c.
24043         (Depends-on): Add ceill.
24044
24045 2007-10-04  Bruno Haible  <bruno@clisp.org>
24046
24047         * modules/ceilf-tests: New file.
24048         * tests/test-ceilf.c: New file.
24049
24050         * modules/ceilf: New file.
24051         * lib/ceil.c: New file.
24052         * lib/ceilf.c: New file.
24053         * m4/ceilf.m4: New file.
24054         * lib/math.in.h (ceilf): New declaration.
24055         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
24056         HAVE_DECL_CEILF.
24057         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
24058         HAVE_DECL_CEILF.
24059         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
24060
24061 2007-10-04  Bruno Haible  <bruno@clisp.org>
24062
24063         * modules/floorl-tests: New file.
24064         * tests/test-floorl.c: New file.
24065
24066         * modules/floorl: New file.
24067         * lib/floorl.c: Replace entire file.
24068         * m4/floorl.m4: New file.
24069         * lib/math.in.h (floorl): Replace declaration.
24070         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
24071         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
24072         * doc/functions/floorl.texi: Mention the 'floorl' module.
24073         * modules/mathl (Files): Remove lib/floorl.c.
24074         (Depends-on): Add floorl.
24075
24076 2007-10-04  Bruno Haible  <bruno@clisp.org>
24077
24078         * modules/floorf-tests: New file.
24079         * tests/test-floorf.c: New file.
24080
24081         * modules/floorf: New file.
24082         * lib/floor.c: New file.
24083         * lib/floorf.c: New file.
24084         * m4/floorf.m4: New file.
24085         * lib/math.in.h (floorf): New declaration.
24086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
24087         HAVE_DECL_FLOORF.
24088         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
24089         HAVE_DECL_FLOORF.
24090         * doc/functions/floorf.texi: Mention the 'floorf' module.
24091
24092 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
24093             Bruno Haible  <bruno@clisp.org>
24094
24095         Advertise for the Git server instead of the CVS server.
24096         * doc/gnulib-intro.texi (Steady Development): Mention the Git
24097         repository instead of the CVS one.
24098         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
24099         about all VCS systems generically.
24100         * doc/gnulib.texi (Introduction): Capitalize `Git'.
24101
24102 2007-10-04  Bruno Haible  <bruno@clisp.org>
24103
24104         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
24105         means.
24106         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
24107
24108 2007-10-04  Bruno Haible  <bruno@clisp.org>
24109
24110         * modules/truncl-tests: New file.
24111         * tests/test-truncl.c: New file.
24112
24113         * modules/truncl: New file.
24114         * lib/truncl.c: New file.
24115         * m4/truncl.m4: New file.
24116         * lib/math.in.h (truncl): New declaration.
24117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
24118         HAVE_DECL_TRUNCL.
24119         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
24120         HAVE_DECL_TRUNCL.
24121         * doc/functions/truncl.texi: Mention the 'truncl' module.
24122
24123 2007-10-04  Bruno Haible  <bruno@clisp.org>
24124
24125         * modules/truncf-tests: New file.
24126         * tests/test-truncf.c: New file.
24127
24128         * modules/truncf: New file.
24129         * lib/trunc.c: Make paramerizable through USE_* macros.
24130         * lib/truncf.c: New file.
24131         * m4/truncf.m4: New file.
24132         * lib/math.in.h (truncf): New declaration.
24133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
24134         HAVE_DECL_TRUNCF.
24135         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
24136         HAVE_DECL_TRUNCF.
24137         * doc/functions/truncf.texi: Mention the 'truncf' module.
24138
24139 2007-10-03  Bruno Haible  <bruno@clisp.org>
24140
24141         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24142         augmentation also for tests modules.
24143         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
24144         * modules/atexit-tests (Makefile.am): Likewise.
24145         * modules/binary-io-tests (Makefile.am): Likewise.
24146         * modules/c-strcase-tests (Makefile.am): Likewise.
24147         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
24148         * modules/canonicalize-tests (Makefile.am): Likewise.
24149         * modules/closein-tests (Makefile.am): Likewise.
24150         * modules/fprintf-posix-tests (Makefile.am): Likewise.
24151         * modules/freadahead-tests (Makefile.am): Likewise.
24152         * modules/fseek-tests (Makefile.am): Likewise.
24153         * modules/fseeko-tests (Makefile.am): Likewise.
24154         * modules/ftell-tests (Makefile.am): Likewise.
24155         * modules/ftello-tests (Makefile.am): Likewise.
24156         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
24157         * modules/isnanl-tests (Makefile.am): Likewise.
24158         * modules/lseek-tests (Makefile.am): Likewise.
24159         * modules/mbscasecmp-tests (Makefile.am): Likewise.
24160         * modules/mbscasestr-tests (Makefile.am): Likewise.
24161         * modules/mbschr-tests (Makefile.am): Likewise.
24162         * modules/mbscspn-tests (Makefile.am): Likewise.
24163         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
24164         * modules/mbspbrk-tests (Makefile.am): Likewise.
24165         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
24166         * modules/mbsrchr-tests (Makefile.am): Likewise.
24167         * modules/mbsspn-tests (Makefile.am): Likewise.
24168         * modules/mbsstr-tests (Makefile.am): Likewise.
24169         * modules/printf-posix-tests (Makefile.am): Likewise.
24170         * modules/snprintf-posix-tests (Makefile.am): Likewise.
24171         * modules/sprintf-posix-tests (Makefile.am): Likewise.
24172         * modules/tsearch-tests (Makefile.am): Likewise.
24173         * modules/uniname/uniname-tests (Makefile.am): Likewise.
24174         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
24175         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
24176         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
24177         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
24178         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
24179         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
24180         * modules/vprintf-posix-tests (Makefile.am): Likewise.
24181         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
24182         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
24183         * modules/xstrtoimax-tests (Makefile.am): Likewise.
24184         * modules/xstrtol-tests (Makefile.am): Likewise.
24185         * modules/xstrtoumax-tests (Makefile.am): Likewise.
24186         * modules/yesno-tests (Makefile.am): Likewise.
24187
24188 2007-10-03  Bruno Haible  <bruno@clisp.org>
24189
24190         * modules/trunc-tests: New file.
24191         * tests/test-trunc.c: New file.
24192
24193         * modules/trunc: New file.
24194         * lib/trunc.c: New file.
24195         * m4/trunc.m4: New file.
24196         * lib/math.in.h (trunc): New declaration.
24197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
24198         HAVE_DECL_TRUNC.
24199         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
24200         HAVE_DECL_TRUNC.
24201         * doc/functions/trunc.texi: Mention the 'trunc' module.
24202
24203 2007-10-03  Bruno Haible  <bruno@clisp.org>
24204
24205         * tests/test-fpending.c: New file, mostly copied
24206         from coreutils/lib/t-fpending.c.
24207         * modules/fpending-tests: New file.
24208
24209 2007-10-03  Bruno Haible  <bruno@clisp.org>
24210
24211         Port the stdio extensions to QNX (untested).
24212         * lib/fseterr.c (fseterr): Add support for QNX.
24213         * lib/fbufmode.c (fbufmode): Likewise.
24214         * lib/freadable.c (freadable): Likewise.
24215         * lib/fwritable.c (fwritable): Likewise.
24216         * lib/freading.c (freading): Likewise.
24217         * lib/fwriting.c (fwriting): Likewise.
24218         * lib/freadahead.c (freadahed): Likewise.
24219         * lib/fpurge.c (fpurge): Likewise.
24220         * lib/fseeko.c (rpl_fseeko): Likewise.
24221
24222 2007-10-03  Bruno Haible  <bruno@clisp.org>
24223             Jim Meyering  <jim@meyering.net>
24224             Eric Blake  <ebb9@byu.net>
24225
24226         * doc/relocatable.texi: Use @command instead of @program.
24227
24228 2007-10-02  Jim Meyering  <jim@meyering.net>
24229
24230         Perform one more "_.h" -> ".in.h" substitution.
24231         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
24232         instead of unistd_.h here, too.
24233
24234 2007-10-01  Bruno Haible  <bruno@clisp.org>
24235
24236         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
24237         Needed for the alloca-opt module.
24238
24239 2007-09-30  Bruno Haible  <bruno@clisp.org>
24240
24241         * lib/alloca.in.h: Renamed from lib/alloca_.h.
24242         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
24243         alloca_.h.
24244         * lib/argz.in.h: Renamed from lib/argz_.h.
24245         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
24246         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
24247         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
24248         byteswap_.h.
24249         * lib/dirent.in.h: Renamed from lib/dirent_.h.
24250         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
24251         dirent_.h.
24252         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
24253         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
24254         fcntl_.h.
24255         * lib/float.in.h: Renamed from lib/float_.h.
24256         * modules/float (Files, Makefile.am): Use float.in.h instead of
24257         float_.h.
24258         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
24259         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
24260         fnmatch_.h.
24261         * lib/getopt.in.h: Renamed from lib/getopt_.h.
24262         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
24263         getopt_.h.
24264         * lib/glob.in.h: Renamed from lib/glob_.h.
24265         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
24266         * lib/iconv.in.h: Renamed from lib/iconv_.h.
24267         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
24268         iconv_.h.
24269         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
24270         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
24271         inttypes_.h.
24272         * lib/locale.in.h: Renamed from lib/locale_.h.
24273         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
24274         locale_.h.
24275         * lib/math.in.h: Renamed from lib/math_.h.
24276         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
24277         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
24278         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
24279         of netinet_in_.h. Add dependency.
24280         * lib/poll.in.h: Renamed from lib/poll_.h.
24281         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
24282         * lib/search.in.h: Renamed from lib/search_.h.
24283         * modules/search (Files, Makefile.am): Use search.in.h instead of
24284         search_.h.
24285         * lib/signal.in.h: Renamed from lib/signal_.h.
24286         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
24287         _signal.h.
24288         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
24289         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
24290         stdbool_.h.
24291         * lib/stdint.in.h: Renamed from lib/stdint_.h.
24292         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
24293         stdint_.h.
24294         * lib/stdio.in.h: Renamed from lib/stdio_.h.
24295         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
24296         stdio_.h.
24297         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
24298         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
24299         stdlib_.h.
24300         * lib/string.in.h: Renamed from lib/string_.h.
24301         * modules/string (Files, Makefile.am): Use string.in.h instead of
24302         string_.h.
24303         * doc/gnulib-tool.texi (Initial import): Update.
24304         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
24305         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
24306         of sys_select_.h. Add dependency.
24307         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
24308         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
24309         of sys_socket_.h.
24310         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
24311         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
24312         sys_stat_.h.
24313         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
24314         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
24315         sys_time_.h.
24316         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
24317         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
24318         sysexits_.h.
24319         * lib/time.in.h: Renamed from lib/time_.h.
24320         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
24321         * lib/unistd.in.h: Renamed from lib/unistd_.h.
24322         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
24323         unistd_.h.
24324         * lib/wchar.in.h: Renamed from lib/wchar_.h.
24325         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
24326         wchar_.h.
24327         * lib/wctype.in.h: Renamed from lib/wctype_.h.
24328         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
24329         wctype_.h.
24330         * build-aux/bootstrap (slurp): Update.
24331         * lib/.cppi-disable: Update.
24332
24333 2007-09-30  Bruno Haible  <bruno@clisp.org>
24334
24335         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
24336         Needed on BeOS.
24337
24338 2007-09-30  Bruno Haible  <bruno@clisp.org>
24339
24340         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
24341
24342 2007-09-29  Bruno Haible  <bruno@clisp.org>
24343
24344         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
24345
24346 2007-09-29  Bruno Haible  <bruno@clisp.org>
24347
24348         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
24349         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
24350         * build-aux/install-reloc: Compile also areadlink.c.
24351         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
24352
24353 2007-09-29  Bruno Haible  <bruno@clisp.org>
24354
24355         * gnulib-tool (func_emit_initmacro_done): Indentation.
24356
24357 2007-09-29  Bruno Haible  <bruno@clisp.org>
24358
24359         * README: Add CVS checkout update instructions.
24360         Info from Bob Proulx <bob@proulx.com>.
24361
24362 2007-09-28  Eric Blake  <ebb9@byu.net>
24363
24364         Provide move-if-change.
24365         * build-aux/move-if-change: New file, based on best practice
24366         rather than any canonical upstream location.
24367
24368 2007-09-28  Jim Meyering  <jim@meyering.net>
24369
24370         Fix canonicalize loop-detection corner case.
24371         Do not attempt to stat the symlink values stored via seen_triple.
24372         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
24373         on linux-2.6.18, (but not 2.6.22).
24374         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
24375         triple_compare.  The former compares dev,ino,filename, while the latter
24376         would actually stat dirname(filename) when dev and ino were equal.
24377         * lib/hash-triple.c: Install <string.h>.
24378         (STREQ): Define.
24379         (triple_compare_ino_str): New function.
24380         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
24381
24382 2007-09-28  Eric Blake  <ebb9@byu.net>
24383
24384         Enforce that AC_REPLACE_FUNCS files exist.
24385         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
24386         override check for typos.
24387
24388         Fix test-closein on Solaris 10.
24389         * tests/test-closein.c (main): Don't assume stdin can be inherited
24390         closed on all systems.
24391         * tests/test-closein.sh: Likewise.
24392         Reported by Piotr Tarnowski.
24393
24394 2007-09-28  Jim Meyering  <jim@meyering.net>
24395
24396         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
24397
24398 2007-09-27  Jim Meyering  <jim@meyering.net>
24399
24400         canonicalize: Avoid a false-positive cycle failure.
24401         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
24402         Sort.  Remove cycle-check.
24403         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
24404         not cycle-check.h.
24405         (seen_triple): New function.
24406         (canonicalize_filename_mode): Use it instead of cycle-check.
24407         * tests/test-canonicalize.c: Add a test for this bug.
24408         * tests/test-canonicalize.sh: Set up and run the test.
24409
24410         New module, file-set, from coreutils.
24411         * modules/file-set: Define it.
24412         * lib/file-set.c, lib/file-set.h: Implement.
24413
24414         New module, hash-triple, from coreutils.
24415         * modules/hash-triple: Define it.
24416         * lib/hash-triple.c, lib/hash-triple.h: Implement.
24417
24418 2007-09-25  Eric Blake  <ebb9@byu.net>
24419
24420         Fix strerror on Interix.
24421         * lib/string_.h (strerror): Declare replacement.
24422         * doc/functions/strerror.texi (strerror): Document the Interix
24423         shortcoming.
24424         * modules/string (Makefile.am): Support new hooks.
24425         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
24426         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
24427         gl_FUNC_STRERROR_SEPARATE.
24428         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
24429         * lib/strerror.c (rpl_strerror): Provide replacement.
24430         * modules/strerror (Depends-on): Add string.
24431         (configure.ac): Detect use of module.
24432         * tests/test-strerror.c: New file.
24433         * modules/strerror-tests: New test module.
24434         * modules/argp (Depends-on): Add strerror.
24435         * modules/error (Depends-on): Likewise.
24436         Reported by Martin Koeppe.
24437
24438 2007-09-24  Bruno Haible  <bruno@clisp.org>
24439
24440         * README: Update git instructions.
24441
24442 2007-09-24  Eric Blake  <ebb9@byu.net>
24443
24444         Revert fpending breakage from 2007-09-08.
24445         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
24446         __fpending.c.
24447
24448 2007-09-24  Jim Meyering  <jim@meyering.net>
24449
24450         filenamecat.c: Add a test.
24451         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
24452         showing how the function works when DIR is the empty string.
24453
24454 2007-09-21  Simon Josefsson  <simon@josefsson.org>
24455
24456         * tests/test-canonicalize.sh: Turn on executable bit.
24457
24458 2007-09-19  Eric Blake  <ebb9@byu.net>
24459
24460         * README: Update CVS instructions.
24461
24462 2007-09-18  Bruno Haible  <bruno@clisp.org>
24463
24464         * modules/areadlink: New file.
24465         * lib/areadlink.h (areadlink): New declaration.
24466         * lib/areadlink.c: New file, based on lib/xreadlink.c.
24467
24468 2007-09-17  Jim Meyering  <jim@meyering.net>
24469
24470         * lib/savewd.c (ESTALE) [!defined]: Define.
24471         Reported to be required on Interix by Martin Koeppe.
24472
24473 2007-09-17  Bruno Haible  <bruno@clisp.org>
24474
24475         * gnulib-tool (func_version): Use $version.
24476
24477 2007-09-16  Bruno Haible  <bruno@clisp.org>
24478
24479         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
24480         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
24481         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
24482         Reported by Greg Schafer <gschafer@zip.com.au>.
24483
24484 2007-09-15  Bruno Haible  <bruno@clisp.org>
24485
24486         * gnulib-tool (sed): Try a little harder to make bash understand the
24487         alias.
24488         Reported by Bruce Korb <bruce.korb@gmail.com>.
24489
24490 2007-09-13  Eric Blake  <ebb9@byu.net>
24491
24492         * ChangeLog: Remove conflict markers.
24493
24494 2007-09-13  Simon Josefsson  <simon@josefsson.org>
24495
24496         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
24497         Reported by Bruno Haible <bruno@clisp.org>.
24498
24499 2007-09-12  Bruno Haible  <bruno@clisp.org>
24500
24501         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
24502         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
24503         is not defined.
24504
24505 2007-09-12  Eric Blake  <ebb9@byu.net>
24506
24507         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
24508         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
24509         Autoconf definition.
24510         * modules/euidaccess (Depends-on): Add extensions, for
24511         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
24512         * modules/fnmatch (Depends-on): Likewise.
24513         * modules/getaddrinfo (Depends-on): Likewise.
24514         * modules/getdelim (Depends-on): Likewise.
24515         * modules/getline (Depends-on): Likewise.
24516         * modules/getsubopt (Depends-on): Likewise.
24517         * modules/gettext (Depends-on): Likewise.
24518         * modules/group-member (Depends-on): Likewise.
24519         * modules/mbchar (Depends-on): Likewise.
24520         * modules/memmem (Depends-on): Likewise.
24521         * modules/mempcpy (Depends-on): Likewise.
24522         * modules/memrchr (Depends-on): Likewise.
24523         * modules/pagealign_alloc (Depends-on): Likewise.
24524         * modules/readutmp (Depends-on): Likewise.
24525         * modules/stpcpy (Depends-on): Likewise.
24526         * modules/stpncpy (Depends-on): Likewise.
24527         * modules/strchrnul (Depends-on): Likewise.
24528         * modules/strndup (Depends-on): Likewise.
24529         * modules/strsep (Depends-on): Likewise.
24530         * modules/strverscmp (Depends-on): Likewise.
24531         * modules/vasprintf (Depends-on): Likewise.
24532         * modules/wcwidth (Depends-on): Likewise.
24533         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
24534         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
24535         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
24536         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
24537         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24538         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24539         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
24540         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
24541         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
24542         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24543         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24544         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
24545         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
24546         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24547         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
24548         * m4/readutmp.m4 (gl_READUTMP): Likewise.
24549         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24550         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
24551         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24552         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
24553         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
24554         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
24555         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
24556         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
24557         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
24558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24559         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
24560         so that lock.m4 can be used in gettext without extensions module.
24561
24562 2007-09-11  Bruno Haible  <bruno@clisp.org>
24563
24564         * m4/isc-posix.m4: Remove file.
24565         Suggested by Eric Blake.
24566
24567 2007-09-11  Eric Blake  <ebb9@byu.net>
24568
24569         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
24570
24571 2007-09-10  Bruno Haible  <bruno@clisp.org>
24572
24573         * posix-modules: Fix typo in error message.
24574         Reported by Matt <mkraai@beckman.com>.
24575
24576 2007-09-09  Bruno Haible  <bruno@clisp.org>
24577
24578         * doc/functions/getdelim.texi: Update list of platforms lacking the
24579         function.
24580         * doc/functions/getline.texi: Likewise.
24581
24582 2007-09-09  Jim Meyering  <jim@meyering.net>
24583
24584         * lib/hash.c (hash_initialize): Detect calloc failure.
24585         Reported by Bruno Haible.
24586
24587 2007-09-09  Bruno Haible  <bruno@clisp.org>
24588
24589         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
24590         malloc or realloc fails.
24591
24592 2007-09-09  Bruno Haible  <bruno@clisp.org>
24593
24594         * modules/getcwd (Depends-on): Add malloc-posix.
24595         * modules/glob (Depends-on): Likewise.
24596         * modules/putenv (Depends-on): Likewise.
24597         * modules/strdup (Depends-on): Likewise.
24598         * modules/getdelim (Depends-on): Add realloc-posix.
24599         * modules/read-file (Depends-on): Likewise.
24600
24601 2007-09-09  Bruno Haible  <bruno@clisp.org>
24602
24603         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
24604         (gl_FUNC_MALLOC_POSIX): Require it.
24605         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
24606         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
24607         * modules/realloc (Files): Add m4/malloc.m4.
24608         * modules/calloc (Files): Likewise.
24609
24610 2007-09-09  Bruno Haible  <bruno@clisp.org>
24611
24612         * modules/malloc-posix: New file.
24613         * modules/malloc (Depends-on): Add malloc-posix.
24614         * lib/malloc.c: Include errno.h.
24615         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
24616         and a POSIX-compatible malloc into a single function. Set ENOMEM
24617         when returning NULL.
24618         * m4/malloc.m4: New file.
24619         * doc/functions/malloc.texi: Mention the malloc-posix module.
24620         * lib/stdlib_.h (malloc): New declaration.
24621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24622         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
24623         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
24624         and HAVE_MALLOC_POSIX.
24625
24626 2007-09-09  Bruno Haible  <bruno@clisp.org>
24627
24628         * modules/realloc-posix: New file.
24629         * modules/realloc (Depends-on): Add realloc-posix.
24630         * lib/realloc.c: Include errno.h.
24631         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
24632         and a POSIX-compatible realloc into a single function. Set ENOMEM
24633         when returning NULL.
24634         * m4/realloc.m4: New file.
24635         * doc/functions/realloc.texi: Mention the realloc-posix module.
24636         * lib/stdlib_.h (realloc): New declaration.
24637         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24638         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
24639         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
24640         and HAVE_REALLOC_POSIX.
24641
24642 2007-09-09  Bruno Haible  <bruno@clisp.org>
24643
24644         * modules/calloc-posix: New file.
24645         * modules/calloc (Depends-on): Add calloc-posix.
24646         * lib/calloc.c: Include errno.h.
24647         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
24648         and a POSIX-compatible calloc into a single function. Set ENOMEM
24649         when returning NULL.
24650         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
24651         * doc/functions/calloc.texi: Mention the calloc-posix module.
24652         * lib/stdlib_.h (calloc): New declaration.
24653         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24654         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
24655         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
24656         and HAVE_CALLOC_POSIX.
24657
24658 2007-09-09  Bruno Haible  <bruno@clisp.org>
24659
24660         Allow for modules to show an arbitrary notice.
24661         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
24662         * gnulib-tool: New option --extract-notice.
24663         (func_usage): Document it.
24664         (sed_extract_prog): Update.
24665         (func_get_notice): New function.
24666         (func_modules_notice): New function.
24667         (func_import, func_create_testdir): Invoke it.
24668         Suggested by Jim Meyering.
24669
24670 2007-09-09  Bruno Haible  <bruno@clisp.org>
24671
24672         * gnulib-tool: New options --verbose, --quiet.
24673         (func_usage): Document them.
24674         (verbose): New variable.
24675         (func_execute_command): New function.
24676         (func_import): Don't show the module list and the file list if
24677         $verbose < 0.
24678         (func_create_testdir): Likewise. Use func_execute_command.
24679         (func_create_megatestdir): Use func_execute_command.
24680
24681 2007-09-08  Bruno Haible  <bruno@clisp.org>
24682
24683         * gnulib-tool (func_import): Prefer rsync over wget when available,
24684         for fetching the PO files.
24685
24686 2007-09-08  Bruno Haible  <bruno@clisp.org>
24687
24688         * posix-modules: New file. Portions copied from gnulib-tool.
24689         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
24690
24691 2007-09-08  Jim Meyering  <jim@meyering.net>
24692
24693         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
24694         * lib/fpending.h: Rename from __fpending.h.
24695         * lib/fpending.c: Rename from __fpending.c.
24696         Include "fpending.h", not "__fpending.h".
24697         * lib/__fpending.h, lib/__fpending.c: Remove files.
24698         * modules/fpending (Files): Reflect new file names.
24699         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
24700
24701 2007-09-08  Bruno Haible  <bruno@clisp.org>
24702
24703         * m4/inttypes-h.m4: Remove stub file.
24704
24705 2007-09-07  Simon Josefsson  <simon@josefsson.org>
24706
24707         * doc/headers/stdint.texi: Discuss #include_next issue.
24708
24709 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
24710
24711         * build-aux/bootstrap: Remove obsolete comment about wget --help.
24712
24713 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24714
24715         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
24716         in variable name.
24717
24718 2007-09-03  Jim Meyering  <jim@meyering.net>
24719
24720         New module: git-version-gen.
24721         * modules/git-version-gen: New file.
24722
24723         Import changes from coreutils for bootstrap script.
24724
24725         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
24726
24727         bootstrap: uses rsync to download the .po files
24728         * build-aux/bootstrap (po_download_command_format): New global.
24729         (download_po_files): Use rsync.
24730         (update_po_files): Don't remove .po files after download,
24731         so future rsync runs can take advantage of the copies.
24732
24733         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
24734
24735         Solve the unnecessary-.po-file-regeneration problem once and for all.
24736         * build-aux/bootstrap (download_po_files): New function, renamed from
24737         get_translations.  Now, downloads, but doesn't update LINGUAS.
24738         (update_po_files): New function.
24739
24740         bootstrap: Ignore more.
24741         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
24742         uniwidth to e.g., lib/.gitignore.
24743         (slurp): Handle the sys_stat_.h -> sys mapping, too.
24744
24745         * build-aux/bootstrap: New setting: vc_ignore.
24746         (insert_sorted_if_absent): Create $file if absent.
24747         Adapt to new, possibly empty, list: $vc_ignore.
24748
24749         bootstrap: generate more ignorable names
24750         * build-aux/bootstrap (slurp): When generating ignorable names,
24751         also map .sin to .sed, .gperf to .c, and .y to .c.
24752
24753 2007-09-03  Jim Meyering  <jim@meyering.net>
24754
24755         * build-aux/git-version-gen: New file, from coreutils.  For details, see
24756         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
24757
24758 2007-09-02  Bruno Haible  <bruno@clisp.org>
24759
24760         Fix mis-recognition of 'mcs' on QNX 6.
24761         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
24762         output contains the string "Mono".
24763         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
24764         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
24765
24766 2007-09-01  Bruno Haible  <bruno@clisp.org>
24767
24768         Fix collision between uniwidth/* and linebreak modules.
24769         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
24770         u32_width): Remove declarations.
24771         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
24772         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
24773         streq3, streq2, streq1, streq0): Remove functions.
24774         (STREQ): Remove macro.
24775         (is_cjk_encoding): Remove function.
24776         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
24777         (uc_width, u8_width, u16_width, u32_width): Remove functions.
24778         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
24779         * NEWS: Document the change.
24780
24781 2007-09-01  Bruno Haible  <bruno@clisp.org>
24782
24783         * lib/streq.h: Add double-inclusion guard.
24784
24785 2007-09-01  Karl Berry  <karl@gnu.org>
24786
24787         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
24788
24789 2007-08-28  Jim Meyering  <jim@meyering.net>
24790
24791         Rename mreadlink_with_size to areadlink_with_size.
24792         * NEWS: Document the change.
24793         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
24794         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
24795         * lib/mreadlink.h: Rename this to...
24796         * lib/areadlink.h: ...this.
24797         * modules/mreadlink-with-size: Rename this to...
24798         * modules/areadlink-with-size: ...this.
24799         * lib/canonicalize.c: Reflect the renaming.
24800         * modules/canonicalize: Likewise.
24801
24802 2007-08-26  Bruno Haible  <bruno@clisp.org>
24803
24804         * gnulib-tool (func_import): When deciding which files to remove,
24805         consider also dangling symbolic links.
24806         Reported by Eric Blake.
24807
24808 2007-08-26  Bruno Haible  <bruno@clisp.org>
24809
24810         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
24811
24812 2007-08-23  Simon Josefsson  <simon@josefsson.org>
24813
24814         * lib/readline.c: Don't include getline.h, the prototype is now
24815         found in stdio.h.
24816
24817 2007-08-23  Jim Meyering  <jim@meyering.net>
24818
24819         Getdelim touchup.
24820         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
24821         around the funlockfile call, since funlockfile never sets errno.
24822         Don't set errno upon failed realloc.
24823
24824 2007-08-22  Eric Blake  <ebb9@byu.net>
24825
24826         Getline touchups.
24827         * lib/getdelim.c (getdelim): Revert regression that required *n to
24828         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
24829         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
24830         getdelim, rather than whether implementation is missing.
24831         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
24832         * lib/stdio_.h (getline): Also declare if replacement is
24833         required.
24834         * doc/functions/getdelim.texi: New file.
24835         * doc/functions/getline.texi: Likewise.
24836         * doc/gnulib.texi (Function Substitutes): Add new files.
24837         Reported by Bruno Haible.
24838
24839 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
24840
24841         * users.txt: Add Guile.
24842
24843 2007-08-22  Eric Blake  <ebb9@byu.net>
24844
24845         * tests/test-getdelim.c (main): Use remove, not unlink.
24846         * tests/test-getline.c (main): Likewise.
24847
24848         Move getline and getdelim into stdio.h, per POSIX 200x.
24849         * modules/getline (Files): Remove getline.h.
24850         (Depends-on): Add stdio.
24851         (configure.ac): Add module indicator.
24852         * modules/getdelim (Files): Remove getdelim.h.
24853         (Depends-on): Add stdio.
24854         (configure.ac): Add module indicator.
24855         * modules/stdio (Makefile.am): Work with new indicators.
24856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24857         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
24858         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24859         * lib/getdelim.h: Delete.
24860         * lib/getline.h: Delete.
24861         * lib/stdio_.h (getdelim, getline): Declare.
24862         * modules/getdelim-tests: New module.
24863         * modules/getline-tests: Likewise.
24864         * tests/test-getdelim.c: New file.
24865         * tests/test-getline.c: Likewise.
24866         * NEWS: Document the change.
24867         * lib/getline.c: Update choice of header.
24868         * lib/csharpcomp.c: Likewise.
24869         * lib/getpass.c: Likewise.
24870         * lib/javacomp.c: Likewise.
24871         * lib/javaversion.c: Likewise.
24872         * lib/yesno.c: Likewise.
24873         * lib/getdelim.c: Likewise.
24874         (getdelim): Set errno on failure, and avoid memory leak.
24875
24876 2007-08-19  Bruno Haible  <bruno@clisp.org>
24877
24878         * modules/closein (Depends-on): Add freadahead.
24879         * lib/closein.c: Include freadahead.h.
24880         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
24881         is zero.
24882
24883 2007-08-19  Bruno Haible  <bruno@clisp.org>
24884
24885         * modules/freadahead-tests: New file.
24886         * tests/test-freadahead.sh: New file.
24887         * tests/test-freadahead.c: New file.
24888
24889         * modules/freadahead: New file.
24890         * lib/freadahead.h: New file.
24891         * lib/freadahead.c: New file.
24892         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
24893         fbufmode, fpurge, freadable, fwritable.
24894
24895 2007-08-19  Eric Blake  <ebb9@byu.net>
24896
24897         Test yesno in combination with closein.
24898         * lib/yesno.c (yesno): Document use of stdin.
24899         * modules/yesno-tests (Files): New module.
24900         * tests/test-yesno.c (main): New file.
24901         * tests/test-yesno.sh: Likewise.
24902
24903 2007-08-19  Bruno Haible  <bruno@clisp.org>
24904
24905         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
24906         * lib/fseeko.c (rpl_fseeko): Likewise.
24907         * lib/fseterr.c (fseterr): Likewise.
24908
24909 2007-08-19  Bruno Haible  <bruno@clisp.org>
24910
24911         * tests/test-lseek.c (main): Disable a test for BeOS.
24912         * doc/functions/lseek.texi: Document the BeOS bug.
24913
24914 2007-08-19  Bruno Haible  <bruno@clisp.org>
24915             Eric Blake  <ebb9@byu.net>
24916
24917         * lib/lseek.c: Include <sys/stat.h>.
24918         (rpl_lseek): Add workaround code also for Unix platforms.
24919         Needed for BeOS.
24920         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
24921         * doc/functions/lseek.texi: Document BeOS definiency.
24922
24923 2007-08-18  Bruno Haible  <bruno@clisp.org>
24924
24925         * modules/fstrcmp-tests: New file.
24926         * tests/test-fstrcmp.c: New file.
24927
24928 2007-08-18  Bruno Haible  <bruno@clisp.org>
24929
24930         * modules/fstrcmp: New file, from GNU gettext with modifications.
24931         * lib/fstrcmp.h: New file, from GNU gettext.
24932         * lib/fstrcmp.c: New file, from GNU gettext.
24933         * MODULES.html.sh (String handling): Add fstrcmp.
24934
24935 2007-08-18  Bruno Haible  <bruno@clisp.org>
24936
24937         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
24938         'bool'.
24939         (diag, compareseq): Remove const from the ctxt argument.
24940         (USE_HEURISTIC): Undefine at the end.
24941
24942 2007-08-18  Jim Meyering  <jim@meyering.net>
24943
24944         New file: lib/idcache.h
24945         * NEWS: Mention the addition.
24946         * modules/idcache (Files): Add lib/idcache.h
24947         * lib/idcache.c: Include "idcache.h".
24948         Don't include <sys/types.h>.
24949         Add a FIXME comment.
24950         Move file-scoped "static" declarations to the top.
24951         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
24952
24953 2007-08-17  Bruno Haible  <bruno@clisp.org>
24954         and Paul Eggert  <eggert@cs.ucla.edu>
24955
24956         * MODULES.html.sh: Add diffseq.
24957         * modules/diffseq: New file.
24958         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
24959         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
24960
24961 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
24962
24963         Import changes from coreutils for bootstrap script.
24964
24965         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
24966
24967         * build-aux/bootstrap (slurp): Work even in environments where
24968         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
24969         current code does not slurp files whose names start with ".", and
24970         this looks like it might be a troublesome area.
24971
24972         2007-07-11  Jim Meyering  <jim@meyering.net>
24973
24974         If there's a GPL vN copyright comment, require that N == 3.
24975
24976         2007-07-08  Jim Meyering  <jim@meyering.net>
24977
24978         Run the coreutils-specific code only if tests/Makefile.am.in exists.
24979         * build-aux/bootstrap (mam_template): Move definition out of loop.
24980
24981         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
24982
24983         * build-aux/bootstrap (symlink_to_dir): Rename function from
24984         symlink_to_gnulib.  Add a directory parameter.  Update all
24985         callers.
24986         (cp_mark_as_generated): Also check for -- and link to -- files in
24987         gl/.
24988
24989         2007-07-08  Jim Meyering  <jim@meyering.net>
24990
24991         Adapt to deeper hierarchy in gnulib.
24992         * build-aux/bootstrap (symlink_to_dir): If the destination
24993         directory doesn't exist, create it. This is required at least for
24994         "lib/uniwidth/cjk.h".
24995
24996         2007-05-15  Jim Meyering  <jim@meyering.net>
24997
24998         * build-aux/bootstrap: Now that generated Makefile.am files
24999         are no longer under version control, they must be created at
25000         bootstrap time.
25001
25002 2007-08-14  Ben Pfaff  <blp@gnu.org>
25003
25004         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
25005
25006 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
25007
25008         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
25009         given the changes below.
25010         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
25011         even on hosts that have padding bits beyond the supported 64.
25012
25013 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25014
25015         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
25016         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
25017         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
25018         depends on it.
25019         (xstrtol_error): Remove.
25020         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
25021         but with a different signature.
25022         (ATTRIBUTE_NORETURN, __attribute__): New macros.
25023         * lib/xstrtol-error.c: Include exitfail.h.
25024         (xstrtol_fatal): New function, with a different signature from the
25025         old xstrtol_error, so that the caller need not worry about passing
25026         in an exit status, or about storage management of the option argument.
25027         (xstrtol_error): Now a static function.  Redo signature to
25028         implement xstrtol_fatal.  Output the correct number of hyphens in
25029         front of the option so that the caller need not worry about
25030         storage management.
25031         (N_): New macro.
25032         (_): Remove; not used now.
25033         * modules/xstrtol: Depend on getopt.
25034         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
25035         of old STRTOL_FATAL_ERROR macro.
25036         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
25037         of test program.
25038         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
25039         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
25040
25041 2007-08-08  Eric Blake  <ebb9@byu.net>
25042
25043         * lib/xstrtol-error.c: Add missing include.
25044
25045         Move xstrtol messages into gnulib domain, when --pobase is used.
25046         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
25047         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
25048         * modules/xstrtol (Files): Distribute new file.
25049         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
25050         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
25051         * tests/test-xstrtol.c: ...into new file.
25052         * tests/test-xstrtoul.c: Also test xstrtoul.
25053         * tests/test-xstrtoimax.c: Also test xstrtoimax.
25054         * tests/test-xstrtoumax.c: Also test xstrtoumax.
25055         * tests/test-xstrtol.sh: Drive the tests.
25056         * tests/test-xstrtoimax.sh: Likewise.
25057         * tests/test-xstrtoumax.sh: Likewise.
25058         * modules/xstrtol-tests: New module.
25059         * modules/xstrtoimax-tests: Likewise.
25060         * modules/xstrtoumax-tests: Likewise.
25061
25062 2007-08-08  Jim Meyering  <jim@meyering.net>
25063
25064         New function: mfile_name_concat.
25065         * lib/filenamecat.c (mfile_name_concat): New function, just like
25066         file_name_concat, but return NULL upon failure rather than exiting
25067         with a diagnostic.
25068         * lib/filenamecat.h: Declare it.
25069
25070 2007-08-07  Bruno Haible  <bruno@clisp.org>
25071
25072         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
25073         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
25074         warning from gcc.
25075         Reported by Eric Blake.
25076
25077 2007-08-07  Simon Josefsson  <simon@josefsson.org>
25078
25079         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
25080         * modules/crypto/arcfour (License): Likewise.
25081         * modules/crypto/des-tests (License): Likewise.
25082         * modules/crypto/gc-arctwo-tests (License): Likewise.
25083         * modules/crypto/gc-des-tests (License): Likewise.
25084         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
25085         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
25086         * modules/crypto/gc-md2-tests (License): Likewise.
25087         * modules/crypto/gc-md4-tests (License): Likewise.
25088         * modules/crypto/gc-md5-tests (License): Likewise.
25089         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
25090         * modules/crypto/gc-rijndael-tests (License): Likewise.
25091         * modules/crypto/gc-sha1-tests (License): Likewise.
25092         * modules/crypto/gc-tests (License): Likewise.
25093         * modules/crypto/hmac-md5 (License): Likewise.
25094         * modules/crypto/hmac-sha1 (License): Likewise.
25095         * modules/crypto/md2-tests (License): Likewise.
25096         * modules/crypto/md4-tests (License): Likewise.
25097         * modules/crypto/md5 (License): Likewise.
25098         * modules/crypto/rijndael (License): Likewise.
25099         * modules/crypto/sha1 (License): Likewise.
25100         * modules/memxor (License): Likewise.
25101
25102 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
25103         and Bruno Haible  <bruno@clisp.org>
25104
25105         * NEWS: Describe interface changes to human, xstrtol.
25106         * lib/human.h: Include <xstrtol.h>.
25107         (human_options): Return enum strtol_error, not int.  Remove
25108         bool arg; take int * instead.
25109         * lib/human.c: Don't include "gettext.h".
25110         (_): Remove; no longer used.
25111         Don't include <xstrtol.h>, since human.h does it.
25112         (human_options): Adjust to abovementioned interface changes.
25113         Do not report error to stderr; that's now the caller's
25114         responsibility.
25115         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
25116         interface change.
25117         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
25118         Str, Argument_type_string.  All uses changed.  Put " argument"
25119         in diagnostics to make them clearer.  Change wording of suffix
25120         message for clarity.
25121         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
25122         Argument_type_string.
25123         (STRTOL_FATAL_WARN): Remove; no longer used.
25124         * modules/human (Depends-on): Remove gettext-h.
25125
25126 2007-08-06  Simon Josefsson  <simon@josefsson.org>
25127
25128         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
25129
25130 2007-07-31  Bruno Haible  <bruno@clisp.org>
25131
25132         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
25133         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
25134         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
25135
25136 2007-07-31  Bruno Haible  <bruno@clisp.org>
25137
25138         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
25139         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
25140
25141 2007-07-30  Bruno Haible  <bruno@clisp.org>
25142
25143         * modules/base64 (License): Use the synonymous term "LGPLv2+".
25144         * modules/c-ctype (License): Likewise.
25145         * modules/c-strcase (License): Likewise.
25146         * modules/check-version (License): Likewise.
25147         * modules/iconv (License): Likewise.
25148         * modules/iconv_open (License): Likewise.
25149         * modules/read-file (License): Likewise.
25150         * modules/striconv (License): Likewise.
25151         * modules/strverscmp (License): Likewise.
25152         * modules/vasprintf (License): Likewise.
25153         * modules/crypto/des (License): Likewise.
25154         * modules/crypto/gc (License): Likewise.
25155         * modules/crypto/gc-arcfour (License): Likewise.
25156         * modules/crypto/gc-arctwo (License): Likewise.
25157         * modules/crypto/gc-des (License): Likewise.
25158         * modules/crypto/gc-hmac-md5 (License): Likewise.
25159         * modules/crypto/gc-hmac-sha1 (License): Likewise.
25160         * modules/crypto/gc-md2 (License): Likewise.
25161         * modules/crypto/gc-md4 (License): Likewise.
25162         * modules/crypto/gc-md5 (License): Likewise.
25163         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
25164         * modules/crypto/gc-random (License): Likewise.
25165         * modules/crypto/gc-rijndael (License): Likewise.
25166         * modules/crypto/gc-sha1 (License): Likewise.
25167         * modules/crypto/md2 (License): Likewise.
25168         * modules/crypto/md4 (License): Likewise.
25169
25170 2007-07-30  Jim Meyering  <jim@meyering.net>
25171
25172         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
25173         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
25174         it has valid stat data.  This bug would cause du not to count the
25175         sizes of inaccessible directories.
25176         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
25177         in <http://bugzilla.redhat.com/250077>.
25178
25179 2007-07-25  Peter O'Gorman  <peter@pogma.com>
25180             Bruno Haible  <bruno@clisp.org>
25181
25182         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
25183         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
25184         #include_next, gives a diagnostic about it, but reports no error in
25185         the exit code.
25186         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
25187
25188 2007-07-24  Ben Pfaff  <blp@gnu.org>
25189
25190         Improve name: "count-one-bits" is better than "popcount".
25191         * MODULES.html.sh: Update name.
25192         * lib/popcount.h: Renamed lib/count-one-bits.h.
25193         (popcount): Renamed count_one_bits.
25194         (popcountl): Renamed count_one_bits_l.
25195         (popcountll): Renamed count_one_bits_ll.
25196         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
25197         * modules/popcount: Renamed module/count-one-bits.
25198         * modules/popcount-tests: Renamed module/count-one-bits-tests.
25199         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
25200
25201 2007-07-23  Ben Pfaff  <blp@gnu.org>
25202
25203         * lib/popcount.h (popcount32): Reduce size of constants, to allow
25204         better code generation, and add U to large constants to avoid
25205         warnings, in non-GCC case.
25206         Suggested by Bruno Haible.
25207
25208 2007-07-23  Ben Pfaff  <blp@gnu.org>
25209
25210         * lib/popcount.h: Use verify_true instead of if...abort.
25211         * modules/popcount: Depend on verify module.
25212         Suggested by Jim Meyering.
25213
25214 2007-07-23  Bruno Haible  <bruno@clisp.org>
25215
25216         * gnulib-tool (func_import): Create a .cvsignore file also when the
25217         directory is not yet in CVS but the toplevel directory is. When
25218         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
25219         Reported by Karl Berry.
25220
25221 2007-07-22  Ben Pfaff  <blp@gnu.org>
25222
25223         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
25224         case.
25225         Suggested by Eric Blake.
25226
25227 2007-07-22  Ben Pfaff  <blp@gnu.org>
25228
25229         New module: popcount.
25230         * MODULES.html.sh: Add popcount.
25231         * modules/popcount: New file.
25232         * modules/popcount-tests: New file.
25233         * tests/test-popcount.c: New file.
25234         * lib/popcount.h: New file.
25235         * m4/popcount.m4: New file.
25236
25237 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25238
25239         * build-aux/announce-gen: Update to GPLv3.
25240
25241         * build-aux/config.guess: Update from config.
25242
25243 2007-07-21  Bruno Haible  <bruno@clisp.org>
25244
25245         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
25246         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
25247
25248 2007-07-20  Jim Meyering  <jim@meyering.net>
25249
25250         * check-module: Diagnose a self-dependency.
25251
25252 2007-07-19  Bruno Haible  <bruno@clisp.org>
25253
25254         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
25255         empty.
25256         Reported by Eric Blake.
25257
25258 2007-07-18  Bruno Haible  <bruno@clisp.org>
25259
25260         * gnulib-tool: New options --po-base, --po-domain.
25261         (func_usage): Document them.
25262         (pobase, po_domain): New variables.
25263         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
25264         DEFAULT_TEXT_DOMAIN.
25265         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
25266         (func_import): Consider pobase and po_domain. Create a po/ directory.
25267         (func_create_testdir): Set pobase and po_domain to empty.
25268         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
25269         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
25270
25271 2007-07-18  Bruno Haible  <bruno@clisp.org>
25272
25273         * gnulib-tool (func_get_automake_snippet): Synthesize also an
25274         EXTRA_DIST augmentation for files in build-aux/.
25275
25276 2007-07-16  Bruno Haible  <bruno@clisp.org>
25277
25278         * modules/lseek (License): Use the synonymous term "LGPLv2+".
25279         * modules/getdelim (License): Likewise.
25280
25281 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25282
25283         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
25284         * modules/d-type (License): Likewise.
25285         * modules/extensions (License): Likewise.
25286         * modules/fnmatch (License): Likewise.
25287         * modules/fseeko (License): Likewise.
25288         * modules/getaddrinfo (License): Likewise.
25289         * modules/getline (License): Likewise.
25290         * modules/getlogin_r (License): Likewise.
25291         * modules/getpass (License): Likewise.
25292         * modules/gettimeofday (License): Likewise.
25293         * modules/glob (License): Likewise.
25294         * modules/inet_ntop (License): Likewise.
25295         * modules/malloc (License): Likewise.
25296         * modules/malloca (License): Likewise.
25297         * modules/memmem (License): Likewise.
25298         * modules/mempcpy (License): Likewise.
25299         * modules/memset (License): Likewise.
25300         * modules/minmax (License): Likewise.
25301         * modules/mktime (License): Likewise.
25302         * modules/netinet_in (License): Likewise.
25303         * modules/pathmax (License): Likewise.
25304         * modules/poll (License): Likewise.
25305         * modules/regex (License): Likewise.
25306         * modules/snprintf (License): Likewise.
25307         * modules/stdbool (License): Likewise.
25308         * modules/stdint (License): Likewise.
25309         * modules/stdio (License): Likewise.
25310         * modules/strcase (License): Likewise.
25311         * modules/strcasestr (License): Likewise.
25312         * modules/strdup (License): Likewise.
25313         * modules/string (License): Likewise.
25314         * modules/strndup (License): Likewise.
25315         * modules/strnlen (License): Likewise.
25316         * modules/strpbrk (License): Likewise.
25317         * modules/strptime (License): Likewise.
25318         * modules/strsep (License): Likewise.
25319         * modules/sys_select (License): Likewise.
25320         * modules/sys_socket (License): Likewise.
25321         * modules/sys_stat (License): Likewise.
25322         * modules/sys_time (License): Likewise.
25323         * modules/time (License): Likewise.
25324         * modules/time_r (License): Likewise.
25325         * modules/timegm (License): Likewise.
25326         * modules/unistd (License): Likewise.
25327         * modules/vsnprintf (License): Likewise.
25328         * modules/wctype (License): Likewise.
25329
25330 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25331
25332         * modules/argz (License): LGPLv2+.
25333
25334 2007-07-15  Karl Berry  <karl@gnu.org>
25335
25336         * doc/gnulib.texi: revise node structure per new fdl.texi.
25337
25338 2007-07-14  Bruno Haible  <bruno@clisp.org>
25339
25340         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
25341         the output file.
25342         * lib/uniname/uninames.h: Regenerated.
25343
25344 2007-07-14  Karl Berry  <karl@gnu.org>
25345
25346         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
25347         omitting sectioning and index commands.
25348
25349 2007-07-13  Bruno Haible  <bruno@clisp.org>
25350
25351         New gnulib-tool option --more-symlinks.
25352         * gnulib-tool (func_usage): Document --more-symlinks.
25353         (do_copyrights): New variable.
25354         Recognize option --more-symlinks.
25355         (func_import): Don't add a copyright notice transform to
25356         sed_transform_lib_file if do_copyrights is empty.
25357
25358 2007-07-13  Bruno Haible  <bruno@clisp.org>
25359
25360         * lib/vasnprintf.c (decimal_point_char): Define also if
25361         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
25362         && !NEED_PRINTF_DIRECTIVE_A.
25363         Reported by Clemens Koller <clemens.koller@anagramm.de> via
25364         Gary V. Vaughan <gary@gnu.org>.
25365
25366 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
25367
25368         * lib/inttypes_.h: Undo previous change, since it was fixed
25369         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
25370
25371 2007-07-13  Bruno Haible  <bruno@clisp.org>
25372
25373         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
25374         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
25375
25376 2007-07-13  Jim Meyering  <jim@meyering.net>
25377
25378         df: Don't fail for Tru64's "file-on-file mount".
25379         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
25380         so we fall through and use statfs instead.  Details here:
25381         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
25382         Reported by Albert Chin.
25383
25384 2007-07-13  Bruno Haible  <bruno@clisp.org>
25385
25386         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
25387         * modules/configmake (License): Likewise.
25388         * modules/gettext (License): Likewise.
25389         * modules/gettext-h (License): Likewise.
25390         * modules/include_next (License): Likewise.
25391         * modules/link-warning (License): Likewise.
25392         * modules/localcharset (License): Likewise.
25393         * modules/localename (License): Likewise.
25394         * modules/lock (License): Likewise.
25395         * modules/relocatable-lib-lgpl (License): Likewise.
25396         * modules/size_max (License): Likewise.
25397         * modules/vasnprintf (License): Likewise.
25398         * modules/wchar (License): Likewise.
25399         * modules/xsize (License): Likewise.
25400
25401 2007-07-13  Bruno Haible  <bruno@clisp.org>
25402
25403         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
25404         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
25405
25406 2007-07-12  Bruno Haible  <bruno@clisp.org>
25407
25408         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
25409         in the modules files.
25410
25411 2007-07-11  Karl Berry  <karl@gnu.org>
25412
25413         * MODULES.html.sh (func_module): use
25414          sed -e '\|^'"${includefile}"'$|d'
25415          instead of /.../d, to avoid errors on $includefile's containing /.
25416
25417 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
25418
25419         * gnulib-tool (func_import): Avoid duplication of --avoid
25420         statements
25421         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
25422         names to `_' in variable names.
25423
25424 2007-07-10  Eric Blake  <ebb9@byu.net>
25425
25426         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
25427         * NEWS: Document this change.
25428
25429 2007-07-08  Bruno Haible  <bruno@clisp.org>
25430
25431         Update to Unicode 5.0.
25432         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
25433         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
25434         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
25435         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
25436         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
25437         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
25438         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
25439         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
25440         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
25441         U+10A3F, U+1D242..U+1D244.
25442         (nonspacing_table_ind): Update.
25443         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
25444         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
25445
25446 2007-07-08  Bruno Haible  <bruno@clisp.org>
25447
25448         Update to Unicode 5.0.
25449         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
25450         code transform. Extend the name index field of unicode_name_to_code and
25451         unicode_code_to_name from 16 to 24 bits.
25452         * lib/uniname/uniname.c (unicode_character_name,
25453         unicode_name_character): Add the range 0x12xxx to the code transform.
25454         * lib/uniname/uninames.h: Regenerated.
25455         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
25456
25457 2007-07-07  Bruno Haible  <bruno@clisp.org>
25458
25459         * modules/wcwidth-tests: New file.
25460         * tests/test-wcwidth.c: New file.
25461
25462         Work around MacOS X wcwidth() bug.
25463         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
25464         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
25465         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
25466         original wcwidth in non-UTF-8 locales.
25467         * modules/wcwidth (Depends-on): Add localcharset, streq,
25468         uniwidth/width.
25469         * doc/functions/wcwidth.texi: Update.
25470
25471 2007-07-07  Bruno Haible  <bruno@clisp.org>
25472
25473         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
25474         (wcwidth): New declaration.
25475         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
25476         macros.
25477         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
25478         here. Prepare for creating <wchar.h> unconditionally.
25479         * modules/wchar (Depends-on): Add link-warning.
25480         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
25481         REPLACE_WCWIDTH, and GL_LINK_WARNING.
25482         * lib/wcwidth.h: Remove file.
25483         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
25484         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
25485         * modules/wcwidth (Files): Remove lib/wcwidth.h.
25486         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
25487         (Include): Replace wcwidth.h with <wchar.h>.
25488         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
25489         * lib/mbchar.h: Don't include wcwidth.h.
25490         * lib/mbswidth.c: Likewise.
25491         * NEWS: Mention the change.
25492
25493 2007-07-07  Bruno Haible  <bruno@clisp.org>
25494
25495         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
25496         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
25497         definition with an external declaration.
25498         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
25499         defined as a function. Remove AC_C_INLINE requirement.
25500         * modules/wcwidth (Files): Add lib/wcwidth.c.
25501         (Makefile.am): Remove redundant statement.
25502
25503 2007-07-07  Bruno Haible  <bruno@clisp.org>
25504
25505         * MODULES.html.sh (Unicode string functions): Add the new modules.
25506
25507         * tests/uniwidth/test-u32-strwidth.c: New file.
25508         * modules/uniwidth/u32-strwidth-tests: New file.
25509
25510         * lib/uniwidth/u32-strwidth.c: New file.
25511         * modules/uniwidth/u32-strwidth: New file.
25512
25513         * tests/uniwidth/test-u16-strwidth.c: New file.
25514         * modules/uniwidth/u16-strwidth-tests: New file.
25515
25516         * lib/uniwidth/u16-strwidth.c: New file.
25517         * modules/uniwidth/u16-strwidth: New file.
25518
25519         * tests/uniwidth/test-u8-strwidth.c: New file.
25520         * modules/uniwidth/u8-strwidth-tests: New file.
25521
25522         * lib/uniwidth/u8-strwidth.c: New file.
25523         * modules/uniwidth/u8-strwidth: New file.
25524
25525         * tests/uniwidth/test-u32-width.c: New file.
25526         * modules/uniwidth/u32-width-tests: New file.
25527
25528         * lib/uniwidth/u32-width.c: New file.
25529         * modules/uniwidth/u32-width: New file.
25530
25531         * tests/uniwidth/test-u16-width.c: New file.
25532         * modules/uniwidth/u16-width-tests: New file.
25533
25534         * lib/uniwidth/u16-width.c: New file.
25535         * modules/uniwidth/u16-width: New file.
25536
25537         * tests/uniwidth/test-u8-width.c: New file.
25538         * modules/uniwidth/u8-width-tests: New file.
25539
25540         * lib/uniwidth/u8-width.c: New file.
25541         * modules/uniwidth/u8-width: New file.
25542
25543         * tests/uniwidth/test-uc_width.c: New file.
25544         * modules/uniwidth/width-tests: New file.
25545
25546         * lib/uniwidth/width.c: New file, from GNU libiconv.
25547         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
25548         * modules/uniwidth/width: New file.
25549
25550         * lib/uniwidth.h: New file, from GNU libiconv.
25551         * modules/uniwidth/base: New file.
25552
25553 2007-07-07  Bruno Haible  <bruno@clisp.org>
25554
25555         * lib/uniname.h: New file, from GNU gettext.
25556         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
25557         * lib/uniname/uninames.h: New file, from GNU gettext.
25558         * lib/uniname/uniname.c: New file, from GNU gettext.
25559         * tests/uniname/test-uninames.sh: New file.
25560         * tests/uniname/test-uninames.c: New file, from GNU gettext.
25561         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
25562         * modules/uniname/base: New file.
25563         * modules/uniname/uniname: New file.
25564         * modules/uniname/uniname-tests: New file.
25565         * MODULES.html.sh (Unicode string functions): Add the new modules.
25566
25567 2007-07-06  Bruno Haible  <bruno@clisp.org>
25568
25569         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
25570
25571 2007-07-06  Bruno Haible  <bruno@clisp.org>
25572
25573         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
25574         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
25575         includes <cygwin/sys_time.h> which includes <sys/select.h> which
25576         include <sys/time.h>.
25577         Reported by Eric Blake.
25578
25579 2007-07-06  Eric Blake  <ebb9@byu.net>
25580
25581         Fix testing canonicalize on cygwin.
25582         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
25583         Revert patch from 2007-06-19.
25584         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
25585         canonicalize module is also in use.
25586         * tests/test-canonicalize.c: New file.
25587         * tests/test-canonicalize.sh: Likewise.
25588         * modules/canonicalize-tests: Likewise.
25589
25590 2007-07-06  Jim Meyering  <jim@meyering.net>
25591
25592         * lib/getugroups.c (getugroups): Detect getgrent failure.
25593         Adjust comment to reflect reality: this function may return -1.
25594
25595 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
25596
25597         * build-aux/bootstrap (TP_URL,get_translations): Update to use
25598         the new TP address.
25599         (usage): Fix typo
25600         (gnulib_mk): New variable.
25601
25602 2007-07-05  Jim Meyering  <jim@meyering.net>
25603
25604         Don't let endgrent clobber errno, no matter how improbable.
25605         * lib/getugroups.c (getugroups): Save and restore errno around
25606         endgrent call.
25607
25608         Close the group DB even when failing with 2^31 or more members.
25609         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
25610
25611 2007-07-04  Jim Meyering  <jim@meyering.net>
25612
25613         * lib/getugroups.h: New file.
25614         * lib/getugroups.c: Include "getugroups.h".
25615         Remove uses of "register" keyword.
25616         Move local variable, "cp", down into scope where used.
25617         Give "username" parameter the "const" attribute.
25618         * modules/getugroups (Files): Add lib/getugroups.h
25619
25620 2007-07-04  Karl Berry  <karl@gnu.org>
25621
25622         * MODULES.html.sh (func_all_modules): Complete rename of
25623         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
25624
25625 2007-07-02  Bruno Haible  <bruno@clisp.org>
25626
25627         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
25628         mode, when inttypes.h comes from gnulib.
25629         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
25630
25631 2007-07-02  Simon Josefsson  <simon@josefsson.org>
25632
25633         * NEWS: Mention lgpl module name change.
25634
25635         * modules/lgpl-2.1: Renamed from lgpl.
25636
25637         * NEWS: Mention gpl module name change.
25638
25639         * modules/gpl-3.0: New file, based on gpl-2.0.
25640
25641         * modules/gpl-2.0: Renamed from gpl.
25642
25643         * modules/gpl: Fix filename, doc/gpl.texi is now found at
25644         doc/gpl-2.0.texi.
25645
25646 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
25647
25648         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
25649         #define __STDC_LIMIT_MACROS temporarily while including
25650         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
25651         Problem reported by Joel E. Denny in
25652         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
25653
25654 2007-07-01  Bruno Haible  <bruno@clisp.org>
25655
25656         * lib/unistdio.h: New file.
25657         * lib/unistdio/u-asnprintf.h: New file.
25658         * lib/unistdio/u-asprintf.h: New file.
25659         * lib/unistdio/u-printf-args.c: New file.
25660         * lib/unistdio/u-printf-args.h: New file.
25661         * lib/unistdio/u-printf-parse.h: New file.
25662         * lib/unistdio/u-snprintf.h: New file.
25663         * lib/unistdio/u-sprintf.h: New file.
25664         * lib/unistdio/u-vasprintf.h: New file.
25665         * lib/unistdio/u-vsnprintf.h: New file.
25666         * lib/unistdio/u-vsprintf.h: New file.
25667         * lib/unistdio/ulc-asnprintf.c: New file.
25668         * lib/unistdio/ulc-asprintf.c: New file.
25669         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
25670         * lib/unistdio/ulc-printf-parse.c: New file.
25671         * lib/unistdio/ulc-snprintf.c: New file.
25672         * lib/unistdio/ulc-sprintf.c: New file.
25673         * lib/unistdio/ulc-vasnprintf.c: New file.
25674         * lib/unistdio/ulc-vasprintf.c: New file.
25675         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
25676         * lib/unistdio/ulc-vsnprintf.c: New file.
25677         * lib/unistdio/ulc-vsprintf.c: New file.
25678         * lib/unistdio/u8-asnprintf.c: New file.
25679         * lib/unistdio/u8-asprintf.c: New file.
25680         * lib/unistdio/u8-printf-parse.c: New file.
25681         * lib/unistdio/u8-snprintf.c: New file.
25682         * lib/unistdio/u8-sprintf.c: New file.
25683         * lib/unistdio/u8-vasnprintf.c: New file.
25684         * lib/unistdio/u8-vasprintf.c: New file.
25685         * lib/unistdio/u8-vsnprintf.c: New file.
25686         * lib/unistdio/u8-vsprintf.c: New file.
25687         * lib/unistdio/u8-u8-asnprintf.c: New file.
25688         * lib/unistdio/u8-u8-asprintf.c: New file.
25689         * lib/unistdio/u8-u8-snprintf.c: New file.
25690         * lib/unistdio/u8-u8-sprintf.c: New file.
25691         * lib/unistdio/u8-u8-vasnprintf.c: New file.
25692         * lib/unistdio/u8-u8-vasprintf.c: New file.
25693         * lib/unistdio/u8-u8-vsnprintf.c: New file.
25694         * lib/unistdio/u8-u8-vsprintf.c: New file.
25695         * lib/unistdio/u16-asnprintf.c: New file.
25696         * lib/unistdio/u16-asprintf.c: New file.
25697         * lib/unistdio/u16-printf-parse.c: New file.
25698         * lib/unistdio/u16-snprintf.c: New file.
25699         * lib/unistdio/u16-sprintf.c: New file.
25700         * lib/unistdio/u16-vasnprintf.c: New file.
25701         * lib/unistdio/u16-vasprintf.c: New file.
25702         * lib/unistdio/u16-vsnprintf.c: New file.
25703         * lib/unistdio/u16-vsprintf.c: New file.
25704         * lib/unistdio/u16-u16-asnprintf.c: New file.
25705         * lib/unistdio/u16-u16-asprintf.c: New file.
25706         * lib/unistdio/u16-u16-snprintf.c: New file.
25707         * lib/unistdio/u16-u16-sprintf.c: New file.
25708         * lib/unistdio/u16-u16-vasnprintf.c: New file.
25709         * lib/unistdio/u16-u16-vasprintf.c: New file.
25710         * lib/unistdio/u16-u16-vsnprintf.c: New file.
25711         * lib/unistdio/u16-u16-vsprintf.c: New file.
25712         * lib/unistdio/u32-asnprintf.c: New file.
25713         * lib/unistdio/u32-asprintf.c: New file.
25714         * lib/unistdio/u32-printf-parse.c: New file.
25715         * lib/unistdio/u32-snprintf.c: New file.
25716         * lib/unistdio/u32-sprintf.c: New file.
25717         * lib/unistdio/u32-vasnprintf.c: New file.
25718         * lib/unistdio/u32-vasprintf.c: New file.
25719         * lib/unistdio/u32-vsnprintf.c: New file.
25720         * lib/unistdio/u32-vsprintf.c: New file.
25721         * lib/unistdio/u32-u32-asnprintf.c: New file.
25722         * lib/unistdio/u32-u32-asprintf.c: New file.
25723         * lib/unistdio/u32-u32-snprintf.c: New file.
25724         * lib/unistdio/u32-u32-sprintf.c: New file.
25725         * lib/unistdio/u32-u32-vasnprintf.c: New file.
25726         * lib/unistdio/u32-u32-vasprintf.c: New file.
25727         * lib/unistdio/u32-u32-vsnprintf.c: New file.
25728         * lib/unistdio/u32-u32-vsprintf.c: New file.
25729         * tests/unistdio/test-ulc-asnprintf1.c: New file.
25730         * tests/unistdio/test-ulc-asnprintf1.h: New file.
25731         * tests/unistdio/test-ulc-printf1.h: New file.
25732         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
25733         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
25734         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
25735         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
25736         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
25737         * tests/unistdio/test-ulc-vasprintf1.c: New file.
25738         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
25739         * tests/unistdio/test-ulc-vsprintf1.c: New file.
25740         * tests/unistdio/test-u8-asnprintf1.c: New file.
25741         * tests/unistdio/test-u8-asnprintf1.h: New file.
25742         * tests/unistdio/test-u8-printf1.h: New file.
25743         * tests/unistdio/test-u8-vasnprintf1.c: New file.
25744         * tests/unistdio/test-u8-vasnprintf2.c: New file.
25745         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
25746         * tests/unistdio/test-u8-vasnprintf3.c: New file.
25747         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
25748         * tests/unistdio/test-u8-vasprintf1.c: New file.
25749         * tests/unistdio/test-u8-vsnprintf1.c: New file.
25750         * tests/unistdio/test-u8-vsprintf1.c: New file.
25751         * tests/unistdio/test-u16-asnprintf1.c: New file.
25752         * tests/unistdio/test-u16-asnprintf1.h: New file.
25753         * tests/unistdio/test-u16-printf1.h: New file.
25754         * tests/unistdio/test-u16-vasnprintf1.c: New file.
25755         * tests/unistdio/test-u16-vasnprintf2.c: New file.
25756         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
25757         * tests/unistdio/test-u16-vasnprintf3.c: New file.
25758         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
25759         * tests/unistdio/test-u16-vasprintf1.c: New file.
25760         * tests/unistdio/test-u16-vsnprintf1.c: New file.
25761         * tests/unistdio/test-u16-vsprintf1.c: New file.
25762         * tests/unistdio/test-u32-asnprintf1.c: New file.
25763         * tests/unistdio/test-u32-asnprintf1.h: New file.
25764         * tests/unistdio/test-u32-printf1.h: New file.
25765         * tests/unistdio/test-u32-vasnprintf1.c: New file.
25766         * tests/unistdio/test-u32-vasnprintf2.c: New file.
25767         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
25768         * tests/unistdio/test-u32-vasnprintf3.c: New file.
25769         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
25770         * tests/unistdio/test-u32-vasprintf1.c: New file.
25771         * tests/unistdio/test-u32-vsnprintf1.c: New file.
25772         * tests/unistdio/test-u32-vsprintf1.c: New file.
25773         * modules/unistdio/base: New file.
25774         * modules/unistdio/u-printf-args: New file.
25775         * modules/unistdio/ulc-asnprintf: New file.
25776         * modules/unistdio/ulc-asprintf: New file.
25777         * modules/unistdio/ulc-fprintf: New file.
25778         * modules/unistdio/ulc-printf-parse: New file.
25779         * modules/unistdio/ulc-snprintf: New file.
25780         * modules/unistdio/ulc-sprintf: New file.
25781         * modules/unistdio/ulc-vasnprintf: New file.
25782         * modules/unistdio/ulc-vasprintf: New file.
25783         * modules/unistdio/ulc-vfprintf: New file.
25784         * modules/unistdio/ulc-vsnprintf: New file.
25785         * modules/unistdio/ulc-vsprintf: New file.
25786         * modules/unistdio/u8-asnprintf: New file.
25787         * modules/unistdio/u8-asprintf: New file.
25788         * modules/unistdio/u8-printf-parse: New file.
25789         * modules/unistdio/u8-snprintf: New file.
25790         * modules/unistdio/u8-sprintf: New file.
25791         * modules/unistdio/u8-vasnprintf: New file.
25792         * modules/unistdio/u8-vasprintf: New file.
25793         * modules/unistdio/u8-vsnprintf: New file.
25794         * modules/unistdio/u8-vsprintf: New file.
25795         * modules/unistdio/u8-u8-asnprintf: New file.
25796         * modules/unistdio/u8-u8-asprintf: New file.
25797         * modules/unistdio/u8-u8-snprintf: New file.
25798         * modules/unistdio/u8-u8-sprintf: New file.
25799         * modules/unistdio/u8-u8-vasnprintf: New file.
25800         * modules/unistdio/u8-u8-vasprintf: New file.
25801         * modules/unistdio/u8-u8-vsnprintf: New file.
25802         * modules/unistdio/u8-u8-vsprintf: New file.
25803         * modules/unistdio/u16-asnprintf: New file.
25804         * modules/unistdio/u16-asprintf: New file.
25805         * modules/unistdio/u16-printf-parse: New file.
25806         * modules/unistdio/u16-snprintf: New file.
25807         * modules/unistdio/u16-sprintf: New file.
25808         * modules/unistdio/u16-vasnprintf: New file.
25809         * modules/unistdio/u16-vasprintf: New file.
25810         * modules/unistdio/u16-vsnprintf: New file.
25811         * modules/unistdio/u16-vsprintf: New file.
25812         * modules/unistdio/u16-u16-asnprintf: New file.
25813         * modules/unistdio/u16-u16-asprintf: New file.
25814         * modules/unistdio/u16-u16-snprintf: New file.
25815         * modules/unistdio/u16-u16-sprintf: New file.
25816         * modules/unistdio/u16-u16-vasnprintf: New file.
25817         * modules/unistdio/u16-u16-vasprintf: New file.
25818         * modules/unistdio/u16-u16-vsnprintf: New file.
25819         * modules/unistdio/u16-u16-vsprintf: New file.
25820         * modules/unistdio/u32-asnprintf: New file.
25821         * modules/unistdio/u32-asprintf: New file.
25822         * modules/unistdio/u32-printf-parse: New file.
25823         * modules/unistdio/u32-snprintf: New file.
25824         * modules/unistdio/u32-sprintf: New file.
25825         * modules/unistdio/u32-vasnprintf: New file.
25826         * modules/unistdio/u32-vasprintf: New file.
25827         * modules/unistdio/u32-vsnprintf: New file.
25828         * modules/unistdio/u32-vsprintf: New file.
25829         * modules/unistdio/u32-u32-asnprintf: New file.
25830         * modules/unistdio/u32-u32-asprintf: New file.
25831         * modules/unistdio/u32-u32-snprintf: New file.
25832         * modules/unistdio/u32-u32-sprintf: New file.
25833         * modules/unistdio/u32-u32-vasnprintf: New file.
25834         * modules/unistdio/u32-u32-vasprintf: New file.
25835         * modules/unistdio/u32-u32-vsnprintf: New file.
25836         * modules/unistdio/u32-u32-vsprintf: New file.
25837         * modules/unistdio/ulc-asnprintf-tests: New file.
25838         * modules/unistdio/ulc-vasnprintf-tests: New file.
25839         * modules/unistdio/ulc-vasprintf-tests: New file.
25840         * modules/unistdio/ulc-vsnprintf-tests: New file.
25841         * modules/unistdio/ulc-vsprintf-tests: New file.
25842         * modules/unistdio/u8-asnprintf-tests: New file.
25843         * modules/unistdio/u8-vasnprintf-tests: New file.
25844         * modules/unistdio/u8-vasprintf-tests: New file.
25845         * modules/unistdio/u8-vsnprintf-tests: New file.
25846         * modules/unistdio/u8-vsprintf-tests: New file.
25847         * modules/unistdio/u16-asnprintf-tests: New file.
25848         * modules/unistdio/u16-vasnprintf-tests: New file.
25849         * modules/unistdio/u16-vasprintf-tests: New file.
25850         * modules/unistdio/u16-vsnprintf-tests: New file.
25851         * modules/unistdio/u16-vsprintf-tests: New file.
25852         * modules/unistdio/u32-asnprintf-tests: New file.
25853         * modules/unistdio/u32-vasnprintf-tests: New file.
25854         * modules/unistdio/u32-vasprintf-tests: New file.
25855         * modules/unistdio/u32-vsnprintf-tests: New file.
25856         * modules/unistdio/u32-vsprintf-tests: New file.
25857         * MODULES.html.sh (Unicode string functions): Add the new modules.
25858
25859 2007-07-01  Bruno Haible  <bruno@clisp.org>
25860
25861         * lib/sprintf.c (sprintf): Limit the available length estimation,
25862         to avoid address wraparound.
25863         * lib/vsprintf.c (vsprintf): Likewise.
25864         * modules/sprintf-posix (Dependencies): Add stdint.
25865         * modules/vsprintf-posix (Dependencies): Likewise.
25866
25867 2007-07-01  Bruno Haible  <bruno@clisp.org>
25868
25869         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
25870         Windows PATH as well. Conservative double-quoting. Comments.
25871
25872 2007-07-01  Bruno Haible  <bruno@clisp.org>
25873             Eric Blake  <ebb9@byu.net>
25874             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25875
25876         * gnulib-tool (self_abspathname): Fix algorithm to cope with
25877         empty components in $PATH, denoting '.'.
25878
25879 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25880
25881         * gnulib-tool: Fix indentation.
25882         (func_create_megatestdir): Likewise.
25883         Report by Bruno Haible.
25884
25885 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25886
25887         Sync from Automake.
25888         * build-aux/gnupload: Fix shell portability issues with for loops.
25889         Report by Karl Berry.
25890
25891 2007-06-29  Simon Josefsson  <simon@josefsson.org>
25892
25893         * build-aux/maint.mk (POURL): Use translationproject.org.
25894
25895 2007-06-27  Simon Josefsson  <simon@josefsson.org>
25896             Bruno Haible  <bruno@clisp.org>
25897
25898         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
25899         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
25900         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
25901         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
25902         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
25903
25904 2007-06-27  Bruno Haible  <bruno@clisp.org>
25905
25906         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
25907         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
25908
25909 2007-06-26  Karl Berry  <karl@gnu.org>
25910
25911         * MODULES.html.sh: remove xreadlink-with-size.
25912
25913 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25914
25915         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
25916         method that I hope also handles the double-include problem noted
25917         by Bruno Haible in
25918         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
25919
25920 2007-06-23  Bruno Haible  <bruno@clisp.org>
25921
25922         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25923         Don't let the 'mostlyclean' target fail if the last subdirectory could
25924         not be removed.
25925         Reported by Karl Berry.
25926
25927 2007-06-23  Bruno Haible  <bruno@clisp.org>
25928
25929         * gnulib-tool (echo): Add a speedier workaround for ksh.
25930         * tests/test-echo.sh: Likewise.
25931
25932 2007-06-23  Bruno Haible  <bruno@clisp.org>
25933
25934         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
25935         * tests/test-echo.sh: Likewise.
25936
25937 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25938
25939         * gnulib-tool (IFS): Initialize early, so we don't set it to
25940         empty later.
25941         (self_abspathname): Rewrite algorithm to set it, reindent.
25942         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25943         (func_create_megatestdir): Merge some sed scripts.
25944
25945 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25946
25947         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
25948         exposed by Sun Studio 11 cc on Solaris 8.
25949
25950 2007-06-22  Bruno Haible  <bruno@clisp.org>
25951
25952         * gnulib-tool (echo): Ensure the echo primitive does not interpret
25953         backslashes.
25954         * tests/test-echo.sh: New file.
25955
25956 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25957
25958         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
25959         simplify `sed_replace_build_aux' scripts, they are portable but
25960         echoing them with `echo' is not.
25961         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
25962
25963 2007-06-21  Karl Berry  <karl@gnu.org>
25964
25965         * config/srclist.txt: guess we can't handle the licenses via
25966         srclist at the moment.
25967
25968 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25969
25970         * MODULES.html.sh: Add include_next.
25971         * modules/include_next: New file.
25972
25973 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
25974
25975         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
25976         INCLUDE_NEXT.
25977         (gl_CHECK_NEXT_HEADERS): New macro.
25978         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
25979         the obsolescent gl_ABSOLUTE_HEADER.
25980         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
25981         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
25982         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25983         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25984         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25985         * m4/math_h.m4 (gl_MATH_H): Likewise.
25986         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
25987         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25988         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
25989         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25990         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
25991         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
25992         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
25993         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25994         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25995         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
25996         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
25997         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25998         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
25999         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
26000         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26001         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26002         * m4/inttypes.m4 (gl_INTTYPES_H): Define
26003         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
26004         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
26005         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
26006         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
26007         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
26008         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
26009         * lib/float_.h: Likewise.
26010         * lib/inttypes_.h: Likewise.
26011         * lib/math_.h: Likewise.
26012         * lib/search_.h: Likewise.
26013         * lib/signal_.h: Likewise.
26014         * lib/stdint_.h: Likewise.
26015         * lib/stdio_.h: Likewise.
26016         * lib/stdlib_.h: Likewise.
26017         * lib/string_.h: Likewise.
26018         * lib/sys_stat_.h: Likewise.
26019         * lib/sys_time_.h: Likewise.
26020         * lib/time_.h: Likewise.
26021         * lib/unistd_.h: Likewise.
26022         * lib/wchar_.h: Likewise.
26023         * lib/wctype_.h: Likewise.
26024         * lib/dirent_.h: Likewise.
26025         * lib/iconv_.h: Likewise.
26026         * lib/locale_.h: Likewise.
26027         * lib/netinet_in_.h: Likewise.
26028         * lib/sys_select_.h: Likewise.
26029         * lib/sys_socket_.h: Likewise.
26030         * lib/sysexits_.h: Likewise.
26031         * modules/fcntl (Depends-on): Depend on include_next, not
26032         absolute_header.
26033         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
26034         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
26035         * modules/fchdir: Likewise.
26036         * modules/float: Likewise.
26037         * modules/iconv_open: Likewise.
26038         * modules/inttypes: Likewise.
26039         * modules/locale: Likewise.
26040         * modules/math: Likewise.
26041         * modules/netinet_in: Likewise.
26042         * modules/search: Likewise.
26043         * modules/signal: Likewise.
26044         * modules/stdint: Likewise.
26045         * modules/stdio: Likewise.
26046         * modules/stdlib: Likewise.
26047         * modules/string: Likewise.
26048         * modules/sys_select: Likewise.
26049         * modules/sys_socket: Likewise.
26050         * modules/sys_stat: Likewise.
26051         * modules/sys_time: Likewise.
26052         * modules/sysexits: Likewise.
26053         * modules/time: Likewise.
26054         * modules/unistd: Likewise.
26055         * modules/wchar: Likewise.
26056         * modules/wctype: Likewise.
26057         * modules/sys_stat: Change maintainer to "all".
26058         * modules/unistd: Likewise.
26059
26060 2007-06-20  Karl Berry  <karl@gnu.org>
26061
26062         * config/srclist.txt: track www changes in license files.
26063
26064 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
26065
26066         * build-aux/bootstrap: Remove stray dot.
26067         Make sure build_aux settings are honored when linking
26068         gnulib_extra_files.
26069
26070 2007-06-19  Eric Blake  <ebb9@byu.net>
26071
26072         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
26073         Allow compilation on cygwin.
26074
26075 2007-06-19  Jim Meyering  <jim@meyering.net>
26076
26077         xreadlink-with-size: Remove module.  No longer used.
26078         Ex-callers now use xreadlink or mreadlink-with-size.
26079         * modules/xreadlink-with-size: Remove module.
26080         * lib/xreadlink-with-size.c: Remove file.
26081         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
26082         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
26083         just before the function definition *is* accurate.
26084
26085         Eliminate one way canonicalize_filename_mode could exit.
26086         * lib/canonicalize.c (canonicalize_filename_mode):
26087         Use mreadlink_with_size, not xreadlink_with_size.
26088
26089 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
26090
26091         Detect porting problems to FreeBSD/arm, which has time_t wider than
26092         long int.  Original problem reported for GNU diff by Xin Li in
26093         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
26094         * modules/getdate (Depends-on): Add intprops, verify.
26095         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
26096         is an integer type no wider than long int.
26097
26098 2007-06-18  Jim Meyering  <jim@meyering.net>
26099
26100         New module: mreadlink-with-size.
26101         * MODULES.html.sh: Add mreadlink-with-size.
26102         * modules/mreadlink-with-size: New module
26103         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
26104         not xreadlink-with-size.
26105         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
26106
26107 2007-06-16  Bruno Haible  <bruno@clisp.org>
26108
26109         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
26110         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
26111         Reported by Gary V. Vaughan <gary@gnu.org>.
26112
26113 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26114
26115         Revamp lchown so that it lives in unistd.h where it belongs.
26116         * lib/lchown.h: Remove.
26117         * lib/dirchownmod.c: Don't include lib/lchown.h.
26118         * lib/fchownat.c: Likewise.
26119         * lib/openat.c: Likewise.
26120         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
26121         does not follow symlinks.
26122         (EOPNOTSUPP): Define if not defined.
26123         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
26124         is defined to 0.
26125         (lchown): New decl.
26126         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
26127         Do not check for lchown decl.
26128         Set REPLACE_LCHOWN.
26129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
26130         REPLACE_LCHOWN.
26131         * modules/chown: Make it clear it follows symlinks.
26132         * modules/lchown: Make it clear it doesn't follow symlinks.
26133         (Files): Remove lib/lchown.h
26134         (Depends-on): Add unistd.
26135         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
26136         (Include): Include <unistd.h>, not "lchown.h".
26137         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
26138         REPLACE_LCHOWN.
26139
26140 2007-06-15  Jim Meyering  <jim@meyering.net>
26141
26142         Change license (GPL to LGPL) of fsusage and dependents.
26143         * modules/fsusage (License): Change to LGPL.
26144         * modules/full-read (License): Likewise.
26145         * modules/full-write (License): Likewise.
26146         * modules/safe-read (License): Likewise.
26147         * modules/safe-write (License): Likewise.
26148
26149 2007-06-14  Ben Pfaff  <blp@gnu.org>
26150
26151         Missing part of allocsa -> malloca transition.
26152         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
26153         gl_MALLOCA.
26154
26155 2007-06-12  Bruno Haible  <bruno@clisp.org>
26156
26157         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
26158         to ia64, x86_64, i386.
26159         Reported by Eric Blake.
26160
26161 2007-06-12  Bruno Haible  <bruno@clisp.org>
26162
26163         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
26164         cross-compiling to x86_64.
26165
26166 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
26167
26168         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
26169         glitch reported by Ralf Wildenhues in
26170         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
26171
26172         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
26173         Vin Shelton.
26174
26175 2007-06-11  Bruno Haible  <bruno@clisp.org>
26176
26177         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
26178         replacement string.
26179         Reported by Eric Blake.
26180
26181 2007-06-10  Bruno Haible  <bruno@clisp.org>
26182
26183         Prepare vasnprintf code for use with Unicode strings.
26184         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
26185         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
26186         TYPE_U32_STRING.
26187         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
26188         a_u32_string variants.
26189         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
26190         * lib/printf-args.c: Don't include config.h and the specification
26191         header if PRINTF_FETCHARGS is already defined.
26192         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
26193         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
26194         TYPE_U16_STRING, TYPE_U32_STRING.
26195         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
26196         u16_directive, u16_directives, u32_directive, u32_directives): New
26197         types.
26198         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
26199         New declarations.
26200         * lib/printf-parse.c: Don't include config.h and the specification
26201         header if PRINTF_PARSE is already defined. Eliminate the set of
26202         parameters for WIDE_CHAR_VERSION; the user of this file must provide
26203         them now. Include c-ctype.h.
26204         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
26205         directive and CHAR_T_ONLY_ASCII.
26206         * lib/vasnprintf.c: Don't include config.h and the specification header
26207         if VASNPRINTF is already defined.
26208         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
26209         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
26210         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
26211         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
26212         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
26213         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
26214         code accordingly.
26215         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
26216         pad_ourselves also in this case, with the 'c' and 's' directives, and
26217         with a different notion of "width".
26218         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
26219
26220 2007-06-10  Bruno Haible  <bruno@clisp.org>
26221
26222         * modules/unistr/u32-mbsnlen: New file.
26223         * lib/unistr/u32-mbsnlen.c: New file.
26224
26225         * modules/unistr/u16-mbsnlen: New file.
26226         * lib/unistr/u16-mbsnlen.c: New file.
26227
26228         * modules/unistr/u8-mbsnlen: New file.
26229         * lib/unistr/u8-mbsnlen.c: New file.
26230
26231         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
26232         declarations.
26233
26234 2007-06-10  Bruno Haible  <bruno@clisp.org>
26235
26236         * lib/string_.h (mbsnlen): New declaration.
26237         * lib/mbsnlen.c: New file.
26238         * m4/mbsnlen.m4: New file.
26239         * modules/mbsnlen: New file.
26240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
26241         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
26242         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
26243
26244 2007-06-10  Bruno Haible  <bruno@clisp.org>
26245
26246         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
26247
26248 2007-06-10  Bruno Haible  <bruno@clisp.org>
26249
26250         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
26251         * lib/mbuiter.h: Likewise.
26252
26253 2007-06-10  Bruno Haible  <bruno@clisp.org>
26254
26255         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
26256         declaration.
26257
26258 2007-06-10  Karl Berry  <karl@gnu.org>
26259
26260         * config/srclist.txt: remove gettext entries, Bruno prefers
26261         to update individually.
26262
26263 2007-06-10  Bruno Haible  <bruno@clisp.org>
26264
26265         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
26266         'maxlen'. Ensure only length + width bytes are allocated, not
26267         length + 1 + width.
26268
26269 2007-06-09  Bruno Haible  <bruno@clisp.org>
26270
26271         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
26272         (CHAR_T): Remove macro.
26273         (VASNPRINTF): Update.
26274
26275 2007-06-09  Bruno Haible  <bruno@clisp.org>
26276
26277         * MODULES.html.sh (Unicode string functions): Add the new modules.
26278
26279         * modules/uniconv/u32-conv-to-enc: New file.
26280         * lib/uniconv/u32-conv-to-enc.c: New file.
26281         * modules/uniconv/u32-conv-to-enc-tests: New file.
26282         * tests/uniconv/test-u32-conv-to-enc.c: New file.
26283
26284         * modules/uniconv/u16-conv-to-enc: New file.
26285         * lib/uniconv/u16-conv-to-enc.c: New file.
26286         * lib/uniconv/u-conv-to-enc.h: New file.
26287         * modules/uniconv/u16-conv-to-enc-tests: New file.
26288         * tests/uniconv/test-u16-conv-to-enc.c: New file.
26289
26290         * modules/uniconv/u8-conv-to-enc: New file.
26291         * lib/uniconv/u8-conv-to-enc.c: New file.
26292         * modules/uniconv/u8-conv-to-enc-tests: New file.
26293         * tests/uniconv/test-u8-conv-to-enc.c: New file.
26294
26295         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26296         u32_conv_to_encoding): New declarations.
26297
26298 2007-06-09  Bruno Haible  <bruno@clisp.org>
26299
26300         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
26301
26302 2007-06-09  Bruno Haible  <bruno@clisp.org>
26303
26304         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
26305         * modules/malloca: Renamed from modules/allocsa, updated.
26306         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
26307         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
26308         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
26309         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
26310         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
26311         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
26312         * modules/xmalloca: Renamed from modules/xallocsa, updated.
26313         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
26314         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
26315         * modules/c-strcasestr (Depends-on): Update.
26316         * lib/c-strcasestr.c: Update.
26317         * modules/c-strstr (Depends-on): Update.
26318         * lib/c-strstr.c: Update.
26319         * modules/canonicalize-lgpl (Depends-on): Update.
26320         * lib/canonicalize-lgpl.c: Update.
26321         * modules/clean-temp (Depends-on): Update.
26322         * lib/clean-temp.c: Update.
26323         * modules/csharpcomp (Depends-on): Update.
26324         * lib/csharpcomp.c: Update.
26325         * modules/csharpexec (Depends-on): Update.
26326         * lib/csharpexec.c: Update.
26327         * modules/javacomp (Depends-on): Update.
26328         * lib/javacomp.c: Update.
26329         * modules/javaexec (Depends-on): Update.
26330         * lib/javaexec.c: Update.
26331         * modules/mbscasestr (Depends-on): Update.
26332         * lib/mbscasestr.c: Update.
26333         * modules/mbsstr (Depends-on): Update.
26334         * lib/mbsstr.c: Update.
26335         * modules/setenv (Depends-on): Update.
26336         * lib/setenv.c: Update.
26337         * modules/strcasestr (Depends-on): Update.
26338         * lib/strcasestr.c: Update.
26339         * modules/striconveha (Depends-on): Update.
26340         * lib/striconveha.c: Update.
26341         * modules/relocatable-prog-wrapper (Files): Update.
26342         * lib/relocwrapper.c: Update.
26343         * build-aux/install-reloc: Update.
26344         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
26345
26346 2007-06-08  Bruno Haible  <bruno@clisp.org>
26347
26348         Port to uClibc.
26349         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
26350         * lib/fpurge.c (fpurge): Likewise.
26351         * lib/freading.c (freading): Likewise.
26352         * lib/fseeko.c (rpl_fseeko): Likewise.
26353         * lib/fseterr.c (fseterr): Likewise.
26354         * lib/fwriting.c (fwriting): Likewise.
26355         * tests/test-fflush.c (main): Avoid a failure on uClibc.
26356
26357 2007-06-08  Bruno Haible  <bruno@clisp.org>
26358
26359         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
26360         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
26361         * modules/gettext (Files): Add m4/intlmacosx.m4.
26362
26363 2007-06-07  Bruno Haible  <bruno@clisp.org>
26364
26365         * modules/localename-tests: New file.
26366         * tests/test-localename.c: New file.
26367
26368         New module 'localename'.
26369         * lib/localename.h: New file.
26370         * lib/localename.c: New file, from GNU gettext.
26371         * m4/localename.m4: New file.
26372         * modules/localename: New file.
26373
26374 2007-06-07  Bruno Haible  <bruno@clisp.org>
26375
26376         Work around the lack of <wchar.h> on some builds of uClibc.
26377         * doc/headers/wchar.texi: Update.
26378         * lib/wchar_.h: Include <wchar.h> only if it exists.
26379         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
26380         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
26381         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
26382         doesn't exist.
26383         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
26384         * modules/mbfile (Depends-on): Add wchar.
26385         * modules/mbiter (Depends-on): Likewise.
26386         * modules/mbuiter (Depends-on): Likewise.
26387         Reported by Simon Josefsson.
26388
26389 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
26390
26391         Work around problem reported by Steven M. Schweda in
26392         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
26393         Tru64 5.1B with the Compaq compiler environment installed declares
26394         an 'isblank' function but does not define it in the C library.
26395         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
26396         * lib/regex_internal.h (isblank): Likewise.
26397         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
26398         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
26399
26400 2007-06-05  Bruno Haible  <bruno@clisp.org>
26401
26402         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
26403         ia64.
26404         * modules/printf-safe: New file.
26405         * modules/fprintf-posix (Depends-on): Add printf-safe.
26406         * modules/printf-posix (Depends-on): Likewise.
26407         * modules/snprintf-posix (Depends-on): Likewise.
26408         * modules/sprintf-posix (Depends-on): Likewise.
26409         * modules/vasnprintf-posix (Depends-on): Likewise.
26410         * modules/vasprintf-posix (Depends-on): Likewise.
26411         * modules/vfprintf-posix (Depends-on): Likewise.
26412         * modules/vprintf-posix (Depends-on): Likewise.
26413         * modules/vsnprintf-posix (Depends-on): Likewise.
26414         * modules/vsprintf-posix (Depends-on): Likewise.
26415         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
26416         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
26417         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
26418         "no" on i386, x86_64, ia64.
26419         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
26420         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26421         on i386, x86_64, ia64.
26422         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
26423         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26424         on i386, x86_64, ia64.
26425         * tests/test-vasnprintf-posix.c: Include float.h.
26426         (LDBL80_WORDS): New macro.
26427         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26428         on i386, x86_64, ia64.
26429         * tests/test-vasprintf-posix.c: Include float.h.
26430         (LDBL80_WORDS): New macro.
26431         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26432         on i386, x86_64, ia64.
26433         * tests/test-snprintf-posix.c: Include float.h.
26434         * tests/test-sprintf-posix.c: Likewise.
26435         * tests/test-vsnprintf-posix.c: Likewise.
26436         * tests/test-vsprintf-posix.c: Likewise.
26437
26438 2007-06-05  Bruno Haible  <bruno@clisp.org>
26439
26440         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
26441         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
26442         non-IEEE numbers on i386, x86_64, ia64.
26443         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
26444         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
26445         * tests/test-isnanl.h: Include float.h.
26446         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
26447
26448 2007-06-05  Bruno Haible  <bruno@clisp.org>
26449
26450         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
26451         also the %a / %A. Handle the %a / %A code before this extra handling.
26452
26453 2007-06-05  Bruno Haible  <bruno@clisp.org>
26454
26455         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
26456         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
26457
26458 2007-06-05  Bruno Haible  <bruno@clisp.org>
26459
26460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
26461         typo in variable name.
26462
26463 2007-06-05  Eric Blake  <ebb9@byu.net>
26464
26465         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
26466         Reported by Simon Josefsson.
26467
26468 2007-06-04  Bruno Haible  <bruno@clisp.org>
26469
26470         Avoid test failures on some PowerPC platforms.
26471         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
26472         Define differently for PowerPC.
26473         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
26474         Reported by Gary V. Vaughan <gary@gnu.org>.
26475
26476 2007-06-02  Bruno Haible  <bruno@clisp.org>
26477
26478         Fix test-stdint failure on FreeBSD/ia64.
26479         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
26480         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
26481         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
26482         * doc/headers/stdint.texi: Update.
26483
26484 2007-06-01  Bruno Haible  <bruno@clisp.org>
26485
26486         * tests/test-binary-io.c (main): Pass a third argument to open().
26487         Reported by Gary V. Vaughan <gary@gnu.org>.
26488
26489 2007-06-01  Bruno Haible  <bruno@clisp.org>
26490
26491         * doc/functions/frexpl.texi: Update for mingw.
26492
26493 2007-06-01  Bruno Haible  <bruno@clisp.org>
26494
26495         * tests/test-lseek.c (main): Disable test of errno for invalid third
26496         argument.
26497         * doc/functions/lseek.texi: Update.
26498         Reported by Gary V. Vaughan <gary@gnu.org>.
26499
26500 2007-05-28  Bruno Haible  <bruno@clisp.org>
26501
26502         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
26503
26504 2007-05-31  Eric Blake  <ebb9@byu.net>
26505
26506         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
26507         cross compiling.
26508
26509 2007-05-30  Eric Blake  <ebb9@byu.net>
26510         and Bruno Haible  <bruno@clisp.org>
26511
26512         Work around mingw test failures exposed by m4-1.4.9b.
26513         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
26514         * tests/test-unistd.c: Disable uid_t and git_t tests for the
26515         moment.
26516
26517 2007-05-30  Bruno Haible  <bruno@clisp.org>
26518
26519         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
26520         assuming that they are closed. Needed on HP-UX 11.
26521
26522 2007-05-29  Bruno Haible  <bruno@clisp.org>
26523
26524         Fix a problem with #include_next.
26525         * lib/dirent_.h: Split the double-inclusion guard.
26526         * lib/fcntl_.h: Likewise.
26527         * lib/float_.h: Likewise.
26528         * lib/iconv_.h: Likewise.
26529         * lib/inttypes_.h: Likewise.
26530         * lib/locale_.h: Likewise.
26531         * lib/math_.h: Likewise.
26532         * lib/netinet_in_.h: Likewise.
26533         * lib/search_.h: Likewise.
26534         * lib/signal_.h: Likewise.
26535         * lib/stdint_.h: Likewise.
26536         * lib/stdio_.h: Likewise.
26537         * lib/stdlib_.h: Likewise.
26538         * lib/string_.h: Likewise.
26539         * lib/sys_select_.h: Likewise.
26540         * lib/sys_socket_.h: Likewise.
26541         * lib/sys_stat_.h: Likewise.
26542         * lib/sys_time_.h: Likewise.
26543         * lib/sysexits_.h: Likewise.
26544         * lib/time_.h: Likewise.
26545         * lib/unistd_.h: Likewise.
26546         * lib/wchar_.h: Likewise.
26547         * lib/wctype_.h: Likewise.
26548
26549 2007-05-29  Bruno Haible  <bruno@clisp.org>
26550
26551         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
26552         for the moment.
26553
26554 2007-05-29  Bruno Haible  <bruno@clisp.org>
26555
26556         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
26557         invocation.
26558         Reported by Eric Blake.
26559
26560 2007-05-29  Bruno Haible  <bruno@clisp.org>
26561
26562         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
26563         compiling case.
26564
26565 2007-05-29  Eric Blake  <ebb9@byu.net>
26566             Bruno Haible  <bruno@clisp.org>
26567
26568         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
26569         cross compiles.
26570
26571 2007-05-28  Eric Blake  <ebb9@byu.net>
26572
26573         * modules/closein-tests (test_closein_LDADD): Support test on
26574         cygwin with libtool.
26575
26576 2007-05-28  Bruno Haible  <bruno@clisp.org>
26577
26578         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
26579         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26580         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26581         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26582         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26583         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26584         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26585         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26586         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26587
26588 2007-05-28  Eric Blake  <ebb9@byu.net>
26589
26590         Unconditionally include <config.h> in unit tests.
26591         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
26592         * tests/test-allocsa.c, tests/test-arcfour.c,
26593         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
26594         tests/test-array_list.c, tests/test-array_oset.c,
26595         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
26596         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
26597         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
26598         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
26599         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
26600         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
26601         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
26602         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
26603         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
26604         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
26605         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
26606         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
26607         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
26608         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
26609         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
26610         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
26611         test-md5.c, test-memmem.c, test-printf-posix.c,
26612         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
26613         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
26614         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
26615         test-strcasestr.c, test-striconv.c, test-striconveh.c,
26616         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
26617         test-vasnprintf-posix2.c, test-vasnprintf.c,
26618         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
26619         test-vfprintf-posix.c, test-vprintf-posix.c,
26620         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
26621         test-xvasprintf.c: Likewise.
26622
26623 2007-05-28  Bruno Haible  <bruno@clisp.org>
26624
26625         * gnulib-tool (func_import): Remember the --with-tests command-line
26626         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
26627         Reported by Eric Blake.
26628
26629 2007-05-28  Bruno Haible  <bruno@clisp.org>
26630
26631         * modules/ftell-tests: New file.
26632         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
26633         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
26634
26635         * lib/ftell.c: New file.
26636         * modules/ftell: New file.
26637         * m4/ftell.m4: New file.
26638         * doc/functions/ftell.texi: Update.
26639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
26640         REPLACE_FTELL.
26641         * lib/stdio_.h (rpl_ftell): New declaration.
26642         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
26643         REPLACE_FTELL.
26644
26645 2007-05-28  Eric Blake  <ebb9@byu.net>
26646
26647         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
26648
26649 2007-05-28  Bruno Haible  <bruno@clisp.org>
26650
26651         * modules/fseek-tests: New file.
26652         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
26653         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
26654
26655         * lib/fseek.c: New file.
26656         * modules/fseek: New file.
26657         * m4/fseek.m4: New file.
26658         * doc/functions/fseek.texi: Update.
26659         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
26660         REPLACE_FSEEK.
26661         * lib/stdio_.h (rpl_fseek): New declaration.
26662         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
26663         REPLACE_FSEEK.
26664
26665 2007-05-28  Bruno Haible  <bruno@clisp.org>
26666
26667         * lib/stdio_.h (fflush): More comments.
26668
26669 2007-05-28  Bruno Haible  <bruno@clisp.org>
26670
26671         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
26672         runtime test.
26673
26674 2007-05-28  Eric Blake  <ebb9@byu.net>
26675
26676         Improve lseek module.
26677         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
26678         * lib/unistd_.h (lseek): Scale back link warning message.
26679         * tests/test-lseek.c: Beef up test.
26680         * tests/test-lseek.sh: Exercise more facets of lseek.
26681         Reported by Bruno Haible.
26682
26683 2007-05-28  Bruno Haible  <bruno@clisp.org>
26684
26685         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
26686         to define.
26687
26688 2007-05-27  Bruno Haible  <bruno@clisp.org>
26689
26690         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
26691
26692 2007-05-27  Bruno Haible  <bruno@clisp.org>
26693
26694         * modules/openmp: New file.
26695         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
26696         Noah Misch.
26697
26698 2007-05-26  Bruno Haible  <bruno@clisp.org>
26699
26700         * modules/chdir-long (Depends-on): Add fchdir.
26701         * modules/chdir-safer (Depends-on): Likewise.
26702         * modules/fts (Depends-on): Likewise.
26703         * modules/fts-lgpl (Depends-on): Likewise.
26704         * modules/openat (Depends-on): Likewise.
26705         * modules/savewd (Depends-on): Likewise.
26706
26707 2007-05-24  Eric Blake  <ebb9@byu.net>
26708
26709         Fix lseek on mingw.
26710         * modules/lseek: New module.
26711         * m4/lseek.m4: New file.
26712         * lib/lseek.c: New file.
26713         * modules/lseek-tests: New file.
26714         * tests/test-lseek.c: New file.
26715         * tests/test-lseek.sh: New file.
26716         * MODULES.html.sh: Document lseek module.
26717         * modules/fflush (Depends-on): Add lseek, fseeko.
26718         * modules/fseeko (Depends-on): Likewise.
26719         * modules/ftello (Depends-on): Likewise.
26720         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
26721         broken.
26722         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
26723         broken.
26724         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
26725         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
26726         * lib/ftello.c (rpl_ftello): Likewise.
26727         * tests/test-fseeko.c (main): Test this.
26728         * tests/test-fseeko.sh: Likewise.
26729         * tests/test-ftello.c (main): Likewise.
26730         * tests/test-ftello.sh: Likewise.
26731         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
26732         implies replacing fseek.
26733         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
26734         HAVE_FTELLO.
26735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
26736         * modules/unistd (Makefile.am): Likewise.
26737         * lib/unistd_.h (lseek): Declare a replacement.
26738         * doc/functions/lseek.texi (lseek): Document this fix.
26739         * doc/functions/fseek.texi (fseek): Likewise.
26740         * doc/functions/ftell.texi (ftell): Likewise.
26741
26742 2007-05-24  Bruno Haible  <bruno@clisp.org>
26743
26744         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
26745         in the printed representation of a NaN.
26746         * tests/test-vasprintf-posix.c (test_function): Likewise.
26747         * tests/test-snprintf-posix.h (test_function): Likewise.
26748         * tests/test-sprintf-posix.h (test_function): Likewise.
26749         Reported by Eric Blake.
26750
26751 2007-05-23  Eric Blake  <ebb9@byu.net>
26752
26753         Fix fseeko/ftello on cygwin 1.5.24.
26754         * doc/functions/fseeko.texi (fseeko): Document the fix.
26755         * doc/functions/ftello.texi (ftello): Document the fix.
26756         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
26757         * doc/functions/stdout.text (stdout): New file.
26758         * doc/functions/stderr.text (stderr): New file.
26759         * doc/gnulib.texi (Function Substitutes): Use new files.
26760         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
26761         prior to 1.7.0.
26762         * tests/test-ftello.c (main): Likewise for ftello.
26763         * tests/test-fseeko.sh: New file.
26764         * tests/test-ftello.sh: New file.
26765         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
26766         with seekable stdin.
26767         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
26768         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
26769         (gl_REPLACE_FSEEKO): New macro.
26770         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
26771         * modules/fseeko (Files): Distribute fseeko.c.
26772         * modules/ftello (Files): Distribute ftello.c.
26773         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
26774         mode.
26775         * lib/ftello.c (rpl_ftello): New file.
26776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
26777         fseeko, ftello.
26778         (gl_STDIN_LARGE_OFFSET): New macro.
26779         * modules/stdio (Makefile.am): Perform the replacement.
26780         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
26781
26782 2007-05-23  Bruno Haible  <bruno@clisp.org>
26783
26784         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
26785         GNULIB_POSIXCHECK is defined.
26786
26787 2007-05-21  Bruno Haible  <bruno@clisp.org>
26788
26789         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
26790         Check also the output for NaN arguments. When cross-compiling, guess
26791         no on IRIX.
26792         * lib/vasnprintf.c: Update comments.
26793         * tests/test-vasnprintf-posix.c (strisnan): New function.
26794         (test_function): Use it.
26795         * tests/test-vasprintf-posix.c (strisnan): New function.
26796         (test_function): Use it.
26797         * tests/test-snprintf-posix.h (strisnan): New function.
26798         (test_function): Use it.
26799         * tests/test-sprintf-posix.h (strisnan): New function.
26800         (test_function): Use it.
26801         Reported by Eric Blake.
26802
26803 2007-05-20  Bruno Haible  <bruno@clisp.org>
26804
26805         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
26806         numbers that fails on BeOS.
26807         * doc/functions/frexpl.texi: Update.
26808
26809 2007-05-20  Jim Meyering  <jim@meyering.net>
26810
26811         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
26812         forced upon us by glibc-2.6.
26813
26814 2007-05-20  Bruno Haible  <bruno@clisp.org>
26815
26816         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
26817         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
26818         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
26819         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
26820         NEED_PRINTF_INFINITE.
26821         (is_infinitel): New function.
26822         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
26823         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
26824         gl_PREREQ_VASNPRINTF_INFINITE.
26825         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
26826         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26827         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
26828         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
26829         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
26830         gl_PREREQ_VASNPRINTF_INFINITE.
26831         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26832         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26833         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26834         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26835         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26836         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26837         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26838         * doc/functions/fprintf.texi: Update.
26839         * doc/functions/printf.texi: Update.
26840         * doc/functions/snprintf.texi: Update.
26841         * doc/functions/sprintf.texi: Update.
26842         * doc/functions/vfprintf.texi: Update.
26843         * doc/functions/vprintf.texi: Update.
26844         * doc/functions/vsnprintf.texi: Update.
26845         * doc/functions/vsprintf.texi: Update.
26846
26847 2007-05-20  Bruno Haible  <bruno@clisp.org>
26848
26849         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
26850         was not found in libc.
26851         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26852
26853 2007-05-20  Bruno Haible  <bruno@clisp.org>
26854
26855         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26856         printed as "-nan" instead of "nan".
26857         * tests/test-vasprintf-posix.c (test_function): Likewise.
26858         * tests/test-snprintf-posix.h (test_function): Likewise.
26859         * tests/test-sprintf-posix.h (test_function): Likewise.
26860         Needed for HP-UX 11.
26861
26862 2007-05-20  Jim Meyering  <jim@meyering.net>
26863
26864         Fix buggy test for the fchownat-deref bug.
26865         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
26866         symlink required for the run-test.  Without it, this test would
26867         always declare that fchownat doesn't work, and client code would
26868         unnecessarily use the replacement function with fixed libc.
26869         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
26870         Reported by Greg Schafer.
26871
26872 2007-05-19  Bruno Haible  <bruno@clisp.org>
26873
26874         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
26875         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
26876         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
26877         Needed for IRIX 6.5 and Solaris 2.5.1.
26878
26879 2007-05-19  Bruno Haible  <bruno@clisp.org>
26880
26881         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
26882         (test_function): Skip tests involving -0.0 on platforms where
26883         -0.0 = 0.0.
26884         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
26885         (test_function): Skip tests involving -0.0 on platforms where
26886         -0.0 = 0.0.
26887         * tests/test-snprintf-posix.h (have_minus_zero): New function.
26888         (test_function): Skip tests involving -0.0 on platforms where
26889         -0.0 = 0.0.
26890         * tests/test-sprintf-posix.h (have_minus_zero): New function.
26891         (test_function): Skip tests involving -0.0 on platforms where
26892         -0.0 = 0.0.
26893         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
26894         tests.
26895         * tests/test-printf-posix.h (test_function): Likewise.
26896         * tests/test-printf-posix.output: Remove all -0.0 related results.
26897         Needed for IRIX 6.5.
26898
26899 2007-05-19  Bruno Haible  <bruno@clisp.org>
26900
26901         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26902         printed as "nan0x7fffffff" instead of "nan".
26903         * tests/test-vasprintf-posix.c (test_function): Likewise.
26904         * tests/test-snprintf-posix.h (test_function): Likewise.
26905         * tests/test-sprintf-posix.h (test_function): Likewise.
26906         * tests/test-fprintf-posix.h (NaN): Remove macro.
26907         (test_function): Remove all NaN related tests.
26908         * tests/test-printf-posix.h (NaN): Remove macro.
26909         (test_function): Remove all NaN related tests.
26910         * tests/test-printf-posix.output: Remove all NaN related results.
26911         Needed for IRIX 6.5.
26912
26913 2007-05-19  Bruno Haible  <bruno@clisp.org>
26914
26915         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
26916         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26917
26918 2007-05-19  Bruno Haible  <bruno@clisp.org>
26919
26920         * lib/float_.h: New file.
26921         * m4/float_h.m4: New file.
26922         * modules/float: New file.
26923         * modules/isnanl (Dependencies): Add float.
26924         * modules/isnanl-nolibm (Dependencies): Likewise.
26925         * modules/mathl (Dependencies): Likewise.
26926         * modules/printf-frexpl (Dependencies): Likewise.
26927         * modules/signbit (Dependencies): Likewise.
26928         * modules/vasnprintf (Dependencies): Likewise.
26929         * doc/headers/float.texi: Update.
26930
26931 2007-05-19  Jim Meyering  <jim@meyering.net>
26932
26933         * lib/utimens.c (gl_futimens): Rename from futimens,
26934         now that glibc-2.6 declares futimens.
26935         * lib/utimens.h: Likewise.
26936
26937 2007-05-19  Bruno Haible  <bruno@clisp.org>
26938
26939         Avoid test failures on mingw.
26940         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
26941         * tests/test-printf-posix.sh: Likewise.
26942         * tests/test-vfprintf-posix.sh: Likewise.
26943         * tests/test-vprintf-posix.sh: Likewise.
26944
26945 2007-05-19  Bruno Haible  <bruno@clisp.org>
26946
26947         Fix *printf result for NaN, Inf, -0.0 on mingw.
26948         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
26949         * lib/vasnprintf.c: Include math.h and isnan.h.
26950         (is_infinite_or_zero): New function.
26951         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
26952         values in the %f, %F, %e, %E, %g, %G directives.
26953         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
26954         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26955         gl_PRINTF_INFINITE and test its result. Invoke
26956         gl_PREREQ_VASNPRINTF_INFINITE.
26957         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26958         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26959         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26960         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26961         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26962         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26963         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26964         * doc/functions/fprintf.texi: Update.
26965         * doc/functions/printf.texi: Update.
26966         * doc/functions/snprintf.texi: Update.
26967         * doc/functions/sprintf.texi: Update.
26968         * doc/functions/vfprintf.texi: Update.
26969         * doc/functions/vprintf.texi: Update.
26970         * doc/functions/vsnprintf.texi: Update.
26971         * doc/functions/vsprintf.texi: Update.
26972
26973 2007-05-19  Bruno Haible  <bruno@clisp.org>
26974
26975         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
26976         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
26977         Instead of multiplying with 10^k, set extra_zeroes to k.
26978         (scale10_round_long_double): Remove function.
26979
26980 2007-05-18  Bruno Haible  <bruno@clisp.org>
26981
26982         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
26983         introduced on 2007-05-06.
26984
26985 2007-05-18  Bruno Haible  <bruno@clisp.org>
26986
26987         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
26988         %g directives.
26989         * tests/test-vasprintf-posix.c (test_function): Likewise.
26990         * tests/test-snprintf-posix.h (test_function): Likewise.
26991         * tests/test-sprintf-posix.h (test_function): Likewise.
26992
26993 2007-05-18  Bruno Haible  <bruno@clisp.org>
26994
26995         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
26996         (strmatch): New function.
26997         (test_function): Test the %f directive on numbers of various exponents.
26998         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
26999         (strmatch): New function.
27000         (test_function): Test the %f directive on numbers of various exponents.
27001         * tests/test-snprintf-posix.h (strmatch): New function.
27002         (test_function): Test the %f directive on numbers of various exponents.
27003         * tests/test-sprintf-posix.h (strmatch): New function.
27004         (test_function): Test the %f directive on numbers of various exponents.
27005         * tests/test-snprintf-posix.c (SIZEOF): New macro.
27006         * tests/test-sprintf-posix.c (SIZEOF): New macro.
27007         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
27008         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
27009
27010 2007-05-18  Bruno Haible  <bruno@clisp.org>
27011
27012         Add support for 'long double' number output.
27013         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
27014         * lib/vasnprintf.c: Include math.h and float+.h.
27015         (mp_limb_t): New type.
27016         (GMP_LIMB_BITS): New macro.
27017         (mp_twolimb_t): New type.
27018         (GMP_TWOLIMB_BITS): New macro.
27019         (mpn_t): New type.
27020         (multiply, divide, convert_to_decimal, decode_long_double,
27021         scale10_round_long_double, scale10_round_decimal_long_double,
27022         floorlog10l): New functions.
27023         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
27024         for the %f, %F, %e, %E, %g, %G directives.
27025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
27026         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27027         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
27028         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
27029         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27030         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27031         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27033         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27035         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27036         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
27037         * modules/snprintf-posix (Depends-on): Likewise.
27038         * modules/sprintf-posix (Depends-on): Likewise.
27039         * modules/vasnprintf-posix (Depends-on): Likewise.
27040         * modules/vasprintf-posix (Depends-on): Likewise.
27041         * modules/vfprintf-posix (Depends-on): Likewise.
27042         * modules/vsnprintf-posix (Depends-on): Likewise.
27043         * modules/vsprintf-posix (Depends-on): Likewise.
27044         * modules/vasnprintf (Files): Add lib/float+.h.
27045         * doc/functions/fprintf.texi: Update.
27046         * doc/functions/printf.texi: Update.
27047         * doc/functions/snprintf.texi: Update.
27048         * doc/functions/sprintf.texi: Update.
27049         * doc/functions/vfprintf.texi: Update.
27050         * doc/functions/vprintf.texi: Update.
27051         * doc/functions/vsnprintf.texi: Update.
27052         * doc/functions/vsprintf.texi: Update.
27053
27054 2007-05-18  Bruno Haible  <bruno@clisp.org>
27055
27056         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
27057
27058 2007-05-18  Bruno Haible  <bruno@clisp.org>
27059
27060         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
27061         for printing 64-bit integers. Needed for mingw.
27062
27063 2007-05-18  Bruno Haible  <bruno@clisp.org>
27064
27065         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
27066         gl_FUNC_FREXPL_WORKS.
27067         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
27068
27069 2007-05-18  Bruno Haible  <bruno@clisp.org>
27070
27071         * modules/frexpl-nolibm-tests: New file.
27072
27073         * modules/frexpl-nolibm: New file.
27074         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
27075
27076 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27077
27078         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
27079         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
27080         GCC 4.2, which otherwise issues a lot of warnings.
27081         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
27082         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
27083         Likewise.
27084         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
27085         * modules/iconv_open (iconv.h): Likewise.
27086         * modules/locale (locale.h): Likewise.
27087         * modules/netinet_in (netinet/in.h): Likewise.
27088         * modules/sys_select (sys_select.h): Likewise.
27089         * modules/sys_socket (sys/socket.h): Likewise.
27090         * modules/sys_stat (sys/stat.h): Likewise.
27091         * modules/sysexits (sysexits.h): Likewise.
27092         * modules/unistd (unistd.h): Likewise.
27093
27094 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27095
27096         * modules/closein-tests (Makefile.am): Distribute
27097         `test-closein.sh'.
27098
27099 2007-05-17  Bruno Haible  <bruno@clisp.org>
27100
27101         * tests/test-printf-posix.output: Renamed from
27102         tests/test-fprintf-posix.out.
27103         * modules/fprintf-posix-tests: Update.
27104         * modules/printf-posix-tests: Update.
27105         * modules/vfprintf-posix-tests: Update.
27106         * modules/vprintf-posix-tests: Update.
27107         * tests/test-fprintf-posix.sh: Update.
27108         * tests/test-printf-posix.sh: Update.
27109         * tests/test-vfprintf-posix.sh: Update.
27110         * tests/test-vprintf-posix.sh: Update.
27111         Reported by Ralf Wildenhues.
27112
27113 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27114
27115         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
27116         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
27117         GCC 4.2, which otherwise issues a lot of warnings.
27118         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
27119         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
27120         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
27121         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
27122         it should no longer be needed.
27123         * lib/string_.h: Likewise.
27124         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
27125         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
27126         * modules/inttypes (inttypes.h): Likewise.
27127         * modules/math (math.h): Likewise.
27128         * modules/search (search.h): Likewise.
27129         * modules/signal (signal.h): Likewise.
27130         * modules/stdint (stdint.h): Likewise.
27131         * modules/stdio (stdio.h): Likewise.
27132         * modules/stdlib (stdlib.h): Likewise.
27133         * modules/string (string.h): Likewise.
27134         * modules/sys_time (sys/time.h): Likewise.
27135         * modules/time (time.h): Likewise.
27136         * modules/wchar (wchar.h): Likewise.
27137         * modules/wctype (wtype.h): Likewise.
27138
27139 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27140
27141         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
27142
27143 2007-05-13  Bruno Haible  <bruno@clisp.org>
27144
27145         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
27146         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27147         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
27148         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
27149         (gl_PREREQ_STRTOK_R): Don't require it here.
27150
27151 2007-05-13  Bruno Haible  <bruno@clisp.org>
27152
27153         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
27154         when used in C++ mode.
27155
27156 2007-05-12  Bruno Haible  <bruno@clisp.org>
27157
27158         * lib/linebuffer.h: Tweak doc.
27159         * lib/linebuffer.c: Likewise.
27160
27161 2007-05-12  James Youngman  <jay@gnu.org>
27162
27163         * lib/linebuffer.c (readlinebuffer_delim): New function,
27164         like readlinebuffer, but use a caller-specified delimiter.
27165         (readlinebuffer): Just call readlinebuffer_delim with '\n'
27166         as the delimiter.
27167         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
27168
27169 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27170
27171         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
27172         * modules/openat (Files): Remove openat-die.c.
27173         (Depends-on): Add openat-die.
27174         * modules/openat-die: New module.
27175
27176 2007-05-06  Bruno Haible  <bruno@clisp.org>
27177
27178         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
27179         Update with info about Cygwin.
27180         * doc/functions/fprintf.texi: Update.
27181         * doc/functions/printf.texi: Update.
27182         * doc/functions/snprintf.texi: Update.
27183         * doc/functions/sprintf.texi: Update.
27184         * doc/functions/vfprintf.texi: Update.
27185         * doc/functions/vprintf.texi: Update.
27186         * doc/functions/vsnprintf.texi: Update.
27187         * doc/functions/vsprintf.texi: Update.
27188         Reported by Eric Blake.
27189
27190 2007-05-06  Bruno Haible  <bruno@clisp.org>
27191
27192         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
27193         padding ourselves for the floating-point directives.
27194         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
27195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
27196         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27197         gl_PRINTF_FLAG_ZERO and test its result. Invoke
27198         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
27199         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27200         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
27201         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27202         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27203         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27204         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27205         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27206         * tests/test-snprintf-posix.h (test_function): Also check the width
27207         and some flags in the %f directive.
27208         * tests/test-sprintf-posix.h (test_function): Likewise.
27209         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27210         * tests/test-vasprintf-posix.c (test_function): Likewise.
27211         * doc/functions/fprintf.texi: Update.
27212         * doc/functions/printf.texi: Update.
27213         * doc/functions/snprintf.texi: Update.
27214         * doc/functions/sprintf.texi: Update.
27215         * doc/functions/vfprintf.texi: Update.
27216         * doc/functions/vprintf.texi: Update.
27217         * doc/functions/vsnprintf.texi: Update.
27218         * doc/functions/vsprintf.texi: Update.
27219
27220 2007-05-06  Bruno Haible  <bruno@clisp.org>
27221
27222         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
27223         pass the ' flag character to sprintf or snprintf.
27224         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
27225         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
27226         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27227         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
27228         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
27229         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27230         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
27231         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27232         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27233         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27234         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27235         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27236         * tests/test-snprintf-posix.h (test_function): Also check the grouping
27237         flag.
27238         * tests/test-sprintf-posix.h (test_function): Likewise.
27239         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27240         * tests/test-vasprintf-posix.c (test_function): Likewise.
27241         * doc/functions/fprintf.texi: Update.
27242         * doc/functions/printf.texi: Update.
27243         * doc/functions/snprintf.texi: Update.
27244         * doc/functions/sprintf.texi: Update.
27245         * doc/functions/vfprintf.texi: Update.
27246         * doc/functions/vprintf.texi: Update.
27247         * doc/functions/vsnprintf.texi: Update.
27248         * doc/functions/vsprintf.texi: Update.
27249
27250 2007-05-01  Bruno Haible  <bruno@clisp.org>
27251
27252         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
27253
27254 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
27255
27256         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
27257         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
27258
27259 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
27260
27261         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
27262         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
27263         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
27264
27265 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
27266
27267         * lib/argp-help.c (struct hol_entry): New member `ord'.
27268         (HOL_ENTRY_PTRCMP): Use ord for comparison
27269         (hol_sort): Initialize ord.
27270
27271 2007-05-01  Bruno Haible  <bruno@clisp.org>
27272
27273         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
27274         Reported by Eric Blake.
27275         * doc/gnulib.texi (Function Substitutes): Update.
27276
27277 2007-05-01  Bruno Haible  <bruno@clisp.org>
27278
27279         * doc/functions.texi: Remove file, now redundant through
27280         doc/functions/*.texi.
27281
27282 2007-05-01  Bruno Haible  <bruno@clisp.org>
27283
27284         * modules/argp (Depends-on): Add sleep.
27285
27286 2007-05-01  Bruno Haible  <bruno@clisp.org>
27287
27288         * modules/sleep-tests: New file.
27289         * tests/test-sleep.c: New file.
27290
27291         * modules/sleep: New file.
27292         * lib/sleep.c: New file.
27293         * m4/sleep.m4: New file.
27294         * lib/unistd_.h (sleep): New declaration.
27295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
27296         HAVE_SLEEP.
27297         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
27298         * doc/functions/sleep.texi: Document the sleep module.
27299
27300 2007-05-01  Bruno Haible  <bruno@clisp.org>
27301
27302         * lib/sigprocmask.h: Remove file.
27303         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
27304         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
27305         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
27306         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
27307         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
27308         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
27309         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
27310         HAVE_SIGSET_T as a shell variable.
27311         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
27312         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
27313         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
27314         (Depends-on): Add signal. Remove verify.
27315         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
27316         (Include): Mention <signal.h> instead of sigprocmask.h.
27317         * NEWS: Mention the change.
27318         * lib/fatal-signal.c: Don't include sigprocmask.h.
27319
27320 2007-05-01  Bruno Haible  <bruno@clisp.org>
27321
27322         * modules/signal: New file.
27323         * lib/signal_.h: New file.
27324         * m4/signal_h.m4: New file.
27325
27326 2007-05-01  Bruno Haible  <bruno@clisp.org>
27327
27328         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
27329         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
27330         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
27331         HAVE_WCTYPE_CTMP_BUG into wctype.h.
27332
27333 2007-05-01  Bruno Haible  <bruno@clisp.org>
27334
27335         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
27336         configure time.
27337         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
27338         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
27339         * modules/sys_stat (Makefile.am): Substitute their values into
27340         sys/stat.h.
27341
27342 2007-05-01  Bruno Haible  <bruno@clisp.org>
27343
27344         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
27345         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
27346         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
27347
27348 2007-05-01  Bruno Haible  <bruno@clisp.org>
27349
27350         * doc/header/assert.texi: Undo last change: don't mention the gnulib
27351         'assert' module here.
27352
27353 2007-05-01  Bruno Haible  <bruno@clisp.org>
27354
27355         * doc/functions/*.texi: New files.
27356         * doc/functions/google-ranking.txt: New file.
27357         * doc/gnulib.texi (Function Substitutes): New chapter.
27358         (ctime, inet_ntoa): Remove sections.
27359         * doc/ctime.texi: Remove file.
27360         * doc/inet_ntoa.texi: Remove file.
27361         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
27362         dependencies.
27363         (%.info): New rule, specifying a --reference-limit.
27364
27365 2007-05-01  Bruno Haible  <bruno@clisp.org>
27366
27367         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
27368
27369 2007-05-01  Bruno Haible  <bruno@clisp.org>
27370
27371         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
27372         the portability of 'mkdir' to mingw systems.
27373
27374 2007-05-01  Bruno Haible  <bruno@clisp.org>
27375
27376         * doc/headers/google-ranking.txt: New file.
27377
27378 2007-04-30  Eric Blake  <ebb9@byu.net>
27379
27380         Prefer fseeko to fseek.
27381         * modules/getpass (Depends-on): Add fseeko.
27382         * lib/getpass.c (getpass): Use fseeko, not fseek.
27383
27384 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
27385
27386         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
27387         assumes the sorting is stable, while most qsort implementations
27388         are not.  Use argument addresses to ensure they never compare as
27389         equal.
27390
27391         * tests/test-argp-2.sh (usage-indent test): Fix output
27392         (func_compare): Restore diff options
27393         * tests/test-argp.c: Restore #include "progname.h"
27394
27395 2007-04-29  Bruno Haible  <bruno@clisp.org>
27396
27397         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
27398         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27399         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
27400         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27401         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
27402         (configure.ac): Define CHECK_SNPRINTF_POSIX.
27403         (TESTS, check_PROGRAMS): Add test-snprintf.
27404         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
27405         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
27406         (TESTS, check_PROGRAMS): Add test-vsnprintf.
27407         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
27408         assertions that fail on HP-UX, OSF/1, or IRIX.
27409         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
27410
27411 2007-04-29  Bruno Haible  <bruno@clisp.org>
27412
27413         * MODULES.html.sh (posix_functions): Remove 'contents'.
27414
27415 2007-04-29  Karl Berry  <karl@gnu.org>
27416
27417         * config/srclist.txt (gendocs_template_min): new entry.
27418
27419 2007-04-29  Bruno Haible  <bruno@clisp.org>
27420
27421         Work around fpurge bug on BSD systems.
27422         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
27423         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
27424         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
27425         fpurge to rpl_fpurge if the system already has this function.
27426         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
27427         the case where the system already has this function. Correct invariants
27428         on BSD systems.
27429         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
27430         BSD systems.
27431
27432 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27433
27434         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
27435         proposed by Sven Verdoolaege.
27436
27437         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
27438         options.
27439         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
27440         (usage and help tests): Update
27441
27442 2007-04-29  Bruno Haible  <bruno@clisp.org>
27443
27444         * tests/test-fflush.c (main): Use a file of size 17, not 10.
27445         Print more information in case of failure. Disable a test on BeOS.
27446
27447 2007-04-29  Bruno Haible  <bruno@clisp.org>
27448
27449         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
27450         This helps debugging on systems on which no gdb is available.
27451
27452 2007-04-29  Bruno Haible  <bruno@clisp.org>
27453
27454         * lib/freading.h: Improve comments.
27455         * lib/fwriting.h: Likewise.
27456         * tests/test-freading.c (main): Don't check freading immediately after
27457         repositioning. Needed for glibc.
27458
27459 2007-04-29  Bruno Haible  <bruno@clisp.org>
27460
27461         * lib/freading.c (freading): Trivial simplification.
27462
27463 2007-04-28  Bruno Haible  <bruno@clisp.org>
27464
27465         * tests/test-fwriting.c (main): Also test the interaction between
27466         fflush and fwriting.
27467         * modules/fwriting-tests (Depends-on): Add fflush.
27468
27469         * tests/test-freading.c (main): Also test the interaction between
27470         fflush and freading.
27471         * modules/freading-tests (Depends-on): Add fflush.
27472
27473 2007-04-28  Bruno Haible  <bruno@clisp.org>
27474
27475         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
27476         fseeko and ftello.
27477         Suggested by Eric Blake.
27478
27479 2007-04-28  Jim Meyering  <jim@meyering.net>
27480
27481         Avoid false-negative in gl_STDINT_H's C99 conformance test.
27482         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
27483         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
27484
27485 2007-04-27  Eric Blake  <ebb9@byu.net>
27486
27487         * doc/headers/assert.texi (assert.h): Document assert module use.
27488
27489 2007-04-27  Bruno Haible  <bruno@clisp.org>
27490
27491         * doc/headers/*.texi: New files.
27492         * doc/gnulib.texi (Header File Substitutes): New chapter.
27493         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
27494         dependencies.
27495         (standards.info ,standards.html, standards.dvi): Update dependencies.
27496         (mostlyclean, clean): New targets.
27497
27498 2007-04-27  Bruno Haible  <bruno@clisp.org>
27499
27500         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
27501         * modules/sysexits (Files, Makefile.am): Update.
27502
27503         * lib/sys_socket_.h: Renamed from lib/socket_.h.
27504         * modules/sys_socket (Files, Makefile.am): Update.
27505
27506         * lib/sys_stat_.h: Renamed from lib/stat_.h.
27507         * modules/sys_stat (Files, Makefile.am): Update.
27508
27509 2007-04-27  Eric Blake  <ebb9@byu.net>
27510
27511         * lib/freading.h: Improve comments.
27512         * lib/fwriting.h: Likewise.
27513         * lib/fflush.c: Likewise.
27514
27515         Fix closein for mingw.
27516         * modules/closein-tests: Add tests for closein.
27517         * tests/test-closein.c: New file.
27518         * tests/test-closein.sh: Likewise.
27519         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
27520         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
27521
27522 2007-04-27  Bruno Haible  <bruno@clisp.org>
27523
27524         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
27525         version is < 6.
27526         * lib/math_.h [__DECC]: Likewise.
27527         * lib/stdio_.h [__DECC]: Likewise.
27528         * lib/stdlib_.h [__DECC]: Likewise.
27529         * lib/string_.h [__DECC]: Likewise.
27530         * lib/time_.h [__DECC]: Likewise.
27531         * lib/wchar_.h [__DECC]: Likewise.
27532         * lib/wctype_.h [__DECC]: Likewise.
27533
27534 2007-04-27  Bruno Haible  <bruno@clisp.org>
27535
27536         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
27537
27538 2007-04-27  Bruno Haible  <bruno@clisp.org>
27539
27540         * lib/fflush.c: Add comments.
27541         * modules/fpurge-tests (Depends-on): Add fflush.
27542         * modules/freadable-tests (Depends-on): Likewise.
27543         * modules/fwritable-tests (Depends-on): Likewise.
27544
27545 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
27546
27547         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
27548         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
27549         Report by Bruno Haible <bruno@clisp.org>.
27550
27551 2007-04-26  Eric Blake  <ebb9@byu.net>
27552
27553         Fix fflush on mingw.
27554         * modules/fflush (Depends-on): Add freading.
27555         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
27556         but unread data.
27557
27558 2007-04-26  Eric Blake  <ebb9@byu.net>
27559         and Bruno Haible  <bruno@clisp.org>
27560
27561         Implement freading and fwriting.
27562         * lib/freading.c: New file.
27563         * lib/freading.h: Likewise.
27564         * m4/freading.m4: Likewise.
27565         * modules/freading: Likewise.
27566         * modules/freading-tests: Likewise.
27567         * tests/test-freading.c: Likewise.
27568         * lib/fwriting.c: New file.
27569         * lib/fwriting.h: Likewise.
27570         * m4/fwriting.m4: Likewise.
27571         * modules/fwriting: Likewise.
27572         * modules/fwriting-tests: Likewise.
27573         * tests/test-fwriting.c: Likewise.
27574         * MODULES.html.sh (File stream based Input/Output): Mention them.
27575
27576 2007-04-26  Bruno Haible  <bruno@clisp.org>
27577
27578         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
27579         'long' when we assume it.
27580         Suggested by Eric Blake.
27581
27582 2007-04-26  Bruno Haible  <bruno@clisp.org>
27583
27584         Ensure fseeko, ftello are declared on glibc systems.
27585         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
27586         * modules/fseeko (configure.ac-early): Likewise.
27587         * modules/ftello (configure.ac-early): Likewise.
27588         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
27589         AC_FUNC_FSEEKO for this.
27590         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
27591         (gl_CHECK_FSEEKO): Remove macro.
27592
27593 2007-04-26  Bruno Haible  <bruno@clisp.org>
27594
27595         * tests/test-fflush.c (main): Also check the ftell result after
27596         fflush and fseek/fseeko.
27597         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
27598         file descriptor position cache in the stream.
27599         * lib/fseeko.c (rpl_fseeko): Likewise.
27600
27601 2007-04-26  Bruno Haible  <bruno@clisp.org>
27602
27603         * modules/fflush-tests (Depends-on): Add fseeko.
27604
27605 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
27606             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27607
27608         * lib/argz_.h: ensure error_t definition is obtained in same
27609         mechanism system argz.h would have.
27610         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
27611         argz facilities are known bad.  Err on the side of caution if
27612         cross-compiling.
27613
27614 2007-04-25  Eric Blake  <ebb9@byu.net>
27615
27616         * lib/fpurge.c (includes): Use stdlib.h for free.
27617         * tests/test-fflush.c (main): Also test fflush-fseeko.
27618
27619 2007-04-25  Bruno Haible  <bruno@clisp.org>
27620
27621         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
27622         * lib/fseeko.c: New file.
27623         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
27624         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
27625         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
27626         gl_FUNC_FSEEKO.
27627         (gl_FUNC_FSEEKO): Invoke it.
27628         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
27629         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
27630         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
27631
27632 2007-04-25  Bruno Haible  <bruno@clisp.org>
27633
27634         * modules/fflush (Depends-on): Add ftello.
27635
27636 2007-04-25  Bruno Haible  <bruno@clisp.org>
27637
27638         * modules/ftello-tests: New file.
27639         * tests/test-ftello.c: New file.
27640
27641         * modules/ftello: New file.
27642         * m4/ftello.m4: New file.
27643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
27644         HAVE_FTELLO.
27645         * lib/stdio_.h (ftello): New declaration.
27646         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
27647         HAVE_FTELLO.
27648
27649 2007-04-25  Bruno Haible  <bruno@clisp.org>
27650
27651         * modules/fseeko-tests: New file.
27652         * tests/test-fseeko.c: New file.
27653
27654         * modules/fseeko: New file.
27655         * m4/fseeko.m4: New file.
27656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
27657         HAVE_FSEEKO.
27658         * lib/stdio_.h (fseeko): New declaration.
27659         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
27660         HAVE_FSEEKO.
27661
27662 2007-04-25  Bruno Haible  <bruno@clisp.org>
27663
27664         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
27665
27666 2007-04-25  Bruno Haible  <bruno@clisp.org>
27667
27668         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
27669         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
27670         * tests/test-unistd.c: Likewise.
27671         * tests/test-fcntl.c: Likewise.
27672
27673 2007-04-23  Eric Blake  <ebb9@byu.net>
27674
27675         * lib/fflush.c: Fix missing include.
27676         Reported by Bruno Haible.
27677
27678 2007-04-23  Bruno Haible  <bruno@clisp.org>
27679
27680         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
27681         Reported by Eric Blake.
27682
27683 2007-04-23  Bruno Haible  <bruno@clisp.org>
27684
27685         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
27686
27687 2007-04-23  Bruno Haible  <bruno@clisp.org>
27688
27689         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
27690
27691 2007-04-23  Bruno Haible  <bruno@clisp.org>
27692
27693         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
27694         Needed on HP-UX 11.
27695
27696 2007-04-16  Eric Blake  <ebb9@byu.net>
27697
27698         Make fflush rely on fpurge.
27699         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
27700         open coding all variants.
27701         * modules/fflush (Depends-on): Add fpurge and unistd.
27702         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
27703         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
27704
27705         Fix --with-tests compilation on cygwin.
27706         * modules/argmatch-tests (Makefile.am): List gnulib library first
27707         in LDADD.
27708         * modules/argp-tests (Makefile.am): Likewise.
27709         * modules/array-list-tests (Makefile.am): Likewise.
27710         * modules/array-oset-tests (Makefile.am): Likewise.
27711         * modules/avltree-list-tests (Makefile.am): Likewise.
27712         * modules/avltree-oset-tests (Makefile.am): Likewise.
27713         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27714         * modules/carray-list-tests (Makefile.am): Likewise.
27715         * modules/dirname-tests (Makefile.am): Likewise.
27716         * modules/frexp-tests (Makefile.am): Likewise.
27717         * modules/isnanl-tests (Makefile.am): Likewise.
27718         * modules/linked-list-tests (Makefile.am): Likewise.
27719         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27720         * modules/lock-tests (Makefile.am): Likewise.
27721         * modules/rbtree-list-tests (Makefile.am): Likewise.
27722         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27723         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27724         * modules/tls-tests (Makefile.am): Likewise.
27725         * modules/tsearch-tests (Makefile.am): Likewise.
27726         * modules/xvasprintf-tests (Makefile.am): Likewise.
27727
27728         Fix fpurge for cygwin.
27729         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
27730         value.
27731         * modules/fpurge-tests (Depends-on): Clean up trash.
27732
27733 2007-04-16  Simon Josefsson  <simon@josefsson.org>
27734
27735         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
27736
27737         * m4/autobuild.m4: Re-indent.
27738
27739 2007-04-13  Bruno Haible  <bruno@clisp.org>
27740
27741         * modules/fpurge-tests: New file.
27742         * tests/test-fpurge.c: New file.
27743
27744         * modules/fpurge: New file.
27745         * lib/fpurge.h: New file.
27746         * lib/fpurge.c: New file.
27747         * m4/fpurge.m4: New file.
27748
27749 2007-04-13  Bruno Haible  <bruno@clisp.org>
27750
27751         * modules/fbufmode-tests: New file.
27752         * tests/test-fbufmode.c: New file.
27753
27754         * modules/fbufmode: New file.
27755         * lib/fbufmode.h: New file.
27756         * lib/fbufmode.c: New file.
27757         * m4/fbufmode.m4: New file.
27758
27759 2007-04-13  Bruno Haible  <bruno@clisp.org>
27760
27761         * modules/fwritable-tests: New file.
27762         * tests/test-fwritable.c: New file.
27763
27764         * modules/fwritable: New file.
27765         * lib/fwritable.h: New file.
27766         * lib/fwritable.c: New file.
27767         * m4/fwritable.m4: New file.
27768
27769 2007-04-13  Bruno Haible  <bruno@clisp.org>
27770
27771         * modules/freadable-tests: New file.
27772         * tests/test-freadable.c: New file.
27773
27774         * modules/freadable: New file.
27775         * lib/freadable.h: New file.
27776         * lib/freadable.c: New file.
27777         * m4/freadable.m4: New file.
27778
27779 2007-04-13  Bruno Haible  <bruno@clisp.org>
27780
27781         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
27782         MOSTLYCLEANFILES.
27783
27784 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27785
27786         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
27787         gzip bootstrap.conf to avoid dragging in i18n machinery.
27788         (gnulib_tool_option): Use it.
27789
27790 2007-04-13  Bruno Haible  <bruno@clisp.org>
27791
27792         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
27793         %F directives.
27794         * tests/test-vasprintf-posix.c (test_function): Likewise.
27795         * tests/test-snprintf-posix.h (test_function): Likewise.
27796         * tests/test-sprintf-posix.h (test_function): Likewise.
27797         * tests/test-fprintf-posix.h (test_function): Likewise.
27798         * tests/test-printf-posix.h (test_function): Likewise.
27799         * tests/test-fprintf-posix.out: Likewise.
27800
27801 2007-04-13  Bruno Haible  <bruno@clisp.org>
27802
27803         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
27804         * modules/tls-tests (configure.ac): Likewise.
27805         Reported by Arto C. Nirkko <anirkko@insel.ch>.
27806
27807 2007-04-13  Bruno Haible  <bruno@clisp.org>
27808
27809         * lib/tls.c (glthread_tls_get): Fix return type.
27810         Patch by Arto C. Nirkko <anirkko@insel.ch>.
27811
27812 2007-04-12  Eric Blake  <ebb9@byu.net>
27813
27814         * modules/gettime (Depends-on): Remove gettime.
27815         Reported by Dmitry V. Levin.
27816
27817 2007-04-12  Bruno Haible  <bruno@clisp.org>
27818
27819         * modules/fflush (Include): Mention <stdio.h>.
27820         * modules/strtoimax (Include): Mention <inttypes.h>.
27821         * modules/strtoumax (Include): Likewise.
27822
27823 2007-04-12  Eric Blake  <ebb9@byu.net>
27824
27825         * .cvsignore: New file.
27826         * .gitignore: Likewise.
27827
27828 2007-04-12  Bruno Haible  <bruno@clisp.org>
27829
27830         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
27831         not before, since $(LDADD) often contains libgnu.a.
27832         * modules/striconv-tests (test_striconv_LDADD): Likewise.
27833         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
27834         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
27835         Needed on Cygwin.
27836
27837 2007-04-12  Eric Blake  <ebb9@byu.net>
27838
27839         Work around glibc's failure to flush stdin on fclose.
27840         * lib/closein.c (close_stdin): Flush stdin before closing.
27841
27842         Work around glibc's failure to reset seekable stdin on exit.
27843         * modules/closein: New module.
27844         * lib/closein.c: New file.
27845         * lib/closein.h: Likewise.
27846         * m4/closein.m4: Likewise.
27847         * MODULES.html.sh (File stream based Input/Output): Document it.
27848
27849 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27850
27851         * gnulib-tool: Rename generated 'autobuild' script to
27852         'do-autobuild' in --create-megatestdir output.
27853
27854         * doc/gnulib.texi (Build robot for gnulib): Fix.
27855
27856 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27857
27858         * modules/sysexits (Depends-on): Add absolute-header.
27859
27860 2007-04-12  Eric Blake  <ebb9@byu.net>
27861
27862         No need to preserve errno on success.
27863         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
27864         Reported by Bruno Haible.
27865
27866 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27867
27868         * MODULES.html.sh (Support for maintaining and releasing
27869         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
27870
27871 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27872
27873         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
27874
27875 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27876
27877         * modules/autobuild: New module.
27878
27879         * m4/autobuild.m4: New file.
27880
27881 2007-04-11  Bruno Haible  <bruno@clisp.org>
27882
27883         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
27884         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
27885         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
27886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
27887         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27888         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27889         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27890         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27891         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27892         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27893         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
27894         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27895         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27896         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
27897         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27898         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27899         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
27900         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27901         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27902         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
27903         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27904         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27905         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
27906         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27907         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
27909         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27910         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27911         Reported by Eric Blake.
27912
27913 2007-04-11  Bruno Haible  <bruno@clisp.org>
27914
27915         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
27916
27917 2007-04-10  Bruno Haible  <bruno@clisp.org>
27918
27919         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
27920         for NaN and Infinity. Needed on FreeBSD 6.1.
27921         * tests/test-vasnprintf-posix.c (test_function): Undo last change
27922         regarding results for "%010a" of Infinity and NaN.
27923         * tests/test-vasprintf-posix.c (test_function): Likewise.
27924         * tests/test-snprintf-posix.h (test_function): Likewise.
27925         * tests/test-sprintf-posix.h (test_function): Likewise.
27926         * tests/test-fprintf-posix.h (test_function): Likewise.
27927         * tests/test-printf-posix.h (test_function): Likewise.
27928         * tests/test-fprintf-posix.out: Likewise.
27929
27930 2007-04-10  Bruno Haible  <bruno@clisp.org>
27931
27932         * modules/locale-tests: New file.
27933         * tests/test-locale.c: New file.
27934
27935         * modules/locale: New file.
27936         * lib/locale_.h: New file.
27937         * m4/locale_h.m4: New file.
27938
27939 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
27940             Bruno Haible  <bruno@clisp.org>
27941
27942         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
27943         be determined, test for availability of the copysignf, copysign,
27944         copysignl functions.
27945         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
27946         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
27947         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
27948
27949 2007-04-09  Eric Blake  <ebb9@byu.net>
27950
27951         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
27952         * modules/stdio (Makefile.am): Support fflush.
27953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27954         * modules/fflush: New file.
27955         * lib/fflush.c: Likewise.
27956         * m4/fflush.m4: Likewise.
27957         * modules/fflush-tests: New test.
27958         * tests/test-fflush.c: Likewise.
27959         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
27960
27961 2007-04-06  Bruno Haible  <bruno@clisp.org>
27962
27963         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
27964         (VASNPRINTF): Use signbit for faster determination whether to print a
27965         minus sign.
27966         * modules/vasnprintf (Files): Remove lib/float+.h.
27967         * modules/fprintf-posix (Depends-on): Add signbit.
27968         * modules/snprintf-posix (Depends-on): Likewise.
27969         * modules/sprintf-posix (Depends-on): Likewise.
27970         * modules/vasnprintf-posix (Depends-on): Likewise.
27971         * modules/vasprintf-posix (Depends-on): Likewise.
27972         * modules/vfprintf-posix (Depends-on): Likewise.
27973         * modules/vsnprintf-posix (Depends-on): Likewise.
27974         * modules/vsprintf-posix (Depends-on): Likewise.
27975
27976 2007-04-06  Bruno Haible  <bruno@clisp.org>
27977
27978         * tests/test-frexp.c (main): Test also the sign bit of zero results.
27979         * tests/test-frexpl.c (main): Likewise.
27980         * tests/test-ldexpl.c (main): Likewise.
27981         * modules/frexp-tests (Depends-on): Add signbit.
27982         * modules/frexpl-tests (Depdends-on): Likewise.
27983         * modules/ldexpl-tests (Depdends-on): Likewise.
27984
27985 2007-04-06  Bruno Haible  <bruno@clisp.org>
27986
27987         * modules/signbit-tests: New file.
27988         * tests/test-signbit.c: New file.
27989
27990         * modules/signbit: New file.
27991         * lib/signbitf.c: New file.
27992         * lib/signbitd.c: New file.
27993         * lib/signbitl.c: New file.
27994         * m4/signbit.m4: New file.
27995         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
27996         (signbit): New macro.
27997         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
27998         REPLACE_SIGNBIT.
27999         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
28000         REPLACE_FREXPL into math.h.
28001
28002 2007-04-06  Bruno Haible  <bruno@clisp.org>
28003
28004         * modules/isnanf-nolibm-tests: New file.
28005         * tests/test-isnanf.c: New file.
28006
28007         * modules/isnanf-nolibm: New file.
28008         * lib/isnanf.h: New file.
28009         * lib/isnanf.c: New file.
28010         * lib/isnan.c: Consider the USE_FLOAT macro.
28011         * m4/isnanf.m4: New file.
28012
28013 2007-04-06  Bruno Haible  <bruno@clisp.org>
28014
28015         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
28016         (Link): New section.
28017
28018         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
28019
28020 2007-04-06  Bruno Haible  <bruno@clisp.org>
28021
28022         Assume the 'long double' type.
28023         * m4/longdouble.m4: Remove file.
28024         * config/srclist.txt: Don't mention longdouble.m4.
28025         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
28026         * lib/float+.h: Likewise.
28027         * lib/frexp.c: Likewise.
28028         * lib/printf-args.h: Likewise.
28029         * lib/printf-args.c: Likewise.
28030         * lib/printf-frexp.c: Likewise.
28031         * lib/printf-parse.c: Likewise.
28032         * lib/vasnprintf.c: Likewise.
28033         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
28034         * m4/intl.m4: Likewise.
28035         * m4/isnanl.m4: Likewise.
28036         * m4/printf.m4: Likewise.
28037         * m4/printf-frexpl.m4: Likewise.
28038         * m4/vasnprintf.m4: Likewise.
28039         * modules/allocsa (Files): Remove m4/longdouble.m4.
28040         * modules/gettext (Files): Likewise.
28041         * modules/relocatable-prog-wrapper (Files): Likewise.
28042         * modules/vasnprintf (Files): Likewise.
28043         * modules/isnanl (Files): Likewise.
28044         (Include): Simplify.
28045         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
28046         (Include): Simplify.
28047         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
28048         (Include): Simplify.
28049         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
28050         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28051         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
28052         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28053         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
28054         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28055         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
28056         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28057         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
28058         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28059         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
28060         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28061         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
28062         * tests/test-isnanl.c: Likewise.
28063         * tests/test-snprintf-posix.h: Likewise.
28064         * tests/test-sprintf-posix.h: Likewise.
28065         * tests/test-vasnprintf-posix.c: Likewise.
28066         * tests/test-vasnprintf-posix2.c: Likewise.
28067         * tests/test-vasprintf-posix.c: Likewise.
28068
28069 2007-04-06  Bruno Haible  <bruno@clisp.org>
28070
28071         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
28072         * lib/math_.h [__DECC]: Include the overridden include file through
28073         #include_next, outside the double-inclusion guard.
28074         * lib/stdio_.h [__DECC]: Likewise.
28075         * lib/stdlib_.h [__DECC]: Likewise.
28076         * lib/string_.h [__DECC]: Likewise.
28077         * lib/time_.h [__DECC]: Likewise.
28078         * lib/wchar_.h [__DECC]: Likewise.
28079         * lib/wctype_.h [__DECC]: Likewise.
28080         * lib/inttypes_.h [__DECC]: Likewise.
28081         Reported by Albert Chin <china@thewrittenword.com> in
28082         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
28083
28084 2007-04-04  Eric Blake  <ebb9@byu.net>
28085
28086         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
28087         1.5.x.
28088
28089 2007-04-04  Bruno Haible  <bruno@clisp.org>
28090
28091         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
28092         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
28093
28094 2007-04-04  Bruno Haible  <bruno@clisp.org>
28095
28096         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
28097         results for "%010a" of Infinity and NaN.
28098         * tests/test-vasprintf-posix.c (test_function): Likewise.
28099         * tests/test-snprintf-posix.h (test_function): Likewise.
28100         * tests/test-sprintf-posix.h (test_function): Likewise.
28101         * tests/test-fprintf-posix.h (test_function): Remove these tests.
28102         * tests/test-printf-posix.h (test_function): Likewise.
28103         * tests/test-fprintf-posix.out: Update.
28104         Needed for FreeBSD 6.1.
28105
28106 2007-04-04  Bruno Haible  <bruno@clisp.org>
28107
28108         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
28109         directly used by the gnulib modules nor by gnulib-tool.
28110
28111 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
28112
28113         * DEPENDENCIES: Give overall description of version dependency
28114         desirability.  Use more-typical names for apps.
28115         Add shell, coreutils, diffutils, grep, tar, gzip.
28116
28117 2007-04-04  Simon Josefsson  <simon@josefsson.org>
28118
28119         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
28120
28121 2007-04-04  Karl Berry  <karl@gnu.org>
28122
28123         * MODULES.html.sh (func_module): missing '.
28124
28125 2007-04-03  Bruno Haible  <bruno@clisp.org>
28126
28127         * modules/argmatch-tests (Makefile.am): New variable
28128         test_argmatch_LDADD.
28129         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
28130         * modules/array-list-tests (Makefile.am): New variable
28131         test_array_list_LDADD.
28132         * modules/array-oset-tests (Makefile.am): New variable
28133         test_array_oset_LDADD.
28134         * modules/avltree-list-tests (Makefile.am): New variable
28135         test_avltree_list_LDADD.
28136         * modules/avltree-oset-tests (Makefile.am): New variable
28137         test_avltree_oset_LDADD.
28138         * modules/avltreehash-list-tests (Makefile.am): New variable
28139         test_avltreehash_list_LDADD.
28140         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
28141         test_canonicalize_lgpl_LDADD.
28142         * modules/carray-list-tests (Makefile.am): New variable
28143         test_carray_list_LDADD.
28144         * modules/dirname-tests (Makefile.am): New variable
28145         test_dirname_LDADD.
28146         * modules/linked-list-tests (Makefile.am): New variable
28147         test_linked_list_LDADD.
28148         * modules/linkedhash-list-tests (Makefile.am): New variable
28149         test_linkedhash_list_LDADD.
28150         * modules/rbtree-list-tests (Makefile.am): New variable
28151         test_rbtree_list_LDADD.
28152         * modules/rbtree-oset-tests (Makefile.am): New variable
28153         test_rbtree_oset_LDADD.
28154         * modules/rbtreehash-list-tests (Makefile.am): New variable
28155         test_rbtreehash_list_LDADD.
28156         * modules/xvasprintf-tests (Makefile.am): New variable
28157         test_xvasprintf_LDADD.
28158         Reported by Eric Blake.
28159
28160 2007-04-03  Eric Blake  <ebb9@byu.net>
28161
28162         * DEPENDENCIES: Weaken m4 requirements.
28163
28164 2007-04-03  Bruno Haible  <bruno@clisp.org>
28165
28166         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
28167         * modules/isnanl-tests (configure.ac): Likewise.
28168
28169 2007-04-03  Ben Pfaff  <blp@gnu.org>
28170
28171         * modules/iconv_open: Add $(srcdir)/ to source directory
28172         references in Makefile fragments that call gperf, to fix VPATH
28173         builds.
28174
28175 2007-04-03  Bruno Haible  <bruno@clisp.org>
28176
28177         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
28178         * lib/ldexpl.c: Undo last change.
28179
28180 2007-04-03  Bruno Haible  <bruno@clisp.org>
28181
28182         * modules/printf-frexpl (Depends-on): Undo last change.
28183         (Files): Add m4/ldexpl.m4.
28184
28185 2007-04-03  Bruno Haible  <bruno@clisp.org>
28186
28187         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
28188         * modules/isnanl (Link): New section.
28189
28190         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
28191         * modules/frexp (Link): New section.
28192
28193         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
28194         * modules/frexpl (Link): New section.
28195
28196         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
28197         * modules/ldexpl (Link): New section.
28198
28199 2007-04-03  Bruno Haible  <bruno@clisp.org>
28200
28201         * modules/TEMPLATE-EXTENDED: New file.
28202         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
28203
28204 2007-04-03  Bruno Haible  <bruno@clisp.org>
28205
28206         * DEPENDENCIES: New file.
28207         Suggested by Simon Josefsson.
28208
28209 2007-04-03  Bruno Haible  <bruno@clisp.org>
28210
28211         * doc/gnulib.texi: Escape @.
28212
28213 2007-04-03  James Youngman  <jay@gnu.org>
28214         and Paul Eggert  <eggert@cs.ucla.edu>
28215
28216         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
28217         birthtime on all systems that have birthtime, not just those which
28218         use st_birthtimensec rather than st_birthtim.  Putting zero in
28219         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
28220         that the birth time is not available for files on an NFS mount.
28221
28222 2007-04-03  Simon Josefsson  <simon@josefsson.org>
28223
28224         * modules/memxor: Move back from crypto/, suggested by Bruno.
28225         * modules/crypto/hmac-sha1: Fix memxor dependency.
28226
28227         * modules/crypto/gc: Moved from ../.
28228
28229 2007-04-02  Eric Blake  <ebb9@byu.net>
28230
28231         * lib/ldexpl.c (includes): Avoid libm.
28232
28233         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
28234
28235 2007-04-02  Bruno Haible  <bruno@clisp.org>
28236
28237         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
28238         on IRIX.
28239
28240 2007-04-02  Bruno Haible  <bruno@clisp.org>
28241
28242         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
28243         x86 or x86_64 platforms running MacOS X.
28244         Reported by Ryan Schmidt <@ryandesign.com>.
28245
28246 2007-04-02  Bruno Haible  <bruno@clisp.org>
28247
28248         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
28249         i386.
28250
28251 2007-04-01  Simon Josefsson  <simon@josefsson.org>
28252
28253         * modules/crypto/arcfour: Moved from ../.
28254         * modules/crypto/arcfour-tests: Moved from ../.
28255         * modules/crypto/arctwo: Moved from ../.
28256         * modules/crypto/arctwo-tests: Moved from ../.
28257         * modules/crypto/des: Moved from ../.
28258         * modules/crypto/des-tests: Moved from ../.
28259         * modules/crypto/gc-arcfour: Moved from ../.
28260         * modules/crypto/gc-arcfour-tests: Moved from ../.
28261         * modules/crypto/gc-arctwo: Moved from ../.
28262         * modules/crypto/gc-arctwo-tests: Moved from ../.
28263         * modules/crypto/gc-des: Moved from ../.
28264         * modules/crypto/gc-des-tests: Moved from ../.
28265         * modules/crypto/gc-hmac-md5: Moved from ../.
28266         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
28267         * modules/crypto/gc-hmac-sha1: Moved from ../.
28268         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
28269         * modules/crypto/gc-md2: Moved from ../.
28270         * modules/crypto/gc-md2-tests: Moved from ../.
28271         * modules/crypto/gc-md4: Moved from ../.
28272         * modules/crypto/gc-md4-tests: Moved from ../.
28273         * modules/crypto/gc-md5: Moved from ../.
28274         * modules/crypto/gc-md5-tests: Moved from ../.
28275         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
28276         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
28277         * modules/crypto/gc-random: Moved from ../.
28278         * modules/crypto/gc-rijndael: Moved from ../.
28279         * modules/crypto/gc-rijndael-tests: Moved from ../.
28280         * modules/crypto/gc-sha1: Moved from ../.
28281         * modules/crypto/gc-sha1-tests: Moved from ../.
28282         * modules/crypto/gc-tests: Moved from ../.
28283         * modules/crypto/hmac-md5: Moved from ../.
28284         * modules/crypto/hmac-md5-tests: Moved from ../.
28285         * modules/crypto/hmac-sha1: Moved from ../.
28286         * modules/crypto/hmac-sha1-tests: Moved from ../.
28287         * modules/crypto/md2: Moved from ../.
28288         * modules/crypto/md2-tests: Moved from ../.
28289         * modules/crypto/md4: Moved from ../.
28290         * modules/crypto/md4-tests: Moved from ../.
28291         * modules/crypto/md5: Moved from ../.
28292         * modules/crypto/md5-tests: Moved from ../.
28293         * modules/crypto/memxor: Moved from ../.
28294         * modules/crypto/rijndael: Moved from ../.
28295         * modules/crypto/rijndael-tests: Moved from ../.
28296         * modules/crypto/sha1: Moved from ../.
28297
28298 2007-03-30  James Youngman  <jay@gnu.org>
28299
28300         * tests/test-stat-time.c (prepare_test): use chmod() rather than
28301         rename() to change the ctime of a file (because ctime is unaffected
28302         by rename on jfs2 on AIX 5.1).
28303         (main): Start by doing cleanup, in case a previous run failed leaving
28304         test files behind.
28305
28306 2007-03-31  Bruno Haible  <bruno@clisp.org>
28307
28308         Support old proprietary implementations of iconv.
28309         * modules/iconv_open: New file.
28310         * lib/iconv_.h: New file.
28311         * m4/iconv_h.m4: New file.
28312         * lib/iconv_open.c: New file.
28313         * lib/iconv_open-aix.gperf: New file.
28314         * lib/iconv_open-hpux.gperf: New file.
28315         * lib/iconv_open-irix.gperf: New file.
28316         * lib/iconv_open-osf.gperf: New file.
28317         * m4/iconv_open.m4: New file.
28318         * modules/linebreak (Depends-on): Add iconv_open.
28319         * modules/striconv (Depends-on): Likewise.
28320         * modules/striconveh (Depends-on): Likewise.
28321         * modules/unicodeio (Depends-on): Likewise.
28322         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
28323         (iconv_t)(-1).
28324         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
28325         conversion if cd is (iconv_t)(-1).
28326         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
28327         is not possible.
28328
28329 2007-03-31  Bruno Haible  <bruno@clisp.org>
28330
28331         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
28332         work on Solaris either. Protect also second use of "autodetect_jp".
28333
28334 2007-03-31  Bruno Haible  <bruno@clisp.org>
28335
28336         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
28337         the function is not present.
28338
28339 2007-03-31  Bruno Haible  <bruno@clisp.org>
28340
28341         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
28342         the function is not present.
28343
28344 2007-03-31  Bruno Haible  <bruno@clisp.org>
28345
28346         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
28347         a bug in HP-UX iconv_open().
28348
28349 2007-03-31  Bruno Haible  <bruno@clisp.org>
28350
28351         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
28352         (Mathematics <math.h>): New section, add fpieee.
28353         (Input/output <stdio.h>): Add fseterr.
28354         (Mathematics <math.h>): New section, add printf-frexp.
28355         (Container data structures): Add sublist.
28356         (Core language properties): Add fpucw, inline.
28357         (Functions for greatest-width integer types <inttypes.h>): Add
28358         imaxabs, imaxdiv, inttypes.
28359         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
28360         isnanl-nolibm, ldexp.
28361         (Mathematics <math.h>): New section, add printf-frexpl.
28362         (Support for systems lacking POSIX:2001): Add fprintf-posix,
28363         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
28364         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
28365         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
28366         (Unicode string functions): Add unistr/u*-mbtoucr.
28367         (Java): Add javacomp-script, javaexec-script.
28368         (C#): Add csharpcomp-script, csharpexec-script.
28369         (Support for building libraries and executables): Add havelib,
28370         relocatable-*.
28371         (Support for maintaining and releasing projects): Renamed from
28372         'Support for maintaining and release projects'. Add announce-gen.
28373
28374 2007-03-31  Bruno Haible  <bruno@clisp.org>
28375
28376         * README: Talk primarily about git.
28377         (git and CVS): Renamed from CVS.
28378         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
28379         gnulib is available through git.
28380         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
28381
28382 2007-03-30  Bruno Haible  <bruno@clisp.org>
28383
28384         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
28385         * lib/poll_.h: Likewise.
28386         * lib/stat_.h: Likewise.
28387         * lib/sys_time_.h: Likewise.
28388         * lib/sysexit_.h: Likewise.
28389         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
28390         * lib/stdbool_.h: Likewise.
28391         * lib/byteswap_.h: Add double-inclusion guard.
28392
28393 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
28394
28395         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
28396
28397 2007-03-30  Karl Berry  <karl@gnu.org>
28398
28399         * config/srclist-update: double space after USA in the license
28400         substitution, since that's how it's usually (?) written.
28401
28402 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
28403
28404         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
28405         reported by Bruno Haible.
28406
28407 2007-03-29  Bruno Haible  <bruno@clisp.org>
28408
28409         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
28410         a bug in AIX iconv().
28411
28412 2007-03-29  Bruno Haible  <bruno@clisp.org>
28413
28414         * modules/ldexpl-tests: New file.
28415         * tests/test-ldexpl.c: New file.
28416
28417 2007-03-29  Bruno Haible  <bruno@clisp.org>
28418
28419         * lib/ldexpl.c: Include fpucw.h.
28420         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
28421         multiplication.
28422         * modules/ldexpl (Depends-on): Add fpucw.
28423
28424 2007-03-29  Bruno Haible  <bruno@clisp.org>
28425
28426         * modules/ldexpl: New file.
28427         * m4/ldexpl.m4: New file.
28428         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
28429         set.
28430         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
28431         REPLACE_LDEXPL.
28432         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
28433         REPLACE_LDEXPL.
28434         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
28435         gl_FUNC_LDEXPL_WORKS.
28436         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
28437         * modules/mathl (Files): Remove lib/ldexpl.c.
28438         (Depends-on): Add ldexpl.
28439
28440 2007-03-29  Bruno Haible  <bruno@clisp.org>
28441
28442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
28443
28444 2007-03-29  Bruno Haible  <bruno@clisp.org>
28445
28446         * tests/test-striconveh.c (main): Don't assume that a direct conversion
28447         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
28448         and possibly also HP-UX.
28449         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
28450         work on AIX, IRIX, HP-UX, OSF/1.
28451         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
28452         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
28453         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
28454         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
28455         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
28456         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
28457
28458 2007-03-29  Bruno Haible  <bruno@clisp.org>
28459
28460         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
28461
28462 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
28463
28464         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
28465         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
28466
28467 2007-03-29  Eric Blake  <ebb9@byu.net>
28468
28469         * lib/acl-internal.h: Remove redundant include.
28470         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
28471         Cygwin when a file is locked.
28472
28473 2007-03-29  Bruno Haible  <bruno@clisp.org>
28474
28475         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
28476         file.
28477         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
28478
28479 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
28480
28481         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
28482         try to remove a parent directory if the child couldn't be removed
28483         (except for the first rmdir, which could fail because the child
28484         doesn't exist).  Problem reported by Jeff Blaine in
28485         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
28486
28487 2007-03-28  Bruno Haible  <bruno@clisp.org>
28488
28489         * lib/striconveh.c (utf8conv_carefully): New function.
28490         (mem_cd_iconveh_internal): Invoke it.
28491
28492 2007-03-28  Bruno Haible  <bruno@clisp.org>
28493
28494         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
28495         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
28496         input.
28497         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
28498         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
28499         unistr/u8-uctomb.
28500
28501 2007-03-28  Bruno Haible  <bruno@clisp.org>
28502
28503         * modules/unistr/u8-mbtoucr: New file.
28504         * lib/unistr/u8-mbtoucr.c: New file.
28505         * modules/unistr/u16-mbtoucr: New file.
28506         * lib/unistr/u16-mbtoucr.c: New file.
28507         * modules/unistr/u16-mbtoucr: New file.
28508         * lib/unistr/u16-mbtoucr.c: New file.
28509         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
28510
28511 2007-03-27  Simon Josefsson  <simon@josefsson.org>
28512             Bruno Haible  <bruno@clisp.org>
28513
28514         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
28515         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
28516         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
28517
28518         * m4/stdio_h.m4: Add stubs for vasprintf too.
28519
28520         * modules/stdio: Support vasprintf in sed command.
28521
28522         * modules/vasprintf: Depend on stdio for prototypes.  Remove
28523         vasprintf.h.  Add stdio module indicator.
28524
28525         * lib/stdio_.h: Declare asprintf and vasprintf, based on
28526         vasprintf.h.
28527
28528         * lib/vasprintf.h: File removed.
28529
28530         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
28531         * lib/vasprintf.c: Ditto.
28532         * lib/xvasprintf.c: Ditto.
28533         * tests/test-vasprintf-posix.c: Ditto.
28534         * tests/test-vasprintf.c: Ditto.
28535
28536 2007-03-27  Bruno Haible  <bruno@clisp.org>
28537
28538         Make vasnprintf multithread-safe.
28539         * lib/vasnprintf.c (decimal_point_char): New function.
28540         (VASNPRINTF): Use it.
28541         Suggested by Simon Josefsson.
28542
28543 2007-03-27  Eric Blake  <ebb9@byu.net>
28544
28545         Support sub-second birthtime on cygwin.
28546         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
28547         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
28548         (get_stat_birthtime): Also work with st_birthtim.
28549
28550 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
28551
28552         * lib/stat-time.h (USE_BIRTHTIME): Remove.
28553         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
28554         (get_stat_birthtime_ns): Do not try to use "spare" fields.
28555         (get_stat_birthtime_ns): Simplify compile-time tests.
28556         (get_stat_birthtime): Change the API to look like
28557         get_stat_mtime etc., except return a negative tv_nsec on error.
28558         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
28559         Don't check for "spare" fields.
28560         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
28561         or for struct stat.st_birthtime, as these tests aren't used.
28562         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
28563
28564 2007-03-27  Bruno Haible  <bruno@clisp.org>
28565
28566         * lib/stat-time.h: Include <sys/stat.h>.
28567
28568 2007-03-27  James Youngman  <jay@gnu.org>
28569
28570         * lib/stat-time.h (get_stat_birthtime): New function for
28571           retrieving st_birthtime as provided by UFS2 (hence *BSD).
28572         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
28573           and its variants.
28574         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
28575         * modules/stat-time-test: New file.
28576         * tests/test-stat-time.c: New test, devised by Bruno Haible.
28577
28578 2007-03-26  Bruno Haible  <bruno@clisp.org>
28579
28580         Better support of signalling NaNs.
28581         * lib/atanl.c: Include isnanl.h.
28582         (atanl): Perform test for NaN at the beginning of the function and
28583         through a call to isnanl.
28584         * lib/cosl.c: Include isnanl.h.
28585         (cosl): Perform test for NaN at the beginning of the function and
28586         through a call to isnanl.
28587         * lib/ldexpl.c: Include isnanl.h.
28588         (ldexpl): Perform test for NaN through a call to isnanl.
28589         * lib/logl.c: Include isnanl.h.
28590         (logl): Perform test for NaN at the beginning of the function and
28591         through a call to isnanl.
28592         * lib/sinl.c: Include isnanl.h.
28593         (sinl): Perform test for NaN at the beginning of the function and
28594         through a call to isnanl.
28595         * lib/sqrtl.c: Include isnanl.h.
28596         (sqrtl): Perform test for NaN at the beginning of the function and
28597         through a call to isnanl.
28598         * lib/tanl.c: Include isnanl.h.
28599         (tanl): Perform test for NaN at the beginning of the function and
28600         through a call to isnanl.
28601         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
28602         * modules/mathl (Depends-on): Add isnanl.
28603
28604 2007-03-26  Eric Blake  <ebb9@byu.net>
28605
28606         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
28607         regression in logic sense of previous patch.
28608
28609 2007-03-26  Bruno Haible  <bruno@clisp.org>
28610
28611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
28612         unportable shell command "if ! ...".
28613         Reported by Ralf Wildenhues.
28614
28615 2007-03-25  Bruno Haible  <bruno@clisp.org>
28616
28617         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
28618         <sysexits.h> file, and only add EX_CONFIG.
28619         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
28620         absolute file name and whether it is sufficient. Substitute also
28621         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
28622         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
28623         ABSOLUTE_SYSEXITS_H into sysexits.h.
28624
28625 2007-03-25  Bruno Haible  <bruno@clisp.org>
28626
28627         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
28628         hints is NULL.
28629
28630 2007-03-25  Bruno Haible  <bruno@clisp.org>
28631
28632         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
28633         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
28634
28635 2007-03-25  Bruno Haible  <bruno@clisp.org>
28636
28637         * lib/vasnprintf.c: Include langinfo.h.
28638         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
28639         multithread-safe.
28640         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
28641         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
28642         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28643         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28644         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28645         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28646         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28647         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
28648         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28649         Reported by Simon Josefsson.
28650
28651 2007-03-25  Bruno Haible  <bruno@clisp.org>
28652
28653         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
28654         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
28655         * modules/vasnprintf (Depends-on): Add stdint.
28656
28657 2007-03-25  Bruno Haible  <bruno@clisp.org>
28658
28659         * modules/fpieee: New file.
28660         * m4/fpieee.m4: New file.
28661         * modules/isnan-nolibm (Depends-on): Add fpieee.
28662         * modules/isnanl-nolibm (Depends-on): Add fpieee.
28663         * modules/isnanl (Depends-on): Add fpieee.
28664
28665 2007-03-25  Bruno Haible  <bruno@clisp.org>
28666
28667         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
28668
28669 2007-03-25  Bruno Haible  <bruno@clisp.org>
28670
28671         Avoid test failures on IRIX 6.5.
28672         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
28673         (main): Use it.
28674         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
28675         macros.
28676         (main): Use them.
28677
28678 2007-03-25  Bruno Haible  <bruno@clisp.org>
28679
28680         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
28681         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
28682         exists but doesn't work.
28683         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
28684         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
28685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
28686         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
28687
28688 2007-03-25  Bruno Haible  <bruno@clisp.org>
28689
28690         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
28691         returns inf. Needed on IRIX 6.5.
28692
28693 2007-03-25  Bruno Haible  <bruno@clisp.org>
28694
28695         * tests/test-frexpl.c: Include isnanl-nolibm.h.
28696         (main): Use isnanl instead of x != x idiom.
28697         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
28698
28699         * tests/test-frexp.c: Include isnan.h.
28700         (main): Use isnan instead of x != x idiom.
28701         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
28702
28703 2007-03-25  Bruno Haible  <bruno@clisp.org>
28704
28705         * tests/test-frexp.c (NaN): New function/macro.
28706         (main): Use it instead of 0.0 / 0.0.
28707         * tests/test-isnan.c (NaN): New function/macro.
28708         (main): Use it instead of 0.0 / 0.0.
28709         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
28710         (test_function): Use it instead of 0.0 / 0.0.
28711         * tests/test-vasprintf-posix.c (NaN): New function/macro.
28712         (test_function): Use it instead of 0.0 / 0.0.
28713         * tests/test-snprintf-posix.h (NaN): New function/macro.
28714         (test_function): Use it instead of 0.0 / 0.0.
28715         * tests/test-sprintf-posix.h (NaN): New function/macro.
28716         (test_function): Use it instead of 0.0 / 0.0.
28717         * tests/test-fprintf-posix.h (NaN): New function/macro.
28718         (test_function): Use it instead of 0.0 / 0.0.
28719         * tests/test-printf-posix.h (NaN): New function/macro.
28720         (test_function): Use it instead of 0.0 / 0.0.
28721
28722         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
28723
28724 2007-03-25  Bruno Haible  <bruno@clisp.org>
28725
28726         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
28727
28728 2007-03-25  Bruno Haible  <bruno@clisp.org>
28729
28730         * lib/regexec.c (merge_state_with_log): Make static.
28731
28732 2007-03-25  Bruno Haible  <bruno@clisp.org>
28733
28734         * lib/trigl.c (kernel_rem_pio2): Make static.
28735
28736 2007-03-25  Bruno Haible  <bruno@clisp.org>
28737
28738         * lib/sincosl.c (sincosl_table): Make static.
28739
28740 2007-03-25  Bruno Haible  <bruno@clisp.org>
28741
28742         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
28743         if the compiler does not support C99.
28744
28745 2007-03-25  Bruno Haible  <bruno@clisp.org>
28746
28747         * modules/time (Makefile.am): Ensure all rule action lines start with a
28748         tab.
28749
28750 2007-03-24  Bruno Haible  <bruno@clisp.org>
28751
28752         * modules/tsearch-tests: New file.
28753         * tests/test-tsearch.sh: New file.
28754         * tests/test-tsearch.c: New file, mostly copied from glibc.
28755
28756         * modules/search-tests: New file.
28757         * tests/test-search.c: New file.
28758
28759         * modules/search: New file.
28760         * lib/search_.h: New file, incorporating lib/tsearch.h.
28761         * m4/search_h.m4: New file.
28762         * lib/tsearch.h: Remove file.
28763         * lib/tsearch.c: Include search.h instead of tsearch.h.
28764         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
28765         HAVE_TSEARCH.
28766         * modules/tsearch (Files): Remove lib/tsearch.h.
28767         (Depends-on): Add search.
28768         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
28769         (Include): Change tsearch.h into search.h.
28770
28771 2007-03-24  Bruno Haible  <bruno@clisp.org>
28772
28773         * modules/fpucw: New file.
28774         * lib/fpucw.h: New file.
28775         * lib/frexp.c: Include fpucw.h.
28776         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28777         (FUNC): Use them.
28778         * lib/printf-frexp.c: Include fpucw.h.
28779         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28780         (FUNC): Use them.
28781         * lib/vasnprintf.c: Include fpucw.h.
28782         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
28783         'long double' calculations.
28784         * tests/test-frexpl.c: Include fpucw.h.
28785         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28786         * tests/test-printf-frexpl.c: Include fpucw.h.
28787         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28788         * modules/frexpl (Depends-on): Add fpucw.
28789         * modules/printf-frexpl (Depends-on): Likewise.
28790         * modules/fprintf-posix (Depends-on): Likewise.
28791         * modules/snprintf-posix (Depends-on): Likewise.
28792         * modules/sprintf-posix (Depends-on): Likewise.
28793         * modules/vasnprintf-posix (Depends-on): Likewise.
28794         * modules/vasprintf-posix (Depends-on): Likewise.
28795         * modules/vfprintf-posix (Depends-on): Likewise.
28796         * modules/vsnprintf-posix (Depends-on): Likewise.
28797         * modules/vsprintf-posix (Depends-on): Likewise.
28798         * modules/frexpl-tests (Depends-on): Likewise.
28799         * modules/printf-frexpl-tests (Depends-on): Likewise.
28800
28801 2007-03-24  Bruno Haible  <bruno@clisp.org>
28802
28803         * lib/float+.h: New file.
28804         * lib/isnan.c: Include float+.h.
28805         (SIZE): New macro.
28806         (FUNC): Compare only SIZE bytes of the value.
28807         * lib/vasnprintf.c: Include float+.h.
28808         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
28809         SIZEOF_LDBL or SIZEOF_DBL bytes.
28810         * modules/isnan-nolibm (Files): Add lib/float+.h.
28811         * modules/isnanl-nolibm (Files): Add lib/float+.h.
28812         * modules/isnanl (Files): Add lib/float+.h.
28813         * modules/vasnprintf (Files): Add lib/float+.h.
28814
28815 2007-03-24  Bruno Haible  <bruno@clisp.org>
28816
28817         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
28818         include isnanl-nolibm.h.
28819
28820 2007-03-24  Bruno Haible  <bruno@clisp.org>
28821
28822         * tests/test-read-file.c (main): Don't produce spurious output for
28823         expected situations. Make the test fail if it encountered unexpected
28824         results.
28825
28826 2007-03-24  Bruno Haible  <bruno@clisp.org>
28827
28828         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
28829         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
28830
28831 2007-03-24  Bruno Haible  <bruno@clisp.org>
28832
28833         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
28834
28835 2007-03-24  Bruno Haible  <bruno@clisp.org>
28836
28837         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
28838         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
28839
28840         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
28841         * modules/utf8-ucs4: Turn into a symbolic link to module
28842         unistr/u8-mbtouc.
28843
28844         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
28845         utf8-ucs4-unsafe.
28846         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
28847         unistr/u8-mbtouc-unsafe.
28848
28849         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
28850         * modules/utf16-ucs4: Turn into a symbolic link to module
28851         unistr/u16-mbtouc.
28852
28853         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
28854         utf16-ucs4-unsafe.
28855         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
28856         unistr/u16-mbtouc-unsafe.
28857
28858         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
28859         * modules/ucs4-utf8: Turn into a symbolic link to module
28860         unistr/u8-ubtomb.
28861
28862         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
28863         * modules/ucs4-utf16: Turn into a symbolic link to module
28864         unistr/u16-ubtomb.
28865
28866 2007-03-24  Bruno Haible  <bruno@clisp.org>
28867
28868         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
28869         Enable the function only if HAVE_INLINE.
28870         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
28871         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28872         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
28873         Enable the function only if HAVE_INLINE.
28874         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
28875         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28876         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
28877         Enable the function only if HAVE_INLINE.
28878         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
28879         Enable the function only if HAVE_INLINE.
28880         * modules/utf8-ucs4: Update.
28881         * modules/utf8-ucs4-unsafe: Update.
28882         * modules/utf16-ucs4: Update.
28883         * modules/utf16-ucs4-unsafe: Update.
28884         * modules/ucs4-utf8: Update.
28885         * modules/ucs4-utf16: Update.
28886
28887 2007-03-24  Bruno Haible  <bruno@clisp.org>
28888
28889         * lib/utf8-ucs4.h: Remove file.
28890         * lib/utf8-ucs4-unsafe.h: Remove file.
28891         * lib/utf16-ucs4.h: Remove file.
28892         * lib/utf16-ucs4-unsafe.h: Remove file.
28893         * lib/ucs4-utf8.h: Remove file.
28894         * lib/ucs4-utf16.h: Remove file.
28895         * lib/unistr.h: Include their previous contents.
28896         * m4/utf-ucs4.m4: Remove file.
28897         * m4/ucs4-utf.m4: Remove file.
28898         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
28899         (Depends-on): Add unistr/base.
28900         (configure.ac): Remove gl_UTF_UCS4.
28901         (Makefile.am): Update.
28902         (Include): Change to unistr.h.
28903         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
28904         (Depends-on): Add unistr/base.
28905         (configure.ac): Remove gl_UTF_UCS4.
28906         (Makefile.am): Update.
28907         (Include): Change to unistr.h.
28908         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
28909         (Depends-on): Add unistr/base.
28910         (configure.ac): Remove gl_UTF_UCS4.
28911         (Makefile.am): Update.
28912         (Include): Change to unistr.h.
28913         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
28914         (Depends-on): Add unistr/base.
28915         (configure.ac): Remove gl_UTF_UCS4.
28916         (Makefile.am): Update.
28917         (Include): Change to unistr.h.
28918         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
28919         (Depends-on): Add unistr/base.
28920         (configure.ac): Remove gl_UCS4_UTF.
28921         (Makefile.am): Update.
28922         (Include): Change to unistr.h.
28923         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
28924         (Depends-on): Add unistr/base.
28925         (configure.ac): Remove gl_UCS4_UTF.
28926         (Makefile.am): Update.
28927         (Include): Change to unistr.h.
28928         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
28929         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
28930         utf8-ucs4-unsafe.h.
28931         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
28932         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
28933         utf16-ucs4-unsafe.h.
28934         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
28935         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
28936         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
28937         * lib/unistr/u8-strchr.c: Likewise.
28938         * lib/unistr/u8-strrchr.c: Likewise.
28939         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
28940         * lib/unistr/u16-strchr.c: Likewise.
28941         * lib/unistr/u16-strrchr.c: Likewise.
28942         * lib/striconveh.c: Update.
28943         * lib/linebreak.c: Update.
28944
28945 2007-03-24  Bruno Haible  <bruno@clisp.org>
28946
28947         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
28948         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
28949
28950 2007-03-22  Bruno Haible  <bruno@clisp.org>
28951
28952         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
28953
28954 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
28955
28956         * MODULES.html.sh (File system functions): New module write-any-file.
28957         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
28958         * m4/write-any-file.m4: New files.
28959
28960 2007-03-23  Eric Blake  <ebb9@byu.net>
28961
28962         * gnulib-tool: Rearrange space-tab sequences, since some editors
28963         like to eat them.
28964
28965 2007-03-23  Eric Blake  <ebb9@byu.net>
28966
28967         * lib/version-etc.c (version_etc_va): Update license wording to
28968         be more concise.  Recommended by Richard Stallman.
28969
28970 2007-03-22  Bruno Haible  <bruno@clisp.org>
28971
28972         * lib/poll.c (MSG_PEEK): New fallback definition.
28973
28974 2007-03-22  Bruno Haible  <bruno@clisp.org>
28975
28976         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
28977         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
28978         (main): Update.
28979         Fixes a compilation error on BeOS.
28980
28981 2007-03-22  Bruno Haible  <bruno@clisp.org>
28982
28983         * modules/frexpl-tests: New file.
28984         * tests/test-frexpl.c: New file.
28985
28986         * modules/frexpl: New file.
28987         * m4/frexpl.m4: New file.
28988         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
28989         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
28990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
28991         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
28992         (Depends-on): Add frexpl. Remove isnanl-nolibm.
28993         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
28994
28995 2007-03-22  Bruno Haible  <bruno@clisp.org>
28996
28997         * lib/frexpl.c: Share code with lib/frexp.c.
28998         * modules/mathl (Files): Add lib/frexp.c.
28999         (Depends-on): Add isnanl-nolibm.
29000
29001 2007-03-22  Bruno Haible  <bruno@clisp.org>
29002
29003         * modules/printf-frexp (Files): Add m4/frexp.m4.
29004         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
29005         only if the found frexp function actually works.
29006
29007 2007-03-22  Bruno Haible  <bruno@clisp.org>
29008
29009         * lib/frexp.c: Remove older implementation that uses divisions.
29010
29011 2007-03-21  Bruno Haible  <bruno@clisp.org>
29012
29013         * modules/frexp-tests: New file.
29014         * tests/test-frexp.c: New file.
29015
29016         * modules/frexp: New file.
29017         * lib/frexp.c: New file.
29018         * m4/frexp.m4: New file.
29019         * lib/math_.h (frexp): New declaration.
29020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
29021         REPLACE_FREXP.
29022         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
29023
29024 2007-03-21  Bruno Haible  <bruno@clisp.org>
29025
29026         * modules/isnanl-tests: New file.
29027         * tests/test-isnanl.c: New file.
29028
29029         * modules/isnanl: New file.
29030         * lib/isnanl.h: New file.
29031         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
29032         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
29033         gl_FUNC_ISNANL_WORKS.
29034         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
29035         New macros.
29036
29037 2007-03-21  Bruno Haible  <bruno@clisp.org>
29038
29039         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
29040         lib/isnanl.h.
29041         (Include): Update.
29042         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
29043         * lib/vasnprintf.c: Update.
29044         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
29045         tests/test-isnanl.h, remove tests/test-isnanl.c.
29046         (Makefile.am): Update.
29047         * tests/test-isnanl-nolibm.c: New file.
29048         * tests/test-isnanl.h: New file.
29049         * tests/test-isnanl.c: Remove file.
29050
29051 2007-03-21  Jim Meyering  <jim@meyering.net>
29052
29053         When trying to open ".", treat ESTALE like EACCES.
29054         * lib/savewd.c (savewd_save): Resort to forking not just upon
29055         failure with EACCES, but also when errno is ESTALE.
29056
29057 2007-03-20  Bruno Haible  <bruno@clisp.org>
29058
29059         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
29060         Needed on AIX 5.1. Reported by Matthew Woehlke.
29061
29062 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29063
29064         Suggestions by Bruno Haible:
29065         * lib/acl-internal.h: Include "gettext.h" rather than rolling
29066         our own.
29067         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
29068         * modules/acl (Depends-on): Add gettext.
29069
29070 2007-03-19  Bruno Haible  <bruno@clisp.org>
29071
29072         * modules/iconvme: Remove file.
29073         * lib/iconvme.h: Remove file.
29074         * lib/iconvme.c: Remove file.
29075         * m4/iconvme.m4: Remove file.
29076
29077 2007-03-19  Bruno Haible  <bruno@clisp.org>
29078
29079         * doc/relocatable-maint.texi: Break long shell script line.
29080         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
29081
29082 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29083
29084         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
29085         handle file_has_acl.
29086         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
29087         * lib/acl.c: Move header inclusions and related macro defns into
29088         lib/acl-internal.h.
29089         (S_ISLNK): Remove defn, since that's now done for us.
29090         (file_has_acl): Move to lib/file-has-acl.c.
29091         Call acl_trivial if available.  This is the crucial part of the fix.
29092         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
29093         shared within the library.  Rewrite a bit, partly to make it compatible
29094         with the GNU coding style.
29095         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
29096         Remove unnecessary double-quotes.
29097         Don't test for acl_to_text; the build will catch that.
29098         Replace acl_entries if it doesn't exist and it is needed.
29099         Check for -lsec and acl_trivial (as used on Solaris 10).
29100         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
29101         lib/file-has-acl.c.
29102         (Depends-on): Add sys_stat, for S_ISLNK.
29103
29104 2007-03-19  Ben Pfaff  <blp@gnu.org>
29105
29106         * doc/gnulib.texi: Fix typos.
29107         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
29108
29109 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29110
29111         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
29112         If size is zero here, buf must be zero.
29113
29114 2007-03-19  Simon Josefsson  <simon@josefsson.org>
29115
29116         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
29117         <bruno@clisp.org>.
29118
29119 2007-03-18  Bruno Haible  <bruno@clisp.org>
29120
29121         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
29122         Suggested by Eric Blake.
29123
29124 2007-03-18  Ben Pfaff  <blp@gnu.org>
29125
29126         * doc/relocatable.texi: Recommend using as prefix a directory
29127         that does not exist and will never be created.  Based on
29128         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
29129         and others.
29130
29131 2007-03-17  Bruno Haible  <bruno@clisp.org>
29132
29133         * lib/fchownat.c: Include lchown.h.
29134
29135 2007-03-17  Bruno Haible  <bruno@clisp.org>
29136
29137         Fix endless loop when the given allocated size was > INT_MAX.
29138         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
29139         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
29140         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
29141         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
29142         * lib/sprintf.c (sprintf): Likewise.
29143
29144 2007-03-17  Bruno Haible  <bruno@clisp.org>
29145
29146         * tests/test-argp-2.sh (func_compare): Output a context diff.
29147
29148 2007-03-17  Bruno Haible  <bruno@clisp.org>
29149
29150         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
29151         locale's decimal-point character.
29152
29153 2007-03-17  Bruno Haible  <bruno@clisp.org>
29154
29155         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
29156         before comparing it. Needed because on some platforms (e.g. x86) a
29157         'long double' occupies less bytes than sizeof (long double).
29158
29159 2007-03-17  Bruno Haible  <bruno@clisp.org>
29160
29161         * tests/test-crc.c (main): Make printf statements 64-bit clean.
29162         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
29163         * tests/test-getaddrinfo.c (simple): Likewise.
29164         * tests/test-read-file.c (main): Likewise.
29165
29166 2007-03-17  Bruno Haible  <bruno@clisp.org>
29167
29168         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
29169
29170 2007-03-17  Bruno Haible  <bruno@clisp.org>
29171
29172         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
29173         unused variable.
29174
29175 2007-03-17  Bruno Haible  <bruno@clisp.org>
29176
29177         * tests/test-c-strcasecmp.c: Include c-strcase.h.
29178         * tests/test-c-strncasecmp.c: Likewise.
29179
29180 2007-03-17  Bruno Haible  <bruno@clisp.org>
29181
29182         * modules/stdlib (Depends-on): Add unistd.
29183         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
29184         Needed for MacOS X 10.3.
29185
29186 2007-03-17  Bruno Haible  <bruno@clisp.org>
29187
29188         * lib/unistr/u-strdup.h: Include <stdlib.h>.
29189
29190 2007-03-17  Bruno Haible  <bruno@clisp.org>
29191
29192         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
29193
29194 2007-03-17  Bruno Haible  <bruno@clisp.org>
29195
29196         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
29197         to reflect files copied from gnulib (with or without modifications).
29198         Suggested by Jim Meyering.
29199
29200 2007-03-17  Eric Blake  <ebb9@byu.net>
29201
29202         * NEWS: Document stdlib change from 2007-02-18.
29203
29204 2007-03-17  Jim Meyering  <jim@meyering.net>
29205
29206         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
29207         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
29208         someone uses a name containing shell meta-characters.
29209         Reported by Alfred M. Szmidt.
29210
29211         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
29212
29213 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
29214
29215         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
29216         and copy gettext configuration files only if configure.ac contains
29217         a use of AM_GNU_GETTEXT_VERSION.
29218
29219 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
29220
29221         * build-aux/bootstrap (gnulib_name): New variable.
29222         (gnulib_tool_options): Use it.
29223
29224 2007-03-13  Simon Josefsson  <simon@josefsson.org>
29225
29226         * tests/test-des.c: Use new namespace.
29227
29228 2007-03-15  Bruno Haible  <bruno@clisp.org>
29229
29230         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
29231         Reported by James Youngman <jay@gnu.org>.
29232
29233 2007-03-15  Bruno Haible  <bruno@clisp.org>
29234
29235         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
29236         declared prototype. Needed with cc on OSF/1 5.1.
29237
29238 2007-03-15  Bruno Haible  <bruno@clisp.org>
29239
29240         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
29241         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
29242         (struct gl_list_implementation): Add dispose_fn argument to the
29243         'create_empty', 'create' methods.
29244         (struct gl_list_impl_base): Add field 'dispose_fn'.
29245         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
29246         argument.
29247         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
29248         dispose_fn argument.
29249         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
29250         dispose_fn on the dropped values.
29251         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
29252         dispose_fn argument.
29253         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
29254         dropped values.
29255         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
29256         (gl_tree_remove_node): Call dispose_fn on the dropped value.
29257         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
29258         (gl_tree_remove_node): Call dispose_fn on the dropped value.
29259         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
29260         argument.
29261         (gl_tree_list_free): Call dispose_fn on the dropped values.
29262         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
29263         the dropped values.
29264         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
29265         Add dispose_fn argument.
29266         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
29267         Call dispose_fn on the dropped values.
29268         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
29269         Add dispose_fn argument.
29270         (gl_sublist_create): Initialize the 'dispose_fn' field.
29271         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
29272         * tests/test-array_list.c (main): Update.
29273         * tests/test-carray_list.c (main): Update.
29274         * tests/test-avltree_list.c (main): Update.
29275         * tests/test-rbtree_list.c (main): Update.
29276         * tests/test-avltreehash_list.c (main): Update.
29277         * tests/test-rbtreehash_list.c (main): Update.
29278         * tests/test-linked_list.c (main): Update.
29279         * tests/test-linkedhash_list.c (main): Update.
29280         * tests/test-array_oset.c (main): Update.
29281
29282 2007-03-15  Bruno Haible  <bruno@clisp.org>
29283
29284         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
29285         (gl_oset_create_empty): Add dispose_fn argument.
29286         (struct gl_oset_implementation): Add dispose_fn argument to
29287         'create_empty' method.
29288         (struct gl_oset_impl_base): Add dispose_fn field.
29289         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
29290         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
29291         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
29292         values.
29293         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
29294         (gl_tree_oset_free): Call dispose_fn on the dropped values.
29295         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
29296         dropped value.
29297         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
29298         dropped value.
29299         * tests/test-array_oset.c (main): Update.
29300         * tests/test-avltree_oset.c (main): Update.
29301         * tests/test-rbtree_oset.c (main): Update.
29302         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
29303
29304 2007-03-13  Bruno Haible  <bruno@clisp.org>
29305
29306         * tests/test-stdbool.c (i): Update after last patch.
29307
29308 2007-03-12  Bruno Haible  <bruno@clisp.org>
29309
29310         * lib/quotearg.c: Include <wctype.h> early, before the definition of
29311         the iswprint macro. Needed on Solaris 2.5.1.
29312
29313 2007-03-12  Bruno Haible  <bruno@clisp.org>
29314
29315         * tests/test-printf-frexp.c (main): Declare x as volatile.
29316
29317 2007-03-12  Simon Josefsson  <simon@josefsson.org>
29318
29319         * doc/gnulib.texi (Build robot for gnulib): New section.
29320
29321 2007-03-12  Jim Meyering  <jim@meyering.net>
29322
29323         * build-aux/bootstrap: New file.
29324         * build-aux/bootstrap.conf: New file, from coreutils.
29325
29326 2007-03-11  Bruno Haible  <bruno@clisp.org>
29327
29328         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
29329
29330 2007-03-12  Simon Josefsson  <simon@josefsson.org>
29331
29332         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
29333         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
29334         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
29335
29336 2007-03-11  Bruno Haible  <bruno@clisp.org>
29337
29338         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
29339         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
29340
29341 2007-03-11  Bruno Haible  <bruno@clisp.org>
29342
29343         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
29344         formula. Needed for SunPRO C 5.0.
29345
29346 2007-03-11  Bruno Haible  <bruno@clisp.org>
29347
29348         * modules/long-options (Depends-on): Add getopt.
29349
29350 2007-03-11  Bruno Haible  <bruno@clisp.org>
29351
29352         * modules/modechange (Depends-on): Add stdbool.
29353
29354 2007-03-11  Bruno Haible  <bruno@clisp.org>
29355
29356         * modules/i-ring (Depends-on): Add stdbool.
29357
29358 2007-03-11  Bruno Haible  <bruno@clisp.org>
29359
29360         * modules/gc-des (Depends-on): Add stdbool.
29361
29362 2007-03-11  Bruno Haible  <bruno@clisp.org>
29363
29364         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
29365
29366 2007-03-11  Bruno Haible  <bruno@clisp.org>
29367
29368         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
29369
29370 2007-03-11  Bruno Haible  <bruno@clisp.org>
29371
29372         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
29373
29374 2007-03-11  Bruno Haible  <bruno@clisp.org>
29375
29376         * lib/vasnprintf.c (sprintf): Undefine.
29377
29378 2007-03-11  Bruno Haible  <bruno@clisp.org>
29379
29380         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
29381         initializers in SunPRO C and Compaq C compilers.
29382
29383 2007-03-11  Bruno Haible  <bruno@clisp.org>
29384
29385         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
29386         decrementing code ANSI C compliant.
29387
29388 2007-03-11  Bruno Haible  <bruno@clisp.org>
29389
29390         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
29391         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
29392
29393 2007-03-11  Bruno Haible  <bruno@clisp.org>
29394
29395         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
29396         <stdbool.h> substitute doesn't pass.
29397
29398 2007-03-11  Bruno Haible  <bruno@clisp.org>
29399
29400         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
29401
29402 2007-03-11  Bruno Haible  <bruno@clisp.org>
29403
29404         * gnulib-tool (func_create_megatestdir): Create also an autobuild
29405         script, for submission to autobuild.josefsson.org.
29406
29407 2007-03-10  Bruno Haible  <bruno@clisp.org>
29408
29409         * modules/canonicalize-lgpl-tests: New file.
29410         * tests/test-canonicalize-lgpl.sh: New file.
29411         * tests/test-canonicalize-lgpl.c: New file.
29412
29413         * modules/c-strcase-tests: New file.
29414         * tests/test-c-strcase.sh: New file.
29415         * tests/test-c-strcasecmp.c: New file.
29416         * tests/test-c-strncasecmp.c: New file.
29417
29418         * modules/atexit-tests: New file.
29419         * tests/test-atexit.sh: New file.
29420         * tests/test-atexit.c: New file.
29421
29422 2007-03-10  Bruno Haible  <bruno@clisp.org>
29423
29424         * tests/test-binary-io.sh: Use temporary filenames that are not so
29425         likely to clash with those of other tests (in a parallel make).
29426         * tests/test-binary-io.c: Likewise.
29427
29428 2007-03-10  Bruno Haible  <bruno@clisp.org>
29429
29430         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
29431         fallback; use #error instead.
29432         Suggested by Simon Josefsson.
29433
29434 2007-03-10  Bruno Haible  <bruno@clisp.org>
29435
29436         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
29437         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
29438         first and the last.
29439
29440 2007-03-10  Bruno Haible  <bruno@clisp.org>
29441
29442         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
29443
29444 2007-03-10  Bruno Haible  <bruno@clisp.org>
29445
29446         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
29447         "make distcheck".
29448         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
29449         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
29450         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
29451
29452 2007-03-10  Bruno Haible  <bruno@clisp.org>
29453
29454         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
29455         variable.
29456         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
29457         variable.
29458
29459 2007-03-09  Eric Blake  <ebb9@byu.net>
29460         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
29461
29462         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
29463         types are not being provided by gnulib.
29464         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
29465         types are supported.
29466
29467 2007-03-10  Bruno Haible  <bruno@clisp.org>
29468
29469         * lib/stdio_.h (__attribute__): New macro.
29470         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
29471         vsprintf): Specify __attribute__ __format__ for GCC.
29472         Suggested by Eric Blake.
29473
29474 2007-03-09  Bruno Haible  <bruno@clisp.org>
29475
29476         * modules/printf-posix-tests: New file.
29477         * tests/test-printf-posix.sh: New file.
29478         * tests/test-printf-posix.c: New file.
29479
29480         * modules/printf-posix: New file.
29481         * lib/printf.c: New file.
29482         * m4/printf-posix-rpl.m4: New file.
29483         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
29484         REPLACE_PRINTF.
29485         * lib/stdio_.h (printf): New declaration.
29486         (format, __format__, ____printf____, ____scanf____, ____strftime____,
29487         ____strfmon____): New macros.
29488         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
29489         REPLACE_PRINTF.
29490
29491 2007-03-09  Bruno Haible  <bruno@clisp.org>
29492
29493         * tests/test-vasnprintf-posix2.sh: New file.
29494         * tests/test-vasnprintf-posix2.c: New file.
29495         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
29496         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29497         (Makefile.am): Activate test-vasnprintf-posix2.sh.
29498
29499         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
29500         a locale dependent decimal point, rather than always '.'.
29501
29502 2007-03-09  Eric Blake  <ebb9@byu.net>
29503
29504         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
29505         spite of platforms like Tandem/NSK that define it to -1.
29506
29507 2007-03-08  Bruno Haible  <bruno@clisp.org>
29508
29509         * modules/vprintf-posix-tests: New file.
29510         * tests/test-vprintf-posix.sh: New file.
29511         * tests/test-vprintf-posix.c: New file.
29512         * tests/test-printf-posix.h: New file.
29513
29514         * modules/vprintf-posix: New file.
29515         * lib/vprintf.c: New file.
29516         * m4/vprintf-posix.m4: New file.
29517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
29518         REPLACE_VPRINTF.
29519         * lib/stdio_.h (vprintf): New declaration.
29520         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
29521         REPLACE_VPRINTF.
29522
29523 2007-03-08  Bruno Haible  <bruno@clisp.org>
29524
29525         * modules/fprintf-posix-tests: New file.
29526         * tests/test-fprintf-posix.sh: New file.
29527         * tests/test-fprintf-posix.c: New file.
29528
29529         * modules/fprintf-posix: New file.
29530         * lib/fprintf.c: New file.
29531         * m4/fprintf-posix.m4: New file.
29532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
29533         REPLACE_FPRINTF.
29534         * lib/stdio_.h (fprintf): New declaration.
29535         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
29536         REPLACE_FPRINTF.
29537
29538 2007-03-08  Bruno Haible  <bruno@clisp.org>
29539
29540         * modules/vfprintf-posix-tests: New file.
29541         * tests/test-vfprintf-posix.sh: New file.
29542         * tests/test-vfprintf-posix.c: New file.
29543         * tests/test-fprintf-posix.h: New file.
29544         * tests/test-fprintf-posix.out: New file.
29545
29546         * modules/vfprintf-posix: New file.
29547         * lib/vfprintf.c: New file.
29548         * m4/vfprintf-posix.m4: New file.
29549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
29550         REPLACE_VFPRINTF.
29551         * lib/stdio_.h (vfprintf): New declaration.
29552         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
29553         REPLACE_VFPRINTF.
29554
29555 2007-03-08  Bruno Haible  <bruno@clisp.org>
29556
29557         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
29558
29559 2007-03-08  Bruno Haible  <bruno@clisp.org>
29560
29561         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
29562         instead of 'expr' invocations.
29563         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29564         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29565         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29566         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29567         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29568         Suggested by Paul Eggert.
29569
29570 2007-03-08  Bruno Haible  <bruno@clisp.org>
29571
29572         * modules/fseterr-tests: New file.
29573         * tests/test-fseterr.c: New file.
29574
29575         * modules/fseterr: New file.
29576         * lib/fseterr.h: New file.
29577         * lib/fseterr.c: New file.
29578
29579 2007-03-08  Bruno Haible  <bruno@clisp.org>
29580
29581         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
29582         * lib/getopt_.h: Likewise.
29583         * lib/mbswidth.h: Likewise.
29584         * lib/setenv.h: Likewise.
29585         * lib/vasnprintf.h: Likewise.
29586         * lib/vasprintf.h: Likewise.
29587         * lib/verror.h: Likewise.
29588         * lib/xsetenv.h: Likewise.
29589         * lib/xvasprintf.h: Likewise.
29590
29591 2007-03-08  Jim Meyering  <jim@meyering.net>
29592
29593         * users.txt: Add parted.
29594
29595         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
29596
29597 2007-03-07  Bruno Haible  <bruno@clisp.org>
29598
29599         * m4/printf.m4: Make the shell script snippets copy&pastable.
29600
29601 2007-03-02  Bruno Haible  <bruno@clisp.org>
29602
29603         * lib/netinet_in_.h: New file.
29604         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
29605         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
29606         * modules/netinet_in (Files): Add lib/netinet_in_.h.
29607         (Depends-on): Add absolute-header.
29608         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
29609         into netinet/in.h.
29610
29611 2007-03-03  Bruno Haible  <bruno@clisp.org>
29612
29613         * lib/sys_select_.h: New file.
29614         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
29615         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
29616         * modules/sys_select (Files): Add lib/sys_select_.h.
29617         (Depends-on): Add absolute-header.
29618         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
29619         into sys/select.h.
29620
29621 2007-03-02  Bruno Haible  <bruno@clisp.org>
29622
29623         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
29624         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
29625         values.
29626         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
29627         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
29628         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
29629         * modules/sys_socket (Depends-on): Add absolute-header.
29630         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
29631         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
29632         (Include): Remove requirement of inclusion of <sys/types.h>.
29633
29634 2007-03-02  Bruno Haible  <bruno@clisp.org>
29635
29636         * lib/byteswap_.h (bswap_32): Fix formula.
29637
29638 2007-03-06  Bruno Haible  <bruno@clisp.org>
29639
29640         * modules/sprintf-posix-tests: New file.
29641         * tests/test-sprintf-posix.c: New file.
29642
29643         * modules/sprintf-posix: New file.
29644         * lib/sprintf.c: New file.
29645         * m4/sprintf-posix.m4: New file.
29646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
29647         REPLACE_SPRINTF.
29648         * lib/stdio_.h (sprintf): New declaration.
29649         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
29650         REPLACE_SPRINTF.
29651
29652 2007-03-06  Bruno Haible  <bruno@clisp.org>
29653
29654         * modules/vsprintf-posix-tests: New file.
29655         * tests/test-vsprintf-posix.c: New file.
29656         * tests/test-sprintf-posix.h: New file.
29657
29658         * modules/vsprintf-posix: New file.
29659         * lib/vsprintf.c: New file.
29660         * m4/vsprintf-posix.m4: New file.
29661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
29662         REPLACE_VSPRINTF.
29663         * lib/stdio_.h (vsprintf): New declaration.
29664         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
29665         REPLACE_VSPRINTF.
29666
29667 2007-03-06  Bruno Haible  <bruno@clisp.org>
29668
29669         * modules/vsnprintf (Depend-on): Remove minmax.
29670
29671 2007-03-06  Bruno Haible  <bruno@clisp.org>
29672
29673         * modules/snprintf-posix-tests: New file.
29674         * tests/test-snprintf-posix.c: New file.
29675
29676         * modules/snprintf-posix: New file.
29677         * m4/snprintf-posix.m4: New file.
29678         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
29679         gl_FUNC_SNPRINTF.
29680         (gl_FUNC_SNPRINTF): Invoke it.
29681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
29682         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
29683         is set.
29684         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
29685
29686 2007-03-06  Bruno Haible  <bruno@clisp.org>
29687
29688         * modules/vsnprintf-posix-tests: New file.
29689         * tests/test-vsnprintf-posix.c: New file.
29690         * tests/test-snprintf-posix.h: New file.
29691
29692         * modules/vsnprintf-posix: New file.
29693         * m4/vsnprintf-posix.m4: New file.
29694         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
29695         gl_FUNC_VSNPRINTF.
29696         (gl_FUNC_VSNPRINTF): Invoke it.
29697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
29698         * lib/stdio_.h (vsnprintf): Define as a replacement if
29699         REPLACE_VSNPRINTF is set.
29700         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
29701
29702 2007-03-06  Bruno Haible  <bruno@clisp.org>
29703
29704         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
29705         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
29706
29707 2007-03-06  Bruno Haible  <bruno@clisp.org>
29708
29709         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
29710         (asinl): Declare also if HAVE_DECL_ASINL is set.
29711         (atanl): Declare also if HAVE_DECL_ATANL is set.
29712         (ceill): Declare also if HAVE_DECL_CEILL is set.
29713         (cosl): Declare also if HAVE_DECL_COSL is set.
29714         (expl): Declare also if HAVE_DECL_EXPL is set.
29715         (floorl): Declare also if HAVE_DECL_FLOORL is set.
29716         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
29717         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
29718         (logl): Declare also if HAVE_DECL_LOGL is set.
29719         (sinl): Declare also if HAVE_DECL_SINL is set.
29720         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
29721         (tanl): Declare also if HAVE_DECL_TANL is set.
29722         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
29723         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
29724         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
29725         declaration of frexpl, ldexpl.
29726         * modules/printf-frexpl (Depends-on): Add math.
29727         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
29728
29729 2007-03-05  Bruno Haible  <bruno@clisp.org>
29730
29731         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
29732         frexpl and ldexpl are declared.
29733         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
29734
29735 2007-03-05  Bruno Haible  <bruno@clisp.org>
29736
29737         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
29738         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
29739
29740 2007-03-05  Bruno Haible  <bruno@clisp.org>
29741
29742         * lib/stdio_.h: Include <stddef.h>.
29743
29744 2007-03-05  Bruno Haible  <bruno@clisp.org>
29745
29746         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
29747
29748 2007-03-05  Bruno Haible  <bruno@clisp.org>
29749
29750         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
29751         NetBSD 4, from Ralf Wildenhues.
29752
29753 2007-03-04  Bruno Haible  <bruno@clisp.org>
29754
29755         * lib/vasprintf.h: Update #if logic for the case when the functions
29756         exist but are overridden.
29757
29758 2007-03-04  Bruno Haible  <bruno@clisp.org>
29759
29760         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
29761         implementations: glibc-2.4 and MacOS X 10.3.
29762         * tests/test-vasnprintf-posix.c (test_function): Test also the case
29763         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
29764         * tests/test-vasprintf-posix.c (test_function): Likewise.
29765
29766 2007-03-04  Bruno Haible  <bruno@clisp.org>
29767
29768         * modules/vasprintf-posix-tests: New file.
29769         * tests/test-vasprintf-posix.c: New file.
29770
29771         * modules/vasprintf-posix: New file.
29772         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
29773         defined.
29774         * m4/vasprintf-posix.m4: New file.
29775         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
29776         gl_FUNC_VASPRINTF.
29777         (gl_FUNC_VASPRINTF): Invoke it.
29778         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
29779         here.
29780         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
29781
29782 2007-03-04  Bruno Haible  <bruno@clisp.org>
29783
29784         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
29785         REPLACE_GETTIMEOFDAY.
29786         * modules/sys_time (Makefile.am): Likewise.
29787         * m4/sys_time_h.m4: Likewise.
29788         * m4/gettimeofday.m4: Likewise.
29789
29790 2007-03-04  Bruno Haible  <bruno@clisp.org>
29791
29792         * modules/vasnprintf-posix-tests: New file.
29793         * tests/test-vasnprintf-posix.c: New file.
29794
29795         * modules/vasnprintf-posix: New file.
29796         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
29797         printf-frexpl.h.
29798         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
29799         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
29800         REPLACE_VASNPRINTF is defined.
29801         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
29802         gl_FUNC_VASNPRINTF.
29803         (gl_FUNC_VASNPRINTF): Invoke it.
29804         * m4/vasnprintf-posix.m4: New file.
29805         * m4/printf.m4: New file.
29806
29807 2007-03-04  Bruno Haible  <bruno@clisp.org>
29808
29809         Compile progreloc.c only if --enable-relocatable is specified.
29810         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
29811         if --enable-relocatable was specified.
29812         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
29813         lib_SOURCES.
29814
29815 2007-03-04  Jim Meyering  <jim@meyering.net>
29816
29817         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
29818         Use it consistently, rather than enumerating errno constants.
29819
29820 2007-03-04  Bruno Haible  <bruno@clisp.org>
29821
29822         * modules/xvasprintf-tests: New file.
29823         * tests/test-xvasprintf.c: New file.
29824
29825         * modules/vasprintf-tests: New file.
29826         * tests/test-vasprintf.c: New file.
29827
29828         * modules/vasnprintf-tests: New file.
29829         * tests/test-vasnprintf.c: New file.
29830
29831         * modules/vsnprintf-tests: New file.
29832         * tests/test-vsnprintf.c: New file.
29833
29834         * modules/snprintf-tests: New file.
29835         * tests/test-snprintf.c: New file.
29836
29837 2007-03-04  Bruno Haible  <bruno@clisp.org>
29838
29839         Compile relocatable.c only if --enable-relocatable is specified.
29840         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
29841         gl_RELOCATABLE_LIBRARY.
29842         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
29843         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
29844         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
29845         gl_RELOCATABLE_LIBRARY.
29846         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
29847         (Makefile.am): Remove lib_SOURCES.
29848         * modules/relocatable-lib-lgpl (configure.ac): Invoke
29849         gl_RELOCATABLE_LIBRARY.
29850         (Makefile.am): Remove lib_SOURCES.
29851         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
29852         always.
29853         * modules/relocatable-prog-wrapper (configure.ac): Invoke
29854         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
29855
29856 2007-03-04  Bruno Haible  <bruno@clisp.org>
29857
29858         * modules/argmatch-tests: New file.
29859         * tests/test-argmatch.c: New file.
29860
29861         * tests/test-allocsa.c (main): Halve the number of loop runs.
29862
29863         * modules/alloca-opt-tests: New file.
29864         * tests/test-alloca-opt.c: New file.
29865
29866 2007-03-04  Jim Meyering  <jim@meyering.net>
29867
29868         Work around difference between Linux ACLs and Solaris 10 ZFS.
29869         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
29870         for EINVAL.
29871
29872 2007-03-03  Bruno Haible  <bruno@clisp.org>
29873
29874         * modules/relocatable-prog (Depends-on): Add back progreloc's
29875         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
29876
29877 2007-03-03  Bruno Haible  <bruno@clisp.org>
29878
29879         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
29880         * modules/relocatable-lib: New file.
29881
29882 2007-03-03  Bruno Haible  <bruno@clisp.org>
29883
29884         * modules/relocatable-prog: Renamed from modules/relocatable.
29885         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
29886
29887 2007-03-03  Bruno Haible  <bruno@clisp.org>
29888
29889         * modules/relocatable-script (Files): Add doc/relocatable.texi,
29890         m4/relocatable-lib.m4.
29891         (Depends-on): Remove 'relocatable'.
29892         (configure.ac): Add gl_RELOCATABLE_NOP.
29893
29894 2007-03-03  Bruno Haible  <bruno@clisp.org>
29895
29896         * modules/relocatable-prog-wrapper: New file.
29897         * modules/relocatable (Depends-on): Add it. Remove all other
29898         dependencies except progname.
29899         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
29900
29901         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
29902         (gl_FUNC_STRERROR): Nop.
29903         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
29904
29905         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
29906         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
29907
29908         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
29909         (gl_FUNC_READLINK): Update.
29910
29911         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
29912
29913 2007-03-03  Bruno Haible  <bruno@clisp.org>
29914
29915         * lib/xreadlink.c: Include <unistd.h> unconditionally.
29916         * modules/xreadlink (Depends-on): Add unistd.
29917         * modules/xreadlink-with-size (Depends-on): Likewise.
29918
29919 2007-03-03  Bruno Haible  <bruno@clisp.org>
29920
29921         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
29922         extracted from gt_FUNC_SETENV.
29923         (gt_FUNC_SETENV): Remove macro.
29924         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
29925         remove gt_FUNC_SETENV.
29926
29927 2007-03-03  Bruno Haible  <bruno@clisp.org>
29928
29929         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
29930         ENABLE_RELOCATABLE here.
29931         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
29932
29933 2007-03-03  Bruno Haible  <bruno@clisp.org>
29934
29935         * modules/rbtreehash-list-tests (Depends-on): Add progname.
29936         * tests/test-rbtreehash_list.c: Include progname.h.
29937         (main): Call set_program_name.
29938
29939         * modules/rbtree-oset-tests (Depends-on): Add progname.
29940         * tests/test-rbtree_oset.c: Include progname.h.
29941         (main): Call set_program_name.
29942
29943         * modules/rbtree-list-tests (Depends-on): Add progname.
29944         * tests/test-rbtree_list.c: Include progname.h.
29945         (main): Call set_program_name.
29946
29947         * modules/linked-list-tests (Depends-on): Add progname.
29948         * tests/test-linked_list.c: Include progname.h.
29949         (main): Call set_program_name.
29950
29951 2007-03-03  Bruno Haible  <bruno@clisp.org>
29952
29953         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
29954         All uses of __restrict changed to _Restrict_.
29955         * lib/glob_.h (__restrict): Remove macro.
29956
29957 2007-03-02  Bruno Haible  <bruno@clisp.org>
29958
29959         * modules/gettext (configure.ac): Require gettext infrastructure
29960         from version 0.16.1.
29961
29962 2007-03-02  Bruno Haible  <bruno@clisp.org>
29963
29964         * modules/linkedhash-list-tests (Depends-on): Add progname.
29965         * tests/test-linkedhash_list.c: Include progname.h.
29966         (main): Call set_program_name.
29967
29968         * modules/carray-list-tests (Depends-on): Add progname.
29969         * tests/test-carray_list.c: Include progname.h.
29970         (main): Call set_program_name.
29971
29972         * modules/avltreehash-list-tests (Depends-on): Add progname.
29973         * tests/test-avltreehash_list.c: Include progname.h.
29974         (main): Call set_program_name.
29975
29976         * modules/avltree-oset-tests (Depends-on): Add progname.
29977         * tests/test-avltree_oset.c: Include progname.h.
29978         (main): Call set_program_name.
29979
29980         * modules/avltree-list-tests (Depends-on): Add progname.
29981         * tests/test-avltree_list.c: Include progname.h.
29982         (main): Call set_program_name.
29983
29984         * modules/array-oset-tests (Depends-on): Add progname.
29985         * tests/test-array_oset.c: Include progname.h.
29986         (main): Call set_program_name.
29987
29988         * modules/array-list-tests (Depends-on): Add progname.
29989         * tests/test-array_list.c: Include progname.h.
29990         (main): Call set_program_name.
29991
29992         * modules/argp-tests (Depends-on): Add progname.
29993         * tests/test-argp.c: Include argp.h first. Include progname.h.
29994         (main): Call set_program_name.
29995
29996 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29997
29998         * doc/gnulib-tool.texi (Initial import): Reword description of
29999         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
30000         limited effect even if defined after the first system include.
30001
30002 2007-03-01  Bruno Haible  <bruno@clisp.org>
30003
30004         * build-aux/config.libpath: Update to libtool-1.5.22.
30005         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30006
30007 2007-03-01  Bruno Haible  <bruno@clisp.org>
30008
30009         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
30010         foo_CFLAGS.
30011         Reported by Ralf Wildenhues.
30012
30013 2007-03-01  Bruno Haible  <bruno@clisp.org>
30014
30015         * build-aux/install-reloc: Remove object files left over by some
30016         compilers.
30017         Reported by Ralf Wildenhues.
30018
30019 2007-03-01  Bruno Haible  <bruno@clisp.org>
30020
30021         * build-aux/install-reloc: Break long lines.
30022
30023 2007-03-01  Bruno Haible  <bruno@clisp.org>
30024
30025         * doc/relocatable.texi: Document that it may not work on OpenBSD.
30026         Reported by Ralf Wildenhues.
30027
30028 2007-03-01  Bruno Haible  <bruno@clisp.org>
30029
30030         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
30031         include ordering constraints.
30032
30033 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
30034
30035         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
30036         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
30037         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
30038         as another example.
30039         * lib/time_.h: Fix misspelling.
30040         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
30041         Require gl_HEADER_TIME_H_DEFAULTS.
30042         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
30043         * m4/time_r.m4 (gl_TIME_R): Likewise.
30044         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
30045
30046 2007-03-01  Bruno Haible  <bruno@clisp.org>
30047
30048         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
30049         * m4/utimens.m4 (gl_UTIMENS): Likewise.
30050
30051 2007-03-01  Jim Meyering  <jim@meyering.net>
30052
30053         * modules/xreadlink (Maintainer): Add my name.
30054         * modules/xreadlink-with-size (Depends-on): Alphabetize.
30055
30056 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
30057             Bruno Haible  <bruno@clisp.org>
30058
30059         * build-aux/install-reloc: Compile also c-ctype.c.
30060         * build-aux/relocatable.sh.in: New file.
30061         * doc/relocatable.texi: New file.
30062         * doc/relocatable-maint.texi: New file.
30063         * doc/gnulib.texi: Include relocatable-maint.texi.
30064         * lib/progreloc.c: Include unistd.h unconditionally.
30065         * lib/relocwrapper.c: Include unistd.h unconditionally.
30066         Include c-ctype.h.
30067         (add_dotbin): Use c_tolower.
30068         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
30069         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
30070         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
30071         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
30072         to m4/relocatable-lib.m4.
30073         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
30074         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
30075         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
30076         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
30077         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
30078         * modules/relocatable: New file.
30079         * modules/relocatable-lib: New file.
30080         * modules/relocatable-script: New file.
30081
30082 2007-02-28  Bruno Haible  <bruno@clisp.org>
30083
30084         Import --enable-relocatable infrastructure.
30085         * build-aux/config.libpath: New file, from GNU gettext.
30086         * build-aux/install-reloc: New file, from GNU gettext.
30087         * build-aux/reloc-ldflags: New file, from GNU gettext.
30088         * lib/relocatable.h: New file, from GNU gettext.
30089         * lib/relocatable.c: New file, from GNU gettext.
30090         * lib/relocwrapper.c: New file, from GNU gettext.
30091         * m4/relocatable.m4: New file, from GNU gettext.
30092
30093 2007-02-28  Bruno Haible  <bruno@clisp.org>
30094
30095         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
30096
30097         * modules/xreadlink: New file, from GNU gettext with modifications.
30098         * lib/xreadlink.c: New file, from GNU gettext.
30099         * lib/xreadlink.h: Add comments.
30100         (xreadlink): New declaration.
30101
30102         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
30103         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
30104         lib/xreadlink-with-size.c.
30105         (configure.ac): Remove gl_XREADLINK invocation.
30106         (Makefile.am): Augment lib_SOURCES.
30107         * m4/xreadlink.m4: Remove file.
30108         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
30109         (xreadlink_with_size): Renamed from xreadink.
30110         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
30111         * modules/canonicalize (Depends-on): Replace xreadlink with
30112         xreadlink-with-size.
30113         * lib/canonicalize.c (canonicalize_filename_mode): Update.
30114
30115 2007-02-25  Jim Meyering  <jim@meyering.net>
30116
30117         * build-aux/announce-gen: When complaining about excess arguments,
30118         list them.
30119
30120 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
30121
30122         * README: Document signed integer overflow situation more
30123         accurately.
30124
30125 2007-02-25  Bruno Haible  <bruno@clisp.org>
30126
30127         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
30128         'a' or 'A' conversion.
30129
30130 2007-02-25  Bruno Haible  <bruno@clisp.org>
30131
30132         * modules/filename: Renamed from modules/pathname.
30133         (Files): Replace lib/pathname.h with lib/filename.h. Replace
30134         lib/concatpath.c with lib/concat-filename.c.
30135         (Makefile.am): Update.
30136         (Include): Replace pathname.h with filename.h.
30137         * lib/filename.h: Renamed from lib/pathname.h.
30138         (concatenated_filename): Renamed from concatenated_pathname.
30139         * lib/concat-filename.c: Renamed from lib/concatpath.c.
30140         (concatenated_filename): Renamed from concatenated_pathname.
30141         * lib/findprog.c: Include filename.h instead of pathname.h.
30142         (find_in_path): Update.
30143         * lib/javacomp.c: Include filename.h instead of pathname.h.
30144         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
30145         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
30146         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
30147         is_oldgcj_14_13_usable, is_javac_usable): Update.
30148         * lib/javaexec.c: Include filename.h instead of pathname.h.
30149         (execute_java_class): Update.
30150         * modules/findprog: Update.
30151         * modules/javacomp: Update.
30152         * modules/javaexec: Update.
30153         * MODULES.html.sh (File system functions): Add 'filename', remove
30154         'pathname'.
30155
30156 2007-02-25  Bruno Haible  <bruno@clisp.org>
30157
30158         * modules/printf-frexpl-tests: New file.
30159         * tests/test-printf-frexpl.c: New file.
30160
30161         * modules/printf-frexpl: New file.
30162         * lib/printf-frexpl.h: New file.
30163         * lib/printf-frexpl.c: New file.
30164         * m4/printf-frexpl.m4: New file.
30165
30166 2007-02-25  Bruno Haible  <bruno@clisp.org>
30167
30168         * modules/printf-frexp-tests: New file.
30169         * tests/test-printf-frexp.c: New file.
30170
30171         * modules/printf-frexp: New file.
30172         * lib/printf-frexp.h: New file.
30173         * lib/printf-frexp.c: New file.
30174         * m4/printf-frexp.m4: New file.
30175
30176 2007-02-25  Bruno Haible  <bruno@clisp.org>
30177
30178         Assume automake >= 1.10 for the tests.
30179         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
30180         * modules/arctwo-tests: Likewise.
30181         * modules/argp-tests: Likewise.
30182         * modules/avltree-list-tests: Likewise.
30183         * modules/avltree-oset-tests: Likewise.
30184         * modules/avltreehash-list-tests: Likewise.
30185         * modules/carray-list-tests: Likewise.
30186         * modules/crc-tests: Likewise.
30187         * modules/des-tests: Likewise.
30188         * modules/gc-arcfour-tests: Likewise.
30189         * modules/gc-arctwo-tests: Likewise.
30190         * modules/gc-des-tests: Likewise.
30191         * modules/gc-hmac-md5-tests: Likewise.
30192         * modules/gc-hmac-sha1-tests: Likewise.
30193         * modules/gc-md2-tests: Likewise.
30194         * modules/gc-md4-tests: Likewise.
30195         * modules/gc-md5-tests: Likewise.
30196         * modules/gc-pbkdf2-sha1-tests: Likewise.
30197         * modules/gc-rijndael-tests: Likewise.
30198         * modules/gc-sha1-tests: Likewise.
30199         * modules/gc-tests: Likewise.
30200         * modules/getaddrinfo-tests: Likewise.
30201         * modules/hmac-md5-tests: Likewise.
30202         * modules/hmac-sha1-tests: Likewise.
30203         * modules/linked-list-tests: Likewise.
30204         * modules/linkedhash-list-tests: Likewise.
30205         * modules/lock-tests: Likewise.
30206         * modules/md2-tests: Likewise.
30207         * modules/md4-tests: Likewise.
30208         * modules/md5-tests: Likewise.
30209         * modules/rbtree-list-tests: Likewise.
30210         * modules/rbtree-oset-tests: Likewise.
30211         * modules/rbtreehash-list-tests: Likewise.
30212         * modules/read-file-tests: Likewise.
30213         * modules/rijndael-tests: Likewise.
30214         * modules/stdint-tests: Likewise.
30215         * modules/tls-tests: Likewise.
30216
30217 2007-02-24  Bruno Haible  <bruno@clisp.org>
30218
30219         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
30220         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
30221         function; instead check whether isnan with a double argument links.
30222         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
30223         function; instead check whether isnan with a 'long double' argument
30224         links.
30225         Reported by Eric Blake <ebb9@byu.net>.
30226
30227 2007-02-24  Bruno Haible  <bruno@clisp.org>
30228
30229         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
30230         defined.
30231         * lib/isnanl.c: Remove all code. Just include isnan.c.
30232         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
30233
30234 2007-02-25  Jim Meyering  <jim@meyering.net>
30235
30236         Avoid conflicting types for 'unsetenv' on FreeBSD.
30237         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
30238         conflicting with FreeBSD's (5.0 and 6.1) function declaration
30239         in stdlib.h.
30240
30241 2007-02-24  Bruno Haible  <bruno@clisp.org>
30242
30243         * modules/isnanl-nolibm-tests: New file.
30244         * tests/test-isnanl.c: New file.
30245
30246         * modules/isnanl-nolibm: New file.
30247         * lib/isnanl.h: New file.
30248         * lib/isnanl.c: New file.
30249         * m4/isnanl.m4: New file.
30250
30251 2007-02-24  Bruno Haible  <bruno@clisp.org>
30252
30253         * modules/isnan-nolibm-tests: New file.
30254         * tests/test-isnan.c: New file.
30255
30256         * modules/isnan-nolibm: New file.
30257         * lib/isnan.h: New file.
30258         * lib/isnan.c: New file.
30259         * m4/isnan.m4: New file.
30260
30261 2007-02-24  Bruno Haible  <bruno@clisp.org>
30262
30263         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
30264         assume that an exponent fits in 20 bits.
30265
30266 2007-02-24  Jim Meyering  <jim@meyering.net>
30267
30268         * m4/regex.m4: Update the description of the configure-time option,
30269         --without-included-regex, to state accurately what the defaults are,
30270         and perhaps to give people an idea why using this option is risky.
30271
30272 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30273
30274         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
30275         loops on small arguments.  This attempts to avoid the problem
30276         Bruno Haible reported for AIX 4.3.2 in
30277         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
30278
30279 2007-02-23  Bruno Haible  <bruno@clisp.org>
30280
30281         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
30282         Needed for help2man.
30283
30284 2007-02-23  Karl Berry  <karl@gnu.org>
30285
30286         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
30287         exists, foo.h should be cvs-ignored, not committed.
30288
30289 2007-02-23  Eric Blake  <ebb9@byu.net>
30290
30291         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
30292         * lib/stat-time.h (includes): Likewise.
30293         * lib/utimecmp.c (includes): Likewise.
30294         * lib/utimens.h (includes): Likewise.
30295         * lib/getdate.y (includes): Also include "timespec.h" for use
30296         internal to the module.
30297         * modules/utimens (Depends-on): Revert yesterday's patch.
30298         * modules/nanosleep (Depends-on): Add missing dependency.
30299
30300 2007-02-22  Bruno Haible  <bruno@clisp.org>
30301
30302         * lib/glob.c: Don't include getlogin_r.h.
30303
30304 2007-02-22  Jim Meyering  <jim@meyering.net>
30305
30306         * modules/utimens (Depends-on): Add timespec, required for
30307         utimens.h's inclusion of timespec.h.
30308
30309 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30310
30311         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
30312         long unreadable paths in GNU/Linux.  Problem reported by Andreas
30313         Schwab in
30314         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
30315         I'll try to think of a better way to fix the Solaris problem.
30316
30317         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
30318         like glibc; on Solaris 10, it fails with errno == EINVAL.
30319         POSIX says the behavior is unspecified if the first argument is NULL,
30320         so play it safe and never pass NULL to the system getcwd.
30321
30322 2007-02-21  Jim Meyering  <jim@meyering.net>
30323
30324         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
30325         of gettimeofday.  It would conflict with the one now always
30326         provided via sys_time_.h.  Reported by Matthew Woehlke, as
30327         an IRIX 6.5 build failure.
30328
30329 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30330
30331         Minor fixups to port to Solaris 10 with Sun C 5.8.
30332         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
30333         * modules/getcwd (Depends-on): Add dirfd.
30334         * lib/putenv.c (putenv): #undef it.
30335         (rpl_putenv): New decl.
30336         (malloc, free): Include <stdlib.h> rather than prototyping separately.
30337
30338 2007-02-20  Bruno Haible  <bruno@clisp.org>
30339
30340         * modules/stdio-tests: New file.
30341         * tests/test-stdio.c: New file.
30342
30343         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
30344         (Depends-on): Add stdio.
30345         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30346         (Include): Use <stdio.h> instead of vsnprintf.h.
30347         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
30348         HAVE_DECL_VSNPRINTF.
30349         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
30350
30351         * modules/snprintf (Files): Remove lib/snprintf.h.
30352         (Depends-on): Add stdio.
30353         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30354         (Include): Use <stdio.h> instead of snprintf.h.
30355         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
30356         HAVE_DECL_SNPRINTF.
30357         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
30358         * lib/getaddrinfo.c: Likewise.
30359
30360         * modules/stdio: New file.
30361         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
30362         * lib/snprintf.h: Remove file.
30363         * lib/vsnprintf.h: Remove file.
30364         * lib/.cppi-disable: Remove snprintf.h.
30365         * m4/stdio_h.m4: New file.
30366         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
30367
30368 2007-02-20  Jim Meyering  <jim@meyering.net>
30369
30370         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
30371         used by e.g., mingw.  From Bruno Haible.
30372
30373 2007-02-19  Bruno Haible  <bruno@clisp.org>
30374
30375         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
30376         warnings.
30377         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30378
30379 2007-02-19  Bruno Haible  <bruno@clisp.org>
30380
30381         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
30382         from mingw users.
30383
30384 2007-02-19  Bruno Haible  <bruno@clisp.org>
30385
30386         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
30387         warnings.
30388         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
30389
30390 2007-02-19  Jim Meyering  <jim@meyering.net>
30391
30392         Don't use FD after a successful "fdopendir (fd)".
30393         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
30394         Reset it by calling dirfd on the just-obtained DIR*.
30395
30396         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
30397         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
30398
30399 2007-02-18  Bruno Haible  <bruno@clisp.org>
30400
30401         * lib/readlink.c: Include <unistd.h>.
30402         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
30403         HAVE_READLINK.
30404         * modules/readlink (Depends-on): Add unistd.
30405         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30406         (Include): Add <unistd.h>.
30407
30408         * lib/getlogin_r.h: Remove file.
30409         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
30410         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
30411         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
30412         HAVE_DECL_GETLOGIN_R.
30413         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
30414         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30415         (Include): Use <unistd.h> instead of getlogin_r.h.
30416
30417         * lib/getcwd.h: Remove file.
30418         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
30419         * lib/xgetcwd.c: Likewise.
30420         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
30421         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
30422         * modules/getcwd (Files): Remove lib/getcwd.h.
30423         (Depends-on): Add unistd.
30424         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30425         (Include): Use <unistd.h> instad of getcwd.h.
30426
30427         * lib/ftruncate.c: Include <unistd.h> first.
30428         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
30429         Set HAVE_FTRUNCATE.
30430         * modules/ftruncate (Depends-on): Add unistd.
30431         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30432
30433         * lib/fchdir.c: Include <unistd.h> first.
30434         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
30435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
30436         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
30437         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30438         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
30439
30440         * lib/dup2.c: Include <unistd.h> first.
30441         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
30442         HAVE_DUP2.
30443         * modules/dup2 (Depends-on): Add unistd.
30444         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30445
30446         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
30447         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
30448         REPLACE_CHOWN. Don't define chown as a macro here.
30449         * modules/chown (Depends-on): Add unistd.
30450         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30451
30452         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
30453         Add definition for GL_LINK_WARNING.
30454         (chown, dup2): New declarations.
30455         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
30456         link warning.
30457         (ftruncate): New declaration.
30458         (getcwd): New declaration, taken from old getcwd.h.
30459         (getlogin_r): New declaration, taken from old getlogin_r.h.
30460         (readlink): New declaration.
30461         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
30462         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
30463         (gl_PREREQ_UNISTD): Remove macro.
30464         (gl_UNISTD_MODULE_INDICATOR): New macro.
30465         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
30466         many new variables. Don't set UNISTD_H.
30467         * modules/unistd (Description): Change.
30468         (Depends-on): Add link-warning.
30469         (configure.ac): Update.
30470         (Makefile.am): Create unistd.h always. Substitute many new variables
30471         into it.
30472
30473 2007-02-18  Bruno Haible  <bruno@clisp.org>
30474
30475         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
30476         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
30477         HAVE_GETSUBOPT.
30478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
30479         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
30480         * lib/getsubopt.h: Remove file.
30481         * modules/getsubopt (Files): Remove lib/getsubopt.h.
30482         (Depends-on): Add stdlib.
30483         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30484         (Includes): Use <stdlib.h> instead of getsubopt.h.
30485         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
30486         Set HAVE_GETSUBOPT.
30487         * lib/getsubopt.c: Don't include getsubopt.h.
30488
30489 2007-02-18  Bruno Haible  <bruno@clisp.org>
30490
30491         * modules/fchdir (Depends-on): Add dup2.
30492
30493 2007-02-18  Bruno Haible  <bruno@clisp.org>
30494
30495         * lib/stdlib_.h: Handle glibc's special invocation convention
30496         specially.
30497
30498 2007-02-18  Bruno Haible  <bruno@clisp.org>
30499
30500         * modules/stdlib-tests: New file.
30501         * tests/test-stdlib.c: New file.
30502
30503         * modules/mkstemp (Files): Remove lib/mkstemp.h.
30504         (Depends-on): Add stdlib.
30505         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30506         (Includes): Use <stdlib.h> instead of mkstemp.h.
30507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
30508         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
30509         * lib/mkstemp.c: Don't include mkstemp.h.
30510         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
30511         * lib/stdlib--.h: Don't include mkstemp.h.
30512
30513         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
30514         (Depends-on): Add stdlib.
30515         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30516         (Includes): Use <stdlib.h> instead of mkdtemp.h.
30517         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
30518         HAVE_MKDTEMP.
30519         * lib/mkdtemp.c: Don't include mkdtemp.h.
30520         * lib/clean-temp.c: Don't include mkdtemp.h.
30521
30522         * modules/exit (Files): Remove lib/exit.h.
30523         (Depends-on): Add stdlib.
30524         (Makefile.am): Remove lib_SOURCES.
30525         (Include): Use <stdlib.h> instead of exit.h.
30526         * lib/argmatch.c: Don't include exit.h.
30527         * lib/execute.c: Likewise.
30528         * lib/pagealign_alloc.c: Likewise.
30529         * lib/pipe.c: Likewise.
30530         * lib/wait-process.c: Likewise.
30531         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
30532         * lib/exitfail.c: Likewise.
30533         * lib/savewd.c: Likewise.
30534         * lib/xsetenv.c: Likewise.
30535
30536         * modules/stdlib: New file.
30537         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
30538         and extra comments about mkstemp().
30539         * lib/exit.h: Remove file.
30540         * lib/mkdtemp.h: Remove file.
30541         * lib/mkstemp.h: Remove file.
30542         * m4/stdlib_h.m4: New file.
30543         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
30544
30545 2007-02-18  Bruno Haible  <bruno@clisp.org>
30546
30547         * modules/math-tests: New file.
30548         * tests/test-math.c: New file.
30549
30550         * modules/math: New file.
30551         * modules/mathl (Files): Remove lib/mathl.h.
30552         (Depends-on): Add math.
30553         (Makefile.am): Don't mention mathl.h.
30554         (Include): Use <math.h> instead of mathl.h.
30555         * lib/math_.h: New file.
30556         * lib/mathl.h: Remove file.
30557         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
30558         mathl.h.
30559         * lib/asinl.c: Likewise.
30560         * lib/atanl.c: Likewise.
30561         * lib/ceill.c: Likewise.
30562         * lib/cosl.c: Likewise.
30563         * lib/expl.c: Likewise.
30564         * lib/floorl.c: Likewise.
30565         * lib/frexpl.c: Likewise.
30566         * lib/ldexpl.c: Likewise.
30567         * lib/logl.c: Likewise.
30568         * lib/sincosl.c: Likewise.
30569         * lib/sinl.c: Likewise.
30570         * lib/sqrtl.c: Likewise.
30571         * lib/tanl.c: Likewise.
30572         * lib/trigl.c: Likewise.
30573         * m4/math_h.m4: New file.
30574         * MODULES.html.sh (Mathematics): Add math.
30575
30576 2007-02-17  Bruno Haible  <bruno@clisp.org>
30577
30578         * modules/wctype-tests: New file.
30579         * tests/test-wctype.c: New file.
30580
30581         * modules/wchar-tests: New file.
30582         * tests/test-wchar.c: New file.
30583
30584         * modules/unistd-tests: New file.
30585         * tests/test-unistd.c: New file.
30586
30587         * modules/time-tests: New file.
30588         * tests/test-time.c: New file.
30589
30590         * modules/sysexits-tests: New file.
30591         * tests/test-sysexits.c: New file.
30592
30593         * modules/sys_time-tests: New file.
30594         * tests/test-sys_time.c: New file.
30595
30596         * modules/sys_stat-tests: New file.
30597         * tests/test-sys_stat.c: New file.
30598
30599         * modules/sys_socket-tests: New file.
30600         * tests/test-sys_socket.c: New file.
30601
30602         * modules/sys_select-tests: New file.
30603         * tests/test-sys_select.c: New file.
30604
30605         * modules/string-tests: New file.
30606         * tests/test-string.c: New file.
30607
30608         * modules/stdbool-tests: New file.
30609         * tests/test-stdbool.c: New file.
30610
30611         * modules/netinet_in-tests: New file.
30612         * tests/test-netinet_in.c: New file.
30613
30614         * modules/inttypes-tests: New file.
30615         * tests/test-inttypes.c: New file.
30616
30617         * modules/fcntl-tests: New file.
30618         * tests/test-fcntl.c: New file.
30619
30620         * modules/byteswap-tests: New file.
30621         * tests/test-byteswap.c: New file.
30622
30623         * modules/arpa_inet-tests: New file.
30624         * tests/test-arpa_inet.c: New file.
30625
30626 2007-02-17  Bruno Haible  <bruno@clisp.org>
30627
30628         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
30629         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
30630         if the corresponding module is not enabled. Emit link warnings if
30631         the function is used nevertheless.
30632         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
30633         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
30634         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
30635         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
30636         * modules/inttypes (Depends-on): Add link-warning.
30637         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30638         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
30639         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
30640         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
30641         * modules/imaxdiv (configure.ac): Likewise.
30642         * modules/strtoimax (configure.ac): Likewise.
30643         * modules/strtoumax (configure.ac): Likewise.
30644
30645 2007-02-17  Bruno Haible  <bruno@clisp.org>
30646
30647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
30648         gl_STRING_MODULE_INDICATOR_DEFAULTS.
30649         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
30650         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
30651
30652 2007-02-17  Bruno Haible  <bruno@clisp.org>
30653
30654         * modules/link-warning: New file.
30655         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
30656         * lib/string_.h (GL_LINK_WARNING): Remove definition.
30657         * modules/string (Depends-on): Add link-warning.
30658         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30659         string.h.
30660         * MODULES.html.sh (Support for building libraries and executables): Add
30661         link-warning.
30662
30663 2007-02-17  Bruno Haible  <bruno@clisp.org>
30664
30665         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
30666         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
30667         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
30668         long lines.
30669
30670 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
30671             Bruno Haible  <bruno@clisp.org>
30672
30673         * modules/tmpfile: New file.
30674         * lib/tmpfile.c: New file.
30675         * m4/tmpfile.m4: New file.
30676         * MODULES.html.sh (func_all_modules): New section "Input/output".
30677
30678 2007-02-15  Bruno Haible  <bruno@clisp.org>
30679
30680         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
30681         (supports_delete_on_close): New function.
30682         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
30683
30684 2007-02-14  Bruno Haible  <bruno@clisp.org>
30685
30686         * modules/mbspcasecmp-tests: New file.
30687         * tests/test-mbspcasecmp.sh: New file.
30688         * tests/test-mbspcasecmp.c: New file.
30689
30690         New module mbspcasecmp.
30691         * modules/mbspcasecmp: New file.
30692         * lib/mbspcasecmp.c: New file.
30693         * lib/string_.h (strncasecmp): Change warning message.
30694         (mbspcasecmp): New declaration.
30695         * m4/mbspcasecmp.m4: New file.
30696         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30697         GNULIB_MBSPCASECMP.
30698         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
30699         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
30700
30701 2007-02-14  Bruno Haible  <bruno@clisp.org>
30702
30703         * modules/mbsncasecmp-tests: New file.
30704         * tests/test-mbsncasecmp.sh: New file.
30705         * tests/test-mbsncasecmp.c: New file.
30706
30707         New module mbsncasecmp.
30708         * modules/mbsncasecmp: New file.
30709         * lib/mbsncasecmp.c: New file.
30710         * lib/string_.h (mbsncasecmp): New declaration.
30711         * m4/mbsncasecmp.m4: New file.
30712         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30713         GNULIB_MBSNCASECMP.
30714         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
30715         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
30716
30717 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
30718
30719         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
30720         Verify that it doesn't overlap with our flags.
30721         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
30722         do not have the desired effect in multibyte locales; instead, use
30723         mbscasecmp.
30724         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
30725         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
30726         we don't require GNU fnmatch ourselves (if our users require it, they
30727         should do so explicitly).
30728
30729         Fix regex code so it doesn't rely on strcasecmp.
30730         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
30731         Otherwise, include gnulib's langinfo.h.
30732         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
30733         undesirable behavior in non-C locales.  Instead, rely on localecharset.
30734         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
30735         * modules/regex (FILES): Remove m4/codeset.m4.
30736         (Depends-on): Add localcharset.  Remove strcase.
30737
30738 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30739
30740         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
30741         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
30742
30743 2007-02-13  Bruno Haible  <bruno@clisp.org>
30744
30745         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
30746         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30747
30748 2007-02-12  Bruno Haible  <bruno@clisp.org>
30749
30750         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30751         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
30752         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
30753         time warning rather than a link error.
30754
30755 2007-02-12  Bruno Haible  <bruno@clisp.org>
30756
30757         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
30758         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30759         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30760
30761 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30762
30763         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
30764         args, not 2.
30765
30766 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30767
30768         New module 'time', so that apps can include <time.h> as per
30769         POSIX and GNU instead of separate include files like time_r.h
30770         and timegm.h.  This implementation tries out a simpler approach
30771         for replacing decls in standard include files (as compared to
30772         the string module), somewhat as an experiment.
30773
30774         * config/srclist.txt: Comment out mktime.c for now.
30775         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
30776         since it doesn't apply any more.  Use generic wording instead.
30777         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
30778         'time'.
30779         * lib/time_.h, m4/time_h.m4, modules/time: New files.
30780         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
30781         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
30782         Don't include <sys/types.h>; no longer needed since we assume C89.
30783         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
30784         * lib/strftime.c: Likewise.
30785         * lib/time_r.c: Likewise.
30786         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
30787         * lib/nanosleep.c: Include <time.h> first, to check interface.
30788         * lib/strptime.c: Likewise.
30789         * lib/time_r.c: Likewise.
30790         * lib/timegm.c: Likewise.
30791         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
30792         needed.
30793         * lib/timegm.c: Don't include timegm.h; no longer needed.
30794         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
30795         time.h now handles any problems in that area.
30796         (struct timespec, nanosleep): Remove; time.h now arranges for these.
30797         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
30798         that time.h defines struct timespec.
30799         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
30800         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
30801         handles that.
30802         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
30803         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
30804         needed.  Set REPLACE_LOCALTIME.
30805         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
30806         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
30807         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
30808         nanosleep; time_h.m4 now does that.  Don't require
30809         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
30810         module handles this now.
30811         * modules/getdate (Depends-on): Remove timespec.  Add time.
30812         * modules/nanosleep (Depends-on): Likewise.
30813         * modules/stat-time (Depends-on): Likewise.
30814         * modules/nanosleep (Include): Include time.h, not timespec.h.
30815         * modules/strptime (Files): Remove lib/strptime.h.
30816         (Depends-on): Add extensions, time.
30817         (Include): Include time.h, not strptime.h.
30818         * modules/time_r (Files): Remove lib/time_r.h.
30819         (Depends-on): Add time.
30820         (Include): Include time.h, not time_r.h.
30821         * modules/timegm: Likewise.
30822         * modules/timespec (Description): Now does timespec-related decls
30823         of our own, instead of struct timespec itself.
30824         (Depends-on): Add time; remove extensions.
30825         (Maintainer): Add self.
30826         * modules/utimecmp (Depends-on): Add time; remove timespec.
30827         * modules/utimens (Depends-on): Likewise.
30828         * modules/xnanosleep (Depends-on): Likewise.
30829
30830 2007-02-11  Bruno Haible  <bruno@clisp.org>
30831
30832         * lib/c-strstr.c: Include allocsa.h.
30833         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30834         * lib/c-strcasestr.c: Include allocsa.h.
30835         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30836         * lib/strcasestr.c: Include allocsa.h.
30837         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30838         * lib/mbsstr.c: Include allocsa.h.
30839         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30840         allocsa/freesa instead of malloc/free.
30841         * lib/mbscasestr.c: Include allocsa.h.
30842         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30843         allocsa/freesa instead of malloc/free.
30844         * modules/c-strstr (Depends-on): Add allocsa.
30845         * modules/c-strcasestr (Depends-on): Likewise.
30846         * modules/strcasestr (Depends-on): Likewise.
30847         * modules/mbsstr (Depends-on): Likewise.
30848         * modules/mbscasestr (Depends-on): Likewise.
30849
30850 2007-02-11  Bruno Haible  <bruno@clisp.org>
30851
30852         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
30853
30854         * modules/mbsspn-tests: New file.
30855         * tests/test-mbsspn.sh: New file.
30856         * tests/test-mbsspn.c: New file.
30857
30858 2007-02-11  Bruno Haible  <bruno@clisp.org>
30859
30860         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
30861
30862         * modules/mbspbrk-tests: New file.
30863         * tests/test-mbspbrk.sh: New file.
30864         * tests/test-mbspbrk.c: New file.
30865
30866 2007-02-11  Bruno Haible  <bruno@clisp.org>
30867
30868         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
30869         unneeded cast.
30870
30871         * modules/mbscspn-tests: New file.
30872         * tests/test-mbscspn.sh: New file.
30873         * tests/test-mbscspn.c: New file.
30874
30875 2007-02-11  Bruno Haible  <bruno@clisp.org>
30876
30877         * modules/mbscasecmp-tests: New file.
30878         * tests/test-mbscasecmp.sh: New file.
30879         * tests/test-mbscasecmp.c: New file.
30880
30881 2007-02-11  Bruno Haible  <bruno@clisp.org>
30882
30883         Ensure O(n) worst-case complexity of mbscasestr.
30884         * lib/mbscasestr.c: Include stdbool.h.
30885         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30886         functions.
30887         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
30888         the bookkeeping indicates that it's worth it.
30889         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
30890
30891         * modules/mbscasestr-tests: New file.
30892         * tests/test-mbscasestr1.c: New file.
30893         * tests/test-mbscasestr2.sh: New file.
30894         * tests/test-mbscasestr2.c: New file.
30895         * tests/test-mbscasestr3.sh: New file.
30896         * tests/test-mbscasestr3.c: New file.
30897         * tests/test-mbscasestr4.sh: New file.
30898         * tests/test-mbscasestr4.c: New file.
30899         * m4/locale-tr.m4: New file.
30900
30901 2007-02-11  Bruno Haible  <bruno@clisp.org>
30902
30903         Ensure O(n) worst-case complexity of mbsstr.
30904         * lib/mbsstr.c: Include stdbool.h.
30905         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30906         functions.
30907         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
30908         bookkeeping indicates that it's worth it.
30909         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
30910
30911         * modules/mbsstr-tests: New file.
30912         * tests/test-mbsstr1.c: New file.
30913         * tests/test-mbsstr2.sh: New file.
30914         * tests/test-mbsstr2.c: New file.
30915         * tests/test-mbsstr3.sh: New file.
30916         * tests/test-mbsstr3.c: New file.
30917         * m4/locale-fr.m4: New file.
30918
30919 2007-02-11  Bruno Haible  <bruno@clisp.org>
30920
30921         * lib/mbsrchr.c (mbsrchr): Fix bug.
30922
30923         * modules/mbsrchr-tests: New file.
30924         * tests/test-mbsrchr.sh: New file.
30925         * tests/test-mbsrchr.c: New file.
30926
30927 2007-02-11  Bruno Haible  <bruno@clisp.org>
30928
30929         * lib/mbschr.c (mbschr): Fix bug.
30930
30931         * modules/mbschr-tests: New file.
30932         * tests/test-mbschr.sh: New file.
30933         * tests/test-mbschr.c: New file.
30934         * m4/locale-zh.m4: New file.
30935
30936 2007-02-11  Bruno Haible  <bruno@clisp.org>
30937
30938         Support for copying multibyte string iterators.
30939         * lib/mbiter.h: Include <string.h>.
30940         (mbiter_multi_copy): New function.
30941         (mbi_copy): New macro.
30942         * lib/mbuiter.h: Include <string.h>.
30943         (mbuiter_multi_copy): New function.
30944         (mbui_copy): New macro.
30945
30946 2007-02-11  Bruno Haible  <bruno@clisp.org>
30947
30948         New module mbslen.
30949         * modules/mbslen: New file.
30950         * lib/mbslen.c: New file.
30951         * lib/string_.h (mbslen): New declaration.
30952         * m4/mbslen.m4: New file.
30953         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30954         GNULIB_MBSLEN.
30955         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
30956         * MODULES.html.sh (Internationalization functions): Add mbslen.
30957
30958 2007-02-11  Bruno Haible  <bruno@clisp.org>
30959
30960         Ensure O(n) worst-case complexity of strcasestr substitute.
30961         * lib/strcasestr.c: Include stdbool.h.
30962         (knuth_morris_pratt): New function.
30963         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30964         bookkeeping indicates that it's worth it.
30965         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
30966
30967         * modules/strcasestr-tests: New file.
30968         * tests/test-strcasestr.c: New file.
30969
30970 2007-02-11  Bruno Haible  <bruno@clisp.org>
30971
30972         Ensure O(n) worst-case complexity of c_strcasestr.
30973         * lib/c-strcasestr.c: Include stdbool.h, string.h.
30974         (knuth_morris_pratt): New function.
30975         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
30976         the bookkeeping indicates that it's worth it.
30977         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
30978
30979         * modules/c-strcasestr-tests: New file.
30980         * tests/test-c-strcasestr.c: New file.
30981
30982 2007-02-11  Bruno Haible  <bruno@clisp.org>
30983
30984         Ensure O(n) worst-case complexity of c_strstr.
30985         * lib/c-strstr.c: Include stdbool.h, string.h.
30986         (knuth_morris_pratt): New function.
30987         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30988         bookkeeping indicates that it's worth it.
30989         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
30990
30991         * lib/c-strstr.c: Complete rewrite for maintainability.
30992
30993         * modules/c-strstr-tests: New file.
30994         * tests/test-c-strstr.c: New file.
30995
30996 2007-02-11  Bruno Haible  <bruno@clisp.org>
30997
30998         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
30999         5.2.1 and earlier, whereby \055 was treated just like the range
31000         delimiter '-'.
31001         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31002
31003 2007-02-08  Bruno Haible  <bruno@clisp.org>
31004
31005         * modules/regex (Depends-on): Add stdbool.
31006         Reported by Dalibor Topic <robilad@kaffe.org>.
31007
31008 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
31009
31010         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
31011         Prefer returning from main to exiting from it.
31012         Remove unnecessary parens after sizeof.
31013
31014 2007-02-05  Bruno Haible  <bruno@clisp.org>
31015
31016         New module mbssep.
31017         * modules/mbssep: New file.
31018         * lib/mbssep.c: New file.
31019         * lib/string_.h (strsep): Add a conditional link warning.
31020         (mbssep): New declaration.
31021         * m4/mbssep.m4: New file.
31022         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31023         GNULIB_MBSSEP.
31024         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
31025         * MODULES.html.sh (Internationalization functions): Add mbssep.
31026
31027 2007-02-05  Bruno Haible  <bruno@clisp.org>
31028
31029         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
31030         Optimize search in case of 1 delimiter.
31031
31032 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
31033
31034         * lib/acl.h: Include sys/types.h before sys/acl.h.
31035
31036 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
31037
31038         Merge upstream fix for glibc bugzilla #3957:
31039
31040         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
31041
31042         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
31043         bit for RE_HAT_LISTS_NOT_NEWLINE.
31044         (build_charclass_op): Remove bogus comment.
31045
31046 2007-02-05  Simon Josefsson  <simon@josefsson.org>
31047
31048         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
31049
31050 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
31051
31052         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
31053         * lib/memmem.c [!defined _LIBC]: Include config.h.
31054
31055 2007-02-04  Bruno Haible  <bruno@clisp.org>
31056
31057         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
31058         warning message.
31059
31060 2007-02-04  Bruno Haible  <bruno@clisp.org>
31061
31062         New module mbstok_r.
31063         * modules/mbstok_r: New file.
31064         * lib/mbstok_r.c: New file.
31065         * lib/string_.h (strtok_r): Change argument names to match the
31066         comments. Add a conditional link warning.
31067         (mbstok_r): New declaration.
31068         * m4/mbstok_r.m4: New file.
31069         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31070         GNULIB_MBSTOK_R.
31071         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
31072         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
31073
31074 2007-02-04  Bruno Haible  <bruno@clisp.org>
31075
31076         New module mbsspn.
31077         * modules/mbsspn: New file.
31078         * lib/mbsspn.c: New file.
31079         * lib/string_.h (strspn): Add a conditional link warning.
31080         (mbsspn): New declaration.
31081         * m4/mbsspn.m4: New file.
31082         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31083         GNULIB_MBSSPN.
31084         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
31085         * MODULES.html.sh (Internationalization functions): Add mbsspn.
31086
31087 2007-02-04  Bruno Haible  <bruno@clisp.org>
31088
31089         New module mbspbrk.
31090         * modules/mbspbrk: New file.
31091         * lib/mbspbrk.c: New file.
31092         * lib/string_.h (strpbrk): Add a conditional link warning.
31093         (mbspbrk): New declaration.
31094         * m4/mbspbrk.m4: New file.
31095         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31096         GNULIB_MBSPBRK.
31097         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
31098         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
31099
31100 2007-02-04  Bruno Haible  <bruno@clisp.org>
31101
31102         New module mbscspn.
31103         * modules/mbscspn: New file.
31104         * lib/mbscspn.c: New file.
31105         * lib/string_.h (strcspn): Add a conditional link warning.
31106         (mbscspn): New declaration.
31107         * m4/mbscspn.m4: New file.
31108         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31109         GNULIB_MBSCSPN.
31110         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
31111         * MODULES.html.sh (Internationalization functions): Add mbscspn.
31112
31113 2007-02-04  Bruno Haible  <bruno@clisp.org>
31114
31115         New module mbscasestr, reduced goal of strcasestr.
31116         * modules/mbscasestr: New file.
31117         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
31118         (mbscasestr): Renamed from strcasestr.
31119         * lib/strcasestr.c: Don't include mbuiter.h.
31120         (strcasestr): Remove support for multibyte locales.
31121         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
31122         Change the conditional link warning.
31123         (mbscasestr): New declaration.
31124         * m4/mbscasestr.m4: New file.
31125         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
31126         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
31127         REPLACE_STRCASESTR.
31128         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
31129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31130         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
31131         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
31132         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
31133         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
31134         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
31135         (Depends-on): Remove mbuiter.
31136         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
31137
31138 2007-02-04  Bruno Haible  <bruno@clisp.org>
31139
31140         Simplify handling of strncasecmp.
31141         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
31142         the conditional link warning.
31143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31144         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
31145         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
31146         * modules/strcase (configure.ac): Don't invoke
31147         gl_STRING_MODULE_INDICATOR.
31148         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
31149
31150 2007-02-04  Bruno Haible  <bruno@clisp.org>
31151
31152         New module mbscasecmp, reduced goal of strcasecmp.
31153         * modules/mbscasecmp: New file.
31154         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
31155         (mbscasecmp): Renamed from strcasecmp.
31156         * lib/strcasecmp.c: Don't include mbuiter.h.
31157         (strcasecmp): Remove support for multibyte locales.
31158         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
31159         Change the conditional link warning.
31160         (mbscasecmp): New declaration.
31161         * m4/mbscasecmp.m4: New file.
31162         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
31163         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
31164         REPLACE_STRCASECMP.
31165         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
31166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31167         GNULIB_MBSCASECMP.
31168         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
31169         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
31170         * modules/strcase (Files): Remove m4/mbrtowc.m4.
31171         (Depends-on): Remove mbuiter.
31172         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
31173
31174 2007-02-04  Bruno Haible  <bruno@clisp.org>
31175
31176         New module mbsstr. Remove module strstr.
31177         * modules/mbsstr: New file.
31178         * modules/strstr: Remove file.
31179         * lib/mbsstr.c: Renamed from lib/strstr.c.
31180         (mbsstr): Renamed from strstr.
31181         * lib/string_.h (strstr): Remove declaration. Change the conditional
31182         link warning.
31183         (mbsstr): New declaration.
31184         * m4/mbsstr.m4: New file.
31185         * m4/strstr.m4: Remove file.
31186         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31187         REPLACE_STRSTR.
31188         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
31189         Don't initialize GNULIB_STRSTR.
31190         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
31191         substitute GNULIB_STRSTR and REPLACE_STRSTR.
31192         * MODULES.html.sh (Internationalization functions): Add mbsstr.
31193         (Support for systems lacking ANSI C 89): Remove strstr.
31194
31195 2007-02-04  Bruno Haible  <bruno@clisp.org>
31196
31197         New module mbsrchr.
31198         * modules/mbsrchr: New file.
31199         * lib/mbsrchr.c: New file.
31200         * lib/string_.h (strrchr): Add a conditional link warning.
31201         (mbsrchr): New declaration.
31202         * m4/mbsrchr.m4: New file.
31203         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31204         GNULIB_MBSRCHR.
31205         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
31206         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
31207
31208 2007-02-04  Bruno Haible  <bruno@clisp.org>
31209
31210         New module mbschr.
31211         * modules/mbschr: New file.
31212         * lib/mbschr.c: New file.
31213         * lib/string_.h (strchr): Add a conditional link warning.
31214         (mbschr): New declaration.
31215         * m4/mbschr.m4: New file.
31216         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31217         GNULIB_MBSCHR.
31218         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
31219         * MODULES.html.sh (Internationalization functions): Add mbschr.
31220
31221 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
31222
31223         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
31224
31225         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
31226
31227 2007-02-04  Bruno Haible  <bruno@clisp.org>
31228
31229         New module description section 'configure.ac-early'.
31230         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
31231         (func_get_autoconf_early_snippet): New function.
31232         (func_import, func_create_testdir): Use it. Remove special cases for
31233         modules 'extensions' and 'lock'.
31234         * modules/extensions (configure.ac-early): Require
31235         gl_USE_SYSTEM_EXTENSIONS.
31236         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
31237
31238 2007-02-04  Bruno Haible  <bruno@clisp.org>
31239
31240         Make use of gcj-4.3's -fsource and -ftarget option.
31241         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
31242         and if so try the options -fsource and -ftarget.
31243         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
31244         source_version, ftarget_option, target_version arguments.
31245         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
31246         (is_envjavac_oldgcj_14_14_usable): Renamed from
31247         is_envjavac_gcj_14_14_usable.
31248         (is_envjavac_oldgcj_14_13_usable): Renamed from
31249         is_envjavac_gcj_14_13_usable.
31250         (is_gcj_present): Update.
31251         (is_gcj_43, is_gcj43_usable): New functions.
31252         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
31253         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
31254         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
31255         try the options -fsource and -ftarget.
31256
31257 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31258
31259         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
31260         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
31261         larger value.
31262
31263 2007-02-03  Jim Meyering  <jim@meyering.net>
31264
31265         Give tools a better chance to allocate space for very large buffers.
31266         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
31267
31268         Make pwd and readlink work also when run with an unreadable parent dir
31269         on systems with openat support.
31270         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
31271         provided getcwd function, even when we have openat support.
31272         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
31273
31274 2007-02-02  Bruno Haible  <bruno@clisp.org>
31275
31276         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
31277         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
31278         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
31279         portability problems if one of these functions is only used on specific
31280         platforms.
31281         Reported by Paul Eggert.
31282
31283 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31284
31285         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
31286         is causing more trouble than it's curing.
31287         * lib/regex_internal.h (__mempcpy): Remove.
31288         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
31289         (and make the code a tad smaller to boot).
31290         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
31291
31292 2007-02-02  Jim Meyering  <jim@meyering.net>
31293
31294         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
31295         section, not in the Makefile.am: one.
31296
31297 2007-02-02  Eric Blake  <ebb9@byu.net>
31298
31299         * lib/strchrnul.c: Always include config.h first.
31300
31301         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
31302         gnulib strstr is not necessary here.
31303
31304 2007-02-02  Simon Josefsson  <simon@josefsson.org>
31305
31306         * m4/socklen.m4: Fix typo.
31307
31308 2007-02-02  Eric Blake  <ebb9@byu.net>
31309
31310         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
31311         * modules/netinet_in (Makefile.am): Likewise.
31312
31313 2007-02-01  Bruno Haible  <bruno@clisp.org>
31314
31315         * lib/string_.h (GL_LINK_WARNING): New macro.
31316         (strcasecmp, strstr, strcasestr): If provided by the system,
31317         conditionally define as a macro that leads to a warning instead of to
31318         an error.
31319         (strncasecmp): Conditionally define as a macro that leads to a warning.
31320
31321 2007-02-01  Karl Berry  <karl@gnu.org>
31322
31323         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
31324
31325 2007-02-01  Bruno Haible  <bruno@clisp.org>
31326
31327         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
31328         renamings.
31329
31330 2007-02-01  Eric Blake  <ebb9@byu.net>
31331
31332         * modules/regex (Depends-on): Revert dependence on mempcpy.
31333         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
31334         module's definition of mempcpy.
31335         Reported by Paul Eggert.
31336
31337 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
31338
31339         * lib/string_.h: If the gnulib module XYZ is not present, undefine
31340         the symbol XYZ before redefining it.  This fixes a problem with
31341         programs that don't use XYZ, when compiled on systems that define
31342         XYZ to something else.
31343
31344 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
31345
31346         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
31347         occurs when "mkdir -m foo" creates a setgid directory that is (1)
31348         writeable to group or other and (2) is intended to have a special
31349         mode bit that is set or cleared.  In such a case, the directory
31350         should be neither group- nor other-writeable until the special
31351         mode bits are right.
31352
31353 2007-01-31  Eric Blake  <ebb9@byu.net>
31354
31355         * modules/mountlist (Depends-on): Add strstr.
31356
31357         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
31358         bug.
31359         * modules/string (Makefile.am): Remove redundant replacement.
31360         * modules/regex (Depends-on): Add mempcpy.
31361
31362 2007-01-31  Bruno Haible  <bruno@clisp.org>
31363
31364         New module description field 'Link'.
31365         * gnulib-tool (func_usage): Document --extract-link-directive.
31366         (sed_extract_prog): Recognize 'Link' directive.
31367         (func_get_link_directive): New function.
31368         (func_import): Show summary of link directives.
31369         Handle --extract-link-directive option.
31370         * modules/acl (Link): New section.
31371         * modules/clock-time (Link): New section.
31372         * modules/euidaccess (Link): New section.
31373         * modules/gettext (Link): New section.
31374         * modules/iconv (Link): New section.
31375         * modules/lock (Link): New section.
31376         * modules/nanosleep (Link): New section.
31377         * modules/readline (Link): New section.
31378
31379 2007-01-27  Bruno Haible  <bruno@clisp.org>
31380
31381         Enforce the use of gnulib modules for unportable <string.h> functions.
31382         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
31383         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
31384         (gl_HEADER_STRING_H_BODY): Require it.
31385         * lib/string_.h: If the gnulib module XYZ is not present, redefine
31386         the symbol XYZ to one that gives a link error.
31387         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
31388         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
31389         * modules/mempcpy (configure.ac): Likewise.
31390         * modules/memrchr (configure.ac): Likewise.
31391         * modules/stpcpy (configure.ac): Likewise.
31392         * modules/stpncpy (configure.ac): Likewise.
31393         * modules/strcase (configure.ac): Likewise.
31394         * modules/strcasestr (configure.ac): Likewise.
31395         * modules/strchrnul (configure.ac): Likewise.
31396         * modules/strdup (configure.ac): Likewise.
31397         * modules/strndup (configure.ac): Likewise.
31398         * modules/strnlen (configure.ac): Likewise.
31399         * modules/strpbrk (configure.ac): Likewise.
31400         * modules/strsep (configure.ac): Likewise.
31401         * modules/strstr (configure.ac): Likewise.
31402         * modules/strtok_r (configure.ac): Likewise.
31403
31404 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
31405
31406         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
31407
31408 2007-01-30  Jim Meyering  <jim@meyering.net>
31409
31410         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
31411
31412 2007-01-29  Bruno Haible  <bruno@clisp.org>
31413
31414         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
31415         * lib/execute.c: Likewise.
31416         * lib/pipe.c: Likewise.
31417         * lib/printf-args.h: Likewise.
31418         * lib/printf-args.c: Likewise.
31419         * lib/printf-parse.c: Likewise.
31420         * lib/vasnprintf.c: Likewise.
31421
31422 2007-01-29  Eric Blake  <ebb9@byu.net>
31423
31424         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
31425         declaration.
31426
31427 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
31428
31429         * lib/strptime.h (strptime): Use 'restrict' for args where
31430         POSIX requires this.
31431         * lib/strptime.c (strptime): Likewise.
31432         Change license notice from LGPL to GPL, since gnulib-tool will
31433         change this as needed.
31434         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
31435         defined.
31436         Include "strptime.h" first, to check interface.
31437         Do not #undef _LIBC and _NL_CURRENT.
31438         Do not include <stdlib.h>; no longer needed.
31439         Include "time_r.h" and declare ptime_locale_status
31440         only if _LIBC is not defined.
31441         (__P): Remove unused macro.
31442         (match_string): Bring back glibc version, but use it only if _LIBC
31443         is defined.
31444         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
31445         Remove unnecessary assertion and abort() call.
31446         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
31447         * m4/strptime.m4: Fix serial number comment.
31448         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
31449         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
31450         (Depends-on): Add time_r.
31451
31452 2007-01-29  Bruno Haible  <bruno@clisp.org>
31453
31454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31455         strptime.
31456         * modules/strptime (Depends-on): Add stdbool.
31457         * lib/strptime.h: Include <time.h> always. Add comments.
31458
31459 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31460
31461         * modules/strptime: New file.
31462         * lib/strptime.h: New file.
31463         * lib/strptime.c: New file.
31464         * m4/strptime.m4: New file.
31465
31466 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
31467
31468         * MODULES.html.sh: New module mpsort.
31469         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
31470
31471         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
31472         a circularity problem with HP-UX ia64 reported by Bob Proulx in
31473         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
31474         All uses changed.
31475         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
31476         All uses changed.
31477         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
31478         to _Restrict_.
31479         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
31480         the parameter matches the prototype.
31481
31482 2007-01-28  Jim Meyering  <jim@meyering.net>
31483
31484         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
31485         sys/time.h here, reverting that part of the previous patch:
31486         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
31487
31488 2007-01-28  Bruno Haible  <bruno@clisp.org>
31489
31490         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
31491         value of $(SYS_TIME_H).
31492         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
31493         remove it conditionally, too. [added by Jim Meyering]
31494         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
31495         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
31496         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
31497         GETTIMEOFDAY_REPLACEMENT to 1.
31498
31499 2007-01-28  Bruno Haible  <bruno@clisp.org>
31500
31501         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
31502         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
31503         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
31504         Set UNISTD_H instead of UNISTD_H2.
31505         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
31506
31507 2007-01-28  Bruno Haible  <bruno@clisp.org>
31508
31509         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
31510         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
31511
31512 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31513
31514         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
31515         (func_create_testdir): Ensure C locale for `grep' and `tr'
31516         character ranges.
31517         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
31518         ACLOCAL_AMFLAGS parsing state machine.
31519
31520 2007-01-27  Bruno Haible  <bruno@clisp.org>
31521
31522         * modules/unistr/base: Update.
31523
31524 2007-01-27  Bruno Haible  <bruno@clisp.org>
31525
31526         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
31527         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
31528         * modules/unistr/u32-mbtouc-unsafe: Renamed from
31529         modules/unistr/u32-mbtouc.
31530         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
31531         * lib/unistr.h: Update.
31532         * lib/linebreak.c: Update.
31533         * modules/unistr/u32-mbtouc: Renamed from
31534         modules/unistr/u32-mbtouc-safe.
31535         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
31536         * lib/unistr.h: Update.
31537         * lib/unistr/u32-to-u8.c: Update.
31538         * lib/unistr/u32-to-u16.c: Update.
31539
31540 2007-01-27  Bruno Haible  <bruno@clisp.org>
31541
31542         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
31543         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
31544         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
31545         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
31546         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
31547         * modules/unistr/u16-mbtouc-unsafe: Renamed from
31548         modules/unistr/u16-mbtouc.
31549         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
31550         * lib/unistr.h: Update.
31551         * lib/linebreak.c: Update.
31552         * modules/linebreak: Update.
31553         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
31554         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
31555         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
31556         * modules/unistr/u16-mbtouc: Renamed from
31557         modules/unistr/u16-mbtouc-safe.
31558         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
31559         * lib/unistr.h: Update.
31560         * lib/unistr/u16-to-u8.c: Update.
31561         * modules/unistr/u16-to-u8: Update.
31562         * lib/unistr/u16-to-u32.c: Update.
31563         * modules/unistr/u16-to-u32: Update.
31564
31565 2007-01-27  Bruno Haible  <bruno@clisp.org>
31566
31567         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
31568         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
31569         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
31570         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
31571         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
31572         * modules/unistr/u8-mbtouc-unsafe: Renamed from
31573         modules/unistr/u8-mbtouc.
31574         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
31575         * lib/unistr.h: Update.
31576         * lib/striconveh.c: Update.
31577         * modules/striconveh: Update.
31578         * lib/linebreak.c: Update.
31579         * modules/linebreak: Update.
31580         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
31581         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
31582         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
31583         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
31584         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
31585         * lib/unistr.h: Update.
31586         * lib/striconveh.c: Update.
31587         * modules/striconveh: Update.
31588         * lib/unistr/u8-to-u16.c: Update.
31589         * modules/unistr/u8-to-u16: Update.
31590         * lib/unistr/u8-to-u32.c: Update.
31591         * modules/unistr/u8-to-u32: Update.
31592
31593 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31594
31595         Sync from Libtool.
31596         * lib/argz.c: Do not include strings.h nor memory.h, include
31597         string.h unconditionally.  Patch by Simon Josefsson.
31598
31599 2007-01-27  Bruno Haible  <bruno@clisp.org>
31600
31601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
31602         from gl_HEADER_STRING_H_BODY.
31603         (gl_HEADER_STRING_H_BODY): Require it.
31604         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
31605         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
31606         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
31607         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
31608         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31609         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
31610         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31611         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
31612         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
31613         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
31614         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
31615         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
31616         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
31617         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31618         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
31619
31620 2007-01-27  Bruno Haible  <bruno@clisp.org>
31621
31622         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
31623         check_PROGRAMS into noinst_PROGRAMS.
31624         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
31625         check_PROGRAMS in this case.
31626         (func_import): Set for_test to false.
31627         (func_create_testdir): Set for_test to true.
31628
31629 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
31630             Bruno Haible  <bruno@clisp.org>
31631
31632         * modules/strcasestr (Files): Remove lib/strcasestr.h.
31633         (Depends-on): Add string.
31634         (Includes): Use <string.h> instead of strcasestr.h.
31635         * modules/string (Makefile.am): Also substitute the value of
31636         REPLACE_STRCASESTR.
31637         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
31638         assume strcasestr is declared in <string.h> not <strings.h>. Also
31639         set REPLACE_STRCASESTR.
31640         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
31641         REPLACE_STRCASESTR.
31642         * lib/strcasestr.h: Remove file.
31643         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
31644         * lib/string_.h (strcasestr): New declaration.
31645
31646 2007-01-27  Bruno Haible  <bruno@clisp.org>
31647
31648         * lib/string_.h: Use 'extern'.
31649
31650 2007-01-27  Jim Meyering  <jim@meyering.net>
31651
31652         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
31653         of set-but-not-used local, "q".
31654
31655         * lib/mempcpy.c: Include <config.h> before <string.h>.
31656         This fixes a compilation error on HP-UX, due to the system's
31657         "restrict"-using mempcpy prototype.
31658
31659 2007-01-26  Bruno Haible  <bruno@clisp.org>
31660
31661         Small optimization.
31662         * lib/javacomp.c: Include c-strstr.h.
31663          (is_envjavac_gcj): Use c_strstr instead of strstr.
31664         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
31665
31666 2007-01-26  Bruno Haible  <bruno@clisp.org>
31667
31668         * MODULES.html.sh (Unicode string functions): Add the new modules.
31669
31670         * modules/uniconv/u32-strconv-to-locale: New file.
31671         * lib/uniconv/u32-strconv-to-locale.c: New file.
31672
31673         * modules/uniconv/u16-strconv-to-locale: New file.
31674         * lib/uniconv/u16-strconv-to-locale.c: New file.
31675
31676         * modules/uniconv/u8-strconv-to-locale: New file.
31677         * lib/uniconv/u8-strconv-to-locale.c: New file.
31678
31679         * modules/uniconv/u32-strconv-from-locale: New file.
31680         * lib/uniconv/u32-strconv-from-locale.c: New file.
31681
31682         * modules/uniconv/u16-strconv-from-locale: New file.
31683         * lib/uniconv/u16-strconv-from-locale.c: New file.
31684
31685         * modules/uniconv/u8-strconv-from-locale: New file.
31686         * lib/uniconv/u8-strconv-from-locale.c: New file.
31687
31688         * modules/uniconv/u32-strconv-to-enc: New file.
31689         * lib/uniconv/u32-strconv-to-enc.c: New file.
31690         * modules/uniconv/u32-strconv-to-enc-tests: New file.
31691         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
31692
31693         * modules/uniconv/u16-strconv-to-enc: New file.
31694         * lib/uniconv/u16-strconv-to-enc.c: New file.
31695         * lib/uniconv/u-strconv-to-enc.h: New file.
31696         * modules/uniconv/u16-strconv-to-enc-tests: New file.
31697         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
31698
31699         * modules/uniconv/u8-strconv-to-enc: New file.
31700         * lib/uniconv/u8-strconv-to-enc.c: New file.
31701         * modules/uniconv/u8-strconv-to-enc-tests: New file.
31702         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
31703
31704         * modules/uniconv/u32-strconv-from-enc: New file.
31705         * lib/uniconv/u32-strconv-from-enc.c: New file.
31706         * modules/uniconv/u32-strconv-from-enc-tests: New file.
31707         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
31708
31709         * modules/uniconv/u16-strconv-from-enc: New file.
31710         * lib/uniconv/u16-strconv-from-enc.c: New file.
31711         * modules/uniconv/u16-strconv-from-enc-tests: New file.
31712         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
31713
31714         * modules/uniconv/u8-strconv-from-enc: New file.
31715         * lib/uniconv/u8-strconv-from-enc.c: New file.
31716         * lib/uniconv/u-strconv-from-enc.h: New file.
31717         * modules/uniconv/u8-strconv-from-enc-tests: New file.
31718         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
31719
31720         * modules/uniconv/u32-conv-from-enc: New file.
31721         * lib/uniconv/u32-conv-from-enc.c: New file.
31722         * modules/uniconv/u32-conv-from-enc-tests: New file.
31723         * tests/uniconv/test-u32-conv-from-enc.c: New file.
31724
31725         * modules/uniconv/u16-conv-from-enc: New file.
31726         * lib/uniconv/u16-conv-from-enc.c: New file.
31727         * lib/uniconv/u-conv-from-enc.h: New file.
31728         * modules/uniconv/u16-conv-from-enc-tests: New file.
31729         * tests/uniconv/test-u16-conv-from-enc.c: New file.
31730
31731         * modules/uniconv/u8-conv-from-enc: New file.
31732         * lib/uniconv/u8-conv-from-enc.c: New file.
31733         * modules/uniconv/u8-conv-from-enc-tests: New file.
31734         * tests/uniconv/test-u8-conv-from-enc.c: New file.
31735
31736         * modules/uniconv/base: New file.
31737         * lib/uniconv.h: New file.
31738
31739 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
31740
31741         * doc/gnulib-tool.texi (Initial import): Update to match current
31742         behavior with strdup module.
31743         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
31744         * lib/memmem.h: Remove; all uses removed.  This is now done
31745         by <string.h>.
31746         * lib/mempcpy.h: Likewise.
31747         * lib/memrchr.h: Likewise.
31748         * lib/stpcpy.h: Likewise.
31749         * lib/stpncpy.h: Likewise.
31750         * lib/strcase.h: Likewise.
31751         * lib/strchrnul.h: Likewise.
31752         * lib/strdup.h: Likewise.
31753         * lib/strndup.h: Likewise.
31754         * lib/strnlen.h: Likewise.
31755         * lib/strpbrk.h: Likewise.
31756         * lib/strsep.h: Likewise.
31757         * lib/strstr.h: Likewise.
31758         * lib/strtok_r.h: Likewise.
31759         * lib/string_.h: New file.
31760         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
31761         Rely on <string.h> instead.
31762         * lib/canon-host.c: Likewise.
31763         * lib/chdir-long.c: Likewise.
31764         * lib/concatpath.c: Likewise.
31765         * lib/exclude.c: Likewise.
31766         * lib/fchdir.c: Likewise.
31767         * lib/getaddrinfo.c: Likewise.
31768         * lib/getcwd.c: Likewise.
31769         * lib/getsubopt.c: Likewise.
31770         * lib/glob.c: Likewise.
31771         * lib/hard-locale.c: Likewise.
31772         * lib/iconvme.c: Likewise.
31773         * lib/javacomp.c: Likewise.
31774         * lib/mempcpy.c: Likewise.
31775         * lib/memrchr.c: Likewise.
31776         * lib/regex_internal.h: Likewise.
31777         * lib/stpncpy.c: Likewise.
31778         * lib/strcasecmp.c: Likewise.
31779         * lib/strchrnul.c: Likewise.
31780         * lib/strdup.c: Likewise.
31781         * lib/striconv.c: Likewise.
31782         * lib/striconveh.c: Likewise.
31783         * lib/striconveha.c: Likewise.
31784         * lib/strncasecmp.c: Likewise.
31785         * lib/strndup.c: Likewise.
31786         * lib/strnlen.c: Likewise.
31787         * lib/strsep.c: Likewise.
31788         * lib/strstr.c: Likewise.
31789         * lib/strtok_r.c: Likewise.
31790         * lib/userspec.c: Likewise.
31791         * lib/w32spawn.h: Likewise.
31792         * lib/xstrndup.c: Likewise.
31793         * lib/mountlist.c (strstr): Remove decl.
31794         * m4/string_h.m4: New file.
31795         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
31796         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
31797         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
31798         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
31799         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
31800         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
31801         Set REPLACE_STRCASECMP if necessary.
31802         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
31803         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
31804         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
31805         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
31806         HAVE_DECL_STRDUP if necessary.
31807         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
31808         since gl_FUNC_STRNDUP does that now.
31809         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
31810         Check for decl here...
31811         (gl_PREREQ_STRNLEN): ... not here.
31812         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
31813         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
31814         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
31815         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
31816         necessary.
31817         * modules/string: New file.
31818         * modules/memmem (Files): Remove special-purpose include file.
31819         (Depends-on): Add string.
31820         (Include): Include <string.h>, not the removed file.
31821         * modules/mempcpy: Likewise.
31822         * modules/memrchr: Likewise.
31823         * modules/stpcpy: Likewise.
31824         * modules/stpncpy: Likewise.
31825         * modules/strcase: Likewise.
31826         * modules/strchrnul: Likewise.
31827         * modules/strdup: Likewise.
31828         * modules/strndup: Likewise.
31829         * modules/strnlen: Likewise.
31830         * modules/strpbrk: Likewise.
31831         * modules/strsep: Likewise.
31832         * modules/strstr: Likewise.
31833         * modules/strtok_r: Likewise.
31834         * tests/test-dirname.c: Don't include "strdup.h", since
31835         <string.h> now suffices.
31836         * tests/test-memmem.c: Don't include "memmem.h", since
31837         <string.h> now suffices.
31838
31839 2007-01-25  Bruno Haible  <bruno@clisp.org>
31840
31841         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
31842         *resultp is 0.
31843
31844         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
31845         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
31846         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
31847         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
31848
31849         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
31850         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
31851         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
31852         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
31853         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
31854         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
31855
31856 2007-01-24  Bruno Haible  <bruno@clisp.org>
31857
31858         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
31859         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
31860         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
31861         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
31862         gl_FUNC_FTS_CORE.
31863         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
31864         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
31865         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31866         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
31867         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
31868         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
31869         gl_FUNC_FCHOWNAT.
31870         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
31871         gl_FUNC_STRFTIME.
31872         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
31873         Reported by Ralf Wildenhues.
31874
31875 2007-01-24  Bruno Haible  <bruno@clisp.org>
31876
31877         Drop AC_REQUIRE calls that are redundant with the module dependencies.
31878         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
31879         gl_GETADDRINFO.
31880         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
31881         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
31882         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
31883
31884 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
31885
31886         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
31887         Don't use 'exit'; just return from 'main'.
31888         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
31889
31890         * lib/fnmatch_.h: Readjust white space and comments to match
31891         glibc, to avoid spurious diffs.
31892
31893 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31894
31895         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
31896         2004-12-01 change by Jakub Jelinek, since this code won't compile
31897         if !LIBC.  Problem reported by Bob Proulx.
31898
31899 2007-01-23  Bruno Haible  <bruno@clisp.org>
31900
31901         * lib/striconveh.c: Include c-strcaseeq.h.
31902         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
31903         * modules/striconveh (Depends-on): Add c-strcaseeq.
31904
31905 2007-01-23  Bruno Haible  <bruno@clisp.org>
31906
31907         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
31908
31909         * modules/c-strcaseeq: New file.
31910         * lib/c-strcaseeq.h: New file.
31911
31912         * modules/streq: New file.
31913         * lib/streq.h: New file.
31914
31915 2007-01-23  Bruno Haible  <bruno@clisp.org>
31916
31917         * modules/striconveha-tests: New file.
31918         * tests/test-striconveha.c: New file.
31919
31920         * lib/striconveha.h: Include <stdbool.h>.
31921         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
31922         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
31923         (mem_iconveha_notranslit): Renamed from mem_iconveha.
31924         (mem_iconveha): New function.
31925         (str_iconveha_notranslit): Renamed from str_iconveha.
31926         (str_iconveha): New function.
31927         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
31928         c-strcase.
31929
31930 2007-01-23  Bruno Haible  <bruno@clisp.org>
31931
31932         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
31933         encodings without forgiving before trying any encoding with handler.
31934         (str_iconveha): Try all encodings without forgiving before trying any
31935         encoding with handler.
31936
31937 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31938
31939         Import the following changes from libc.
31940
31941         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
31942
31943         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
31944
31945         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
31946
31947         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
31948         normal_bracket label.
31949
31950         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
31951
31952         [BZ #361]
31953         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
31954         to normal_bracket after fetching the next character.
31955
31956 2007-01-22  Bruno Haible  <bruno@clisp.org>
31957
31958         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
31959         argument.
31960         * lib/striconveh.c (iconv_carefully_1): New function.
31961         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
31962         argument.
31963         (str_cd_iconveh): Update.
31964         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
31965         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
31966         * tests/test-striconveh.c (MAGIC): New macro.
31967         (new_offsets): New function.
31968         (main): Test call with and without offsets.
31969
31970 2007-01-22  Bruno Haible  <bruno@clisp.org>
31971
31972         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
31973         * modules/sys_select (Makefile.am): Likewise.
31974         * modules/sys_socket (Makefile.am): Likewise.
31975         * modules/sys_time (Makefile.am): Likewise.
31976
31977 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
31978
31979         * modules/gettimeofday (License): Change from GPL to LGPL, since
31980         gettimeofday is a library function.
31981
31982 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31983
31984         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
31985
31986 2007-01-21  Bruno Haible  <bruno@clisp.org>
31987
31988         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
31989
31990 2007-01-21  Bruno Haible  <bruno@clisp.org>
31991
31992         * modules/striconveha: New file.
31993         * lib/striconveha.h: New file.
31994         * lib/striconveha.c: New file.
31995         * MODULES.html.sh (Internationalization functions): Add striconveha.
31996         * lib/striconv.c (str_iconv): Optimize the case of an empty input
31997         string.
31998         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
31999
32000 2007-01-21  Bruno Haible  <bruno@clisp.org>
32001
32002         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
32003         * lib/striconveh.c (str_iconveh): Likewise.
32004
32005 2007-01-21  Bruno Haible  <bruno@clisp.org>
32006
32007         * lib/striconveh.h (mem_iconveh): New declaration.
32008         * lib/striconveh.c (mem_iconveh): New function.
32009         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
32010
32011 2007-01-21  Bruno Haible  <bruno@clisp.org>
32012
32013         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
32014
32015         * lib/striconveh.h (mem_cd_iconveh): Change specification.
32016         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
32017         original result buffer.
32018         (str_cd_iconveh): Update.
32019         * tests/test-striconveh.c (main): Update.
32020
32021         * lib/striconv.h (mem_cd_iconv): Change specification.
32022         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
32023         result buffer.
32024         (str_cd_iconv): Update.
32025         * tests/test-striconv.c (main): Update.
32026
32027 2007-01-21  Bruno Haible  <bruno@clisp.org>
32028
32029         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
32030
32031 2007-01-20  Jim Meyering  <jim@meyering.net>
32032
32033         * lib/userspec.c (parse_with_separator): If a user or group string
32034         starts with "+", skip the corresponding name-to-ID look-up, since
32035         such a look-up must fail: user and group names may not include "+".
32036
32037 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
32038
32039         * lib/poll.c: Include sys/time.h and time.h unconditionally,
32040         since we now assume the sys_time module.
32041         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
32042         check for sys/time.h; no longer needed.
32043         * modules/poll (Depends-on): Depend on sys_time.
32044
32045 2007-01-18  Bruno Haible  <bruno@clisp.org>
32046
32047         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
32048         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
32049
32050         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
32051         gettimeofday.
32052
32053         * tests/test-gettimeofday.c: Include <time.h>.
32054         (dummy): Remove variable.
32055
32056         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
32057         gl_HEADER_SYS_TIME_H.
32058         (gl_HEADER_SYS_TIME_H): New macro.
32059
32060         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
32061         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32062         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
32063         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
32064         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32065         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
32066         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
32067         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32068         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
32069         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
32070         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32071
32072         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
32073         last change; it caused a compilation error when cross-compiling to
32074         Cygwin.
32075
32076 2007-01-18  Jim Meyering  <jim@meyering.net>
32077
32078         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
32079         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
32080         than the race-prone "test -d sys || mkdir sys".
32081         (configure.ac): Use AC_PROG_MKDIR_P.
32082         * modules/sys_select: Likewise.
32083         * modules/sys_socket: Likewise.
32084         * modules/sys_time: Likewise.
32085
32086 2007-01-18  Eric Blake  <ebb9@byu.net>
32087
32088         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
32089         replace gettimeofday.
32090         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
32091         name, to avoid infinite recursion.
32092
32093 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
32094
32095         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
32096         module sys_time.
32097         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
32098         assume timespec.h defines struct timeval.
32099         * lib/settime.c: Likewise.
32100         * lib/utimens.c: Likewise.
32101         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
32102         since we now assume the gettimeofday module.
32103         * lib/tempname.c (__gen_tempname): Likewise.
32104         * lib/gettimeofday.h: Remove.
32105         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
32106         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
32107         Include <time.h>, for 'time()'.
32108         (localtime_buffer_addr): Also use this workaround if
32109         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
32110         to simplify the uses.  All uses changed.
32111         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
32112         that #undef is inside {}, and 'const' follows type name consistently.
32113         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
32114         (gettimeofday): Do not use the maximum possible value for
32115         tv->tv_usec, since that might break usages other than ls.c.
32116         Instead, we'll leave ls.c alone.  This undoes today's patch
32117         by Bruno.  Add a compile-time warning for 1s-clock resolution;
32118         we've never observed the problem but might as well keep the
32119         canary.
32120         * lib/nanosleep.c: Include timespec.h first, for interface check.
32121         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
32122         now assume the sys_time module.
32123         * lib/tempname.c: Likewise.
32124         * lib/timespec.h: Likewise.
32125         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
32126         needed.
32127         * lib/strftime.c: Likewise.
32128         * lib/timespec.h: Likewise.
32129         * lib/posixtm.c: Include posixtm.h first, for interface check.
32130         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
32131         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
32132         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
32133         * lib/sys_time_.h: New file.
32134         * lib/timespec.h (struct timespec): Use long int, not long.
32135         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
32136         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
32137         Remove obsolescent call to AC_HEADER_TIME.
32138         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
32139         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
32140         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
32141         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
32142         Likewise.
32143         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
32144         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
32145         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
32146         into the sys_time module.  Check for gettimeofday just once.
32147         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
32148         for gettimeofday signature to just check the signature.  Merely
32149         compile it, since linking doesn't test signature.  Improve test for
32150         whether gettimeofday.o is actually needed.
32151         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
32152         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
32153         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
32154         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32155         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
32156         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
32157         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
32158         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
32159         than worrying about sys/time.h.
32160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
32161         Don't bother worrying about TIME_WITH_SYS_TIME.
32162         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
32163         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
32164         * m4/sys_time_h.m4: New file.
32165         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
32166         Don't include sys/time.h.  Return from main rather than exiting.
32167         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
32168         all uses changed.
32169         * modules/gethrxtime (Depends-on): Add sys_time.
32170         * modules/gettime (Depends-on): Likewise.
32171         * modules/gettimeofday (Depends-on): Likewise.
32172         * modules/nanosleep (Depends-on): Likewise.
32173         * modules/settime (Depends-on): Likewise.
32174         * modules/tempname (Depends-on): Likewise.
32175         * modules/utimens (Depends-on): Likewise.
32176         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
32177         (Include:) Change back to <sys/time.h>.
32178         (Maintainer:) Add self.
32179         * modules/sys_time: New file.
32180         * modules/tempname (Depends-on): Add gettimeofday.
32181         * tests/test-gettimeofday.c: Include <sys/time.h>
32182         rather than gettimeofday.h.
32183
32184 2007-01-17  Bruno Haible  <bruno@clisp.org>
32185
32186         * gnulib-tool (func_get_license): Revert last patch. Instead, let
32187         the license default to GPL.
32188         (func_create_testdir): Don't complain if a module is LGPL and its
32189         tests module depends on GPLed modules.
32190
32191 2007-01-17  Bruno Haible  <bruno@clisp.org>
32192
32193         * lib/gettimeofday.c (gettimeofday): Add code for the case
32194         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
32195         maximum possible value for tv->tv_usec, rather than the minimum one.
32196
32197 2005-10-08  Martin Lambers  <marlam@marlam.de>
32198 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
32199 2007-01-16  Bruno Haible  <bruno@clisp.org>
32200
32201         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
32202         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
32203         gl_FUNC_GETTIMEOFDAY.
32204         (Include): Add gettimeofday.h.
32205         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
32206         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
32207         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
32208         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
32209         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
32210         * lib/gettimeofday.h: New file.
32211         * lib/gettimeofday.c: Include <sys/timeb.h>.
32212         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
32213         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32214         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
32215         fall back on time().
32216
32217         * tests/test-gettimeofday.c: New file.
32218         * modules/gettimeofday-tests: New file.
32219
32220 2007-01-16  Eric Blake  <ebb9@byu.net>
32221
32222         * modules/fnmatch (Depends-on): Depend on wchar.
32223         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
32224         * m4/fnmatch.m4: Likewise.
32225         * modules/mbchar (Makefile.am): Assume <wchar.h>.
32226         * m4/mbchar.m4: Likewise.
32227         * modules/mbswidth (Depends-on): Depend on wchar.
32228         * lib/mbswidth.c: Assume <wchar.h>.
32229         * m4/mbswidth.m4: Likewise.
32230         * modules/quotearg (Depends-on): Depend on wchar.
32231         * lib/quotearg.c: Assume <wchar.h>.
32232         * m4/quotearg.m4: Likewise.
32233         * modules/regex (Depends-on): Depend on wchar.
32234         * lib/regex_internal.h: Assume <wchar.h>.
32235         * m4/regex.m4: Likewise.
32236         * modules/stdint (Depends-on): Depend on wchar.
32237         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
32238         * m4/stdint.m4: Likewise.
32239         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
32240         * modules/strftime (Depends-on): Depend on wchar.
32241         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
32242         * modules/strtol (Depends-on): Depend on wchar.
32243         * lib/strtol.c: Assume <wchar.h>.
32244         * modules/wcwidth (Depends-on): Depend on wchar.
32245         * lib/wcwidth.h: Assume <wchar.h>.
32246         * m4/wcwidth.m4: Likewise.
32247
32248 2007-01-16  Bruno Haible  <bruno@clisp.org>
32249
32250         * modules/csharpexec-script: New, created from...
32251         * modules/csharpexec: ... this.
32252
32253 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
32254
32255         * modules/javaexec-script: New, created from...
32256         * modules/javaexec: ... this.
32257
32258 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32259
32260         * modules/poll (Dependencies): Add sys_select.
32261
32262 2007-01-15  Jim Meyering  <jim@meyering.net>
32263
32264         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
32265         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
32266         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
32267         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
32268
32269 2007-01-15  Bruno Haible  <bruno@clisp.org>
32270
32271         * modules/striconveh: New file.
32272         * lib/striconveh.h: New file.
32273         * lib/striconveh.c: New file.
32274         * MODULES.html.sh (Internationalization functions): Add striconveh.
32275
32276         * modules/striconveh-tests: New file.
32277         * tests/test-striconveh.c: New file.
32278
32279 2007-01-15  Bruno Haible  <bruno@clisp.org>
32280
32281         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
32282         not from GNU libiconv or GNU libc.
32283
32284 2007-01-15  Bruno Haible  <bruno@clisp.org>
32285
32286         * doc/gnulib-intro.texi (Copyright): Explain the different license
32287         terms for module descriptions, autoconf macros, tests, documentation.
32288
32289 2007-01-14  Bruno Haible  <bruno@clisp.org>
32290
32291         * modules/striconv-tests: New file.
32292         * tests/test-striconv.c: New file.
32293
32294 2007-01-14  Bruno Haible  <bruno@clisp.org>
32295
32296         * modules/iconv-tests: New file.
32297         * tests/test-iconv.c: New file.
32298
32299 2007-01-14  Bruno Haible  <bruno@clisp.org>
32300
32301         * gnulib-tool (func_get_license): For test modules, use the license of
32302         the main module.
32303
32304 2007-01-14  Bruno Haible  <bruno@clisp.org>
32305
32306         * modules/iconv (Include): Clarify that <iconv.h> can only be included
32307         if iconv is found to exist.
32308
32309 2007-01-14  Bruno Haible  <bruno@clisp.org>
32310
32311         * modules/c-ctype-tests: New file.
32312         * tests/test-c-ctype.c: New file.
32313
32314 2007-01-14  Bruno Haible  <bruno@clisp.org>
32315
32316         * modules/binary-io-tests: New file.
32317         * tests/test-binary-io.sh: New file.
32318         * tests/test-binary-io.c: New file.
32319
32320 2007-01-14  Bruno Haible  <bruno@clisp.org>
32321
32322         * modules/array-oset-tests: New file.
32323         * tests/test-array_oset.c: New file.
32324
32325 2007-01-14  Bruno Haible  <bruno@clisp.org>
32326
32327         * modules/array-list-tests: New file.
32328         * tests/test-array_list.c: New file.
32329
32330 2007-01-14  Bruno Haible  <bruno@clisp.org>
32331
32332         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
32333         and make.
32334         Reported by Simon Josefsson in
32335         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
32336
32337 2007-01-14  Bruno Haible  <bruno@clisp.org>
32338
32339         * modules/allocsa-tests: New file.
32340         * tests/test-allocsa.c: New file.
32341
32342 2007-01-14  Bruno Haible  <bruno@clisp.org>
32343
32344         * modules/fchdir (Depends-on): Add absolute-header.
32345         * modules/unistd (Depends-on): Likewise.
32346
32347 2006-12-30  Bruno Haible  <bruno@clisp.org>
32348
32349         * modules/fchdir: New file.
32350         * modules/unistd (Files): Add lib/unistd_.h.
32351         (Makefile.am): Generate unistd.h from unistd_.h.
32352         * lib/fchdir.c: New file.
32353         * lib/dirent_.h: New file.
32354         * lib/unistd_.h: New file.
32355         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
32356         * m4/fchdir.m4: New file.
32357         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
32358         (gl_HEADER_UNISTD): Invoke it.
32359         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
32360         function.
32361         * lib/backupfile.c (opendir, closedir): Undefine.
32362         * lib/chown.c (open, close): Undefine.
32363         * lib/clean-temp.c (open, close): Undefine.
32364         * lib/copy-file.c (open, close): Undefine.
32365         * lib/execute.c (open, close): Undefine.
32366         * lib/fsusage.c (open, close): Undefine.
32367         * lib/gc-gnulib.c (open, close): Undefine.
32368         * lib/getcwd.c (opendir, closedir): Undefine.
32369         * lib/glob.c (opendir, closedir): Undefine.
32370         * lib/javacomp.c (open, close): Undefine.
32371         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
32372         * lib/openat-proc.c (open, close): Undefine.
32373         * lib/pagealign_alloc.c (open, close): Undefine.
32374         * lib/pipe.c (open, close): Undefine.
32375         * lib/progreloc.c (open, close): Undefine.
32376         * lib/savedir.c (opendir, closedir): Undefine.
32377         * lib/utime.c (open, close): Undefine.
32378         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
32379
32380 2007-01-10  Bruno Haible  <bruno@clisp.org>
32381
32382         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
32383
32384 2007-01-12  Eric Blake  <ebb9@byu.net>
32385
32386         Provide a robust <wchar.h>.  Further simplifications are now
32387         possible in other modules, but not included here.
32388         * modules/wchar: New module.
32389         * m4/wchar.m4: New file.
32390         * lib/wchar_.h: Likewise.
32391         * modules/mbchar (Depends-on): Depend on wchar, as the first use
32392         of the new module.
32393         * MODULES.html.sh (Extended multibyte and wide character utilities):
32394         New section.
32395
32396 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
32397
32398         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
32399         to a reasonable default for memory allocation.
32400         (xreadlink): Don't allocate a huge buffer, to work around a buggy
32401         file system that reports garbage st_size values for symlinks.
32402         Problem reported by Liyang Hu.
32403
32404 2007-01-11  Simon Josefsson  <simon@josefsson.org>
32405
32406         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
32407         Emacs .#* auto-save files).
32408
32409 2007-01-11  Bruno Haible  <bruno@clisp.org>
32410
32411         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
32412         directory.
32413
32414 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
32415
32416         Use @...@ consistently in lib/wctype_.h.
32417         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
32418         on it being set to 1 or 0.
32419         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
32420         go back to AC_SUBSTing it.
32421         * modules/wctype (Makefile.am): Undo previous change.
32422
32423 2007-01-10  Eric Blake  <ebb9@byu.net>
32424
32425         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
32426         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
32427         * modules/wctype (Makefile.am): Likewise.
32428         Reported by Chris McGuire.
32429
32430 2007-01-10  Jim Meyering  <jim@meyering.net>
32431
32432         fts.c: a small readability/maintainability improvement
32433         * lib/fts.c (fts_read): Make this code slightly more readable and
32434         maintainable by hoisting the "sp->fts_cur = p" assignments to
32435         immediately follow the statements that set P.  Derived from
32436         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
32437
32438 2007-01-10  Eric Blake  <ebb9@byu.net>
32439
32440         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
32441         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
32442         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32443         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32444         Reported by Chris McGuire.
32445
32446 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32447
32448         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
32449         in sed script.
32450
32451 2007-01-09  Bruno Haible  <bruno@clisp.org>
32452
32453         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
32454         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
32455         variables.
32456         (func_module): Use them.
32457
32458 2007-01-09  Bruno Haible  <bruno@clisp.org>
32459
32460         * modules/unistr/base: New file.
32461         * lib/unistr.h: New file.
32462
32463         * modules/unistr/u8-to-u16: New file.
32464         * lib/unistr/u8-to-u16.c: New file.
32465
32466         * modules/unistr/u8-to-u32: New file.
32467         * lib/unistr/u8-to-u32.c: New file.
32468
32469         * modules/unistr/u16-to-u8: New file.
32470         * lib/unistr/u16-to-u8.c: New file.
32471
32472         * modules/unistr/u16-to-u32: New file.
32473         * lib/unistr/u16-to-u32.c: New file.
32474
32475         * modules/unistr/u32-to-u8: New file.
32476         * lib/unistr/u32-to-u8.c: New file.
32477
32478         * modules/unistr/u32-to-u16: New file.
32479         * lib/unistr/u32-to-u16.c: New file.
32480
32481         * modules/unistr/u8-check: New file.
32482         * modules/unistr/u16-check: New file.
32483         * modules/unistr/u32-check: New file.
32484         * lib/unistr/u8-check.c: New file.
32485         * lib/unistr/u16-check.c: New file.
32486         * lib/unistr/u32-check.c: New file.
32487
32488         * modules/unistr/u8-chr: New file.
32489         * modules/unistr/u16-chr: New file.
32490         * modules/unistr/u32-chr: New file.
32491         * lib/unistr/u8-chr.c: New file.
32492         * lib/unistr/u16-chr.c: New file.
32493         * lib/unistr/u32-chr.c: New file.
32494
32495         * modules/unistr/u8-cmp: New file.
32496         * modules/unistr/u16-cmp: New file.
32497         * modules/unistr/u32-cmp: New file.
32498         * lib/unistr/u8-cmp.c: New file.
32499         * lib/unistr/u16-cmp.c: New file.
32500         * lib/unistr/u32-cmp.c: New file.
32501
32502         * modules/unistr/u8-cpy: New file.
32503         * modules/unistr/u16-cpy: New file.
32504         * modules/unistr/u32-cpy: New file.
32505         * lib/unistr/u8-cpy.c: New file.
32506         * lib/unistr/u16-cpy.c: New file.
32507         * lib/unistr/u32-cpy.c: New file.
32508         * lib/unistr/u-cpy.h: New file.
32509
32510         * modules/unistr/u8-cpy-alloc: New file.
32511         * modules/unistr/u16-cpy-alloc: New file.
32512         * modules/unistr/u32-cpy-alloc: New file.
32513         * lib/unistr/u8-cpy-alloc.c: New file.
32514         * lib/unistr/u16-cpy-alloc.c: New file.
32515         * lib/unistr/u32-cpy-alloc.c: New file.
32516         * lib/unistr/u-cpy-alloc.h: New file.
32517
32518         * modules/unistr/u8-endswith: New file.
32519         * modules/unistr/u16-endswith: New file.
32520         * modules/unistr/u32-endswith: New file.
32521         * lib/unistr/u8-endswith.c: New file.
32522         * lib/unistr/u16-endswith.c: New file.
32523         * lib/unistr/u32-endswith.c: New file.
32524         * lib/unistr/u-endswith.h: New file.
32525
32526         * modules/unistr/u8-mblen: New file.
32527         * modules/unistr/u16-mblen: New file.
32528         * modules/unistr/u32-mblen: New file.
32529         * lib/unistr/u8-mblen.c: New file.
32530         * lib/unistr/u16-mblen.c: New file.
32531         * lib/unistr/u32-mblen.c: New file.
32532
32533         * modules/unistr/u8-mbtouc: New file.
32534         * modules/unistr/u16-mbtouc: New file.
32535         * modules/unistr/u32-mbtouc: New file.
32536         * lib/unistr/u8-mbtouc.c: New file.
32537         * lib/unistr/u16-mbtouc.c: New file.
32538         * lib/unistr/u32-mbtouc.c: New file.
32539
32540         * modules/unistr/u8-mbtouc-safe: New file.
32541         * modules/unistr/u16-mbtouc-safe: New file.
32542         * modules/unistr/u32-mbtouc-safe: New file.
32543         * lib/unistr/u8-mbtouc-safe.c: New file.
32544         * lib/unistr/u16-mbtouc-safe.c: New file.
32545         * lib/unistr/u32-mbtouc-safe.c: New file.
32546
32547         * modules/unistr/u8-move: New file.
32548         * modules/unistr/u16-move: New file.
32549         * modules/unistr/u32-move: New file.
32550         * lib/unistr/u8-move.c: New file.
32551         * lib/unistr/u16-move.c: New file.
32552         * lib/unistr/u32-move.c: New file.
32553         * lib/unistr/u-move.h: New file.
32554
32555         * modules/unistr/u8-next: New file.
32556         * modules/unistr/u16-next: New file.
32557         * modules/unistr/u32-next: New file.
32558         * lib/unistr/u8-next.c: New file.
32559         * lib/unistr/u16-next.c: New file.
32560         * lib/unistr/u32-next.c: New file.
32561
32562         * modules/unistr/u8-prev: New file.
32563         * modules/unistr/u16-prev: New file.
32564         * modules/unistr/u32-prev: New file.
32565         * lib/unistr/u8-prev.c: New file.
32566         * lib/unistr/u16-prev.c: New file.
32567         * lib/unistr/u32-prev.c: New file.
32568
32569         * modules/unistr/u8-set: New file.
32570         * modules/unistr/u16-set: New file.
32571         * modules/unistr/u32-set: New file.
32572         * lib/unistr/u8-set.c: New file.
32573         * lib/unistr/u16-set.c: New file.
32574         * lib/unistr/u32-set.c: New file.
32575         * lib/unistr/u-set.h: New file.
32576
32577         * modules/unistr/u8-startswith: New file.
32578         * modules/unistr/u16-startswith: New file.
32579         * modules/unistr/u32-startswith: New file.
32580         * lib/unistr/u8-startswith.c: New file.
32581         * lib/unistr/u16-startswith.c: New file.
32582         * lib/unistr/u32-startswith.c: New file.
32583         * lib/unistr/u-startswith.h: New file.
32584
32585         * modules/unistr/u8-stpcpy: New file.
32586         * modules/unistr/u16-stpcpy: New file.
32587         * modules/unistr/u32-stpcpy: New file.
32588         * lib/unistr/u8-stpcpy.c: New file.
32589         * lib/unistr/u16-stpcpy.c: New file.
32590         * lib/unistr/u32-stpcpy.c: New file.
32591         * lib/unistr/u-stpcpy.h: New file.
32592
32593         * modules/unistr/u8-stpncpy: New file.
32594         * modules/unistr/u16-stpncpy: New file.
32595         * modules/unistr/u32-stpncpy: New file.
32596         * lib/unistr/u8-stpncpy.c: New file.
32597         * lib/unistr/u16-stpncpy.c: New file.
32598         * lib/unistr/u32-stpncpy.c: New file.
32599         * lib/unistr/u-stpncpy.h: New file.
32600
32601         * modules/unistr/u8-strcat: New file.
32602         * modules/unistr/u16-strcat: New file.
32603         * modules/unistr/u32-strcat: New file.
32604         * lib/unistr/u8-strcat.c: New file.
32605         * lib/unistr/u16-strcat.c: New file.
32606         * lib/unistr/u32-strcat.c: New file.
32607         * lib/unistr/u-strcat.h: New file.
32608
32609         * modules/unistr/u8-strchr: New file.
32610         * modules/unistr/u16-strchr: New file.
32611         * modules/unistr/u32-strchr: New file.
32612         * lib/unistr/u8-strchr.c: New file.
32613         * lib/unistr/u16-strchr.c: New file.
32614         * lib/unistr/u32-strchr.c: New file.
32615
32616         * modules/unistr/u8-strcmp: New file.
32617         * modules/unistr/u16-strcmp: New file.
32618         * modules/unistr/u32-strcmp: New file.
32619         * lib/unistr/u8-strcmp.c: New file.
32620         * lib/unistr/u16-strcmp.c: New file.
32621         * lib/unistr/u32-strcmp.c: New file.
32622
32623         * modules/unistr/u8-strcpy: New file.
32624         * modules/unistr/u16-strcpy: New file.
32625         * modules/unistr/u32-strcpy: New file.
32626         * lib/unistr/u8-strcpy.c: New file.
32627         * lib/unistr/u16-strcpy.c: New file.
32628         * lib/unistr/u32-strcpy.c: New file.
32629         * lib/unistr/u-strcpy.h: New file.
32630
32631         * modules/unistr/u8-strcspn: New file.
32632         * modules/unistr/u16-strcspn: New file.
32633         * modules/unistr/u32-strcspn: New file.
32634         * lib/unistr/u8-strcspn.c: New file.
32635         * lib/unistr/u16-strcspn.c: New file.
32636         * lib/unistr/u32-strcspn.c: New file.
32637         * lib/unistr/u-strcspn.h: New file.
32638
32639         * modules/unistr/u8-strdup: New file.
32640         * modules/unistr/u16-strdup: New file.
32641         * modules/unistr/u32-strdup: New file.
32642         * lib/unistr/u8-strdup.c: New file.
32643         * lib/unistr/u16-strdup.c: New file.
32644         * lib/unistr/u32-strdup.c: New file.
32645         * lib/unistr/u-strdup.h: New file.
32646
32647         * modules/unistr/u8-strlen: New file.
32648         * modules/unistr/u16-strlen: New file.
32649         * modules/unistr/u32-strlen: New file.
32650         * lib/unistr/u8-strlen.c: New file.
32651         * lib/unistr/u16-strlen.c: New file.
32652         * lib/unistr/u32-strlen.c: New file.
32653         * lib/unistr/u-strlen.h: New file.
32654
32655         * modules/unistr/u8-strmblen: New file.
32656         * modules/unistr/u16-strmblen: New file.
32657         * modules/unistr/u32-strmblen: New file.
32658         * lib/unistr/u8-strmblen.c: New file.
32659         * lib/unistr/u16-strmblen.c: New file.
32660         * lib/unistr/u32-strmblen.c: New file.
32661
32662         * modules/unistr/u8-strmbtouc: New file.
32663         * modules/unistr/u16-strmbtouc: New file.
32664         * modules/unistr/u32-strmbtouc: New file.
32665         * lib/unistr/u8-strmbtouc.c: New file.
32666         * lib/unistr/u16-strmbtouc.c: New file.
32667         * lib/unistr/u32-strmbtouc.c: New file.
32668
32669         * modules/unistr/u8-strncat: New file.
32670         * modules/unistr/u16-strncat: New file.
32671         * modules/unistr/u32-strncat: New file.
32672         * lib/unistr/u8-strncat.c: New file.
32673         * lib/unistr/u16-strncat.c: New file.
32674         * lib/unistr/u32-strncat.c: New file.
32675         * lib/unistr/u-strncat.h: New file.
32676
32677         * modules/unistr/u8-strncmp: New file.
32678         * modules/unistr/u16-strncmp: New file.
32679         * modules/unistr/u32-strncmp: New file.
32680         * lib/unistr/u8-strncmp.c: New file.
32681         * lib/unistr/u16-strncmp.c: New file.
32682         * lib/unistr/u32-strncmp.c: New file.
32683
32684         * modules/unistr/u8-strncpy: New file.
32685         * modules/unistr/u16-strncpy: New file.
32686         * modules/unistr/u32-strncpy: New file.
32687         * lib/unistr/u8-strncpy.c: New file.
32688         * lib/unistr/u16-strncpy.c: New file.
32689         * lib/unistr/u32-strncpy.c: New file.
32690         * lib/unistr/u-strncpy.h: New file.
32691
32692         * modules/unistr/u8-strnlen: New file.
32693         * modules/unistr/u16-strnlen: New file.
32694         * modules/unistr/u32-strnlen: New file.
32695         * lib/unistr/u8-strnlen.c: New file.
32696         * lib/unistr/u16-strnlen.c: New file.
32697         * lib/unistr/u32-strnlen.c: New file.
32698         * lib/unistr/u-strnlen.h: New file.
32699
32700         * modules/unistr/u8-strpbrk: New file.
32701         * modules/unistr/u16-strpbrk: New file.
32702         * modules/unistr/u32-strpbrk: New file.
32703         * lib/unistr/u8-strpbrk.c: New file.
32704         * lib/unistr/u16-strpbrk.c: New file.
32705         * lib/unistr/u32-strpbrk.c: New file.
32706         * lib/unistr/u-strpbrk.h: New file.
32707
32708         * modules/unistr/u8-strrchr: New file.
32709         * modules/unistr/u16-strrchr: New file.
32710         * modules/unistr/u32-strrchr: New file.
32711         * lib/unistr/u8-strrchr.c: New file.
32712         * lib/unistr/u16-strrchr.c: New file.
32713         * lib/unistr/u32-strrchr.c: New file.
32714
32715         * modules/unistr/u8-strspn: New file.
32716         * modules/unistr/u16-strspn: New file.
32717         * modules/unistr/u32-strspn: New file.
32718         * lib/unistr/u8-strspn.c: New file.
32719         * lib/unistr/u16-strspn.c: New file.
32720         * lib/unistr/u32-strspn.c: New file.
32721         * lib/unistr/u-strspn.h: New file.
32722
32723         * modules/unistr/u8-strstr: New file.
32724         * modules/unistr/u16-strstr: New file.
32725         * modules/unistr/u32-strstr: New file.
32726         * lib/unistr/u8-strstr.c: New file.
32727         * lib/unistr/u16-strstr.c: New file.
32728         * lib/unistr/u32-strstr.c: New file.
32729         * lib/unistr/u-strstr.h: New file.
32730
32731         * modules/unistr/u8-strtok: New file.
32732         * modules/unistr/u16-strtok: New file.
32733         * modules/unistr/u32-strtok: New file.
32734         * lib/unistr/u8-strtok.c: New file.
32735         * lib/unistr/u16-strtok.c: New file.
32736         * lib/unistr/u32-strtok.c: New file.
32737         * lib/unistr/u-strtok.h: New file.
32738
32739         * modules/unistr/u8-uctomb: New file.
32740         * modules/unistr/u16-uctomb: New file.
32741         * modules/unistr/u32-uctomb: New file.
32742         * lib/unistr/u8-uctomb.c: New file.
32743         * lib/unistr/u16-uctomb.c: New file.
32744         * lib/unistr/u32-uctomb.c: New file.
32745
32746         * MODULES.html.sh (Unicode string functions): Add the new modules.
32747
32748 2007-01-08  Bruno Haible  <bruno@clisp.org>
32749
32750         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
32751         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
32752         subdirectories.
32753
32754 2007-01-08  Karl Berry  <karl@gnu.org>
32755
32756         * doc/error.texi: mention that main() fns must set program_name
32757         when progname is used.
32758
32759 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
32760
32761         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
32762         WCTYPE_H is empty, for the benefit of builds from non-distclean
32763         directories.  Problem reported by Eric Blake in
32764         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
32765
32766 2007-01-08  Bruno Haible  <bruno@clisp.org>
32767
32768         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
32769         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
32770         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
32771         PROVIDE_CANONICALIZE_FILENAME_MODE.
32772         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
32773
32774 2007-01-08  Bruno Haible  <bruno@clisp.org>
32775
32776         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
32777         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
32778         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
32779         * lib/fts.c: Likewise.
32780         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
32781
32782 2006-12-25  Bruno Haible  <bruno@clisp.org>
32783
32784         * modules/utf8-ucs4-safe: New file.
32785         * lib/utf8-ucs4-safe.h: New file.
32786         * lib/unistr/utf8-ucs4-safe.c: New file.
32787
32788         * modules/utf16-ucs4-safe: New file.
32789         * lib/utf16-ucs4-safe.h: New file.
32790         * lib/unistr/utf16-ucs4-safe.c: New file.
32791
32792         * MODULES.html.sh (Unicode string functions): Add the new modules.
32793
32794 2007-01-08  Bruno Haible  <bruno@clisp.org>
32795
32796         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
32797         (Depends-on): Add unitypes.
32798         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32799         (u8_mbtouc_aux): Move out to separate file.
32800         (u8_mbtouc): Use ucs4_t, uint8_t types.
32801         * lib/unistr/utf8-ucs4.c: New file.
32802
32803         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
32804         (Depends-on): Add unitypes.
32805         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32806         (u16_mbtouc_aux): Move out to separate file.
32807         (u16_mbtouc): Use ucs4_t, uint16_t types.
32808         * lib/unistr/utf16-ucs4.c: New file.
32809
32810         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
32811         (Depends-on): Add unitypes.
32812         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
32813         (u8_uctomb_aux): Move out to separate file.
32814         (u8_uctomb): Use ucs4_t, uint8_t types.
32815         * lib/unistr/ucs4-utf8.c: New file.
32816
32817         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
32818         (Depends-on): Add unitypes.
32819         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
32820         (u16_uctomb_aux): Move out to separate file.
32821         (u16_uctomb): Use ucs4_t, uint16_t types.
32822         * lib/unistr/ucs4-utf16.c: New file.
32823
32824 2006-12-25  Bruno Haible  <bruno@clisp.org>
32825
32826         * modules/unitypes: New file.
32827         * lib/unitypes.h: New file.
32828         * MODULES.html.sh (func_all_modules): New section "Unicode string
32829         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
32830         this section. Add unitypes.
32831
32832 2007-01-08  Bruno Haible  <bruno@clisp.org>
32833
32834         Avoid variable names that conflict with those from libtool.
32835         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
32836         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
32837         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
32838         library_names_spec to acl_library_names_spec, hardcode_* to
32839         acl_hardcode_*.
32840         Reported by Ralf Wildenhues.
32841
32842 2007-01-08  Bruno Haible  <bruno@clisp.org>
32843
32844         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
32845         definition.
32846         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
32847         definition.
32848         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
32849         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
32850         definition.
32851         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
32852         definition.
32853         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
32854         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
32855         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
32856         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
32857         definition.
32858         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
32859         definition.
32860         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
32861         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
32862         GC_USE_<algorithm>.
32863         * lib/gc-libgcrypt.c: Likewise.
32864         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
32865         * modules/gc-arctwo (configure.ac): Likewise.
32866         * modules/gc-des (configure.ac): Likewise.
32867         * modules/gc-hmac-md5 (configure.ac): Likewise.
32868         * modules/gc-hmac-sha1 (configure.ac): Likewise.
32869         * modules/gc-md2 (configure.ac): Likewise.
32870         * modules/gc-md4 (configure.ac): Likewise.
32871         * modules/gc-md5 (configure.ac): Likewise.
32872         * modules/gc-random (configure.ac): Likewise.
32873         * modules/gc-rijndael (configure.ac): Likewise.
32874         * modules/gc-sha1 (configure.ac): Likewise.
32875
32876 2007-01-08  Bruno Haible  <bruno@clisp.org>
32877
32878         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
32879         macro definition.
32880         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
32881         definition.
32882         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
32883         definition.
32884         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
32885         * modules/fcntl-safer (configure.ac): Likewise.
32886         * modules/fopen-safer (configure.ac): Likewise.
32887         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
32888         GNULIB_FWRITEERROR macro definition.
32889
32890 2007-01-08  Bruno Haible  <bruno@clisp.org>
32891
32892         * m4/gnulib-common.m4: New file.
32893         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
32894         (func_get_filelist): Add m4/gnulib-common.m4.
32895
32896 2007-01-08  Bruno Haible  <bruno@clisp.org>
32897
32898         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
32899         command.
32900
32901 2007-01-08  Jim Meyering  <jim@meyering.net>
32902
32903         Use a more robust test for a "can't happen" condition.
32904         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
32905         narrowed the st_size value.  Presuming the "can't happen" condition
32906         is true, that narrowing could conceivably convert an invalid st_size
32907         value into a valid one.  Instead, use a change based on Matthew
32908         Woehlke's original patch.
32909
32910         Slight readability improvement: use an assert-like macro
32911         in place of literal "abort ()" uses.
32912         * lib/fts.c (fts_assert): Define.
32913         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
32914         Use this macro instead of a bare 'abort'.
32915
32916 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
32917
32918         Don't worry about using IRIX 5.3's wctype.h broken definitions;
32919         simply work around them.
32920         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
32921         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
32922         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
32923         declaring.
32924         Don't bother to define as macros, since the standard doesn't require it.
32925         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
32926         longer worry about IRIX 5.3.
32927         (HAVE_WCTYPE_CTMP_BUG): Remove.
32928
32929 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32930
32931         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
32932         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
32933         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
32934         Problems reported by Georg Schwarz for IRIX 5.3.
32935
32936         * gnulib-tool (autoconf_minversion): Take the maximum version number
32937         found, not the minimum.  Problem reported by James Youngman.
32938
32939 2007-01-03  Karl Berry  <karl@gnu.org>
32940
32941         * doc/error.texi: new file, explaining interaction with progname.
32942         * doc/gnulib.texi: include it.  Update copyright.
32943
32944 2007-01-03  Simon Josefsson  <simon@josefsson.org>
32945
32946         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
32947         AC_CANONICAL_HOST, to improve autobuild outputs.
32948
32949 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
32950             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
32951
32952         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
32953         sockets, server sockets, and other file descriptors.  Count errors
32954         to compute the return value.  Reorder the code a bit to be easier
32955         to follow.  Don't set event bits that were not requested (except
32956         POLLERR and POLLHUP).
32957
32958 2007-01-01  Bruno Haible  <bruno@clisp.org>
32959
32960         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
32961
32962 2007-01-03  Jim Meyering  <jim@meyering.net>
32963
32964         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
32965
32966 2007-01-02  Bruno Haible  <bruno@clisp.org>
32967
32968         * modules/settime (Include): Require timespec.h.
32969         * modules/nanosleep (Include): Likewise.
32970
32971 2007-01-01  Bruno Haible  <bruno@clisp.org>
32972
32973         * gnulib-tool (func_emit_copyright_notice): Bump year.
32974         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
32975
32976 2007-01-01  Bruno Haible  <bruno@clisp.org>
32977
32978         Improve support for OpenBSD.
32979         * build-aux/config.rpath (libname_spec): Export.
32980         (library_names_spec): New variable. Export.
32981         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
32982         library_names_spec from the config.rpath output. Locate shared library
32983         through the name pattern in library_names_spec.
32984
32985 2007-01-01  Eric Blake  <ebb9@byu.net>
32986
32987         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
32988
32989 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
32990
32991         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
32992         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
32993         assume the C locale, and avoid an "eval" that could cause trouble.
32994         Problem with SORT reported by Bob Proulx.
32995
32996         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
32997         Define.  Trivial patch from Henning Nielsen Lund, originally
32998         sent to bug-grep@gnu.org today.
32999
33000 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
33001
33002         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
33003         struct stat.  Problem reported by Henning Nielsen Lund.
33004         * lib/acl.c: Include acl.h first, to check interface.  Don't
33005         bother to include sys/types.h and sys/stat.h again.
33006
33007 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
33008
33009         Import the following change from libc; problem reported by
33010         Sven Verdoolaege.
33011
33012         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
33013
33014         [BZ #1373]
33015         * lib/argp.h: Remove __NTH for __argp_usage inline function.
33016
33017 2006-12-28  Jim Meyering  <jim@meyering.net>
33018
33019         * build-aux/announce-gen: Do not assume that the package
33020         builds any of tar.gz, tar.bz2, and .xdelta files.
33021         Suggestion from Simon Josefsson.
33022
33023 2006-12-28  Simon Josefsson  <simon@josefsson.org>
33024
33025         * modules/announce-gen: New file.
33026
33027 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
33028
33029         * lib/mbchar.h: Just include <wctype.h>; the wctype module
33030         handles its gotchas now.
33031         * lib/mbswidth.c: Likewise.
33032         * lib/wcwidth.h: Likewise.
33033         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
33034         and iswcntrl; the wctype module does this stuff now.
33035         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33037         * modules/mbchar (Depends-on): Add wctype.
33038         * modules/mbswidth (Depends-on): Likewise.
33039         * modules/wcwidth (Depends-on): Likewise.
33040
33041 2006-12-27  Eric Blake  <ebb9@byu.net>
33042
33043         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
33044         module uses more than what <wctype.h> is required to provide.
33045
33046 2006-12-26  Eric Blake  <ebb9@byu.net>
33047
33048         * gnulib-tool (sed_extract_prog): Avoid space-tab.
33049
33050 2006-12-26  Eric Blake  <ebb9@byu.net>
33051
33052         * modules/absolute-header: New module.
33053         * modules/fcntl (Depends-on): Depend on it.
33054         * modules/inttypes (Depends-on): Likewise.
33055         * modules/stdint (Depends-on): Likewise.
33056         * modules/sys_stat (Depends-on): Likewise.
33057         * modules/wctype (Depends-on): Likewise.
33058         * MODULES.html.sh (Support for building libraries and
33059         executables): Document it.
33060
33061 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
33062
33063         * gnulib-tool (SED): Remove, undoing previous change.
33064         The problem was that it broke coreutils on Solaris, because
33065         "sed --posix" leaked into a makefile.
33066         (sed): New alias, if 'alias' and GNU sed.
33067
33068 2006-12-24  Jim Meyering  <jim@meyering.net>
33069
33070         Work around an fchownat bug in glibc-2.4:
33071         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
33072         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
33073         in spite of the -P option.
33074         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
33075         New macros.
33076         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
33077         * modules/openat (Files): Add lib/fchownat.c.
33078         * lib/openat.c (fchownat): Don't define here.  Move to...
33079         * lib/fchownat.c: ...this new file.
33080
33081 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
33082
33083         Fix bug reported by Bruno Haible in
33084         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
33085         where quotearg.c didn't compile on Mac OS X 10.2 because it
33086         lacks <wchar.h> and wint_t.
33087         * lib/wctype_.h (__wctype_wint_t): New type.
33088         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
33089         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
33090         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
33091         Arg is now of type __wctype_wint_t, not wint_t.
33092         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
33093         substitute HAVE_WINT_T.
33094         * modules/wctype (Files): Add m4/wint_t.m4.
33095         (wctype.h): Substitute HAVE_WINT_T.
33096
33097 2006-12-23  Bruno Haible  <bruno@clisp.org>
33098
33099         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
33100
33101 2006-12-23  Bruno Haible  <bruno@clisp.org>
33102
33103         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
33104         S_ISLNK.
33105         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
33106         mingw.
33107
33108 2006-12-22  Bruno Haible  <bruno@clisp.org>
33109
33110         * lib/copy-file.c: Include acl.h.
33111         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
33112         Close the file descriptors only after being done with copy_acl.
33113         * modules/copy-file (Depends-on): Add acl.
33114
33115 2006-12-22  Bruno Haible  <bruno@clisp.org>
33116
33117         * gnulib-tool (SED): New variable.
33118         Use $SED instead of sed everywhere.
33119
33120 2006-12-22  Bruno Haible  <bruno@clisp.org>
33121
33122         * modules/no-c++: New file.
33123         * m4/no-c++.m4: New file.
33124         * MODULES.html.sh (Support for building libraries and executables):
33125         Add no-c++.
33126
33127 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
33128
33129         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
33130         Include <limits.h>, and use its INT_MAX to rewrite the
33131         j loop so that it does not overflow 'int'.  Problem reported by
33132         Ralf Wildenhues in
33133         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
33134         Play it safe by shifting left by 1 rather than multiplying by 2,
33135         as GCC is less likely to optimize this away when the value
33136         is signed (when it assumes overflow leads to undefined behavior).
33137         Also, don't assume time_t uses two's complement.
33138
33139 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
33140
33141         * MODULES.html.sh: New module wctype.
33142         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
33143         * lib/fnmatch.c: Don't bother to include <wchar.h> before
33144         <wctype.h>, since the new wctype module should fix this.
33145         * lib/quotearg.c: Include <wctype.h> unconditionally, since
33146         the wctype module should arrange for it.
33147         * lib/regex_internal.h: Likewise.
33148         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
33149         since the wctype module should handle this now.
33150         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
33151         * modules/fnmatch (Depends-on): Add wctype.
33152         * modules/quotearg (Depends-on): Likewise.
33153         * modules/regex (Depends-on): Likewise.
33154
33155 2006-12-19  Bruno Haible  <bruno@clisp.org>
33156
33157         * lib/strdup.h [C++]: Wrap definitions in extern "C".
33158         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
33159
33160 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33161
33162         * modules/savewd (Depends-on): Fix dependency on fcntl.
33163
33164 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
33165
33166         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
33167         conforms to C99, rather than relying on the user's environment
33168         setting of STDINT_H.
33169
33170 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
33171         and Eric Blake  <ebb9@byu.net>
33172
33173         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
33174         This is more consistent with the other defines here.
33175         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
33176         Port to z/OS.  Problem reported by Paul Gilmartin.
33177         Change local vars to use gl_ prefix rather than ac_.
33178         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
33179         with other defines.
33180         * modules/double-slash-root: New module.
33181         * modules/dirname (Files): Remove m4/double-slash-root.m4.
33182         (Depends-on): Add double-slash-root.
33183         * MODULES.html.sh (File system functions): Mention new module.
33184
33185 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
33186
33187         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
33188         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
33189         This is for the benefit of gzip, which doesn't do i18n.
33190
33191 2006-12-12  Jim Meyering  <jim@meyering.net>
33192
33193         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
33194         Reported by Andreas Schwab <schwab@suse.de>.
33195
33196 2006-12-12  Bruno Haible  <bruno@clisp.org>
33197
33198         Merge these changes.
33199         2006-09-05  Bruno Haible  <bruno@clisp.org>
33200         * lib/iconvme.c (iconv_string): No need to save and restore errno when
33201         iconv_alloc succeeded.
33202         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
33203         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
33204         test for " && dest " at the end - dest is always != NULL there. Call
33205         iconv with 4xNULL arguments initially, to reset the state. Call iconv
33206         with 2xNULL arguments, also to flush the state storage. Handle the
33207         IRIX iconv behaviour. Realloc the final result, to throw away unused
33208         memory.
33209
33210 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
33211
33212         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
33213         and fchmodat unconditionally, since glibc 2.4 has them.
33214         Problem reported by Arkadiusz Miskiewicz.
33215
33216 2006-12-10  Bruno Haible  <bruno@clisp.org>
33217
33218         * gnulib-tool (func_import): Show the include files only for those
33219         modules that are copied and specified.
33220         Reported by Karl Berry.
33221
33222 2006-12-08  Jim Meyering  <jim@meyering.net>
33223
33224         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
33225         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
33226
33227         * build-aux/announce-gen: Add two new options, both optional:
33228         --bootstrap-tools=TOOL_LIST
33229               a comma-separated list of tools, e.g.,
33230               autoconf,automake,bison,gnulib
33231         --gnulib-snapshot-date=DATE
33232               if gnulib is in the bootstrap tool list,
33233               then report this as the snapshot date.
33234               If not specified, use the current date/time.
33235               If you specify a date here, be sure it's UTC.
33236
33237 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33238
33239         * tests/test-argp-2.sh: Fix test to match actual output.
33240         (func_compare): Fix sed script to be portable.
33241
33242 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33243
33244         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
33245         workaround for this case.  It is not autoconfigured now; offhand
33246         it's hard to see how to autoconfigure it.
33247
33248 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
33249
33250         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
33251         a directory that is about to be chowned.  Such a directory's
33252         initial file permissions should permit the owner only and this
33253         should not be changed until after the chown, since the group and
33254         other bits would be incorrect if they granted permission before
33255         the chown.
33256
33257         Fix porting problem for iswctype reported by Georg Schwarz in:
33258         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
33259         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
33260         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
33261         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
33262         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33263
33264 2006-12-03  Jim Meyering  <jim@meyering.net>
33265
33266         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
33267         p->fts_statp may not yet be defined.
33268         (fts_read): Instead, set it in the caller, once p->fts_statp is
33269         sure to be defined, and corresponds to a top-level directory.
33270         This bug made du -x fail.  Here's the coreutils test case:
33271         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
33272         Reported by Mike Frysinger.
33273
33274 2006-12-01  Jim Meyering  <jim@meyering.net>
33275
33276         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
33277         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
33278         Reported by Simon Josefsson.
33279
33280 2006-11-30  Jim Meyering  <jim@meyering.net>
33281
33282         * m4/warning.m4: Use the all-permissive copyright notice
33283         recommended by RMS (rather than LGPL).
33284         * m4/vararrays.m4: Likewise.
33285         * m4/flexmember.m4: Likewise.
33286
33287 2006-11-29  Bruno Haible  <bruno@clisp.org>
33288
33289         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33290         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
33291         using +=.
33292         Reported by Simon Josefsson <simon@josefsson.org>.
33293
33294 2006-11-28  James Youngman <jay@gnu.org>
33295
33296         * README: Advise users that they might find the bug-gnulib@gnu.org
33297         and autotools-announce@gnu.org mailing lists useful.
33298
33299 2006-11-28  Bruno Haible  <bruno@clisp.org>
33300
33301         * m4/ptrdiff_max.m4: Remove file.
33302
33303 2006-11-21  Bruno Haible  <bruno@clisp.org>
33304
33305         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
33306         _AC_COMPUTE_INT.
33307         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33308         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
33309         _AC_COMPUTE_INT.
33310         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33311         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
33312         _AC_COMPUTE_INT.
33313         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33314
33315 2006-11-28  Jim Meyering  <jim@meyering.net>
33316
33317         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
33318         warning from "gcc -Wshadow" about shadowing the builtin.
33319
33320 2006-11-27  Bruno Haible  <bruno@clisp.org>
33321
33322         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
33323         _AC_COMPUTE_INT.
33324         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33325
33326 2006-11-27  Bruno Haible  <bruno@clisp.org>
33327             Paul Eggert  <eggert@cs.ucla.edu>
33328
33329         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
33330
33331 2006-11-26  Bruno Haible  <bruno@clisp.org>
33332
33333         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33334         noinst_LTLIBRARIES.
33335
33336 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33337             Bruno Haible  <bruno@clisp.org>
33338
33339         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
33340         if compiling with "gcc -ansi".
33341
33342 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
33343
33344         Fix some incompatibilities with gcc -ansi -pedantic.
33345         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
33346         if compiling pedantically with GCC, unless it's C99 or later.
33347         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
33348         it mishandles gcc -ansi -pedantic as well.
33349         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
33350         if gcc -pedantic.
33351         * lib/regexec.c (check_node_accept_bytes): Don't use auto
33352         initializers for struct if -pedantic, unless it's C99 or later.
33353
33354 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
33355
33356         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
33357         Don't close an fd more than once. Identical atimes indicate
33358         success, not failure.
33359
33360 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
33361
33362         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
33363
33364 2006-11-23  Jim Meyering  <jim@meyering.net>
33365
33366         * build-aux/announce-gen: New file.  From coreutils.
33367
33368 2006-11-22  Jim Meyering  <jim@meyering.net>
33369
33370         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
33371         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
33372         (fts_read): Use a temporary to narrow the overused st_size member
33373         before using it in a switch statement.  Reported by Matthew Woehlke.
33374
33375         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
33376         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33377
33378 2006-11-20  Bruno Haible  <bruno@clisp.org>
33379
33380         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
33381         changequote instead of pairs of brackets.
33382         Reported by Andreas Schwab <schwab@suse.de>.
33383
33384 2006-11-21  Jim Meyering  <jim@meyering.net>
33385
33386         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
33387         so as to remain compatible with older compilers.
33388         Patch from Michael Deutschmann.
33389
33390 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
33391
33392         * MODULES.html.sh (File system functions): Add openat.
33393
33394         * lib/openat.h (rpl_fstatat): New macro, if
33395         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
33396         (fstatat): Define to rpl_fstatat under the same conditions,
33397         unless COMPILING_FSTATAT.
33398         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
33399         seems to have the bug.
33400         * lib/fstatat.c: New file.
33401         * modules/openat (Files): Add it.
33402
33403 2006-11-20  Bruno Haible  <bruno@clisp.org>
33404
33405         * Makefile: New file.
33406
33407 2006-11-20  Jim Meyering  <jim@meyering.net>
33408
33409         The beginnings of syntax-related checks for gnulib.
33410         * lib/Makefile: New file.
33411         * lib/t-idcache: New script.  Ensure that the two halves of
33412         idcache.c stay in sync.
33413
33414         * lib/idcache.c: Adjust comments in user- and group- portions to
33415         be more accurate, and to be consistent with one another.
33416
33417 2006-11-20  Jim Meyering  <jim@meyering.net>
33418
33419         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
33420         continue using the flexible array member (thus, this module performs
33421         half as many malloc calls), with the addition that...
33422         (getgroup, getuser): Consistently record a non-match via an empty
33423         "name" string, and map an empty string match to a NULL return value.
33424         * modules/idcache (Depends-on): Re-add flexmember.
33425
33426         * lib/idcache.c (getuser): Remove all uses of the register keyword.
33427         (getuidbyname, getgroup, getgidbyname): Likewise.
33428
33429         Use cleaner syntax: NULL rather than 0.
33430         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
33431
33432 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
33433
33434         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
33435         It mishandled the case where the group was missing.
33436         Problem reported by Greg Schafer.
33437         * modules/idcache: Likewise.
33438
33439 2006-11-18  Jim Meyering  <jim@meyering.net>
33440
33441         * check-module (%exempt_header): Add exception for some
33442         conditionally-included headers.
33443
33444         * modules/i-ring (Depends-on): Add verify.
33445         (License): Change to LGPL.
33446
33447 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
33448
33449         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
33450         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
33451         and inttostr.h.  Use snprintf rather than uinttostr, so that
33452         LGPLed code doesn't depend on GPLed.
33453
33454 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
33455
33456         * modules/inline (License): Change from GPL to LGPL.
33457
33458 2006-11-17  Jim Meyering  <jim@meyering.net>
33459
33460         * modules/d-type (License): Switch to LGPL.
33461
33462 2006-11-15  Bruno Haible  <bruno@clisp.org>
33463
33464         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
33465
33466 2006-11-15  Eric Blake  <ebb9@byu.net>
33467
33468         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
33469         the module dependency.
33470
33471 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33472             Bruno Haible  <bruno@clisp.org>
33473
33474         * gnulib-tool (func_create_testdir): Add license consistency check.
33475
33476 2006-11-15  Eric Blake  <ebb9@byu.net>
33477
33478         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
33479         random "(cached)" in configure output.
33480
33481 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33482
33483         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
33484         test for conforming inttypes.h is both announced and cached.
33485
33486         * MODULES.html.sh (seen_modules, seen_files): New variables.
33487         (func_module): Rewrite to use a few less gnulib-tool and sed
33488         invocations.  Avoid a couple of quadratic algorithms for ...
33489         (missed_modules, missed_files): ... these, with ...
33490         (func_append, func_tmpdir): ... these new functions, from
33491         gnulib-tool.  Analogously, install traps for cleanup.
33492
33493         * tests/test-gc.c (main): Remove unused variables.
33494         * tests/test-read-file.c: Include stdlib.h, for 'free'.
33495
33496 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
33497
33498         * modules/inttostr (License): Change to LGPL.
33499
33500 2006-11-14  Eric Blake  <ebb9@byu.net>
33501
33502         * modules/tempname (License): Change to LGPL.
33503
33504 2006-11-14  Eric Blake  <ebb9@byu.net>
33505
33506         * doc/functions.texi (Function Portability): *printf functions on
33507         Cygwin now understand all POSIX size specifiers.
33508
33509 2006-11-14  Bruno Haible  <bruno@clisp.org>
33510
33511         * modules/c-ctype (License): Change to LGPL.
33512
33513 2006-11-12  Bruno Haible  <bruno@clisp.org>
33514
33515         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
33516         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
33517         for GNOME libraries, for which the include files are installed in
33518         subdirectories of $prefix/include.
33519
33520 2006-11-12  Bruno Haible  <bruno@clisp.org>
33521
33522         * m4/lib-link.m4: Require at least autoconf-2.54.
33523         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
33524         name to underscores for the --with option.
33525
33526 2006-11-13  Bruno Haible  <bruno@clisp.org>
33527
33528         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
33529         the tests directory.
33530         Reported by Ralf Wildenhues.
33531
33532 2006-11-13  Bruno Haible  <bruno@clisp.org>
33533
33534         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
33535         (func_emit_initmacro_end): Undo the override here.
33536         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
33537         Works around the famous automake error in coreutils.
33538
33539 2006-11-13  Eric Blake  <ebb9@byu.net>
33540
33541         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
33542         element, not its node.
33543
33544 2006-11-12  Bruno Haible  <bruno@clisp.org>
33545
33546         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
33547         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
33548
33549 2006-11-12  Bruno Haible  <bruno@clisp.org>
33550
33551         * gnulib-tool: New option --local-symlink.
33552         (func_usage): Document it.
33553         (lsymbolic): New variable.
33554         (func_import, func_create_testdir): If --symlink was not specified,
33555         test whether --local-symlink was specified and the file comes from
33556         the local_gnulib_dir.
33557
33558 2006-11-12  Bruno Haible  <bruno@clisp.org>
33559
33560         * gnulib-tool (func_ln): New function.
33561         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
33562
33563 2006-11-12  Bruno Haible  <bruno@clisp.org>
33564
33565         Finish support for source files in subdirectories.
33566         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
33567         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
33568         AUTOMAKE_OPTIONS.
33569         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
33570
33571 2006-11-12  Bruno Haible  <bruno@clisp.org>
33572
33573         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33574         EXTRA_lib_SOURCES augmentation.
33575         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
33576
33577 2006-11-12  Jim Meyering  <jim@meyering.net>
33578
33579         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
33580         file descriptors.  This also averts a failure on systems with
33581         native openat support when a traversed directory lacks "x" access.
33582         * lib/fts_.h: Include "i-ring.h"
33583         (struct FTS) [fts_fd_ring]: New member.
33584         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
33585         (FCHDIR): Add parentheses.
33586         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
33587         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
33588         When descending, rather than simply closing the previous
33589         fts_cwd_fd value, push that file descriptor onto the ring.
33590         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
33591         (fts_open): Initialize the new fd_ring member.
33592         (fts_close): Clear the ring.
33593         (fts_safe_changedir): When possible, use our new fd_ring to skip
33594         the diropen and fstat and dev/ino comparison that would normally
33595         accompany a virtual `chdir ("..")'.
33596
33597         * modules/fts (Depends-on): Add i-ring.
33598         * modules/i-ring: New module.
33599         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
33600         * m4/i-ring.m4: New file.
33601
33602 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33603
33604         * gnulib-tool (func_create_testdir): Fix replacement of
33605         `build-aux' in configure.ac.  Run autotools in gltests
33606         subdirectory.
33607         (func_create_testdir, func_create_megatestdir, test): There is
33608         no need for '--force' in most autotool invocations in a new
33609         tree.  Actually fail the whole test if any of the tools, or the
33610         configure or make stages fail.
33611
33612         Sync from Automake.
33613         * build-aux/gnupload: Revert last change.  Add pointer to upload
33614         instructions of the GNU Maintenance Instructions.
33615         Suggestion by Karl Berry.
33616
33617 2006-11-10  Jim Meyering  <jim@meyering.net>
33618
33619         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
33620
33621 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33622
33623         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
33624         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
33625         (bind_textdomain_codeset) [! ENABLE_NLS]:
33626         Evaluate all the arguments.  That way, callers get compatible behavior
33627         if the arguments have side effects.  Also, it avoids some GCC
33628         diagnostics in some cases; Joel E. Denny reported problems when Bison
33629         was configured with --enable-gcc-warnigs.
33630
33631 2006-11-10  Jim Meyering  <jim@meyering.net>
33632
33633         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
33634         relevant options in CFLAGS (like -O, -fno-inline) are taken into
33635         account.
33636
33637 2006-11-10  Jim Meyering  <jim@meyering.net>
33638
33639         * modules/inline: New file/module.
33640         * modules/xalloc (Files): Remove m4/inline.m4.
33641         (Depends-on): Add inline, instead.
33642         * modules/oset: Likewise.
33643         * modules/list: Likewise.
33644
33645 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33646
33647         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
33648         Problem reported by Matthew Woehlke.
33649
33650 2006-11-09  Bruno Haible  <bruno@clisp.org>
33651
33652         * lib/tempname.c (gen_tempname): Remove variant that invokes
33653         __gen_tempname.
33654         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
33655         __gen_tempname.
33656
33657 2006-11-08  Bruno Haible  <bruno@clisp.org>
33658
33659         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
33660         to 'yes' instead of 'cross-compiling'.
33661
33662 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33663
33664         * lib/quotearg.h (quotearg_free): New decl.
33665         * lib/quotearg.c (quotearg_free): New function.
33666         (slot0, nslots, slotvec0, slotvec):
33667         Now file-scope so that quotearg_free can get at them.
33668
33669 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33670
33671         Sync from Automake.
33672         * build-aux/gnupload: Add missing 'gnu' to example URL.
33673         Report by Karl Berry.
33674
33675 2006-11-08  Bruno Haible  <bruno@clisp.org>
33676
33677         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
33678         Suggested by Paul Eggert.
33679
33680 2006-11-08  Jim Meyering  <jim@meyering.net>
33681
33682         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
33683         It's already included if !_LIBC.
33684         (fts_safe_changedir): Add a comment.
33685
33686 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33687
33688         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
33689         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
33690         Matthew Woehlke.
33691
33692         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
33693         definitions up, to avoid colliding with change below.
33694         (static_inline) [HAVE_INLINE]: New macro.
33695         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
33696         Provide extern decls when !HAVE_INLINE.  Do not define unless
33697         static_inline is defined, either by us or by xmalloc.c.  Use
33698         static_inline rather than static inline.
33699         (XCALLOC): Optimize sizeof(T) = 1 case.
33700         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
33701
33702 2006-11-07  Bruno Haible  <bruno@clisp.org>
33703
33704         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
33705         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
33706         AC_C_INLINE.
33707         * modules/xalloc (Files): Add m4/inline.m4.
33708
33709 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33710
33711         * README: Fix typo.
33712         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
33713         (Miscellanous Notes): ...from this.
33714
33715 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33716
33717         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
33718         Mention that offsetof should be used instead of sizeof.
33719         From Bruno Haible.
33720
33721 2006-11-07  Bruno Haible  <bruno@clisp.org>
33722
33723         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
33724
33725 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33726
33727         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33728         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
33729         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33730         (gl_tree_add_before, gl_tree_add_after):
33731         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
33732         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
33733         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33734         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
33735         (gl_linked_add_after, gl_linked_add_at): Likewise.
33736         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
33737         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33738         (gl_tree_add_before, gl_tree_add_after): Likewise.
33739         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
33740         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
33741         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33742
33743 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33744
33745         * lib/gl_oset.h: Use C comment style, not C++ comment style.
33746
33747 2006-11-06  Bruno Haible  <bruno@clisp.org>
33748
33749         * m4/inline.m4: New file.
33750         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
33751         * modules/list (Files): Add m4/inline.m4.
33752         * modules/oset (Files): Likewise.
33753
33754 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33755
33756         * lib/idcache.c: Include <stddef.h>, for offsetof.
33757         (struct userid.name): Change from char * to a flexible array member.
33758         All uses changed.
33759         * modules/idcache (Depends-on): Add flexmember.
33760
33761         * MODULES.html.sh (Core language properties): New module flexmember.
33762         * modules/flexmember, m4/flexmember.m4: New files.
33763
33764         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
33765         inline functions that are identical with the old xnmalloc_inline,
33766         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
33767         that we can avoid some unnecessary integer multiplications and
33768         divisions in the common case where the element size is known at
33769         compile time.
33770         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
33771         needed.
33772         (xnboundedmalloc): Remove.
33773         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
33774         arguments, for consistency with rest of this header.
33775         (xcharalloc): Rewrite using XNMALLOC.
33776         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
33777         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
33778         versions have been moved to lib/xalloc.h and renamed to be the
33779         non-*_inline versions.
33780         (xmalloc, xrealloc): Implement without reference to the xnmalloc
33781         and xnrealloc functions, since those functions are now inline and
33782         now call us.
33783         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
33784         renaming described above.
33785         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
33786         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
33787         captures the dependency in AC_C_INLINE.
33788
33789         New module canonicalize-lgpl, proposed by Charles Wilson in
33790         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
33791         with a few small changes afterwards.
33792         * MODULES.html.sh (File system functions): New module
33793         canonicalize-lgpl.
33794         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
33795         and canonicalize_file_name.
33796         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
33797         * modules/canonicalize-lgpl: New files.
33798
33799 2006-11-05  Bruno Haible  <bruno@clisp.org>
33800
33801         * gnulib-tool (func_import, func_create_testdir): Create directories
33802         also for files in subdirectories of lib/.
33803
33804 2006-11-05  Bruno Haible  <bruno@clisp.org>
33805
33806         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
33807         ANSI C compliant.
33808
33809 2006-11-03  Bruno Haible  <bruno@clisp.org>
33810
33811         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33812         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
33813         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
33814         (xnboundedmalloc): New inline function.
33815         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
33816         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
33817         xmalloc.
33818         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
33819         xmalloc.
33820         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
33821         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
33822         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
33823         xmalloc.
33824         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33825         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
33826         xmalloc.
33827         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
33828         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33829         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
33830         xmalloc.
33831         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33832         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
33833         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33834         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
33835         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
33836         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
33837         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
33838
33839 2006-11-03  Bruno Haible  <bruno@clisp.org>
33840
33841         * lib/c-ctype.h [C++]: Define functions without name mangling.
33842         * lib/fwriteerror.h [C++]: Likewise.
33843         * lib/gcd.h [C++]: Likewise.
33844         * lib/linebreak.h [C++]: Likewise.
33845
33846 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33847
33848         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
33849         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
33850         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
33851         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
33852         Check for functions and headers just once.
33853         Check for declaration of canonicalize_file_name.
33854         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
33855
33856 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33857
33858         * gnulib-tool (func_import): Fix typo in actioncmd.
33859
33860 2006-11-02  Bruno Haible  <bruno@clisp.org>
33861
33862         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
33863         newline sequence in the Makefile.am snippet as a space, like "make"
33864         does.
33865         Reported by Roger Persson <perrog@gmail.com>.
33866
33867 2006-11-01  Bruno Haible  <bruno@clisp.org>
33868
33869         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
33870         already declared in <string.h>.
33871         * lib/strcase.h (strncasecmp): Don't declare it if yes.
33872
33873 2006-11-01  Bruno Haible  <bruno@clisp.org>
33874
33875         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
33876         * lib/strcase.h: Include <string.h>.
33877         (strcasecmp): Define to rpl_strcasecmp here.
33878
33879 2006-11-01  Bruno Haible  <bruno@clisp.org>
33880
33881         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
33882
33883 2006-11-01  Eric Blake  <ebb9@byu.net>
33884
33885         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
33886
33887         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
33888
33889 2006-10-29  Bruno Haible  <bruno@clisp.org>
33890
33891         Make it compile in C++ mode.
33892         * lib/full-write.c (full_rw): Add a cast.
33893
33894 2006-11-01  Bruno Haible  <bruno@clisp.org>
33895
33896         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
33897         be POSIX compliant.
33898         Reported by Roger Persson <perrog@gmail.com>.
33899
33900 2006-11-01  Eric Blake  <ebb9@byu.net>
33901
33902         * lib/getopt_.h: Fix comments.
33903
33904 2006-10-31  Eric Blake  <ebb9@byu.net>
33905
33906         * modules/tmpdir (Depends-on): Add sys_stat.
33907         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
33908         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
33909         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
33910         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
33911         tempname.
33912
33913 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33914
33915         Avoid some C++ diagnostics reported by Bruno Haible.
33916         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
33917         xmalloc.
33918         (quotearg_alloc): Use xcharalloc rather than xmalloc.
33919         (struct slotvec): Move to top level.
33920         (quotearg_n_options): Rewrite to avoid xmalloc.
33921         * lib/xalloc.h (xcharalloc): New function.
33922         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
33923         [defined __cplusplus]: Add function template that provides result
33924         type propagation.  This part of the change is from Bruno Haible.
33925
33926 2006-10-29  Bruno Haible  <bruno@clisp.org>
33927
33928         Make it compile in C++ mode.
33929         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
33930         * lib/strnlen1.c (strnlen1): Cast memchr result.
33931         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
33932         * lib/clean-temp.c (string_equals, string_hash): Add casts.
33933         (create_temp_dir): Rename local variable 'template'.
33934         (compile_csharp_using_sscli): Add cast.
33935         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
33936         * lib/findprog.c (find_in_path): Likewise.
33937         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
33938         * lib/wait-process.c (register_slave_subprocess): Likewise.
33939
33940 2006-10-22  Bruno Haible  <bruno@clisp.org>
33941
33942         * modules/tsearch: New file.
33943         * lib/tsearch.h: New file.
33944         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
33945         * m4/tsearch.m4: New file.
33946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
33947
33948 2006-10-29  Eric Blake  <ebb9@byu.net>
33949
33950         * lib/arcfour.c: Assume config.h.
33951         * lib/arctwo.c: Likewise.
33952         * lib/base64.c: Likewise.
33953         * lib/check-version.c: Likewise.
33954         * lib/crc.c: Likewise.
33955         * lib/des.c: Likewise.
33956         * lib/gc-gnulib.c: Likewise.
33957         * lib/gc-libgcrypt.c: Likewise.
33958         * lib/gc-pbkdf2-sha1.c: Likewise.
33959         * lib/getaddrinfo.c: Likewise.
33960         * lib/getdelim.c: Likewise.
33961         * lib/getline.c: Likewise.
33962         * lib/hmac-md5.c: Likewise.
33963         * lib/hmac-sha1.c: Likewise.
33964         * lib/iconvme.c: Likewise.
33965         * lib/md2.c: Likewise.
33966         * lib/md4.c: Likewise.
33967         * lib/memxor.c: Likewise.
33968         * lib/read-file.c: Likewise.
33969         * lib/readline.c: Likewise.
33970         * lib/rijndael-alg-fst.c: Likewise.
33971         * lib/rijndael-api-fst.c: Likewise.
33972         * lib/xgetdomainname.c: Likewise.
33973
33974 2006-10-28  Eric Blake  <ebb9@byu.net>
33975
33976         * lib/xstrndup.c: Assume config.h.
33977
33978 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
33979
33980         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
33981         stat-macros.h is now for our own macros, whereas stat_h is for
33982         macros in the <sys/stat.h> name space.
33983         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
33984         (STAT_MACROS_H): Remove.
33985         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
33986         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
33987         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
33988         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
33989         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
33990         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
33991         Move these macros to ...
33992         * lib/stat_.h: here.  Don't include stat-macros.h.
33993         * lib/canonicalize.c: Don't include stat-macros.h.
33994         * lib/chown.c: Likewise.
33995         * lib/euidaccess.c: Likewise.
33996         * lib/file-type.c: Likewise.
33997         * lib/filemode.c: Likewise.
33998         * lib/glob.c: Likewise.
33999         * lib/isapipe.c: Likewise.
34000         * lib/lchown.c: Likewise.
34001         * lib/lstat.c: Likewise.
34002         * lib/mkdir-p.c: Likewise.
34003         * lib/rmdir.c: Likewise.
34004         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
34005         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
34006         unless mkdir isn't declared, to speed up 'configure'.
34007         Always create sys/stat.h, since it's unlikely any real sys/stat.h
34008         would define all the S_* symbols.
34009         * modules/canonicalize (Depends-on):
34010         Depend on sys_stat, not stat-macros.
34011         * modules/chown: Likewise.
34012         * modules/euidaccess: Likewise.
34013         * modules/filemode: Likewise.
34014         * modules/file-type: Likewise.
34015         * modules/glob: Likewise.
34016         * modules/isapipe: Likewise.
34017         * modules/lchown: Likewise.
34018         * modules/lstat: Likewise.
34019         * modules/mkancesdirs: Likewise.
34020         * modules/rmdir: Likewise.
34021         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
34022         * modules/modechange: Likewise.
34023         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
34024         (configure.ac): Remove gl_STAT_MACROS.
34025         * modules/sys_stat (Depends-on): Remove stat-macros.
34026
34027 2006-10-27  Bruno Haible  <bruno@clisp.org>
34028
34029         * m4/signed.m4: Remove file.
34030         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
34031         invocation.
34032         * modules/vasnprintf (Files): Remove m4/signed.m4.
34033
34034 2006-10-27  Bruno Haible  <bruno@clisp.org>
34035
34036         Update to GNU gettext 0.16.
34037         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
34038         m4/inttypes-h.m4, m4/signed.m4.
34039         * m4/gettext.m4: Update to GNU gettext 0.16.
34040         * m4/intl.m4: New file, from GNU gettext.
34041         * m4/intldir.m4: New file, from GNU gettext.
34042         * config/srclist.txt: Update
34043
34044 2006-10-27  Eric Blake  <ebb9@byu.net>
34045
34046         * MODULES.html.sh: Document tempname.
34047         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
34048         dependencies.
34049         (Files): Move lib/tempname.c...
34050         * modules/tempname: ...to this new module.
34051         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
34052         (gl_PREREQ_TEMPNAME): Move...
34053         * m4/tempname.m4: ...to this new file.
34054         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
34055         * modules/sys_stat (Depends-on): Add stat-macros.
34056         * lib/stat_.h (includes): Pick up stat macros.
34057         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
34058         if stat macros are broken.
34059         * lib/tempname.c (includes): No need to include "stat-macros.h".
34060         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
34061         (direxists, __path_search) [!_LIBC]: Don't compile these in
34062         gnulib; the tmpdir module covers that.
34063         * lib/tempname.h: New file.
34064
34065 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
34066
34067         * COPYING: Explain how gnulib-tool converts licence headers.
34068         Almost all wording by Eric Blake.
34069
34070 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
34071
34072         * lib/mbchar.h (is_basic_table): Make read-only.
34073         * lib/mbchar.c (is_basic_table): Likewise.
34074         Reported by John Darrington.
34075
34076 2006-10-25  Bruno Haible  <bruno@clisp.org>
34077
34078         * lib/progname.h (set_program_name): Undefine before defining.
34079
34080 2006-10-25  Bruno Haible  <bruno@clisp.org>
34081
34082         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
34083         false for non-gcc C++ compilers.
34084         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
34085
34086 2006-10-24  Bruno Haible  <bruno@clisp.org>
34087
34088         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
34089         iconv implementations like Irix iconv.
34090
34091 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34092
34093         * modules/vararrays: New file.
34094         * m4/vararrays.m4: New file, taken from diffutils.
34095         * MODULES.html.sh: New module vararrays.
34096
34097 2006-10-24  Karl Berry  <karl@gnu.org>
34098
34099         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
34100         Don't call GNU Unix.
34101
34102 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34103
34104         * users.txt: Add Libtool.
34105
34106         Sync from Libtool:
34107
34108         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34109
34110         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
34111         to gnulib's policy of including config.h unconditionally.
34112
34113 2006-10-24  Bruno Haible  <bruno@clisp.org>
34114
34115         * modules/wcwidth (Files): Add m4/wint_t.m4.
34116         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
34117         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
34118
34119 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34120
34121         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
34122         to pacify GCC with some -W flags enabled.  Problem reported by
34123         Bruno Haible.
34124
34125 2006-10-24  Jim Meyering  <jim@meyering.net>
34126
34127         * MODULES.html.sh: Remove uinttostr.  It's not a module.
34128         Reported by Karl Berry.
34129
34130 2006-10-23  Bruno Haible  <bruno@clisp.org>
34131
34132         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
34133
34134 2006-10-24  Bruno Haible  <bruno@clisp.org>
34135
34136         * lib/gl_list.h: Use C comment style, not C++ comment style.
34137
34138 2006-10-23  Eric Blake  <ebb9@byu.net>
34139
34140         * lib/getaddrinfo.c (includes): Add missing include.
34141
34142 2006-10-23  Bruno Haible  <bruno@clisp.org>
34143             Paul Eggert  <eggert@cs.ucla.edu>
34144
34145         Ability to rename obstack_free.
34146         * lib/obstack.h (__obstack_free): New macro. Declare instead of
34147         obstack_free.
34148         (obstack_free): Invoke the __obstack_free macro.
34149         * lib/obstack.c (obstack_free): Use __obstack_free macro.
34150
34151 2006-10-23  Bruno Haible  <bruno@clisp.org>
34152             Paul Eggert  <eggert@cs.ucla.edu>
34153
34154         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
34155         __argc, __argv from the declaration. (They are defined as macros on
34156         mingw.)
34157
34158 2006-10-22  Bruno Haible  <bruno@clisp.org>
34159
34160         * doc/gnulib-intro.texi: New file.
34161         * doc/gnulib.texi: Include it.
34162
34163 2006-10-21  Bruno Haible  <bruno@clisp.org>
34164
34165         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
34166         "Introduction", "Miscellanous Notes", "Particular Modules".
34167
34168 2006-10-21  Bruno Haible  <bruno@clisp.org>
34169
34170         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34171         Change mostlyclean-local rule to avoid sh syntax error from bash
34172         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
34173
34174 2006-10-23  Jim Meyering  <jim@meyering.net>
34175
34176         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
34177         in place of snprintf.
34178
34179         * modules/inttostr (Files): Add lib/uinttostr.c.
34180         * lib/uinttostr.c (inttostr): New file/function.
34181         * lib/inttostr.h (uinttostr): Declare.
34182         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
34183         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
34184         Add uinttostr.
34185         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
34186
34187 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
34188
34189         * lib/canonicalize.c (ELOOP): Define if not already defined.
34190         Problem reported by Bruno Haible in
34191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
34192
34193 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
34194
34195         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
34196         Problem reported by Perry Smith and Ville Laurikari.
34197
34198         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
34199         uses.
34200
34201 2006-10-19  Bruno Haible  <bruno@clisp.org>
34202
34203         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
34204         for mingw.
34205
34206 2006-10-19  Bruno Haible  <bruno@clisp.org>
34207
34208         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
34209         Needed for mingw.
34210
34211 2006-10-19  Bruno Haible  <bruno@clisp.org>
34212
34213         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
34214
34215 2006-10-19  Bruno Haible  <bruno@clisp.org>
34216
34217         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
34218         it.
34219
34220 2006-10-19  Bruno Haible  <bruno@clisp.org>
34221
34222         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
34223         invocation.
34224
34225 2006-10-19  Bruno Haible  <bruno@clisp.org>
34226
34227         * gnulib-tool (func_create_testdir): Don't include ftruncate and
34228         mountlist by default.
34229
34230 2006-10-16  Bruno Haible  <bruno@clisp.org>
34231
34232         * lib/c-strstr.c: Include c-strstr.h.
34233
34234 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
34235
34236         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
34237         in a slash.
34238
34239 2006-10-18  Bruno Haible  <bruno@clisp.org>
34240
34241         * lib/lock.h [C++]: Wrap definitions in extern "C".
34242
34243 2006-10-18  Bruno Haible  <bruno@clisp.org>
34244
34245         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
34246         gl_LIBOBJS list.
34247
34248 2006-10-18  Bruno Haible  <bruno@clisp.org>
34249
34250         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
34251
34252 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
34253
34254         * lib/xstrtol.h: Include gettext.h.
34255         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
34256         Problem reported by Eric Blake.
34257         * modules/xstrtol (Depends-on): Add gettext-h.
34258
34259 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
34260
34261         * lib/strftime.c (advance): New macro.
34262         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
34263         incomplete type, so you can't add 0 to it.  Problem and patch
34264         reported by Eelco Dolstra for dietlibc.
34265
34266 2006-10-18  Jim Meyering  <jim@meyering.net>
34267
34268         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
34269         type for a local, and rename it: s/up/user_proc/.
34270
34271 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
34272
34273         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
34274         READ_UTMP_USER_PROCESS.
34275         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
34276
34277 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
34278
34279         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
34280         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
34281
34282 2006-10-17  Eric Blake  <ebb9@byu.net>
34283
34284         * lib/sigprocmask.c (sigprocmask): Fix typo.
34285
34286         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
34287
34288         * modules/clean-temp (Makefile.am): Don't add to make output...
34289         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
34290         config.h.
34291
34292 2006-10-17  Bruno Haible  <bruno@clisp.org>
34293
34294         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
34295         differently if DEFAULT_TEXT_DOMAIN is set.
34296
34297 2006-10-16  Bruno Haible  <bruno@clisp.org>
34298
34299         * lib/clean-temp.c: Include fwriteerror.h.
34300
34301 2006-10-16  Bruno Haible  <bruno@clisp.org>
34302
34303         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
34304
34305 2006-10-16  Bruno Haible  <bruno@clisp.org>
34306
34307         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
34308         * lib/sigprocmask.h: Include <sys/types.h>.
34309         (sigset_t): Use the system's definition if present.
34310
34311 2006-10-17  Eric Blake  <ebb9@byu.net>
34312
34313         * lib/xvasprintf.c (includes): Assume config.h.
34314         * lib/xasprintf.c (includes): Likewise.
34315
34316 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34317
34318         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
34319         at least as wide as intmax_t.
34320
34321 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
34322
34323         (Imported from Automake.)
34324         * build-aux/gnupload: Update to version 1.1 of directive file.
34325
34326 2006-10-16  Eric Blake  <ebb9@byu.net>
34327
34328         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
34329         match Automake 1.10a.
34330
34331 2006-10-14  Bruno Haible  <bruno@clisp.org>
34332
34333         * modules/sigprocmask: New file.
34334         * lib/sigprocmask.h: New file.
34335         * lib/sigprocmask.c: New file.
34336         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
34337         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
34338         request sigprocmask.o.
34339         (gl_PREREQ_SIGPROCMASK): New macro.
34340         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
34341         (Depends-on): Add sigprocmask.
34342         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
34343         gt_SIGNALBLOCKING. Test for 'raise' only once.
34344         * lib/fatal-signal.c: Include sigprocmask.h.
34345         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
34346         unblock_fatal_signals): Define always.
34347         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34348         sigprocmask.
34349
34350 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34351
34352         Sync from Automake.
34353         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
34354         which incorrectly sets the mode of an existing destination
34355         directory.  In some cases the unpatched install-sh could do the
34356         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
34357         system.  We hope this is rare in practice, but it's clearly worth
34358         fixing.  Problem reported by Alex Unleashed in
34359         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
34360         Also, don't bother to check for -m bugs unless we're using -m;
34361         suggested by Stepan Kasal.
34362
34363 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34364
34365         Sync from Automake.
34366         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
34367         `-c' flag, so they appear at the same position as in %FASTDEP%
34368         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
34369         which ignores unknown options only after the first non-option.
34370         Bug report against M4 by Nelson H. F. Beebe.
34371
34372 2006-10-13  Jim Meyering  <jim@meyering.net>
34373
34374         Fix a bug in yesterday's change.
34375         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
34376         p->fts_statp->st_dev would be used uninitialized.
34377         Ensures that we always call fts_stat on the very first entry.
34378         Miklos Szeredi reported that find -xdev stopped working.
34379
34380 2006-10-12  Bruno Haible  <bruno@clisp.org>
34381
34382         * gnulib-tool (func_get_automake_snippet): Append an automatically
34383         computed EXTRA_DIST augmentation.
34384         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
34385         * modules/alloca-opt (Makefile.am): Likewise.
34386         * modules/allocsa (Makefile.am): Likewise.
34387         * modules/arcfour (Makefile.am): Likewise.
34388         * modules/arctwo (Makefile.am): Likewise.
34389         * modules/argmatch (Makefile.am): Likewise.
34390         * modules/argz (Makefile.am): Likewise.
34391         * modules/atexit (Makefile.am): Likewise.
34392         * modules/backupfile (Makefile.am): Likewise.
34393         * modules/byteswap (Makefile.am): Likewise.
34394         * modules/c-strtod (Makefile.am): Likewise.
34395         * modules/c-strtold (Makefile.am): Likewise.
34396         * modules/calloc (Makefile.am): Likewise.
34397         * modules/canon-host (Makefile.am): Likewise.
34398         * modules/canonicalize (Makefile.am): Likewise.
34399         * modules/chdir-long (Makefile.am): Likewise.
34400         * modules/chdir-safer (Makefile.am): Likewise.
34401         * modules/check-version (Makefile.am): Likewise.
34402         * modules/chown (Makefile.am): Likewise.
34403         * modules/cloexec (Makefile.am): Likewise.
34404         * modules/close-stream (Makefile.am): Likewise.
34405         * modules/closeout (Makefile.am): Likewise.
34406         * modules/crc (Makefile.am): Likewise.
34407         * modules/csharpexec (Makefile.am): Likewise.
34408         * modules/cycle-check (Makefile.am): Likewise.
34409         * modules/des (Makefile.am): Likewise.
34410         * modules/dev-ino (Makefile.am): Likewise.
34411         * modules/dirfd (Makefile.am): Likewise.
34412         * modules/dirname (Makefile.am): Likewise.
34413         * modules/dup2 (Makefile.am): Likewise.
34414         * modules/eealloc (Makefile.am): Likewise.
34415         * modules/error (Makefile.am): Likewise.
34416         * modules/euidaccess (Makefile.am): Likewise.
34417         * modules/exclude (Makefile.am): Likewise.
34418         * modules/exitfail (Makefile.am): Likewise.
34419         * modules/fcntl-safer (Makefile.am): Likewise.
34420         * modules/fcntl (Makefile.am): Likewise.
34421         * modules/file-type (Makefile.am): Likewise.
34422         * modules/fileblocks (Makefile.am): Likewise.
34423         * modules/filemode (Makefile.am): Likewise.
34424         * modules/filenamecat (Makefile.am): Likewise.
34425         * modules/fnmatch (Makefile.am): Likewise.
34426         * modules/fopen-safer (Makefile.am): Likewise.
34427         * modules/fpending (Makefile.am): Likewise.
34428         * modules/fprintftime (Makefile.am): Likewise.
34429         * modules/free (Makefile.am): Likewise.
34430         * modules/fsusage (Makefile.am): Likewise.
34431         * modules/ftruncate (Makefile.am): Likewise.
34432         * modules/fts (Makefile.am): Likewise.
34433         * modules/gc-arcfour (Makefile.am): Likewise.
34434         * modules/gc-des (Makefile.am): Likewise.
34435         * modules/gc-hmac-md5 (Makefile.am): Likewise.
34436         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
34437         * modules/gc-md4 (Makefile.am): Likewise.
34438         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34439         * modules/gc-sha1 (Makefile.am): Likewise.
34440         * modules/gc (Makefile.am): Likewise.
34441         * modules/getaddrinfo (Makefile.am): Likewise.
34442         * modules/getcwd (Makefile.am): Likewise.
34443         * modules/getdelim (Makefile.am): Likewise.
34444         * modules/getdomainname (Makefile.am): Likewise.
34445         * modules/getgroups (Makefile.am): Likewise.
34446         * modules/gethostname (Makefile.am): Likewise.
34447         * modules/gethrxtime (Makefile.am): Likewise.
34448         * modules/getline (Makefile.am): Likewise.
34449         * modules/getloadavg (Makefile.am): Likewise.
34450         * modules/getlogin_r (Makefile.am): Likewise.
34451         * modules/getndelim2 (Makefile.am): Likewise.
34452         * modules/getopt (Makefile.am): Likewise.
34453         * modules/getpagesize (Makefile.am): Likewise.
34454         * modules/getpass-gnu (Makefile.am): Likewise.
34455         * modules/getpass (Makefile.am): Likewise.
34456         * modules/getsubopt (Makefile.am): Likewise.
34457         * modules/gettime (Makefile.am): Likewise.
34458         * modules/gettimeofday (Makefile.am): Likewise.
34459         * modules/getugroups (Makefile.am): Likewise.
34460         * modules/getusershell (Makefile.am): Likewise.
34461         * modules/glob (Makefile.am): Likewise.
34462         * modules/group-member (Makefile.am): Likewise.
34463         * modules/hard-locale (Makefile.am): Likewise.
34464         * modules/hash (Makefile.am): Likewise.
34465         * modules/hmac-md5 (Makefile.am): Likewise.
34466         * modules/hmac-sha1 (Makefile.am): Likewise.
34467         * modules/human (Makefile.am): Likewise.
34468         * modules/idcache (Makefile.am): Likewise.
34469         * modules/imaxabs (Makefile.am): Likewise.
34470         * modules/imaxdiv (Makefile.am): Likewise.
34471         * modules/inet_ntop (Makefile.am): Likewise.
34472         * modules/inet_pton (Makefile.am): Likewise.
34473         * modules/intprops (Makefile.am): Likewise.
34474         * modules/inttostr (Makefile.am): Likewise.
34475         * modules/inttypes (Makefile.am): Likewise.
34476         * modules/isapipe (Makefile.am): Likewise.
34477         * modules/javaversion (Makefile.am): Likewise.
34478         * modules/lchmod (Makefile.am): Likewise.
34479         * modules/lchown (Makefile.am): Likewise.
34480         * modules/localcharset (Makefile.am): Likewise.
34481         * modules/long-options (Makefile.am): Likewise.
34482         * modules/lstat (Makefile.am): Likewise.
34483         * modules/malloc (Makefile.am): Likewise.
34484         * modules/mathl (Makefile.am): Likewise.
34485         * modules/mbchar (Makefile.am): Likewise.
34486         * modules/md2 (Makefile.am): Likewise.
34487         * modules/md4 (Makefile.am): Likewise.
34488         * modules/md5 (Makefile.am): Likewise.
34489         * modules/memcasecmp (Makefile.am): Likewise.
34490         * modules/memchr (Makefile.am): Likewise.
34491         * modules/memcmp (Makefile.am): Likewise.
34492         * modules/memcoll (Makefile.am): Likewise.
34493         * modules/memcpy (Makefile.am): Likewise.
34494         * modules/memmem (Makefile.am): Likewise.
34495         * modules/memmove (Makefile.am): Likewise.
34496         * modules/mempcpy (Makefile.am): Likewise.
34497         * modules/memrchr (Makefile.am): Likewise.
34498         * modules/memset (Makefile.am): Likewise.
34499         * modules/memxor (Makefile.am): Likewise.
34500         * modules/mkancesdirs (Makefile.am): Likewise.
34501         * modules/mkdir-p (Makefile.am): Likewise.
34502         * modules/mkdir (Makefile.am): Likewise.
34503         * modules/mkdtemp (Makefile.am): Likewise.
34504         * modules/mkstemp (Makefile.am): Likewise.
34505         * modules/mktime (Makefile.am): Likewise.
34506         * modules/modechange (Makefile.am): Likewise.
34507         * modules/mountlist (Makefile.am): Likewise.
34508         * modules/nanosleep (Makefile.am): Likewise.
34509         * modules/obstack (Makefile.am): Likewise.
34510         * modules/openat (Makefile.am): Likewise.
34511         * modules/pagealign_alloc (Makefile.am): Likewise.
34512         * modules/pathmax (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-dest-slash (Makefile.am): Likewise.
34529         * modules/rename (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-inode (Makefile.am): Likewise.
34536         * modules/same (Makefile.am): Likewise.
34537         * modules/save-cwd (Makefile.am): Likewise.
34538         * modules/savedir (Makefile.am): Likewise.
34539         * modules/setenv (Makefile.am): Likewise.
34540         * modules/settime (Makefile.am): Likewise.
34541         * modules/sha1 (Makefile.am): Likewise.
34542         * modules/sig2str (Makefile.am): Likewise.
34543         * modules/snprintf (Makefile.am): Likewise.
34544         * modules/stat-macros (Makefile.am): Likewise.
34545         * modules/stat-time (Makefile.am): Likewise.
34546         * modules/stdbool (Makefile.am): Likewise.
34547         * modules/stdint (Makefile.am): Likewise.
34548         * modules/stdlib-safer (Makefile.am): Likewise.
34549         * modules/stpcpy (Makefile.am): Likewise.
34550         * modules/stpncpy (Makefile.am): Likewise.
34551         * modules/strcase (Makefile.am): Likewise.
34552         * modules/strcasestr (Makefile.am): Likewise.
34553         * modules/strchrnul (Makefile.am): Likewise.
34554         * modules/strcspn (Makefile.am): Likewise.
34555         * modules/strdup (Makefile.am): Likewise.
34556         * modules/strerror (Makefile.am): Likewise.
34557         * modules/strftime (Makefile.am): Likewise.
34558         * modules/strndup (Makefile.am): Likewise.
34559         * modules/strnlen (Makefile.am): Likewise.
34560         * modules/strpbrk (Makefile.am): Likewise.
34561         * modules/strsep (Makefile.am): Likewise.
34562         * modules/strstr (Makefile.am): Likewise.
34563         * modules/strtod (Makefile.am): Likewise.
34564         * modules/strtoimax (Makefile.am): Likewise.
34565         * modules/strtok_r (Makefile.am): Likewise.
34566         * modules/strtol (Makefile.am): Likewise.
34567         * modules/strtoll (Makefile.am): Likewise.
34568         * modules/strtoul (Makefile.am): Likewise.
34569         * modules/strtoull (Makefile.am): Likewise.
34570         * modules/strtoumax (Makefile.am): Likewise.
34571         * modules/strverscmp (Makefile.am): Likewise.
34572         * modules/sys_socket (Makefile.am): Likewise.
34573         * modules/sys_stat (Makefile.am): Likewise.
34574         * modules/sysexits (Makefile.am): Likewise.
34575         * modules/time_r (Makefile.am): Likewise.
34576         * modules/timegm (Makefile.am): Likewise.
34577         * modules/timespec (Makefile.am): Likewise.
34578         * modules/tmpfile-safer (Makefile.am): Likewise.
34579         * modules/trim (Makefile.am): Likewise.
34580         * modules/unistd-safer (Makefile.am): Likewise.
34581         * modules/unlinkdir (Makefile.am): Likewise.
34582         * modules/unlocked-io (Makefile.am): Likewise.
34583         * modules/userspec (Makefile.am): Likewise.
34584         * modules/utime (Makefile.am): Likewise.
34585         * modules/utimecmp (Makefile.am): Likewise.
34586         * modules/utimens (Makefile.am): Likewise.
34587         * modules/vasnprintf (Makefile.am): Likewise.
34588         * modules/vasprintf (Makefile.am): Likewise.
34589         * modules/vsnprintf (Makefile.am): Likewise.
34590         * modules/xalloc (Makefile.am): Likewise.
34591         * modules/xgetcwd (Makefile.am): Likewise.
34592         * modules/xnanosleep (Makefile.am): Likewise.
34593         * modules/xreadlink (Makefile.am): Likewise.
34594         * modules/xstrtod (Makefile.am): Likewise.
34595         * modules/xstrtol (Makefile.am): Likewise.
34596         * modules/xstrtold (Makefile.am): Likewise.
34597         * modules/yesno (Makefile.am): Likewise.
34598         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
34599
34600 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34601
34602         * modules/error (Makefile.am): Distribute files through
34603         EXTRA_DIST, not lib_SOURCES.
34604
34605 2006-10-12  Eric Blake  <ebb9@byu.net>
34606
34607         * modules/error (Makefile.am): Distribute files in /lib.
34608         * modules/obstack (Makefile.am): Likewise.
34609
34610 2006-10-12  Bruno Haible  <bruno@clisp.org>
34611
34612         * modules/acl (Makefile.am): Distribute all files in lib/ through
34613         EXTRA_DIST.
34614         * modules/arcfour (Makefile.am): Likewise.
34615         * modules/arctwo (Makefile.am): Likewise.
34616         * modules/argmatch (Makefile.am): Likewise.
34617         * modules/argz (Makefile.am): Likewise.
34618         * modules/atexit (Makefile.am): Likewise.
34619         * modules/backupfile (Makefile.am): Likewise.
34620         * modules/c-strtod (Makefile.am): Likewise.
34621         * modules/c-strtold (Makefile.am): Likewise.
34622         * modules/calloc (Makefile.am): Likewise.
34623         * modules/canon-host (Makefile.am): Likewise.
34624         * modules/canonicalize (Makefile.am): Likewise.
34625         * modules/chdir-long (Makefile.am): Likewise.
34626         * modules/chdir-safer (Makefile.am): Likewise.
34627         * modules/check-version (Makefile.am): Likewise.
34628         * modules/chown (Makefile.am): Likewise.
34629         * modules/cloexec (Makefile.am): Likewise.
34630         * modules/close-stream (Makefile.am): Likewise.
34631         * modules/closeout (Makefile.am): Likewise.
34632         * modules/crc (Makefile.am): Likewise.
34633         * modules/cycle-check (Makefile.am): Likewise.
34634         * modules/des (Makefile.am): Likewise.
34635         * modules/dirfd (Makefile.am): Likewise.
34636         * modules/dirname (Makefile.am): Likewise.
34637         * modules/dup2 (Makefile.am): Likewise.
34638         * modules/euidaccess (Makefile.am): Likewise.
34639         * modules/exclude (Makefile.am): Likewise.
34640         * modules/exitfail (Makefile.am): Likewise.
34641         * modules/fcntl-safer (Makefile.am): Likewise.
34642         * modules/file-type (Makefile.am): Likewise.
34643         * modules/fileblocks (Makefile.am): Likewise.
34644         * modules/filemode (Makefile.am): Likewise.
34645         * modules/filenamecat (Makefile.am): Likewise.
34646         * modules/fnmatch (Makefile.am): Likewise.
34647         * modules/fopen-safer (Makefile.am): Likewise.
34648         * modules/fpending (Makefile.am): Likewise.
34649         * modules/fprintftime (Makefile.am): Likewise.
34650         * modules/free (Makefile.am): Likewise.
34651         * modules/fsusage (Makefile.am): Likewise.
34652         * modules/ftruncate (Makefile.am): Likewise.
34653         * modules/fts (Makefile.am): Likewise.
34654         * modules/gc (Makefile.am): Likewise.
34655         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34656         * modules/getaddrinfo (Makefile.am): Likewise.
34657         * modules/getcwd (Makefile.am): Likewise.
34658         * modules/getdelim (Makefile.am): Likewise.
34659         * modules/getdomainname (Makefile.am): Likewise.
34660         * modules/getgroups (Makefile.am): Likewise.
34661         * modules/gethostname (Makefile.am): Likewise.
34662         * modules/gethrxtime (Makefile.am): Likewise.
34663         * modules/getline (Makefile.am): Likewise.
34664         * modules/getloadavg (Makefile.am): Likewise.
34665         * modules/getlogin_r (Makefile.am): Likewise.
34666         * modules/getopt (Makefile.am): Likewise.
34667         * modules/getpass (Makefile.am): Likewise.
34668         * modules/getpass-gnu (Makefile.am): Likewise.
34669         * modules/getsubopt (Makefile.am): Likewise.
34670         * modules/gettime (Makefile.am): Likewise.
34671         * modules/gettimeofday (Makefile.am): Likewise.
34672         * modules/getugroups (Makefile.am): Likewise.
34673         * modules/getusershell (Makefile.am): Likewise.
34674         * modules/glob (Makefile.am): Likewise.
34675         * modules/group-member (Makefile.am): Likewise.
34676         * modules/hard-locale (Makefile.am): Likewise.
34677         * modules/hash (Makefile.am): Likewise.
34678         * modules/hmac-md5 (Makefile.am): Likewise.
34679         * modules/hmac-sha1 (Makefile.am): Likewise.
34680         * modules/human (Makefile.am): Likewise.
34681         * modules/idcache (Makefile.am): Likewise.
34682         * modules/imaxabs (Makefile.am): Likewise.
34683         * modules/imaxdiv (Makefile.am): Likewise.
34684         * modules/inet_ntop (Makefile.am): Likewise.
34685         * modules/inet_pton (Makefile.am): Likewise.
34686         * modules/inttostr (Makefile.am): Likewise.
34687         * modules/isapipe (Makefile.am): Likewise.
34688         * modules/lchown (Makefile.am): Likewise.
34689         * modules/long-options (Makefile.am): Likewise.
34690         * modules/lstat (Makefile.am): Likewise.
34691         * modules/malloc (Makefile.am): Likewise.
34692         * modules/mathl (Makefile.am): Likewise.
34693         * modules/mbchar (Makefile.am): Likewise.
34694         * modules/md2 (Makefile.am): Likewise.
34695         * modules/md4 (Makefile.am): Likewise.
34696         * modules/md5 (Makefile.am): Likewise.
34697         * modules/memcasecmp (Makefile.am): Likewise.
34698         * modules/memchr (Makefile.am): Likewise.
34699         * modules/memcmp (Makefile.am): Likewise.
34700         * modules/memcoll (Makefile.am): Likewise.
34701         * modules/memcpy (Makefile.am): Likewise.
34702         * modules/memmem (Makefile.am): Likewise.
34703         * modules/memmove (Makefile.am): Likewise.
34704         * modules/mempcpy (Makefile.am): Likewise.
34705         * modules/memrchr (Makefile.am): Likewise.
34706         * modules/memset (Makefile.am): Likewise.
34707         * modules/memxor (Makefile.am): Likewise.
34708         * modules/mkancesdirs (Makefile.am): Likewise.
34709         * modules/mkdir (Makefile.am): Likewise.
34710         * modules/mkdir-p (Makefile.am): Likewise.
34711         * modules/mkdtemp (Makefile.am): Likewise.
34712         * modules/mkstemp (Makefile.am): Likewise.
34713         * modules/mktime (Makefile.am): Likewise.
34714         * modules/modechange (Makefile.am): Likewise.
34715         * modules/mountlist (Makefile.am): Likewise.
34716         * modules/nanosleep (Makefile.am): Likewise.
34717         * modules/openat (Makefile.am): Likewise.
34718         * modules/pagealign_alloc (Makefile.am): Likewise.
34719         * modules/physmem (Makefile.am): Likewise.
34720         * modules/poll (Makefile.am): Likewise.
34721         * modules/posixtm (Makefile.am): Likewise.
34722         * modules/posixver (Makefile.am): Likewise.
34723         * modules/putenv (Makefile.am): Likewise.
34724         * modules/quote (Makefile.am): Likewise.
34725         * modules/quotearg (Makefile.am): Likewise.
34726         * modules/raise (Makefile.am): Likewise.
34727         * modules/read-file (Makefile.am): Likewise.
34728         * modules/readline (Makefile.am): Likewise.
34729         * modules/readlink (Makefile.am): Likewise.
34730         * modules/readtokens (Makefile.am): Likewise.
34731         * modules/readutmp (Makefile.am): Likewise.
34732         * modules/realloc (Makefile.am): Likewise.
34733         * modules/regex (Makefile.am): Likewise.
34734         * modules/rename (Makefile.am): Likewise.
34735         * modules/rename-dest-slash (Makefile.am): Likewise.
34736         * modules/rijndael (Makefile.am): Likewise.
34737         * modules/rmdir (Makefile.am): Likewise.
34738         * modules/rpmatch (Makefile.am): Likewise.
34739         * modules/safe-read (Makefile.am): Likewise.
34740         * modules/safe-write (Makefile.am): Likewise.
34741         * modules/same (Makefile.am): Likewise.
34742         * modules/save-cwd (Makefile.am): Likewise.
34743         * modules/savedir (Makefile.am): Likewise.
34744         * modules/setenv (Makefile.am): Likewise.
34745         * modules/settime (Makefile.am): Likewise.
34746         * modules/sha1 (Makefile.am): Likewise.
34747         * modules/sig2str (Makefile.am): Likewise.
34748         * modules/snprintf (Makefile.am): Likewise.
34749         * modules/stdlib-safer (Makefile.am): Likewise.
34750         * modules/stpcpy (Makefile.am): Likewise.
34751         * modules/stpncpy (Makefile.am): Likewise.
34752         * modules/strcase (Makefile.am): Likewise.
34753         * modules/strcasestr (Makefile.am): Likewise.
34754         * modules/strchrnul (Makefile.am): Likewise.
34755         * modules/strcspn (Makefile.am): Likewise.
34756         * modules/strdup (Makefile.am): Likewise.
34757         * modules/strerror (Makefile.am): Likewise.
34758         * modules/strftime (Makefile.am): Likewise.
34759         * modules/strndup (Makefile.am): Likewise.
34760         * modules/strnlen (Makefile.am): Likewise.
34761         * modules/strpbrk (Makefile.am): Likewise.
34762         * modules/strsep (Makefile.am): Likewise.
34763         * modules/strstr (Makefile.am): Likewise.
34764         * modules/strtod (Makefile.am): Likewise.
34765         * modules/strtoimax (Makefile.am): Likewise.
34766         * modules/strtok_r (Makefile.am): Likewise.
34767         * modules/strtol (Makefile.am): Likewise.
34768         * modules/strtoll (Makefile.am): Likewise.
34769         * modules/strtoul (Makefile.am): Likewise.
34770         * modules/strtoull (Makefile.am): Likewise.
34771         * modules/strtoumax (Makefile.am): Likewise.
34772         * modules/strverscmp (Makefile.am): Likewise.
34773         * modules/time_r (Makefile.am): Likewise.
34774         * modules/timegm (Makefile.am): Likewise.
34775         * modules/tmpfile-safer (Makefile.am): Likewise.
34776         * modules/unistd-safer (Makefile.am): Likewise.
34777         * modules/unlinkdir (Makefile.am): Likewise.
34778         * modules/userspec (Makefile.am): Likewise.
34779         * modules/utime (Makefile.am): Likewise.
34780         * modules/utimecmp (Makefile.am): Likewise.
34781         * modules/utimens (Makefile.am): Likewise.
34782         * modules/vasnprintf (Makefile.am): Likewise.
34783         * modules/vasprintf (Makefile.am): Likewise.
34784         * modules/vsnprintf (Makefile.am): Likewise.
34785         * modules/xalloc (Makefile.am): Likewise.
34786         * modules/xgetcwd (Makefile.am): Likewise.
34787         * modules/xnanosleep (Makefile.am): Likewise.
34788         * modules/xreadlink (Makefile.am): Likewise.
34789         * modules/xstrtod (Makefile.am): Likewise.
34790         * modules/xstrtol (Makefile.am): Likewise.
34791         * modules/xstrtold (Makefile.am): Likewise.
34792         * modules/yesno (Makefile.am): Likewise.
34793
34794 2006-10-12  Jim Meyering  <jim@meyering.net>
34795
34796         * m4/getloadavg.m4: Revert the change below.
34797
34798         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
34799         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
34800         fail with a symlink, which is what coreutils' ./bootstrap now
34801         creates by default.
34802
34803 2006-10-12  Bruno Haible  <bruno@clisp.org>
34804
34805         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
34806         mingw.
34807         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
34808         MSVC and mingw explicitly.
34809
34810 2006-10-11  Simon Josefsson  <jas@extundo.com>
34811             Bruno Haible  <bruno@clisp.org>
34812
34813         Add support for multiple gnulib-tool invocations in the scope of a
34814         single configure.ac file.
34815         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
34816         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
34817         with the same contents as the _LIBADD variable.
34818         (func_emit_initmacro_start, func_emit_initmacro_end,
34819         func_emit_initmacro_done): New functions.
34820         (func_import, func_create_testdir): Invoke them. Allow the identifiers
34821         gl_LIBOBJS and gl_LTLIBOBJS.
34822
34823 2006-10-11  Bruno Haible  <bruno@clisp.org>
34824
34825         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
34826         (func_create_testdir): Don't create po/Makefile.am, don't invoke
34827         autoreconf. Instead, invoke autopoint explicitly but move back the
34828         *.m4 files from gnulib.
34829
34830 2006-10-11  Bruno Haible  <bruno@clisp.org>
34831
34832         * gnulib-tool (func_usage): Make module names after --create-testdir
34833         optional.
34834         (func_create_testdir): If no module was specified, use nearly all
34835         modules.
34836
34837 2006-10-12  Jim Meyering  <jim@meyering.net>
34838
34839         Big performance improvement for fts-based tools that use FTS_NOSTAT.
34840         Avoid spurious inode-mismatch problems on non-POSIX file systems.
34841         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
34842         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
34843         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
34844         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
34845         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
34846         (fts_set_stat_required): New function.
34847         (fts_open): Defer the calls to fts_stat, if possible or requested.
34848         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
34849         into fts_stat itself.
34850         (fts_read): Perform any required (deferred) fts_stat call.
34851         (fts_build): Likewise, for the directory we're about to open and read.
34852         In the readdir loop, carefully decide whether each entry will require
34853         an eventual call to fts_stat, using dirent.d_type info if available.
34854         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
34855         a command line argument into this function.  Update all callers.
34856         Map a return value of FTS_DOT to FTS_D for a command line argument.
34857         * modules/fts (Depends-on): Add d-type.  Alphabetize.
34858         Thanks to Miklos Szeredi for his tenacity and for the initial
34859         bug report about "find" failing on a FUSE-based file system.
34860
34861         * lib/fts.c (fts_open): Use consistent indentation.
34862
34863 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34864
34865         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
34866         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
34867         reported by Jim Meyering.  All uses of cache variables renamed
34868         to match Autoconf's.
34869         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
34870         the other one.
34871
34872         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
34873         Fix misspelling in diagnostic.
34874
34875 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34876
34877         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
34878         defined.  Problem reported by Matthew Woehlke.
34879
34880         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
34881         Add support for Tandem NonStop R series.
34882         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
34883         Use new macro.
34884
34885         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
34886         (has_trailing_slash): Omit size arg; all callers changed.
34887         Omit 'inline', since it doesn't help performance and we'd
34888         need to configure it.
34889         Don't count //, ///, etc. as having a trailing slash.
34890         As a side effect, this removes a C99ism reported by Matthew Woehlke.
34891         (rpl_rename_dest_slash): On failure, use rename's errno rather
34892         than (in some cases) an incorrect or junk errno.
34893         Simplify code by removing need to compute length; this does
34894         cause it to make two passes instead of one over the file name,
34895         but it's worth it.
34896
34897         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
34898         change, since Autoconf's version may no longer be appropriate now
34899         that we are using CVS Autoconf's version.  Add support for Tandem.
34900
34901 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34902             Bruno Haible  <bruno@clisp.org>
34903
34904         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
34905         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
34906         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
34907         gl_AC_TYPE_LONG_LONG.
34908
34909         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
34910         instead of HAVE_LONG_LONG.
34911         * lib/printf-args.c (printf_fetchargs): Likewise.
34912         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
34913         * lib/vasnprintf.c (VASNPRINTF): Likewise.
34914         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
34915         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
34916         gl_AC_TYPE_LONG_LONG.
34917
34918 2006-10-11  Bruno Haible  <bruno@clisp.org>
34919
34920         * m4/longlong.m4: Add comments.
34921         * m4/ulonglong.m4: Likewise.
34922
34923 2006-10-10  Bruno Haible  <bruno@clisp.org>
34924
34925         Make it possible to #define stpcpy, strdup to aliases.
34926         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
34927         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
34928
34929 2006-10-10  Bruno Haible  <bruno@clisp.org>
34930
34931         Make it possible to #define gcd to an alias.
34932         * lib/gcd.c: Include config.h.
34933
34934 2006-10-10  Bruno Haible  <bruno@clisp.org>
34935
34936         Make it possible to #define c_isascii to an alias.
34937         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
34938         defined. Undefine the macros before defining them, to avoid gcc
34939         warnings.
34940         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
34941         define NO_C_CTYPE_MACROS early.
34942
34943 2006-10-10  Bruno Haible  <bruno@clisp.org>
34944
34945         Make it possible to #define set_program_name to an alias.
34946         * lib/progname.c: Don't undefine set_program_name; instead, undefine
34947         ENABLE_RELOCATABLE early.
34948
34949 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34950
34951         Port to Tandem NSK OSS, which has 64-bit signed int but at most
34952         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
34953         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
34954         More generally, don't assume that 64-bit signed int is available
34955         if unsigned int is, and vice versa.
34956         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
34957         unsigned symbols, not on their signed counterparts.
34958         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
34959         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
34960         (UINT64_C, UINTMAX_C):
34961         Likewise.
34962         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
34963         unsigned counterparts.
34964         (Have_long_long, Unsigned): New macros.
34965         (Int): Renamed from INT.
34966         (strtoimax): Use the new macros.
34967         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
34968         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
34969         * modules/inttypes (inttypes.h): Substitute
34970         HAVE_UNSIGNED_LONG_LONG_INT.
34971         * modules/stdint (stdint.h): Likewise.
34972         (Files): Add m4/ulonglong.m4.
34973
34974 2006-10-10  Bruno Haible  <bruno@clisp.org>
34975
34976         Fix a gcc -Wshadow warning.
34977         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
34978         to 'bucket'.
34979         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
34980         gl_linked_indexof_from_to): Likewise.
34981         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
34982         Likewise.
34983         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
34984         Likewise.
34985         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
34986         Reported by Eric Blake.
34987
34988 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34989
34990         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
34991         for NetBSD.  Problem reported by Bruno Haible.
34992
34993 2006-10-09  Jim Meyering  <jim@meyering.net>
34994
34995         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
34996         Patch from Bruno Haible.
34997
34998 2006-10-09  Jim Meyering  <jim@meyering.net>
34999
35000         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
35001         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
35002         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
35003
35004 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35005
35006         Don't include <config.h> twice; this doesn't work in some cases,
35007         e.g., when config.h has "#define intmax_t long long int" and
35008         we include <config.h>, <inttypes.h>, <config.h> in that order.
35009         Problem reported by Matthew Woehlke in:
35010         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
35011         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
35012         * lib/fts-cycle.c: Don't include config.h.
35013         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
35014         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
35015         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
35016         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
35017         inttypes.h.
35018         * lib/xstrtoumax.c: Likewise.
35019         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
35020         __strtol and the like, so that this module is more like its siblings.
35021         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
35022         Remove; no longer needed now that we assume gnulib inttypes.h.
35023
35024 2006-10-08  Bruno Haible  <bruno@clisp.org>
35025
35026         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
35027         option.
35028
35029 2006-10-07  Jim Meyering  <jim@meyering.net>
35030
35031         * modules/inttypes (inttypes.h): Revert what seems to have been
35032         an inadvertent part of today's change: use "|", not "/" in the
35033         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
35034
35035 2006-10-07  Bruno Haible  <bruno@clisp.org>
35036
35037         * modules/sublist: New file.
35038
35039 2006-10-07  Bruno Haible  <bruno@clisp.org>
35040
35041         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
35042         * modules/argz (argz.h): Likewise.
35043         * modules/arpa_inet (arpa/inet.h): Likewise.
35044         * modules/byteswap (byteswap.h): Likewise.
35045         * modules/configmake (configmake.h): Likewise.
35046         * modules/fcntl (fcntl.h): Likewise.
35047         * modules/fnmatch (fnmatch.h): Likewise.
35048         * modules/getopt (getopt.h): Likewise.
35049         * modules/glob (glob.h): Likewise.
35050         * modules/inttypes (inttypes.h): Likewise.
35051         * modules/netinet_in (netinet/in.h): Likewise.
35052         * modules/poll (poll.h): Likewise.
35053         * modules/stdbool (stdbool.h): Likewise.
35054         * modules/stdint (stdint.h): Likewise.
35055         * modules/sys_select (sys/select.h): Likewise.
35056         * modules/sys_socket (sys/socket.h): Likewise.
35057         * modules/sys_stat (sys/stat.h): Likewise.
35058         * modules/sysexits (sysexits.h): Likewise.
35059         * modules/unistd (unistd.h): Likewise.
35060         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35061         Add a "DO NOT EDIT" comment to the generated file.
35062         (func_import): Likewise for gnulib-comp.m4.
35063
35064 2006-10-07  Bruno Haible  <bruno@clisp.org>
35065
35066         * lib/gl_sublist.h: New file.
35067         * lib/gl_sublist.c: New file.
35068
35069 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35070
35071         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
35072         name (relative to the original working directory) and the file
35073         name component (relative to the temporary working directory).  All
35074         callers changed.
35075         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
35076         * lib/mkdir-p.c (make_dir_parents): Likewise.
35077         * lib/mkdir-p.h (make_dir_parents): Likewise.
35078
35079 2006-10-06  Eric Blake  <ebb9@byu.net>
35080
35081         Define several macros for use by the clean-temp module.
35082         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
35083         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
35084         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
35085
35086         * lib/clean-temp.h (close_stream_temp): New declaration.
35087         * lib/clean-temp.c (includes): Pull in headers according to what
35088         other modules are in use.
35089         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
35090
35091 2006-10-06  Bruno Haible  <bruno@clisp.org>
35092
35093         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
35094         instead of fopen, fwriteerror.
35095
35096 2006-10-06  Bruno Haible  <bruno@clisp.org>
35097
35098         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
35099         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
35100         int.
35101         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
35102         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
35103         Return an error indicator.
35104         Suggested by Eric Blake.
35105
35106 2006-10-06  Bruno Haible  <bruno@clisp.org>
35107
35108         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
35109         Reported by Eric Blake.
35110
35111 2006-10-06  Bruno Haible  <bruno@clisp.org>
35112
35113         * modules/closeout (Description): Mention stderr too.
35114
35115 2006-10-06  Bruno Haible  <bruno@clisp.org>
35116         and Paul Eggert  <eggert@cs.ucla.edu>
35117
35118         * lib/closeout.c (close_stdout): Also close stderr.
35119         * lib/closeout.h: Update comment.
35120
35121 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
35122
35123         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
35124         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
35125         * lib/dirchownmod.c: Include lchown.h.
35126         * lib/lchown.c: Don't include files that lchown.h now includes.
35127         Don't declare chown, since lchown.h now does that.
35128         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
35129         (lchown): Define to rpl_chown if lchown is declared but
35130         does not exist.  Declare using a prototype if lchown is not
35131         declared.  Add a copyright notice.
35132         * lib/mkstemp.h: Include <unistd.h>.
35133         * lib/openat.c: Include lchown.h.
35134
35135         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
35136         we now test for that separately.
35137         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
35138         rather than O_NOFOLLOW, when testing whether it's possible to
35139         avoid a race condition reliably.
35140         * lib/savewd.c (savewd_chdir): Likewise.
35141
35142         Remove macros that are no longer needed now that stdint.h is
35143         reliable.
35144         * lib/fsusage.c (UINTMAX_MAX): Remove.
35145         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
35146         * lib/utimecmp.c (SIZE_MAX): Remove.
35147
35148         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
35149
35150         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
35151         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
35152         O_NOATIME works.
35153
35154 2006-10-05  Bruno Haible  <bruno@clisp.org>
35155
35156         * lib/gl_list.h (gl_sortedlist_search_from_to,
35157         gl_sortedlist_indexof_from_to): New declarations.
35158         (gl_list_implementation): New fields sortedlist_search_from_to,
35159         sortedlist_indexof_from_to.
35160         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
35161         inline functions.
35162         * lib/gl_list.c (gl_sortedlist_search_from_to,
35163         gl_sortedlist_indexof_from_to): New functions.
35164         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
35165         function.
35166         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
35167         (gl_array_sortedlist_search_from_to): New function.
35168         (gl_array_list_implementation): Update.
35169         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
35170         function.
35171         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
35172         (gl_carray_sortedlist_search_from_to): New function.
35173         (gl_carray_list_implementation): Update.
35174         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
35175         gl_linked_sortedlist_indexof_from_to): New functions.
35176         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35177         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35178         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
35179         gl_tree_sortedlist_indexof_from_to): New functions.
35180         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35181         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35182         Update.
35183         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35184         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
35185         Update.
35186
35187 2006-10-05  Bruno Haible  <bruno@clisp.org>
35188
35189         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
35190         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
35191         (struct gl_list_implementation): Add fields search_from_to,
35192         indexof_from_to. Remove fields search, indexof.
35193         (gl_list_search): Use the search_from_to method.
35194         (gl_list_search_from, gl_list_search_from_to): New functions.
35195         (gl_list_indexof): Use the indexof_from_to method.
35196         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
35197         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
35198         (gl_list_search_from, gl_list_search_from_to): New functions.
35199         (gl_list_indexof): Use the indexof_from_to method.
35200         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
35201         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
35202         gl_array_indexof. Add start_index, end_index arguments.
35203         (gl_array_search_from_to): Renamed from gl_array_search. Add
35204         start_index, end_index arguments.
35205         (gl_array_remove, gl_array_list_implementation): Update.
35206         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
35207         gl_carray_indexof. Add start_index, end_index arguments.
35208         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
35209         start_index, end_index arguments.
35210         (gl_carray_remove, gl_carray_list_implementation): Update.
35211         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
35212         gl_linked_search. Add start_index, end_index arguments.
35213         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
35214         start_index, end_index arguments.
35215         (gl_linked_remove): Update.
35216         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35217         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35218         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
35219         field to 'size_t'.
35220         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
35221         gl_tree_search. Add start_index, end_index arguments.
35222         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
35223         start_index, end_index arguments.
35224         (gl_tree_remove): Update.
35225         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35226         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35227         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
35228         function.
35229         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
35230         gl_tree_search. Add start_index, end_index arguments.
35231         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
35232         start_index, end_index arguments.
35233         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35234         Update.
35235         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
35236
35237 2006-10-05  Bruno Haible  <bruno@clisp.org>
35238
35239         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
35240
35241         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
35242         fwriteerror_temp): New declarations.
35243         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
35244         (descriptors): New variable.
35245         (cleanup): First, close the descriptors.
35246         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
35247         fclose_temp, fwriteerror_temp): New functions.
35248
35249 2006-10-04  Jim Meyering  <jim@meyering.net>
35250
35251         * lib/fts.c (fts_open): Tiny comment change.
35252
35253 2006-10-04  Bruno Haible  <bruno@clisp.org>
35254
35255         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
35256         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
35257         gl_LOCK_BODY.
35258         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
35259         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
35260         gl_LOCK_EARLY_BODY.
35261         (gl_LOCK): Require gl_LOCK_BODY.
35262
35263 2006-10-04  Bruno Haible  <bruno@clisp.org>
35264
35265         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
35266         (gl_oset_search_atleast): New declaration.
35267         (struct gl_oset_implementation): Add field 'search_atleast'.
35268         (gl_oset_search_atleast): New inline function.
35269         * lib/gl_oset.c (gl_oset_search_atleast): New function.
35270         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
35271         (gl_array_oset_implementation): Update.
35272         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
35273         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
35274         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
35275
35276 2006-10-04  Bruno Haible  <bruno@clisp.org>
35277
35278         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
35279
35280 2006-10-03  Bruno Haible  <bruno@clisp.org>
35281
35282         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
35283         from gl_avltreehash_list_implementation.
35284
35285 2006-10-03  Bruno Haible  <bruno@clisp.org>
35286
35287         * lib/gl_oset.c (gl_oset_add): Fix return type.
35288
35289 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
35290
35291         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
35292
35293 2006-10-02  Eric Blake  <ebb9@byu.net>
35294
35295         * modules/strnlen (Depends-on): Add extensions.
35296
35297 2006-10-02  Eric Blake  <ebb9@byu.net>
35298
35299         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
35300         definition in 2.60+.
35301
35302 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
35303
35304         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
35305         checks.
35306
35307 2006-10-02  Bruno Haible  <bruno@clisp.org>
35308
35309         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
35310         to the AUTOMAKE_OPTIONS.
35311         Reported by Jim Meyering.
35312
35313 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
35314
35315         Work around bug in Solaris 10 /proc file system:
35316         /proc/self/fd/NNN/.. isn't the parent directory of
35317         the directory whose file descriptor is NNN.  This needs to
35318         be worked around at run time, not compile time, since a
35319         program might be built on Solaris 8, where things work, and
35320         run on Solaris 10.
35321         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
35322         to use the following interface instead:
35323         (OPENAT_BUFFER_SIZE): New macro.
35324         (openat_proc_name): New function.
35325         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
35326         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
35327         Likewise.
35328         * lib/openat-proc.c: New file.
35329         * modules/openat (Files): Add lib/openat-proc.c.
35330         (Depends-on): Add same-inode, stdbool.
35331         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
35332
35333 2006-09-29  Bruno Haible  <bruno@clisp.org>
35334
35335         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
35336         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
35337         argument. Set stdout_closed before testing for ferror, not after.
35338         (fwriteerror, fwriteerror_no_ebadf): New functions.
35339
35340 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35341
35342         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
35343
35344 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
35345
35346         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
35347         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
35348
35349 2006-09-28  Jim Meyering  <jim@meyering.net>
35350
35351         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
35352         Include <unistd.h>.
35353
35354 2006-09-28  Bruno Haible  <bruno@clisp.org>
35355
35356         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
35357         * modules/linkedhash-list (Depends-on): Likewise.
35358         * modules/rbtreehash-list (Depends-on): Likewise.
35359
35360 2006-09-28  Bruno Haible  <bruno@clisp.org>
35361
35362         * lib/strndup.h: Simplify the redefinition of strndup.
35363         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
35364         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
35365
35366 2006-09-28  Bruno Haible  <bruno@clisp.org>
35367
35368         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
35369         * lib/gl_linkedhash_list.c: Likewise.
35370         * lib/gl_rbtreehash_list.c: Likewise.
35371
35372 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
35373
35374         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
35375         getaddrinfo.
35376
35377         * lib/__fpending.h: Don't include <stdio_ext.h> unless
35378         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
35379         it causes <stdio_ext.h> to cause a compile-time error.
35380         Problem reported by Nelson H. F. Beebe.
35381         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
35382         of HAVE_DECL___PENDING.
35383
35384         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
35385         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
35386         declaration.
35387
35388 2006-09-27  Jim Meyering  <jim@meyering.net>
35389
35390         This file could end up with a definition for a function
35391         named __strndup, rather than rpl_strndup on a system with
35392         incomplete weak_alias support.
35393         * lib/strndup.c (strndup): Rename from __strndup.
35394         Remove #defines that used to map __strndup to strndup.
35395         Don't use K&R prototypes.
35396         Remove LIBC-related code, since this file is not sync'd with glibc.
35397         * lib/strndup.h: Revamp, accordingly.
35398         * m4/strndup.m4: Modernize.
35399
35400 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
35401
35402         * modules/savewd (Depends-on): Add 'raise'.
35403         * lib/savewd.c: Include <signal.h>, for 'raise'.
35404
35405 2006-09-26  Jim Meyering  <jim@meyering.net>
35406
35407         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
35408         when we detect Darwin 8.7.0's acl_get_file bug.
35409         Rearrange to perform the new (below) run-test while $LIBS
35410         contains any acl-related library.  Set USE_ACL at the end.
35411         (gl_ACL_GET_FILE): New function.
35412
35413 2006-09-26  Eric Blake  <ebb9@byu.net>
35414
35415         * lib/verror.c: Include <config.h> unconditionally.
35416
35417 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
35418
35419         * modules/clock-time (Maintainer): Add self.
35420         * modules/getlogin_r (Depends-on): Add extensions.
35421
35422 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35423
35424         * modules/clock-time: New module.
35425         * modules/nanosleep (Depends-on): Add clock-time.
35426         * modules/gethrxtime (Depends-on): Likewise.
35427         * modules/gettime (Depends-on): Likewise.
35428         * modules/settime (Depends-on): Likewise.
35429
35430         * modules/fts-lgpl: Depend on openat.
35431         * modules/mkancesdirs: Depend on savewd.
35432         * modules/mkdir-p: Likewise.
35433
35434 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35435
35436         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
35437
35438         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
35439         `gl_have_arbitrary_file_name_length_limit' to
35440         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
35441         actually works between configure runs.
35442
35443 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35444             Bruno Haible  <bruno@clisp.org>
35445
35446         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
35447
35448 2006-09-25  Jim Meyering  <jim@meyering.net>
35449
35450         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
35451         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
35452
35453 2006-09-25  Eric Blake  <ebb9@byu.net>
35454
35455         * gnulib-tool (func_import, func_create_testdir): Fix typos in
35456         exec's in 2006-09-18 patch when shuffling fds.
35457
35458 2006-09-25  Bruno Haible  <bruno@clisp.org>
35459
35460         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
35461         Reported by Jim Meyering.
35462
35463 2006-09-24  Jim Meyering  <jim@meyering.net>
35464
35465         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
35466         compare a pointer against a literal "0".  That caused failures with
35467         at least HP-UX's hpcc.
35468
35469 2006-09-22  Simon Josefsson  <jas@extundo.com>
35470
35471         * modules/gc-sha1:
35472         * modules/gc-md4:
35473         * modules/gc-hmac-sha1:
35474         * modules/gc-hmac-md5:
35475         * modules/gc-des:
35476         * modules/gc-arcfour: Distribute more files.
35477
35478 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35479
35480         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
35481         (gl_linked_iterator_from_to): Initialize struct completely.
35482         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
35483         (gl_tree_iterator_from_to): Likewise
35484         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
35485         * lib/gl_array_list.c [lint] (gl_array_iterator)
35486         (gl_array_iterator_from_to): Likewise.
35487         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
35488         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
35489         (gl_carray_iterator_from_to): Likewise.
35490
35491         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
35492         * lib/md4.c (md4_process_block): Remove unused variable.
35493         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
35494         parentheses for clarity.
35495
35496 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35497
35498         * modules/bison-i18n (Depends-on): Add gettext.
35499
35500 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35501
35502         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
35503         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35504         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
35505         also add missing comma that caused broken test.
35506         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
35507         stdlib.h, for `abort'.
35508         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
35509         variables.
35510         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
35511         include unistd.h if present, for `rmdir'.
35512         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
35513         variables.
35514         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
35515         in the process include standard headers for prototypes.
35516         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
35517         gets declared on GNU/Linux.
35518         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
35519         unistd.h, for `rmdir'.
35520         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
35521
35522         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
35523         always true.
35524         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
35525
35526         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
35527
35528 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35529
35530         * gnulib-tool (func_version): Create output all at once.  This
35531         may help avoid triggering unnecessary SIGPIPEs, and at any
35532         rate it doesn't hurt.
35533
35534 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35535             Bruno Haible  <bruno@clisp.org>
35536
35537         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
35538         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35539         * m4/signed.m4 (bh_C_SIGNED): Likewise.
35540
35541         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
35542         (gl_FUNC_VASPRINTF): Invoke it.
35543
35544 2006-09-22  Bruno Haible  <bruno@clisp.org>
35545
35546         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
35547         getloadavg.c as first argument.
35548
35549 2006-09-22  Bruno Haible  <bruno@clisp.org>
35550
35551         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
35552         at the beginning of the gl_INIT macro.
35553         * modules/getloadavg (configure.ac): Pass $gl_source_base to
35554         gl_GETLOADAVG.
35555
35556 2006-09-22  Bruno Haible  <bruno@clisp.org>
35557
35558         * gnulib-tool (func_create_megatestdir): Don't include the config-h
35559         module.
35560         Suggested by Ralf Wildenhues.
35561
35562 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
35563
35564         Import this patch from libc:
35565
35566         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
35567
35568         * lib/regex_internal.c (re_string_reconstruct): Handle
35569         offset < pstr->valid_raw_len && pstr->offsets_needed case.
35570         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
35571         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
35572         re_string_context_at.
35573
35574         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
35575         now requires it.
35576         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
35577         gl_REGEX now does it for us.
35578         (gl_REGEX): Add test taken from
35579         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
35580
35581         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
35582         Check that large offsets work.  Modernize Autoconf usages.
35583         Prefer "yes" to mean a good thing rather than a bad.
35584         Don't put "#define mkstemp" in config.h, as this might interfere
35585         with standard system headers that "#define mkstemp mkstemp64".
35586
35587         * modules/mkstemp (Depends-on): Add extensions, so that
35588         mkstemp is visible on some platforms.
35589         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
35590         (Include): Change to "mkstemp.h" from <stdlib.h>.
35591         (Files): Add mkstemp.h.
35592
35593         * lib/mkstemp.h: New file, since some standard headers
35594         #define mkstemp.
35595         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
35596         Include "mkstemp.h".
35597         Make the _LIBC code resemble glibc original more,
35598         e.g., use K&R style.
35599         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
35600         (mkstemp): Remove, since mkstemp.h does this for us.
35601         * lib/stdlib--.h: Include mkstemp.h.
35602
35603         Import this patch from libc:
35604
35605         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
35606
35607         * lib/tempname.c (__gen_tempname): Change attempts_min
35608         into a macro.  Use preprocessor to decide how to initialize
35609         attempts [Coverity CID 67].
35610
35611 2006-09-20  Bruno Haible  <bruno@clisp.org>
35612
35613         * lib/mkdtemp.c: Import from libc.
35614         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
35615                 * sysdeps/posix/tempname.c (__gen_tempname): Change
35616                 attempts_min into a macro.  Use preprocessor to decide how to
35617                 initialize attempts [Coverity CID 67].
35618         2001-11-27  Paul Eggert  <eggert@twinsun.com>
35619                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
35620                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
35621
35622 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35623
35624         * gnulib-tool (func_exit): New function, to allow to pass the
35625         exit status portably through the trap.  Use everywhere.
35626         (--help, --version): Signal a write error.
35627         (trap): catch SIGPIPE, for write errors.
35628         Exit at the end of the trap, with the correct exit status.
35629
35630 2006-09-19  Karl Berry  <karl@gnu.org>
35631
35632         * doc/gnulib.texi: note about the license texinfo files.
35633
35634 2006-09-19  Eric Blake  <ebb9@byu.net>
35635
35636         * gnulib-tool: Avoid space-tab.
35637
35638 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35639
35640         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
35641         that prevented coreutils 6.1 from building.  Problem reported
35642         by Petter Reinholdtsen.
35643
35644 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35645
35646         * gnulib-tool (avoidlist): Fix typo that broke options like
35647         --avoid=lock that are used by coreutils bootstrap.
35648
35649 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
35650
35651         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
35652         more systematically.
35653
35654 2006-09-18  Jim Meyering  <jim@meyering.net>
35655
35656         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
35657
35658 2006-09-18  Bruno Haible  <bruno@clisp.org>
35659
35660         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
35661
35662 2006-09-18  Bruno Haible  <bruno@clisp.org>
35663
35664         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
35665         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
35666         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
35667         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
35668         * m4/gettext.m4: Require autoconf >= 2.52.
35669         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
35670         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
35671         of gl_cv_header_inttypes_h.
35672
35673 2006-09-18  Bruno Haible  <bruno@clisp.org>
35674
35675         * lib/javaversion.c: Include configmake.h.
35676
35677 2006-09-18  Bruno Haible  <bruno@clisp.org>
35678
35679         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
35680         avoid that the while loops be executed in a subshell.
35681
35682 2006-09-18  Bruno Haible  <bruno@clisp.org>
35683
35684         * MODULES.html.sh (func_module): Break long lines.
35685         Suggested by Bruce Korb <bkorb@gnu.org>.
35686
35687 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35688
35689         Speed up by a factor of 1.12.
35690         * gnulib-tool (nl): New variable.
35691         (func_import): Rewrite include directive extraction to only read each
35692         directive once.
35693
35694 2006-09-17  Bruno Haible  <bruno@clisp.org>
35695
35696         * modules/javaversion (Makefile.am): Remove DEFS setting.
35697         (Depends-on): Add configmake, for PKGDATADIR definition.
35698
35699 2006-09-17  Bruno Haible  <bruno@clisp.org>
35700
35701         * gnulib-tool (func_create_testdir): Rewrite all files at once.
35702
35703 2006-09-17  Bruno Haible  <bruno@clisp.org>
35704
35705         * gnulib-tool (func_append): New function, stolen from libtool.m4.
35706         (func_modules_transitive_closure, func_modules_add_dummy,
35707         func_modules_to_filelist, func_import, func_create_testdir,
35708         func_create_megatestdir, ...): Use it wherever possible.
35709         Suggested by Ralf Wildenhues.
35710
35711 2006-09-16  Karl Berry  <karl@gnu.org>
35712
35713         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
35714         to avoid sectioning errors.
35715         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
35716         [ifinfo]: blank line after @center-ed titles.
35717         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
35718         Spell FSF address consistently with others.
35719         (These changes approved by rms.)
35720
35721 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35722
35723         Speed up by a factor of 1.61.
35724         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
35725         already checked module names again.
35726
35727 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35728
35729         Speed up by a factor of 1.13.
35730         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
35731         for new_files, and the input to func_add_or_update.
35732
35733 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35734
35735         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
35736         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
35737
35738 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35739
35740         * modules/mkancesdirs (Depends-on): Add fcntl.
35741         * modules/savewd: New file.
35742         * MODULES.html.sh (File system functions): Add savewd.
35743
35744         * modules/configmake (Makefile.am): Add support for the
35745         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
35746
35747 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35748
35749         * m4/savewd.m4: New file.
35750
35751 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35752
35753         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
35754         (dirchownmod): New arg FD.  All callers changed.
35755         Use FD rather than opening the directory ourself, as opening is
35756         now the caller's responsibility.
35757         * lib/dirchownmod.h: Likewise.
35758         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
35759         hosts that require <sys/types.h> before <sys/stat.h>.  Include
35760         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
35761         (test_dir): Remove.
35762         (mkancesdirs): Return length of prefix of FILE that has already
35763         been made, or -2 if there is a child doing the work.  Redo
35764         algorithm so that it is O(N) rather than O(N**2).  Optimize away
35765         ".", and treat ".." specially since it might stray back into
35766         already-created areas.  Use a subprocess if necessary.  New arg
35767         WD; all users changed.  MAKE_DIR function should now return 1
35768         if it creates a directory that is not readable.  Return -2 if
35769         a child process is spun off.
35770         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
35771         Adjust signature to match code.
35772         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
35773         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
35774         all users changed.
35775         * lib/savewd.c, lib/savewd.h: New files.
35776
35777 2006-09-15  Jim Meyering  <jim@meyering.net>
35778
35779         * modules/rename-dest-slash: New module.
35780         * MODULES.html.sh (posix_compat): Add it here.
35781
35782         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
35783
35784 2006-09-15  Jim Meyering  <jim@meyering.net>
35785
35786         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
35787         file.
35788
35789         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
35790
35791 2006-09-15  Jim Meyering  <jim@meyering.net>
35792
35793         * lib/rename-dest-slash.c (has_trailing_slash): Use
35794         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
35795         (rpl_rename_dest_slash): Perform the cheaper trailing slash
35796         test before testing whether SRC is a directory.
35797         Suggestions from Bruno Haible.
35798
35799         Avoid a warning about an unused variable.
35800         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
35801         into the #ifdef block where it's used.
35802
35803         * lib/rename-dest-slash.c: New file.
35804
35805 2006-09-14  Bruno Haible  <bruno@clisp.org>
35806
35807         * lib/allocsa.c: Include <config.h> unconditionally.
35808         * lib/asnprintf.c: Likewise.
35809         * lib/asprintf.c: Likewise.
35810         * lib/c-strcasecmp.c: Likewise.
35811         * lib/c-strcasestr.c: Likewise.
35812         * lib/c-strncasecmp.c: Likewise.
35813         * lib/c-strstr.c: Likewise.
35814         * lib/classpath.c: Likewise.
35815         * lib/clean-temp.c: Likewise.
35816         * lib/concatpath.c: Likewise.
35817         * lib/copy-file.c: Likewise.
35818         * lib/csharpcomp.c: Likewise.
35819         * lib/csharpexec.c: Likewise.
35820         * lib/execute.c: Likewise.
35821         * lib/fatal-signal.c: Likewise.
35822         * lib/findprog.c: Likewise.
35823         * lib/fwriteerror.c: Likewise.
35824         * lib/gl_array_list.c: Likewise.
35825         * lib/gl_array_oset.c: Likewise.
35826         * lib/gl_avltree_list.c: Likewise.
35827         * lib/gl_avltree_oset.c: Likewise.
35828         * lib/gl_avltreehash_list.c: Likewise.
35829         * lib/gl_carray_list.c: Likewise.
35830         * lib/gl_linked_list.c: Likewise.
35831         * lib/gl_linkedhash_list.c: Likewise.
35832         * lib/gl_list.c: Likewise.
35833         * lib/gl_oset.c: Likewise.
35834         * lib/gl_rbtree_list.c: Likewise.
35835         * lib/gl_rbtree_oset.c: Likewise.
35836         * lib/gl_rbtreehash_list.c: Likewise.
35837         * lib/imaxabs.c: Likewise.
35838         * lib/imaxdiv.c: Likewise.
35839         * lib/javacomp.c: Likewise.
35840         * lib/javaexec.c: Likewise.
35841         * lib/javaversion.c: Likewise.
35842         * lib/linebreak.c: Likewise.
35843         * lib/localcharset.c: Likewise.
35844         * lib/lock.c: Likewise.
35845         * lib/mbchar.c: Likewise.
35846         * lib/mbswidth.c: Likewise.
35847         * lib/mkdtemp.c: Likewise.
35848         * lib/pipe.c: Likewise.
35849         * lib/printf-args.c: Likewise.
35850         * lib/printf-parse.c: Likewise.
35851         * lib/progname.c: Likewise.
35852         * lib/progreloc.c: Likewise.
35853         * lib/readlink.c: Likewise.
35854         * lib/sh-quote.c: Likewise.
35855         * lib/stpcpy.c: Likewise.
35856         * lib/stpncpy.c: Likewise.
35857         * lib/strcasecmp.c: Likewise.
35858         * lib/strcasestr.c: Likewise.
35859         * lib/strcspn.c: Likewise.
35860         * lib/striconv.c: Likewise.
35861         * lib/strncasecmp.c: Likewise.
35862         * lib/strnlen1.c: Likewise.
35863         * lib/strstr.c: Likewise.
35864         * lib/strtok_r.c: Likewise.
35865         * lib/tls.c: Likewise.
35866         * lib/tmpdir.c: Likewise.
35867         * lib/unicodeio.c: Likewise.
35868         * lib/unsetenv.c: Likewise.
35869         * lib/vasnprintf.c: Likewise.
35870         * lib/vasprintf.c: Likewise.
35871         * lib/wait-process.c: Likewise.
35872         * lib/xallocsa.c: Likewise.
35873         * lib/xsetenv.c: Likewise.
35874         * lib/xstriconv.c: Likewise.
35875
35876 2006-09-13  Simon Josefsson  <jas@extundo.com>
35877
35878         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
35879         that internally, suggested by Ralf Wildenhues
35880         <Ralf.Wildenhues@gmx.de>.
35881
35882 2006-09-13  Simon Josefsson  <jas@extundo.com>
35883
35884         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
35885         @LIBOBJS@.
35886         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35887
35888 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
35889
35890         * lib/_fpending.c: Include <config.h> unconditionally, since we no
35891         longer worry about uses that don't define HAVE_CONFIG_H.
35892         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
35893         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
35894         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
35895         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
35896         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
35897         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
35898         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
35899         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
35900         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
35901         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
35902         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
35903         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
35904         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
35905         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
35906         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
35907         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
35908         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
35909         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
35910         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
35911         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
35912         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
35913         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
35914         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
35915         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
35916         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
35917         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
35918         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
35919         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
35920         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
35921         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
35922         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
35923         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
35924         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
35925         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
35926         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
35927         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
35928         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
35929         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
35930         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
35931         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
35932         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
35933         Likewise.
35934
35935 2006-09-13  Eric Blake  <ebb9@byu.net>
35936
35937         * lib/getopt.c: Fix typo in last commit.
35938
35939 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35940
35941         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
35942         dgettext.
35943
35944 2006-09-12  Jim Meyering  <jim@meyering.net>
35945
35946         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
35947         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
35948         Reported by Nelson H. F. Beebe.
35949
35950 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
35951
35952         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
35953         program_invocation_name and program_invocation_short_name are
35954         initialized.
35955         * lib/argp-namefrob.h: Move declarations of program_invocation_name
35956         and program_invocation_short_name to argp.h, so they are visible
35957         to user programs.
35958         * lib/argp.h: Likewise
35959
35960 2006-09-10  Bruno Haible  <bruno@clisp.org>
35961
35962         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
35963         m4/inttypes_h.m4, m4/uintmax_t.m4.
35964
35965 2006-09-10  Bruno Haible  <bruno@clisp.org>
35966
35967         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
35968         gl_AC_TYPE_UINTMAX_T.
35969
35970 2006-09-10  Bruno Haible  <bruno@clisp.org>
35971
35972         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
35973
35974 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
35975
35976         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
35977         convention.  Text proposed by Bruno Haible.
35978         (struct argp_option): Document the use of N_() wrappers.
35979
35980         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
35981         '\v', and translate the two parts separately, instead of feeding
35982         the whole string to gettext.  This allows to exclude
35983         '\v' from the strings visible to the translator by writing doc
35984         strings as N_("..") "\v" N_("..").
35985
35986 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
35987
35988         * config/srclist.txt: Undo latest change; the bug was fixed.
35989
35990 2006-09-09  Bruno Haible  <bruno@clisp.org>
35991
35992         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
35993         assignments if building a library without libtool.
35994         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
35995         in func_emit_lib_Makefile_am.
35996         (func_import): When building a static library libfoo.a, arrange to
35997         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
35998         (func_create_testdir): Likewise.
35999         * modules/gc (configure.ac, Makefile.am): If building statically,
36000         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
36001         * modules/iconvme (configure.ac, Makefile.am): Likewise.
36002         * modules/striconv (configure.ac, Makefile.am): Likewise.
36003         Based on a suggestion by Ralf Wildenhues.
36004
36005 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36006
36007         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
36008         Check for unistd.h too, since Autoconf doesn't assume POSIX.
36009         Also:
36010
36011         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36012         Add year_2050_test to catch glibc bug 2821
36013         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
36014
36015         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36016         Prefer #ifdef to #if.
36017
36018         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
36019         Return from 'main' instead of calling 'exit'.
36020
36021 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36022
36023         * lib/mktime.c (guess_time_tm): Fix bug where mktime
36024         returned the maximum time_t value rather than (time_t) -1.
36025         Problem originally reported by William Bardwell
36026         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
36027
36028         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
36029         Moved to here ...
36030         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
36031         ... from here.
36032
36033 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36034
36035         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
36036         2821 is fixed.
36037
36038 2006-09-08  Jim Meyering  <jim@meyering.net>
36039
36040         Don't make generated files read-only.  That would bother too many
36041         people.  However, do retain the ability to work when targets are
36042         read-only: remove the destination and temporary files before writing
36043         them (when generated via sed or echo), or by using the -f option for
36044         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
36045         * modules/alloca-opt, modules/argz, modules/arpa_inet:
36046         * modules/byteswap, modules/configmake, modules/fcntl:
36047         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
36048         * modules/localcharset, modules/netinet_in, modules/poll:
36049         * modules/stdbool, modules/stdint, modules/sys_select:
36050         * modules/sys_socket, modules/sys_stat, modules/sysexits:
36051
36052 2006-09-08  Jim Meyering  <jim@meyering.net>
36053
36054         Avoid new build failure on FreeBSD 6.0.
36055         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
36056         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
36057         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
36058
36059 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36060
36061         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
36062
36063 2006-09-07  Jim Meyering  <jim@meyering.net>
36064
36065         Fix global typo in last change: use chmod u-w, not chmod u-x.
36066         Spotted by Paul Eggert and Bruce Korb.
36067         * modules/alloca-opt, modules/argz, modules/arpa_inet:
36068         * modules/byteswap, modules/configmake, modules/fcntl:
36069         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
36070         * modules/localcharset, modules/netinet_in, modules/poll:
36071         * modules/stdbool, modules/stdint, modules/sys_select:
36072         * modules/sys_socket, modules/sys_stat, modules/sysexits:
36073
36074 2006-09-06  Jim Meyering  <jim@meyering.net>
36075
36076         Make generated files be read-only.
36077         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
36078         Ensure that each generated file is now read-only.
36079         * modules/argz: Likewise.
36080         * modules/arpa_inet: Likewise.
36081         * modules/byteswap: Likewise.
36082         * modules/configmake: Likewise.
36083         * modules/fcntl: Likewise.
36084         * modules/fnmatch: Likewise.
36085         * modules/getopt: Likewise.
36086         * modules/glob: Likewise.
36087         * modules/inttypes: Likewise.
36088         * modules/netinet_in: Likewise.
36089         * modules/poll: Likewise.
36090         * modules/stdbool: Likewise.
36091         * modules/stdint: Likewise.
36092         * modules/sys_select: Likewise.
36093         * modules/sys_socket: Likewise.
36094         * modules/sys_stat: Likewise.
36095         * modules/sysexits: Likewise.
36096         * modules/localcharset: Same as above, but continue using temporary
36097         file named "t-$@" (why different?) rather than the "$@-t" used
36098         everywhere else.
36099
36100         * modules/sysexits (Makefile.am): Replace literal occurrences
36101         of "sysexit.h" more readable, and more consistent, "$@".
36102
36103 2006-09-06  Bruno Haible  <bruno@clisp.org>
36104
36105         * modules/striconv: New file.
36106         * modules/xstriconv: New file.
36107         * MODULES.html.sh (Internationalization functions): Add striconv,
36108         xstriconv.
36109
36110 2006-09-06  Bruno Haible  <bruno@clisp.org>
36111
36112         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
36113         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
36114         not using libtool correctly.
36115
36116 2006-09-06  Bruno Haible  <bruno@clisp.org>
36117
36118         * lib/striconv.h: New file.
36119         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
36120         iconvstring.c.
36121         * lib/xstriconv.h: New file.
36122         * lib/xstriconv.c: New file.
36123
36124 2006-09-06  Bruno Haible  <bruno@clisp.org>
36125
36126         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
36127         lib_..._LDFLAGS.
36128
36129 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36130
36131         * lib/argz_.h: Sync from Libtool.
36132
36133         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
36134                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36135
36136         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
36137
36138 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
36139
36140         * modules/trim: New file.
36141
36142 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
36143
36144         * lib/trim.h: New file.
36145         * lib/trim.c: New file.
36146
36147 2006-09-05  Bruno Haible  <bruno@clisp.org>
36148
36149         * MODULES.html.sh (String handling): Add trim.
36150
36151 2006-09-04  Karl Berry  <karl@gnu.org>
36152
36153         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
36154         until next release.
36155
36156 2006-09-03  Bruno Haible  <bruno@clisp.org>
36157
36158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
36159         correctly.
36160
36161 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36162
36163         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
36164         not gl_GETLOADAVG.  Omit unneeded semicolons.
36165         Problems reported by Ralf Wildenhues in
36166         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
36167         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
36168         at the end, which is the usual gnulib style.
36169
36170         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
36171         of doing all the work ourselves.
36172         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
36173         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
36174
36175 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36176
36177         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
36178         Problem reported by Ralf Wildenhues in
36179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
36180
36181         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
36182         HAVE_STRUCT_STATFS_F_FSTYPENAME.
36183
36184 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36185
36186         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
36187         yesterday's patch by changing test -n to test -z.
36188
36189 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36190
36191         * modules/getloadavg (Files): Add m4/getloadavg.m4.
36192         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
36193         the former is now obsolescent.
36194
36195         * modules/chdir-long (Depends-on): Add fcntl.
36196
36197 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36198
36199         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
36200         obsolescent, and programs should use gnulib instead.
36201         * m4/getloadavg.m4: New file, with contents taken from Autoconf
36202         but with prefixes changed.
36203
36204 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36205
36206         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
36207         or stdbool.h, because they might not exist while configuring.
36208
36209         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
36210         Don't include unistd.h or limits.h; not needed, since chdir-long.h
36211         does that for us.
36212         (O_DIRECTORY): Remove.
36213
36214 2006-08-31  Eric Blake  <ebb9@byu.net>
36215
36216         * gnulib-tool: Don't let emacs change spaces to TAB.
36217
36218 2006-08-31  Bruno Haible  <bruno@clisp.org>
36219
36220         * gnulib-tool: When calling func_import more than once, do it in a
36221         subshell.
36222         Reported by Eric Blake <ebb9@byu.net>.
36223
36224 2006-08-31  Bruno Haible  <bruno@clisp.org>
36225
36226         * gnulib-tool (nl): Remove variable.
36227         (sed_transform_lib_file): Use more robust test for config-h module.
36228         (func_import): Fix typo in 2006-08-25 patch.
36229
36230 2006-08-31  Bruno Haible  <bruno@clisp.org>
36231
36232         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
36233         specified, augment Makefile.am variables instead of assigning them.
36234
36235 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36236
36237         Work around a bug in both the Linux and SunOS 64-bit kernels:
36238         nanosleep mishandles sleeps for longer than 2**31 seconds.
36239         Problem reported by Frank v Waveren in
36240         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
36241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
36242         Check for nanosleep bug.
36243         (LIB_NANOSLEEP): Append clock_gettime library if needed.
36244
36245 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36246
36247         Work around a bug in both the Linux and SunOS 64-bit kernels:
36248         nanosleep mishandles sleeps for longer than 2**31 seconds.
36249         Problem reported by Frank v Waveren in
36250         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
36251         * lib/nanosleep.c (BILLION): New constant.
36252         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
36253         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
36254         implementation.
36255
36256 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36257
36258         * modules/nanosleep (Depends-on): Add gettime.
36259
36260 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36261         and Simon Josefsson  <jas@extundo.com>
36262         and Oskar Liljeblad  <oskar@osk.mine.nu>
36263
36264         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
36265         * gnulib-tool (func_import): New license type 'unmodifiable license
36266         text'.
36267         * modules/fdl: Use it.  Longer description.
36268         * module/gpl, module/lgpl: New files.
36269
36270 2006-08-30  Jim Meyering  <jim@meyering.net>
36271
36272         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
36273         shadowing the parameter.
36274
36275 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36276
36277         Sync from Libtool:
36278
36279         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36280
36281         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
36282         sharing with gnulib.  Report by Eric Blake.
36283
36284 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36285
36286         * modules/isapipe: New file.
36287         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
36288
36289 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36290
36291         * modules/configmake (Makefile.am): Add a comment, and omit
36292         the CONFIGMAKE_ prefix from generated macro names.  Suggested
36293         by Bruno Haible.
36294
36295 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36296
36297         * m4/isapipe.m4: New file.
36298
36299 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36300
36301         * lib/isapipe.c, lib/isapipe.h: New files.
36302
36303 2006-08-29  Jim Meyering  <jim@meyering.net>
36304
36305         * modules/configmake (Makefile.am): Make configmake.h depend on
36306         Makefile.  Otherwise, a stale configmake.h could hang around.
36307
36308 2006-08-29  Eric Blake  <ebb9@byu.net>
36309
36310         * lib/error.c (error_at_line, print_errno_message): Match libc, after
36311         resolution of upstream bug 3044.
36312
36313 2006-08-29  Bruno Haible  <bruno@clisp.org>
36314
36315         * modules/localcharset (Depends-on): Add configmake.
36316         (Makefile.am): Remove setting of LIBDIR through DEFS.
36317
36318 2006-08-29  Bruno Haible  <bruno@clisp.org>
36319
36320         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
36321         defined.
36322
36323 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36324
36325         * modules/fcntl: New file.
36326         * modules/chdir-safer (Depends-on): Add fcntl.
36327         * modules/fts: Likewise.
36328         * modules/mkdir-p: Likewise.
36329
36330         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
36331         This undoes the most recent change, since we're now addressing the
36332         problem in a different way.
36333
36334         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
36335         into output, since the output might be called Makefile.am even
36336         if $makefile_name is something different.
36337         (func_import): Use $makefile_am rather than
36338         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
36339         empty.
36340
36341         * modules/inttypes (Files): Add m4/inttypes-h.m4.
36342
36343 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36344
36345         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
36346         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
36347         recent change to stdint.m4, since we're now addressing the problem in a
36348         different way.
36349
36350 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36351
36352         * m4/fcntl_h.m4: New file.
36353
36354 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36355
36356         * lib/fcntl_.h: New file.
36357         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
36358         the fcntl module.
36359         * lib/dirchownmod.c: Likewise.
36360         * lib/fts.c: Likewise.
36361
36362         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
36363         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
36364         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
36365         just before including <inttypes.h>, to avoid circular inclusion.
36366
36367 2006-08-28  Jim Meyering  <jim@meyering.net>
36368
36369         * doc/visibility.texi: Actually read and correct the grammar of the
36370         sentence affected by yesterday's change.
36371
36372 2006-08-28  Eric Blake  <ebb9@byu.net>
36373
36374         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
36375         needs wrapper.
36376
36377 2006-08-28  Eric Blake  <ebb9@byu.net>
36378
36379         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
36380
36381 2006-08-28  Eric Blake  <ebb9@byu.net>
36382
36383         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
36384
36385 2006-08-28  Bruno Haible  <bruno@clisp.org>
36386
36387         * modules/c-strstr: New file, from GNU gettext.
36388         * MODULES.html.sh (String handling): Add c-strstr.
36389
36390 2006-08-28  Bruno Haible  <bruno@clisp.org>
36391
36392         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
36393         macros.
36394         Reported by Eric Blake.
36395
36396 2006-08-28  Bruno Haible  <bruno@clisp.org>
36397
36398         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
36399         (VASNPRINTF): Return a string of length > INT_MAX without failing.
36400         * lib/vasprintf.c: Include errno.h, limits.h.
36401         (EOVERFLOW): New fallback definition.
36402         (vasprintf): Test here whether the string length is > INT_MAX.
36403         * lib/vsnprintf.c: Include errno.h, limits.h.
36404         (EOVERFLOW): New fallback definition.
36405         (vsnprintf): Fix bug when generated string was too long for the buffer.
36406         Test here whether the string length is > INT_MAX.
36407
36408 2006-08-28  Bruno Haible  <bruno@clisp.org>
36409
36410         * lib/inttypes_.h (SCNX*): Remove definitions.
36411         Reported by Eric Blake.
36412
36413 2006-08-28  Bruno Haible  <bruno@clisp.org>
36414
36415         * lib/c-strstr.h: New file, from GNU gettext.
36416         * lib/c-strstr.c: New file, from GNU gettext.
36417
36418 2006-08-28  Bruno Haible  <bruno@clisp.org>
36419
36420         * gnulib-tool: Reorder some statements.
36421
36422 2006-08-28  Bruno Haible  <bruno@clisp.org>
36423
36424         * gnulib-tool: New option --makefile-name.
36425         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
36426         $makefile_name.
36427         (func_import): Write $makefile_name to the cache file, and read it from
36428         there unless explicitly specified. Use $makefile_name as file name
36429         instead of Makefile.am. Adjust the recommendations accordingly.
36430
36431 2006-08-28  Bruno Haible  <bruno@clisp.org>
36432
36433         * gnulib-tool (func_verify_module): Check against misapplying patch.
36434
36435 2006-08-28  Bruno Haible  <bruno@clisp.org>
36436
36437         * gnulib-tool (func_relativize, func_relconcat): New functions.
36438         Give an error if --local-dir is given with --update.
36439         Remove trailing slashes from $local_gnulib_dir.
36440         (func_import): Store the relativized $local_gnulib_dir in
36441         gnulib-cache.m4, and read it from there if not specified explicitly.
36442
36443 2006-08-28  Bruno Haible  <bruno@clisp.org>
36444
36445         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
36446         is the current directory. Respect also $local_gnulib_dir.
36447
36448 2006-08-28  Bruno Haible  <bruno@clisp.org>
36449             Simon Josefsson  <jas@extundo.com>
36450
36451         BeOS portability.
36452         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
36453
36454 2006-08-27  Jim Meyering  <jim@meyering.net>
36455
36456         * doc/visibility.texi: Remove duplicate word: "pointer".
36457
36458 2006-08-26  Bruno Haible  <bruno@clisp.org>
36459
36460         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
36461         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
36462         (Makefile.am): Create inttypes.h from inttypes_.h.
36463         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
36464
36465         * modules/imaxabs: New file.
36466
36467         * modules/imaxdiv: New file.
36468
36469 2006-08-26  Bruno Haible  <bruno@clisp.org>
36470
36471         * m4/inttypes.m4: New file.
36472         * m4/_inttypes_h.m4: Remove file.
36473         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
36474         PRI_MACROS_BROKEN.
36475         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
36476
36477         * m4/imaxabs.m4: New file.
36478
36479         * m4/imaxdiv.m4: New file.
36480
36481 2006-08-26  Bruno Haible  <bruno@clisp.org>
36482
36483         * lib/inttypes_.h: New file.
36484         * lib/inttypes.h: Remove file.
36485         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
36486
36487         * lib/imaxabs.c: New file.
36488
36489         * lib/imaxdiv.c: New file.
36490
36491 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36492
36493         New config-h module, so that "make" output needn't be cluttered
36494         by -DHAVE_CONFIG_H.
36495         * MODULES.html.sh (Support for building libraries and executables):
36496         Add config-h.
36497         * modules/config-h: New file.
36498         * gnulib-tool (nl, sed_transform_lib_file): New vars.
36499         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
36500         the config-h module is used.
36501
36502         New configmake module, so that "make" output needn't be cluttered
36503         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
36504         * MODULES.html.sh (Support for building libraries and executables):
36505         Add configmake.
36506         * modules/configmake: New file.
36507
36508 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36509
36510         * m4/config-h.m4: New file.
36511
36512 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36513
36514         * config/srclist.txt: Add elisp-comp.
36515
36516 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36517
36518         * MODULES.html.sh (Support for building libraries and executables):
36519         Add elisp-comp.
36520         * build-aux/elisp-comp: New file.
36521         * modules/elisp-comp: New file.
36522
36523 2006-08-24  Bruno Haible  <bruno@clisp.org>
36524
36525         * gnulib-tool (func_create_testdir): Use non-default values of
36526         sourcebase and m4base.
36527
36528 2006-08-24  Bruno Haible  <bruno@clisp.org>
36529
36530         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
36531         HTML structure.
36532
36533 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36534
36535         * modules/openat (Depends-on): Add lchown.
36536
36537 2006-08-23  Bruno Haible  <bruno@clisp.org>
36538
36539         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
36540         of gl_LOCK_EARLY instead of gl_LOCK.
36541
36542 2006-08-23  Bruno Haible  <bruno@clisp.org>
36543
36544         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
36545         on OSF/1 to no.
36546         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
36547
36548 2006-08-23  Bruno Haible  <bruno@clisp.org>
36549
36550         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
36551         as unusable.
36552
36553         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
36554         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
36555         (gl_LOCK): New macro.
36556
36557 2006-08-22  Simon Josefsson  <jas@extundo.com>
36558
36559         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
36560         to md5 module.
36561
36562 2006-08-22  Simon Josefsson  <jas@extundo.com>
36563
36564         * MODULES.html.sh: Add "Support for maintaining and release
36565         projects".
36566
36567         * build-aux/gnupload: New file, from coreutils.
36568
36569 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36570
36571         Avoid the need for AC_LIBSOURCES in m4 macros.
36572         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
36573         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
36574         * modules/check-version (EXTRA_DIST): Add check-version.h.
36575         * modules/crc (EXTRA_DIST): Add crc.h.
36576         * modules/des (EXTRA_DIST): Add des.h.
36577         * modules/gc (EXTRA_DIST): Add gc.h.
36578         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
36579         * modules/getline (EXTRA_DIST): Add getline.h.
36580         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
36581         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
36582         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
36583         * modules/md2 (EXTRA_DIST): Add md2.h.
36584         * modules/md4 (EXTRA_DIST): Add md4.h.
36585         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
36586         * modules/read-file (EXTRA_DIST): Add read-file.h.
36587         * modules/readline (EXTRA_DIST): Add readline.h.
36588         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
36589         rijndael-api-fst.h.
36590
36591 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36592
36593         * m4/rijndael.m4 (gl_ARCFOUR):
36594         * m4/arctwo.m4 (gl_ARCTWO):
36595         * m4/check-version.m4 (gl_CHECK_VERSION):
36596         * m4/crc.m4 (gl_CRC):
36597         * m4/des.m4 (gl_DES):
36598         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
36599         * m4/gc.m4 (gl_GC):
36600         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
36601         * m4/getline.m4 (gl_FUNC_GETLINE):
36602         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
36603         * m4/hmac-md5.m4 (gl_HMAC_MD5):
36604         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
36605         * m4/md2.m4 (gl_MD2):
36606         * m4/md4.m4 (gl_MD4):
36607         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
36608         * m4/read-file.m4 (gl_FUNC_READ_FILE):
36609         * m4/readline.m4 (gl_FUNC_READLINE):
36610         * m4/rijndael.m4 (gl_RIJNDAEL):
36611         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36612         to get the necessary .h files and whatnot.
36613
36614 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36615
36616         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
36617         gnulib rather than the other way around.
36618         * config/srclistvars.sh (COREUTILS): Remove.
36619
36620 2006-08-22  Jim Meyering  <jim@meyering.net>
36621
36622         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
36623
36624         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
36625
36626 2006-08-22  Eric Blake  <ebb9@byu.net>
36627
36628         * modules/regexprops-generic: New file.
36629         * MODULES.html.sh (Support for building documentation): List it.
36630
36631 2006-08-22  Eric Blake  <ebb9@byu.net>
36632
36633         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
36634         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
36635         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
36636         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
36637
36638 2006-08-22  Bruno Haible  <bruno@clisp.org>
36639
36640         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
36641         and lib_LTLIBRARIES like the other lib_* variables.
36642
36643 2006-08-22  Bruno Haible  <bruno@clisp.org>
36644
36645         * build-aux/x-to-1.in: New file, from GNU gettext.
36646
36647 2006-08-22  Bruno Haible  <bruno@clisp.org>
36648
36649         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
36650         <utmpx.h> exists.
36651
36652 2006-08-22  Bruno Haible  <bruno@clisp.org>
36653
36654         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
36655         <utmpx.h> exists.
36656
36657 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36658
36659         BeOS portability.
36660         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
36661         exist.
36662         Problem reported by Bruno Haible.
36663
36664 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36665
36666         Avoid the need for AC_LIBSOURCES in m4 macros.
36667         * modules/acl (EXTRA_DIST): Add acl.h.
36668         * modules/argmatch (Files): Add m4/argmatch.m4.
36669         (configure.ac): Add gl_ARGMATCH.
36670         (EXTRA_DIST): Renamed from lib_SOURCES, for
36671         consistency with the other modules.  Remove argmatch.c.
36672         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
36673         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
36674         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
36675         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
36676         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
36677         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
36678         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
36679         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
36680         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
36681         * modules/closeout (EXTRA_DIST): Add closeout.h.
36682         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
36683         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
36684         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
36685         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
36686         dirname.h; remove basename.c and stripslash.c.
36687         * modules/exclude (EXTRA_DIST): Add exclude.h.
36688         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
36689         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
36690         * modules/file-type (EXTRA_DIST): Add file-type.h.
36691         * modules/filemode (EXTRA_DIST): Add filemode.h.
36692         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
36693         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36694         * modules/fpending (EXTRA_DIST): Add __fpending.h.
36695         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
36696         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
36697         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
36698         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
36699         * modules/getdate (EXTRA_DIST): Add getdate.c.
36700         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
36701         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
36702         * modules/getpass (EXTRA_DIST): Add getpass.h.
36703         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
36704         * modules/group-member (EXTRA_DIST): Add group-member.h.
36705         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
36706         * modules/hash (EXTRA_DIST): Add hash.h.
36707         * modules/human (EXTRA_DIST): Add human.h.
36708         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
36709         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
36710         * modules/lchown (EXTRA_DIST): Add lchown.h.
36711         * modules/long-options (EXTRA_DIST): Add long-options.h.
36712         * modules/lstat (EXTRA_DIST): Add lstat.h.
36713         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
36714         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
36715         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
36716         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
36717         * modules/memxor (EXTRA_DIST): Add memxor.h.
36718         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
36719         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
36720         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
36721         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
36722         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
36723         * modules/physmem (EXTRA_DIST): Add physmem.h.
36724         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
36725         * modules/posixver (EXTRA_DIST): Add posixver.h.
36726         * modules/quote (EXTRA_DIST): Add quote.h.
36727         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
36728         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
36729         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
36730         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
36731         regex_internal.h regexec.c.
36732         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
36733         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
36734         * modules/same (EXTRA_DIST): Add same.h.
36735         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
36736         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
36737         * modules/savedir (EXTRA_DIST): Add savedir.h.
36738         * modules/sha1 (EXTRA_DIST): Add sha1.h.
36739         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
36740         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
36741         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
36742         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
36743         * modules/strdup (EXTRA_DIST): Add strdup.h.
36744         * modules/strftime (EXTRA_DIST): Add strftime.h.
36745         * modules/strndup (EXTRA_DIST): Add strndup.h.
36746         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
36747         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
36748         * modules/time_r (EXTRA_DIST): Add time_r.h.
36749         * modules/timespec (EXTRA_DIST): Add timespec.h.
36750         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36751         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
36752         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
36753         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
36754         * modules/userspec (EXTRA_DIST): Add userspec.h.
36755         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
36756         * modules/utimens (EXTRA_DIST): Add utimens.h.
36757         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
36758         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
36759         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
36760         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
36761         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
36762         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
36763         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
36764         * modules/yesno (EXTRA_DIST): Add yesno.h.
36765
36766 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36767
36768         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
36769
36770         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
36771         * m4/dev-ino.m4, same-inode.m4: Remove.
36772
36773         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
36774         * m4/acl.m4 (AC_FUNC_ACL):
36775         * m4/backupfile.m4 (gl_BACKUPFILE):
36776         * m4/c-strtod.m4 (gl_C99_STRTOLD):
36777         * m4/canon-host.m4 (gl_CANON_HOST):
36778         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36779         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
36780         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
36781         * m4/cloexec.m4 (gl_CLOEXEC):
36782         * m4/close-stream.m4 (gl_CLOSE_STREAM):
36783         * m4/closeout.m4 (gl_CLOSEOUT):
36784         * m4/dirfd.m4 (gl_FUNC_DIRFD):
36785         * m4/dirname.m4 (gl_DIRNAME):
36786         * m4/exclude.m4 (gl_EXCLUDE):
36787         * m4/exitfail.m4 (gl_EXITFAIL):
36788         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
36789         * m4/file-type.m4 (gl_FILE_TYPE):
36790         * m4/filemode.m4 (gl_FILEMODE):
36791         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
36792         * m4/fpending.m4 (gl_FUNC_FPENDING):
36793         * m4/fprintftime.m4 (gl_FPRINTFTIME):
36794         * m4/fts.m4 (gl_FUNC_FTS):
36795         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
36796         * m4/getdate.m4 (gl_GETDATE):
36797         * m4/gethrxtime.m4 (gl_GETHRXTIME):
36798         * m4/getpagesize.m4 (gl_GETPAGESIZE):
36799         * m4/getpass.m4 (gl_FUNC_GETPASS):
36800         * m4/gettime.m4 (gl_GETTIME):
36801         * m4/getugroups.m4 (gl_GETUGROUPS):
36802         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
36803         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
36804         * m4/hard-locale.m4 (gl_HARD_LOCALE):
36805         * m4/hash.m4 (gl_HASH):
36806         * m4/idcache.m4 (gl_IDCACHE):
36807         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
36808         * m4/lchown.m4 (gl_FUNC_LCHOWN):
36809         * m4/long-options.m4 (gl_LONG_OPTIONS):
36810         * m4/lstat.m4 (gl_FUNC_LSTAT):
36811         * m4/md5.m4 (gl_MD5):
36812         * m4/memcasecmp.m4 (gl_MEMCASECMP):
36813         * m4/memcoll.m4 (gl_MEMCOLL):
36814         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
36815         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
36816         * m4/memxor.m4 (gl_MEMXOR):
36817         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
36818         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
36819         * m4/modechange.m4 (gl_MODECHANGE):
36820         * m4/mountlist.m4 (gl_MOUNTLIST):
36821         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36822         * m4/openat.m4 (gl_FUNC_OPENAT):
36823         * m4/pathmax.m4 (gl_PATHMAX):
36824         * m4/physmem.m4 (gl_PHYSMEM):
36825         * m4/posixtm.m4 (gl_POSIXTM):
36826         * m4/posixver.m4 (gl_POSIXVER):
36827         * m4/quote.m4 (gl_QUOTE):
36828         * m4/quotearg.m4 (gl_QUOTEARG):
36829         * m4/readtokens.m4 (gl_READTOKENS):
36830         * m4/readutmp.m4 (gl_READUTMP):
36831         * m4/regex.m4 (gl_REGEX):
36832         * m4/safe-read.m4 (gl_SAFE_READ):
36833         * m4/safe-write.m4 (gl_SAFE_WRITE):
36834         * m4/same.m4 (gl_SAME):
36835         * m4/save-cwd.m4 (gl_SAVE_CWD):
36836         * m4/savedir.m4 (gl_SAVEDIR):
36837         * m4/settime.m4 (gl_SETTIME):
36838         * m4/sha1.m4 (gl_SHA1):
36839         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
36840         * m4/stat-macros.m4 (gl_STAT_MACROS):
36841         * m4/stat-time.m4 (gl_STAT_TIME):
36842         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
36843         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
36844         * m4/strdup.m4 (gl_FUNC_STRDUP):
36845         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
36846         * m4/strndup.m4 (gl_FUNC_STRNDUP):
36847         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
36848         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
36849         * m4/time_r.m4 (gl_TIME_R):
36850         * m4/timespec.m4 (gl_TIMESPEC):
36851         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
36852         * m4/unlinkdir.m4 (gl_UNLINKDIR):
36853         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
36854         * m4/userspec.m4 (gl_USERSPEC):
36855         * m4/utimecmp.m4 (gl_UTIMECMP):
36856         * m4/utimens.m4 (gl_UTIMENS):
36857         * m4/xalloc.m4 (gl_XALLOC):
36858         * m4/xgetcwd.m4 (gl_XGETCWD):
36859         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
36860         * m4/xreadlink.m4 (gl_XREADLINK):
36861         * m4/xstrtod.m4 (gl_XSTRTOD):
36862         * m4/yesno.m4 (gl_YESNO):
36863         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36864         to get the necessary .h files and whatnot.
36865
36866 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
36867             Bruno Haible  <bruno@clisp.org>
36868
36869         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
36870         /bin/sh understanding of '!' conditional negation.
36871
36872 2006-08-21  Jim Meyering  <jim@meyering.net>
36873
36874         * modules/openat (Depends-on): Really alphabetize.
36875
36876         * modules/acl (Depends-on): Add error and quote.
36877
36878         * check-module (find_included_lib_files): Add at-func.c to the
36879         ok-to-include-more-than-once white list.
36880
36881         * modules/openat (Depends-on): Add lstat.  Alphabetize.
36882
36883 2006-08-21  Bruno Haible  <bruno@clisp.org>
36884
36885         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36886         Emit a pkgdata_DATA variable only if some snippets add contents to it.
36887         Reported by Martin Lambers <marlam@marlam.de>.
36888
36889 2006-08-21  Bruno Haible  <bruno@clisp.org>
36890
36891         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
36892         specify an installation location, don't emit a noinst_LIBRARIES or
36893         noinst_LTLIBRARIES assignment.
36894
36895 2006-08-21  Bruno Haible  <bruno@clisp.org>
36896
36897         BeOS portability.
36898         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
36899         BeOS has mbrtowc() but no <wctype.h>.
36900
36901 2006-08-21  Bruno Haible  <bruno@clisp.org>
36902
36903         BeOS portability.
36904         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
36905         exist.
36906
36907 2006-08-21  Bruno Haible  <bruno@clisp.org>
36908
36909         BeOS portability.
36910         * lib/mbchar.h: Include <wctype.h> only if it exists.
36911
36912 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36913
36914         Remove files that are no longer needed by their respective modules.
36915         * m4/obstack.m4: Remove.
36916         * m4/strerror_r.m4: Remove.
36917         * m4/uint32_t.m4: Remove.
36918         * m4/uintptr_t.m4: Remove.
36919         * m4/ullong_max.m4: Remove.
36920         * m4/xstrtoimax.m4: Remove.
36921         * m4/xstrtoumax.m4: Remove.
36922
36923         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
36924         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
36925         dependencies now capture this.
36926
36927         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36928         Do not use AC_LIBSOURCES, since gnulib modules now do this.
36929         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
36930         * m4/human.m4 (gl_HUMAN): Likewise.
36931         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
36932         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
36933
36934         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
36935
36936         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
36937         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
36938         stdint.
36939         * m4/human.m4 (gl_HUMAN): Likewise.
36940         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
36941         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
36942         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36943         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36944         * m4/xstrtol (gl_XSTRTOL): Likewise.
36945
36946         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
36947         AC_TYPE_LONG_LONG_INT.
36948         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36949         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
36950         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
36951         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36952
36953         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
36954         on stdbool.
36955
36956         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
36957         (gl_PREREQ_XSTRTOUL): Remove.
36958
36959         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
36960
36961         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
36962         mode.
36963
36964 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36965
36966         Add and change modules to make it easier for coreutils to use
36967         gnulib-tool.
36968         * modules/backupfile (Files): Remove m4/d-ino.m4.
36969         (Depends-on): Add d-ino.
36970         * modules/cycle-check (Depends-on): Add stdint.
36971         (lib_SOURCES): Add cycle-check.h.
36972         * modules/d-ino: New module.
36973         * modules/d-type: New module.
36974         * modules/error (Files): Remove m4/strerror_r.m4.
36975         * modules/filemode (Files): Add m4/st_dm_mode.m4.
36976         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
36977         m4/inttypes_h.m4, m4/uintmax_t.m4.
36978         (Depends-on): Add stdint.
36979         (lib_SOURCES): Add fsusage.h.
36980         * modules/getcwd (Files): Remove d-ino.m4.
36981         (Depends-on): Add d-ino.
36982         * modules/getndelim2 (Depends-on): Add stdint.
36983         * modules/glob (Files): Remove m4/d-type.m4.
36984         (Depends-on): Add d-type.
36985         * modules/host-os: New module.
36986         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
36987         m4/inttypes_h.m4, m4/uintmax_t.m4.
36988         * Depends-on: Add stdint.
36989         (lib_SOURCES): Add human.h.
36990         * modules/inttostr (Files): Remove m4/intmax_t.m4,
36991         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
36992         m4/uintmax_t.m4, m4/ulonglong.m4.
36993         (Depends-on): Add stdint.
36994         (EXTRA_DIST): Add inttostr.h.
36995         * modules/lchmod: New module.
36996         * modules/link-follow: New module.
36997         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
36998         (Depends-on): Add lchmod.
36999         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
37000         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
37001         (Depends-on): Add stdint.
37002         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
37003         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
37004         (Depends-on): Add stdint.
37005         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
37006         * modules/perl: New module.
37007         * modules/regex (Depends-on): Add stdint.
37008         * modules/rmdir-errno: New module.
37009         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
37010         m4/intmax_t.m4.
37011         (Depends-on): Add stdint.
37012         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
37013         m4/uintmax_t.m4.
37014         (Depends-on): Add stdint.
37015         * modules/unlink-busy: New module.
37016         * modules/utimecmp (Depends-on): Add stdint.
37017         * modules/uptime: New module.
37018         * modules/winsz-ioctl: New module.
37019         * modules/winsz-termios: New module.
37020         * modules/xnanosleep (Depends-on): Add nanosleep.
37021         * modules/ullong_max: Remove.
37022         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
37023         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
37024         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
37025         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
37026         (Depends-on): Add inttypes.
37027         (lib_SOURCES): Add xstrtol.h.
37028         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
37029         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
37030         * MODULES.html.sh: Move 'assert' into the assert section.
37031         Move 'dummy' into the linking section.
37032         Remove ullong_max.
37033         Add section for compatibility checks for POSIX:2001 functions,
37034         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
37035         winsz-ioctl, and winsz-termios into it.
37036         Add lchmod.
37037         Add top-level Misc section and put host-os, perl, and uptime
37038         into it.
37039
37040 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37041
37042         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
37043         now assume the stdint module.  Do not include inttypes.h.
37044         * lib/fsusage.h: Likewise.
37045         * lib/getndelim2.c: Likewise.
37046         * lib/human.h: Likewise.
37047         * lib/inttostr.h: Likewise.
37048         * lib/obstack.c: Likewise.
37049         * lib/regex_internal.h: Likewise.
37050         * lib/tempname.c: Likewise.
37051         * lib/utimecmp.c: Likewise.
37052         * lib/xstrtol.h: Likewise.
37053
37054         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
37055
37056         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
37057         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
37058         * lib/xtime.h: Likewise.
37059
37060 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37061
37062         * modules/openat (Files): Add lib/fchmodat.c.
37063         Fixes problem reported by Jay Youngman.
37064
37065 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37066
37067         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
37068         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
37069
37070 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
37071             Bruno Haible  <bruno@clisp.org>
37072
37073         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
37074         and is a script that invokes bison. Tighten the code. Add comments.
37075
37076 2006-08-18  Jim Meyering  <jim@meyering.net>
37077
37078         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
37079         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
37080         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
37081         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
37082
37083 2006-08-18  Bruno Haible  <bruno@clisp.org>
37084
37085         * modules/bison-i18n: New file.
37086         * MODULES.html.sh (Internationalization functions): Add it.
37087
37088 2006-08-18  Bruno Haible  <bruno@clisp.org>
37089
37090         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
37091         sys/statvfs.h. When getmntinfo was found, check its declaration and
37092         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
37093
37094 2006-08-18  Bruno Haible  <bruno@clisp.org>
37095
37096         * m4/bison-i18n.m4: New file, from bison.
37097
37098 2006-08-18  Bruno Haible  <bruno@clisp.org>
37099
37100         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
37101         (ME_DUMMY): Treat "kernfs" as a dummy.
37102         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
37103
37104 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37105
37106         Update from coreutils.
37107
37108         2006-08-15  Jim Meyering  <jim@meyering.net>
37109
37110         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
37111
37112         2006-01-17  Jim Meyering  <jim@meyering.net>
37113
37114         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
37115
37116         2006-01-11  Jim Meyering  <jim@meyering.net>
37117
37118         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
37119         Check for the lchmod function.
37120
37121 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37122
37123         Update from coreutils.
37124
37125         * lib/__fpending.h: Add copyright notice.
37126         * lib/fprintftime.h: Likewise.
37127         * lib/savedir.c: Use (C) in copyright notice.
37128         * lib/savedir.h: Likewise.
37129
37130         2006-08-15  Jim Meyering  <jim@meyering.net>
37131
37132         * lib/at-func.c: New file, with the logic of all emulated at-functions.
37133         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
37134         in support of the EXPECTED_ERRNO macro.
37135         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
37136         definitions.  Instead, define the appropriate symbols and include
37137         "at-func.c".
37138         * lib/mkdirat.c (mkdirat): Likewise.
37139         * lib/fchmodat.c (fchmodat): Likewise.
37140         (ENOSYS): Remove definition.
37141         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
37142         it.  Don't include "unistd--.h" -- it wasn't ever used.
37143
37144         2006-01-17  Jim Meyering  <jim@meyering.net>
37145
37146         Rewrite fts.c not to change the current working directory,
37147         by using openat, fstatat, fdopendir, etc..
37148
37149         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
37150         (HAVE_OPENAT_SUPPORT): Define.
37151         [_LIBC] (fchdir): Don't undef or define; no longer used.
37152         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
37153         Now, this `function' always succeeds, and consumes its file descriptor
37154         parameter -- so callers must not close such FDs.  Update callers.
37155         (diropen_fd, opendirat, cwd_advance_fd): New functions.
37156         (diropen): Add parameter, SP.  Adjust all callers.
37157         Implement using diropen_fd, rather than open.
37158         (fts_open): Initialize new member, fts_cwd_fd.
37159         Remove fts_rft-setting code.
37160         (fts_close): Close fts_cwd_fd, if necessary.
37161         (__opendir2): Define in terms of opendir or opendirat,
37162         depending on whether the FST_NOCHDIR flag is set.
37163         (fts_build): Since fts_safe_changedir consumes its FD, and since
37164         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
37165         and close the dup'd file descriptor upon failure.
37166         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
37167         (fts_safe_changedir): Tweak semantics to reflect that this function
37168         now calls cwd_advance_fd and hence consumes its FD argument.
37169         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
37170         [struct FTS] (fts_rft): Remove now-unused member.
37171         [struct FTS] (fts_cycle.state): Improve comment.
37172
37173         * lib/openat.c (openat_needs_fchdir): New function.
37174         * lib/openat.h (openat_needs_fchdir): Declare it.
37175
37176 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
37177
37178         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
37179         Problem and fix reported by Pádraig Brady in
37180         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
37181
37182 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37183
37184         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
37185
37186 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37187
37188         * lib/memcoll.c (memcoll): Optimize for the common case where the
37189         arguments are bytewise equal.
37190
37191 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37192
37193         * doc/regexprops-generic.texi: Add a copyright notice.
37194
37195 2006-08-15  Bruno Haible  <bruno@clisp.org>
37196
37197         * modules/tmpdir (License): Change to LGPL.
37198
37199 2006-08-15  Bruno Haible  <bruno@clisp.org>
37200
37201         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
37202         module.
37203
37204 2006-08-14  Simon Josefsson  <jas@extundo.com>
37205
37206         * config/srclist.txt: Add gnupload.
37207
37208 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37209
37210         Change copyright notice from LGPL 2 to GPL 2, since that's the
37211         standard form used in the gnulib repository.
37212         * tests/test-lock.c: Likewise.
37213         * tests/test-stdint.c: Likewise.
37214         * tests/test-tls.c: Likewise.
37215
37216         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
37217         prelude-manager.  User shorter URLs for GNU projects, without '?'.
37218         Add copyright notice.
37219
37220         * check-module: Add copyright notice.  Output a copyright
37221         notice if "--version" is specified.
37222         * modules/COPYING: New file.
37223         * tests/test-getaddrinfo.c: Add copyright notice.
37224         * tests/test-verify.c: Likewise.
37225
37226 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37227
37228         Change copyright notice from LGPL 2 to GPL 2, since that's the
37229         standard form used in the gnulib repository.
37230         * lib/lock.c: LGPL -> GPL.
37231         * lib/lock.h: Likewise.
37232         * lib/strnlen1.c: Likewise.
37233         * lib/strnlen1.h: Likewise.
37234         * lib/tls.c: Likewise.
37235         * lib/tls.h: Likewise.
37236         * lib/tmpdir.c: Likewise.
37237
37238         * lib/TODO: Remove; this belongs only in coreutils.
37239
37240 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37241
37242         Add copyright notices to long-enough files that lack them, since
37243         otherwise the files aren't clearly free.  Use the same notice that
37244         getdate.texi already uses.
37245         * doc/alloca-opt.texi: Add copyright notice.
37246         * doc/alloca.texi: Likewise.
37247         * doc/ctime.texi: Likewise.
37248         * doc/functions.texi: Likewise.
37249         * doc/gcd.texi: Likewise.
37250         * doc/gnulib-tool.texi: Likewise.
37251         * doc/inet_ntoa.texi: Likewise.
37252         * doc/visibility.texi: Likewise.
37253
37254         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
37255         * doc/quote.texi: Add copyright notice.
37256
37257         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
37258         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
37259         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
37260         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
37261         is now obsolete, and give a pointer to the Sun list.
37262         Add copyright notice.
37263
37264 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37265
37266         * config/srclistvars.sh: Add copyright notice.
37267
37268 2006-08-14  Eric Blake  <ebb9@byu.net>
37269
37270         Import the following change from libc:
37271
37272         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
37273
37274         Upstream bug 2997.
37275         * lib/misc/error.c: Add space between program name and message if file
37276         name is missing.
37277
37278 2006-08-12  Karl Berry  <karl@gnu.org>
37279
37280         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
37281         remove, these originate in gnulib now.
37282
37283 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37284
37285         * doc/Makefile (standards.info standards.html standards.dvi):
37286         Also depend on make-stds.texi.
37287
37288 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
37289
37290         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
37291         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
37292
37293         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
37294         in wchar_t.  Problem reported by Eric Blake.
37295
37296         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
37297         LEN is smaller than SIZE.  Suggested by Bruno Haible.
37298         Also, help the compiler to keep LEN in a register.
37299
37300 2006-08-11  Eric Blake  <ebb9@byu.net>
37301
37302         * users.txt: Sort.  Add tar.
37303
37304 2006-08-11  Bruno Haible  <bruno@clisp.org>
37305
37306         * users.txt: New file.
37307
37308 2006-08-11  Bruno Haible  <bruno@clisp.org>
37309
37310         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
37311         before <wchar.h>. Needed for OSF/1 and BSD/OS.
37312
37313 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
37314
37315         * modules/snprintf (Depends-on): Remove minmax.
37316         (Maintainer): Add self and Bruno.
37317
37318 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
37319
37320         * lib/.cppi-disable: Add snprintf.h, socket_.h.
37321         * lib/snprintf.c: Include <errno.h> and <limits.h>.
37322         (EOVERFLOW): Define if the system does not.
37323         Do not include "minmax.h"; it wasn't used.
37324         (snprintf): Don't assume size_t promotes to an unsigned type.
37325         Fix bug when generated string was too long for the buffer: the
37326         buffer's contents are supposed to be the initial prefix of the
37327         output.  Don't assume vasnprintf returns EOVERFLOW if the size
37328         exceeds INT_MAX; do the check ourselves.
37329
37330         Import the following changes from libc:
37331
37332         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
37333
37334         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
37335         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
37336         set wc to the byte which couldn't be converted.
37337         (re_string_reconstruct): Don't clear valid_raw_len before calling
37338         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
37339         tip_context using re_string_context_at.
37340
37341         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
37342
37343         * lib/posix/regex.h: g++ still cannot handled [restrict].
37344
37345         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
37346
37347         * lib/posix/regex.h: Remove special handling for VMS.
37348
37349 2006-08-10  Jim Meyering  <jim@meyering.net>
37350
37351         * modules/same-inode: New module.
37352         * modules/dev-ino: New module.
37353         * modules/cycle-check: Depend on these modules, rather than simply
37354         including their .h files.
37355         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
37356         required via m4/cycle-check.m4.
37357         * modules/same: Depend on new same-inode module, rather than
37358         including same-inode.h.
37359         * modules/chdir-safer: New file.
37360
37361         * modules/chown (Depends-on): Add stat-macros.
37362
37363 2006-08-10  Jim Meyering  <jim@meyering.net>
37364
37365         * m4/cycle-check.m4: New file.
37366         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
37367         * m4/dev-ino.m4, m4/same-inode.m4: New files.
37368
37369 2006-08-10  Eric Blake  <ebb9@byu.net>
37370
37371         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
37372         in from original proposal.
37373
37374 2006-08-10  Eric Blake  <ebb9@byu.net>
37375         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
37376
37377         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
37378         namespace.
37379
37380 2006-08-10  Bruno Haible  <bruno@clisp.org>
37381
37382         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
37383         as well.
37384
37385 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37386
37387         Sync from coreutils.
37388
37389         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
37390
37391         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
37392         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
37393
37394 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37395
37396         * modules/restrict: Remove; no longer needed now that we assume
37397         Autoconf 2.59 or later.
37398         * MODULES.html.sh: Remove 'restrict'.
37399         * modules/argp (Depends-on): Remove 'restrict'.
37400         * modules/base64 (Depends-on): Likewise.
37401         * modules/gc (Depends-on): Likewise.
37402         * modules/getaddrinfo (Depends-on): Likewise.
37403         * modules/glob (Depends-on): Likewise.
37404         * modules/inet_ntop (Depends-on): Likewise.
37405         * modules/inet_pton (Depends-on): Likewise.
37406         * modules/memxor (Depends-on): Likewise.
37407         * modules/regex (Depends-on): Likewise.
37408         * modules/strtok_r (Depends-on): Likewise.
37409         * modules/time_r (Depends-on): Likewise.
37410
37411 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37412
37413         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
37414         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
37415         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37416         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
37417         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
37418         * m4/memxor.m4 (gl_MEMXOR): Likewise.
37419         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
37420         gl_C_RESTRICT replaced by AC_C_RESTRICT.
37421
37422         Merge from coreutils.
37423         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
37424         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
37425         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37426         * m4/time_r.m4 (gl_TIME_R): Likewise.
37427
37428 2006-08-09  Karl Berry  <karl@gnu.org>
37429
37430         * config/srclist.txt: no more gettext-tools, per Bruno.
37431
37432 2006-08-08  Eric Blake  <ebb9@byu.net>
37433
37434         * modules/verror: New module.
37435         * MODULES.html.sh: Document it.
37436
37437 2006-08-08  Eric Blake  <ebb9@byu.net>
37438
37439         * lib/verror.h, lib/verror.c: New files.
37440
37441 2006-08-08  Eric Blake  <ebb9@byu.net>
37442
37443         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
37444         verror_at_line output complies with GNU Coding Standards even when
37445         file is NULL.
37446
37447 2006-08-07  Bruno Haible  <bruno@clisp.org>
37448
37449         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
37450         versions of AIX.
37451         Reported by Ralf Wildenhues.
37452
37453 2006-08-07  Bruno Haible  <bruno@clisp.org>
37454
37455         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
37456         in an AC_DEFUN. Needed so that the autoconf snippets can use
37457         AC_REQUIRE.
37458
37459 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37460
37461         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37462         Initialize pkgdata_DATA.
37463         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
37464         overriding it.
37465
37466 2006-08-06  Eric Blake  <ebb9@byu.net>
37467
37468         * lib/error.h: Fold in some upstream changes from glibc.
37469         * lib/error.c: Likewise.
37470
37471 2006-08-04  Bruno Haible  <bruno@clisp.org>
37472
37473         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37474         Make the mostlyclean-local rule depend on mostlyclean-generic.
37475         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
37476
37477 2006-07-31  Bruno Haible  <bruno@clisp.org>
37478
37479         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
37480         <stdlib.h>, <string.h>.
37481
37482 2006-07-30  Bruno Haible  <bruno@clisp.org>
37483
37484         * modules/readlink (License): Change to LGPL.
37485
37486 2006-07-30  Bruno Haible  <bruno@clisp.org>
37487
37488         * modules/javaversion (Makefile.am): Distribute javaversion.java and
37489         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
37490         set PKGDATADIR to point to it.
37491
37492 2006-07-30  Bruno Haible  <bruno@clisp.org>
37493
37494         * modules/csharpexec (configure.ac): Comment out macro invocation.
37495         * modules/javaexec (configure.ac): Likewise.
37496         * modules/javacomp-script (configure.ac): Likewise.
37497
37498         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
37499
37500 2006-07-30  Bruno Haible  <bruno@clisp.org>
37501
37502         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
37503         linked-list.
37504
37505 2006-07-30  Bruno Haible  <bruno@clisp.org>
37506
37507         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
37508
37509 2006-07-30  Bruno Haible  <bruno@clisp.org>
37510
37511         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37512         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
37513         get removed.
37514
37515 2006-07-29  Bruno Haible  <bruno@clisp.org>
37516
37517         Make it possible for gnulib-tool to work with locally modified or
37518         augmented gnulib repositories.
37519         * gnulib-tool (func_usage): Document --local-dir option.
37520         (local_gnulib_dir): New variable.
37521         Handle --local-dir option.
37522         (func_lookup_file): New function.
37523         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
37524         (func_get_description, func_get_filelist, func_get_description,
37525         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
37526         func_get_automake_snippet, func_get_include_directive,
37527         func_get_license, func_get_maintainer): Use func_lookup_file.
37528         (func_import, func_create_testdir): Use func_lookup_file.
37529
37530 2006-07-29  Bruno Haible  <bruno@clisp.org>
37531
37532         * modules/setenv (Depends-on): Add unistd.
37533
37534 2006-07-29  Bruno Haible  <bruno@clisp.org>
37535
37536         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
37537
37538 2006-07-29  Bruno Haible  <bruno@clisp.org>
37539
37540         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
37541
37542 2006-07-29  Bruno Haible  <bruno@clisp.org>
37543
37544         * gnulib-tool (import, update): If there is no Makefile.am, look at
37545         aclocal.m4, instead of bailing out.
37546
37547 2006-07-29  Bruno Haible  <bruno@clisp.org>
37548
37549         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
37550         Categorize the options by when they are useful.
37551
37552 2006-07-29  Bruno Haible  <bruno@clisp.org>
37553
37554         * gnulib-tool (func_usage): Document option --no-libtool.
37555         Handle option --no-libtool.
37556         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
37557         for changed semantics of $libtool variable.
37558         (func_import): Likewise. If libtool is not used, show this through
37559         an option --no-libtool.
37560         (func_create_testdir): Update.
37561
37562 2006-07-29  Bruno Haible  <bruno@clisp.org>
37563
37564         * gnulib-tool (func_import): Extend error message about missing
37565         --doc-base.
37566
37567 2006-07-29  Bruno Haible  <bruno@clisp.org>
37568
37569         * gnulib-tool (func_import): Don't create the $docbase directory if
37570         there is no file to store there.
37571
37572 2006-07-29  Bruno Haible  <bruno@clisp.org>
37573
37574         * gnulib-tool (autoconf_minversion): If a --dir option is given and
37575         relevant, look for configure.ac there, not in the current directory.
37576         Also use a simple search for AC_PREREQ, not "autoconf --trace".
37577
37578 2006-07-29  Bruno Haible  <bruno@clisp.org>
37579
37580         * gnulib-tool (SORT): New variable.
37581         (func_usage): Undocument --assume-autoconf option.
37582         Remove --assume-autoconf option handling.
37583         (autoconf_minversion): Determine from the contents of configure.ac.
37584         (func_import): Remove autoconf_minversion handling.
37585         Suggested by Eric Blake.
37586
37587 2006-07-29  Bruno Haible  <bruno@clisp.org>
37588
37589         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
37590
37591 2006-07-29  Bruno Haible  <bruno@clisp.org>
37592
37593         * config/srclist.txt (*setenv.[ch]): Remove rules.
37594
37595 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37596
37597         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
37598
37599 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37600
37601         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
37602         arpa/inet.h.
37603
37604 2006-07-28  Simon Josefsson  <jas@extundo.com>
37605
37606         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
37607         * modules/inet_pton (Depends-on): Likewise.
37608
37609 2006-07-28  Simon Josefsson  <jas@extundo.com>
37610
37611         * m4/netinet_in_h.m4: New file.
37612
37613 2006-07-28  Simon Josefsson  <jas@extundo.com>
37614
37615         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
37616         #include's.
37617
37618 2006-07-28  Simon Josefsson  <jas@extundo.com>
37619
37620         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
37621         #include's.
37622
37623 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
37624
37625         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
37626         setgid on directories only if they set these bits.
37627         * lib/modechange.h: Remove obsolete comment about masks.
37628
37629 2006-07-28  Eric Blake  <ebb9@byu.net>
37630
37631         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
37632         macro expansion.
37633
37634 2006-07-28  Bruno Haible  <bruno@clisp.org>
37635
37636         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
37637
37638 2006-07-28  Bruno Haible  <bruno@clisp.org>
37639
37640         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
37641
37642 2006-07-28  Bruno Haible  <bruno@clisp.org>
37643
37644         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37645         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37646         Define fallbacks.
37647         Avoids link error on FreeBSD 4.x.
37648         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37649
37650         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
37651         encoding.
37652         * lib/mbswidth.c (iswcntrl): Likewise.
37653
37654 2006-07-27  Bruno Haible  <bruno@clisp.org>
37655
37656         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
37657         test.
37658
37659 2006-07-27  Bruno Haible  <bruno@clisp.org>
37660
37661         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
37662         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
37663         defined.
37664
37665 2006-07-26  Eric Blake  <ebb9@byu.net>
37666
37667         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
37668
37669 2006-07-26  Eric Blake  <ebb9@byu.net>
37670
37671         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
37672         like mingw that lack mkstemp.
37673         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
37674         avoid compilation warning on mingw.
37675
37676 2006-07-26  Bruno Haible  <bruno@clisp.org>
37677
37678         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
37679         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
37680         INT_FAST*_MIN, INTPTR_MIN.
37681
37682 2006-07-25  Bruno Haible  <bruno@clisp.org>
37683
37684         * modules/version-etc (Depends-on): Add stdarg.
37685
37686 2006-07-25  Bruno Haible  <bruno@clisp.org>
37687
37688         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
37689         complex commands.
37690
37691 2006-07-25  Bruno Haible  <bruno@clisp.org>
37692
37693         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
37694         defined in <stdarg.h> or config.h.
37695
37696 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37697
37698         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
37699         (gl_STDIO_SAFER): Remove.
37700
37701 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37702
37703         * MODULES.html.sh (File stream based Input/Output):
37704         Add fopen-safer, tmpfile-safer; remove stdio-safer.
37705         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
37706         * modules/fopen-safer, modules/tmpfile-safer: New files.
37707         * modules/stdio-safer: Remove.
37708
37709 2006-07-24  Bruno Haible  <bruno@clisp.org>
37710
37711         * modules/tmpdir: New file.
37712         * MODULES.html.sh (File system functions): Add it.
37713
37714 2006-07-24  Bruno Haible  <bruno@clisp.org>
37715
37716         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
37717         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
37718
37719 2006-07-24  Bruno Haible  <bruno@clisp.org>
37720
37721         * modules/clean-temp: New file.
37722
37723 2006-07-24  Bruno Haible  <bruno@clisp.org>
37724
37725         * m4/tmpdir.m4: New file, from GNU gettext.
37726
37727 2006-07-24  Bruno Haible  <bruno@clisp.org>
37728
37729         * lib/tmpdir.h: New file, from GNU gettext.
37730         * lib/tmpdir.c: New file, from GNU gettext.
37731
37732 2006-07-24  Bruno Haible  <bruno@clisp.org>
37733
37734         * lib/clean-temp.h: New file, from GNU gettext.
37735         * lib/clean-temp.c: New file, from GNU gettext.
37736
37737 2006-07-23  Eric Blake  <ebb9@byu.net>
37738
37739         * modules/stdio-safer (Files): Add tmpfile-safer.c.
37740         (Depends-on): Add binary-io.
37741
37742 2006-07-23  Eric Blake  <ebb9@byu.net>
37743
37744         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
37745
37746 2006-07-23  Eric Blake  <ebb9@byu.net>
37747
37748         * lib/tmpfile-safer.c: New file.
37749         * lib/stdio-safer.h (fopen_safer): Add prototype.
37750         * lib/stdio--.h (tmpfile): Make safer.
37751
37752 2006-07-23  Bruno Haible  <bruno@clisp.org>
37753
37754         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
37755         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
37756         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
37757         gl_linked_remove_at): Use it.
37758
37759 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37760         and Simon Josefsson <jas@extundo.com>
37761
37762         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
37763
37764         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
37765
37766 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37767
37768         * modules/close-stream: New file.
37769         * modules/closeout (Description): Make it clear that it exits
37770         with a diagnostic on error.
37771         (Depends-on): Add close-stream.  Remove fpending, stdbool.
37772         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
37773
37774 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37775
37776         * m4/close-stream.m4: New file.
37777
37778 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37779
37780         * lib/close-stream.c, lib/close-stream.h: New files.
37781
37782 2006-07-22  Bruno Haible  <bruno@clisp.org>
37783
37784         Merge from GNU gettext 0.15.
37785
37786         2006-05-01  Bruno Haible  <bruno@clisp.org>
37787
37788                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
37789
37790         2006-07-22  Bruno Haible  <bruno@clisp.org>
37791
37792                 * modules/javaversion: New file.
37793                 * MODULES.html.sh (Java): Add javaversion.
37794
37795         2006-03-12  Bruno Haible  <bruno@clisp.org>
37796
37797                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
37798
37799         2005-12-04  Bruno Haible  <bruno@clisp.org>
37800
37801                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
37802                 (untested).
37803
37804         2006-06-21  Bruno Haible  <bruno@clisp.org>
37805
37806                 Avoid warnings from recent versions of mcs.
37807                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
37808                 -o, -L, -r any more. Use options documented since mcs-1.0
37809                 instead. Similarly for -g.
37810
37811         2005-12-04  Bruno Haible  <bruno@clisp.org>
37812
37813                 * build-aux/csharpcomp.sh.in: Suffix for resources is
37814                 .resources, not .resource.
37815
37816         2005-07-09  Bruno Haible  <bruno@clisp.org>
37817
37818                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
37819                 add a .dll suffix.
37820                 Reported by Mark Junker <mjscod@gmx.de>.
37821
37822         2006-07-22  Bruno Haible  <bruno@clisp.org>
37823
37824                 * modules/gettext: Upgrade to gettext-0.15.
37825                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
37826                 m4/visibility.m4.
37827                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
37828
37829 2006-07-22  Bruno Haible  <bruno@clisp.org>
37830
37831         Merge from GNU gettext 0.15.
37832
37833         2006-03-25  Bruno Haible  <bruno@clisp.org>
37834
37835                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
37836
37837         2006-07-21  Bruno Haible  <bruno@clisp.org>
37838
37839                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
37840                 "1.1".
37841
37842         2006-05-09  Bruno Haible  <bruno@clisp.org>
37843
37844                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
37845                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
37846                 for the conftestver execution.
37847
37848         2006-05-01  Bruno Haible  <bruno@clisp.org>
37849
37850                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
37851                 optional target-version argument. Verify that the compiler
37852                 groks source of the specified source-version, or add -source
37853                 option as necessary. Verify that the compiler produces
37854                 bytecode in the specified target-version, or add -target and
37855                 -source options as necessary. Make the result of the test
37856                 available as variable CONF_JAVAC. Also log error output in
37857                 config.log.
37858
37859         2006-03-11  Bruno Haible  <bruno@clisp.org>
37860
37861                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
37862
37863         2006-05-09  Bruno Haible  <bruno@clisp.org>
37864
37865                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
37866                 CLASSPATH_SEPARATOR to a semicolon.
37867
37868         2006-03-12  Bruno Haible  <bruno@clisp.org>
37869
37870                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
37871                 available as variable CONF_JAVA, for subsequent autoconf
37872                 tests. Also log error output in config.log.
37873
37874         2006-07-19  Bruno Haible  <bruno@clisp.org>
37875
37876                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
37877                 that getline works on glibc2 systems. Needed to avoid trouble
37878                 in relocatable.c.
37879                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
37880
37881         2005-12-04  Bruno Haible  <bruno@clisp.org>
37882
37883                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
37884                 launcher (untested).
37885
37886         2005-12-04  Bruno Haible  <bruno@clisp.org>
37887
37888                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
37889
37890         2006-07-22  Bruno Haible  <bruno@clisp.org>
37891
37892                 * gettext.m4: Update from GNU gettext-0.15.
37893                 * nls.m4: Likewise.
37894                 * po.m4: Likewise.
37895                 * inttypes-pri.m4: Likewise.
37896                 * inttypes-h.m4: Renamed from inttypes.m4.
37897                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
37898
37899 2006-07-22  Bruno Haible  <bruno@clisp.org>
37900
37901         Merge from GNU gettext 0.15.
37902
37903         2005-07-05  Bruno Haible  <bruno@clisp.org>
37904
37905                 * printf-args.c (printf_fetchargs): Work around broken
37906                 definition of wint_t on mingw.
37907
37908         2005-02-12  Bruno Haible  <bruno@clisp.org>
37909
37910                 * xallocsa.h: Add extern "C" for C++.
37911
37912         2006-05-17  Bruno Haible  <bruno@clisp.org>
37913
37914                 Cygwin portability.
37915                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
37916
37917         2006-04-30  Bruno Haible  <bruno@clisp.org>
37918
37919                 * progreloc.c: Include <mach-o/dyld.h> if available.
37920                 (find_executable): Use _NSGetExecutablePath when possible.
37921
37922         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37923
37924                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
37925                 function.
37926
37927         2005-12-29  Bruno Haible  <bruno@clisp.org>
37928
37929                 * progreloc.c (set_program_name_and_installdir): Fix
37930                 compilation error.
37931
37932         2005-12-04  Bruno Haible  <bruno@clisp.org>
37933
37934                 Cygwin portability.
37935                 * progreloc.c: Include <windows.h> also on Cygwin.
37936                 (find_executable): Add support for Cygwin.
37937                 (set_program_name_and_installdir): Handle also platforms with
37938                 nonempty EXEEXT.
37939
37940         2006-07-11  Bruno Haible  <bruno@clisp.org>
37941
37942                 * javacomp.c: Fix a comment.
37943                 Reported by Jim Meyering.
37944
37945         2006-04-30  Bruno Haible  <bruno@clisp.org>
37946
37947                 * javacomp.h (compile_java_class): Add source_version,
37948                 target_version arguments.
37949                 * javacomp.c: Rewritten to choose only a compiler that
37950                 respects the specified source_version and target_version.
37951
37952         2006-06-27  Bruno Haible  <bruno@clisp.org>
37953
37954                 Assume correct S_ISDIR macro.
37955                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
37956
37957         2006-07-22  Bruno Haible  <bruno@clisp.org>
37958
37959                 * javaversion.h: New file, from GNU gettext.
37960                 * javaversion.c: New file, from GNU gettext.
37961                 * javaversion.java: New file, from GNU gettext.
37962                 * javaversion.class: New file, from GNU gettext.
37963
37964         2006-05-17  Bruno Haible  <bruno@clisp.org>
37965
37966                 Cygwin portability.
37967                 * javaexec.c (execute_java_class): Test for jview program
37968                 also on Cygwin.
37969
37970         2006-04-09  Bruno Haible  <bruno@clisp.org>
37971
37972                 * fatal-signal.c: Don't include string.h.
37973                 (at_fatal_signal): Use a copying loop instead of memcpy.
37974
37975         2005-12-04  Bruno Haible  <bruno@clisp.org>
37976
37977                 * csharpexec.c: Add support for 'clix' launcher (untested).
37978                 (execute_csharp_using_sscli): New function.
37979                 (execute_csharp_program): Call it.
37980
37981         2006-06-21  Bruno Haible  <bruno@clisp.org>
37982
37983                 Avoid warnings from recent versions of mcs.
37984                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
37985                 -o, -L, -r any more. Use options documented since mcs-1.0
37986                 instead. Similarly for -g.
37987
37988         2005-07-09  Bruno Haible  <bruno@clisp.org>
37989
37990                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
37991                 add a .dll suffix.
37992                 Reported by Mark Junker <mjscod@gmx.de>.
37993
37994         2006-06-17  Bruno Haible  <bruno@clisp.org>
37995
37996                 * config.charset: Update for NetBSD 3.0.
37997
37998         2006-05-17  Bruno Haible  <bruno@clisp.org>
37999
38000                 Cygwin portability.
38001                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
38002
38003         2006-05-16  Bruno Haible  <bruno@clisp.org>
38004
38005                 * localcharset.c [CYGWIN]: Include <windows.h>.
38006                 (get_charset_aliases): For Cygwin, return the same CPxxx
38007                 aliases list as under WIN32.
38008                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
38009                 the environment variables. Fall back to GetACP().
38010
38011         2006-04-05  Bruno Haible  <bruno@clisp.org>
38012
38013                 * config.charset: Update Juan Manuel Guerrero's address.
38014
38015         2005-02-12  Bruno Haible  <bruno@clisp.org>
38016
38017                 * allocsa.h: Add extern "C" for C++.
38018
38019         2005-02-10  Bruno Haible  <bruno@clisp.org>
38020
38021                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
38022                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
38023
38024         2006-07-22  Bruno Haible  <bruno@clisp.org>
38025
38026                 * gettext.h: Update to GNU gettext-0.15.
38027
38028 2006-07-22  Bruno Haible  <bruno@clisp.org>
38029
38030         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
38031         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
38032         lib-prefix.m4, longdouble.m4, ssize_t.m4.
38033
38034 2006-07-21  Eric Blake  <ebb9@byu.net>
38035
38036         * modules/stdlib-safer: New file.
38037         * MODULES.html.sh (File stream based Input/Output): Add
38038         stdlib-safer.
38039
38040 2006-07-21  Eric Blake  <ebb9@byu.net>
38041
38042         * lib/stdlib-safer.h: New file from coreutils, required by
38043         stdlib--.h.
38044
38045 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38046
38047         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
38048
38049 2006-07-20  Bruno Haible  <bruno@clisp.org>
38050
38051         * gnulib-tool: Recognize new option --assume-autoconf.
38052         (autoconf_minversion): New variable.
38053         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
38054
38055 2006-07-20  Bruno Haible  <bruno@clisp.org>
38056
38057         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
38058
38059 2006-07-19  Derek R. Price  <derek@ximbiot.com>
38060
38061         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
38062         Reindent and repaginate.
38063
38064 2006-07-19  Derek Price  <derek@ximbiot.com>
38065
38066         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
38067         Correct grammar.
38068
38069 2006-07-17  Bruno Haible  <bruno@clisp.org>
38070
38071         * modules/list: New file.
38072         * modules/array-list: New file.
38073         * modules/carray-list, modules/carray-list-tests: New files.
38074         * modules/linked-list, modules/linked-list-tests: New files.
38075         * modules/avltree-list, modules/avltree-list-tests: New files.
38076         * modules/rbtree-list, modules/rbtree-list-tests: New files.
38077         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
38078         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
38079         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
38080         * modules/oset: New file.
38081         * modules/array-oset: New file.
38082         * modules/avltree-oset, modules/avltree-oset-tests: New files.
38083         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
38084         * tests/test-carray_list.c: New file.
38085         * tests/test-linked_list.c: New file.
38086         * tests/test-avltree_list.c: New file.
38087         * tests/test-rbtree_list.c: New file.
38088         * tests/test-linkedhash_list.c: New file.
38089         * tests/test-avltreehash_list.c: New file.
38090         * tests/test-rbtreehash_list.c: New file.
38091         * tests/test-avltree_oset.c: New file.
38092         * tests/test-rbtree_oset.c: New file.
38093         * MODULES.html.sh (Container data structures): New section.
38094
38095 2006-07-17  Bruno Haible  <bruno@clisp.org>
38096
38097         * m4/gl_list.m4: New file.
38098
38099 2006-07-17  Bruno Haible  <bruno@clisp.org>
38100
38101         * lib/gl_list.h: New file.
38102         * lib/gl_list.c: New file.
38103         * lib/gl_array_list.h: New file.
38104         * lib/gl_array_list.c: New file.
38105         * lib/gl_carray_list.h: New file.
38106         * lib/gl_carray_list.c: New file.
38107         * lib/gl_linked_list.h: New file.
38108         * lib/gl_linked_list.c: New file.
38109         * lib/gl_anylinked_list1.h: New file.
38110         * lib/gl_anylinked_list2.h: New file.
38111         * lib/gl_avltree_list.h: New file.
38112         * lib/gl_avltree_list.c: New file.
38113         * lib/gl_anyavltree_list1.h: New file.
38114         * lib/gl_anyavltree_list2.h: New file.
38115         * lib/gl_rbtree_list.h: New file.
38116         * lib/gl_rbtree_list.c: New file.
38117         * lib/gl_anyrbtree_list1.h: New file.
38118         * lib/gl_anyrbtree_list2.h: New file.
38119         * lib/gl_anytree_list1.h: New file.
38120         * lib/gl_anytree_list2.h: New file.
38121         * lib/gl_linkedhash_list.h: New file.
38122         * lib/gl_linkedhash_list.c: New file.
38123         * lib/gl_anyhash_list1.h: New file.
38124         * lib/gl_anyhash_list2.h: New file.
38125         * lib/gl_avltreehash_list.h: New file.
38126         * lib/gl_avltreehash_list.c: New file.
38127         * lib/gl_rbtreehash_list.h: New file.
38128         * lib/gl_rbtreehash_list.c: New file.
38129         * lib/gl_anytreehash_list1.h: New file.
38130         * lib/gl_anytreehash_list2.h: New file.
38131
38132         * lib/gl_oset.h: New file.
38133         * lib/gl_oset.c: New file.
38134         * lib/gl_array_oset.h: New file.
38135         * lib/gl_array_oset.c: New file.
38136         * lib/gl_avltree_oset.h: New file.
38137         * lib/gl_avltree_oset.c: New file.
38138         * lib/gl_rbtree_oset.h: New file.
38139         * lib/gl_rbtree_oset.c: New file.
38140         * lib/gl_anytree_oset.h: New file.
38141
38142 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
38143
38144         * m4/mkancesdirs.m4: New file.
38145         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
38146         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
38147         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
38148         it.
38149
38150 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
38151
38152         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
38153         * lib/mkancesdirs.h: New files.
38154         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
38155         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
38156         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
38157         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
38158         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
38159         callers changed.  Revamp internals significantly, by not
38160         attempting to create directories that are temporarily more
38161         permissive than the final results.  Do not attempt to use
38162         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
38163         This removes some race conditions, fixes some bugs, and simplifies
38164         things.  Use new dirchownmod function to do owner and mode changes.
38165         * lib/mkdir-p.h: Likewise.
38166         * lib/modechange.c (octal_to_mode): New function.
38167         (struct mode_change): New member mentioned.
38168         (make_node_op_equals): New arg mentioned.  All callers changed.
38169         (mode_compile): Keep track of which mode bits the user has explicitly
38170         mentioned.
38171         (mode_adjust): New arg DIR, so that we implement the X op correctly.
38172         New arg PMODE_BITS, to keep track of which mode bits the user
38173         mentioned; it treats S_ISUID and S_ISGID speciall.
38174         All callers changed.
38175         * lib/modechange.h: Likewise.
38176
38177 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
38178
38179         * MODULES.html.sh: Add mkancestors.
38180         * modules/mkancesdirs: New module.
38181         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
38182         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
38183         The chdir-safer and afs files are now orphans; I'll remove them
38184         unless someone speaks up.
38185         Add lib/dirchownmod.c, lib/dirchownmod.h.
38186         (Depends-on): Remove alloca, chown, save-cwd, dirname.
38187         Add lchown, mkancesdirs.
38188         (Maintainer): Add self.
38189
38190 2006-07-15  Karl Berry  <karl@gnu.org>
38191
38192         * gnulib-tool: help message wording/arrangement.
38193
38194 2006-07-14  Simon Josefsson  <jas@extundo.com>
38195
38196         * doc/gnulib.texi (Libtool and Windows): New section.
38197
38198 2006-07-12  Simon Josefsson  <jas@extundo.com>
38199
38200         * modules/gendocs (License): Fix license, approved by Karl.
38201
38202 2006-07-12  Eric Blake  <ebb9@byu.net>
38203
38204         * MODULES.html.sh: Add gendocs.
38205
38206 2006-07-11  Eric Blake  <ebb9@byu.net>
38207
38208         * modules/fdl: New module, to install doc/fdl.texi.
38209         * MODULES.html.sh: Add new section for documentation modules.
38210         * gnulib-tool: Avoid space-tab.
38211         (--doc-base): New option, to manage files from doc.
38212
38213 2006-07-11  Eric Blake  <ebb9@byu.net>
38214
38215         * m4/absolute-header.m4: Fix comments to match recent change.
38216
38217 2006-07-11  Eric Blake  <ebb9@byu.net>
38218
38219         * gnulib-tool: List --doc-base before --tests-base.
38220
38221 2006-07-11  Derek R. Price  <derek@ximbiot.com>
38222
38223         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
38224
38225 2006-07-11  Bruno Haible  <bruno@clisp.org>
38226
38227         * README: Mention where to put documentation.
38228
38229 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38230
38231         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
38232
38233 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38234
38235         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
38236         to stdint.m4.
38237
38238 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38239
38240         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
38241         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
38242         "no/such/file/stdint.h" when there is no such file, so that
38243         the resulting C code can be parsed by dodgy compilers.
38244         Problems reported by Bob Proulx.
38245
38246 2006-07-10  Derek R. Price  <derek@ximbiot.com>
38247
38248         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
38249         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
38250         macros into the GNU _D_EXACT_NAMLEN.
38251         * lib/savedir.c:  Likewise.
38252         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
38253
38254 2006-07-10  Derek R. Price  <derek@ximbiot.com>
38255         and Paul Eggert  <eggert@cs.ucla.edu>
38256
38257         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
38258         * m4/savedir.m4:
38259         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
38260         macros into the GNU _D_EXACT_NAMLEN.
38261
38262 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38263
38264         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
38265         around the absolute name, to work around a problem with the HP-UX
38266         11.23 native C compiler, reported by Bob Proulx.
38267
38268 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38269
38270         * doc/maintain.texi, make-stds.texi: Sync from
38271         <http://savannah.gnu.org/projects/gnustandards>.
38272
38273 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38274
38275         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
38276
38277 2006-07-09  Jim Meyering  <jim@meyering.net>
38278
38279         * m4/glob.m4: Remove a doubled word in a comment.
38280
38281 2006-07-09  Jim Meyering  <jim@meyering.net>
38282
38283         * lib/argp-pv.c: Remove a doubled word in a comment.
38284         * lib/check-version.c (check_version): Likewise.
38285         * lib/javacomp.c (compile_java_class): Likewise.
38286
38287 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
38288
38289         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
38290         for the benefit of people using Autoconf 2.60.  If you want to
38291         support older Autoconf versions you can copy m4/onceonly_2_57.m4
38292         (or m4/onceonly.m4, if pre-2.57) manually.
38293
38294 2006-07-08  Jim Meyering  <jim@meyering.net>
38295
38296         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
38297         comment.
38298         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
38299         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
38300         comment.
38301
38302 2006-07-08  Jim Meyering  <jim@meyering.net>
38303
38304         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
38305
38306 2006-07-07  Simon Josefsson  <jas@extundo.com>
38307
38308         * tests/test-crc.c: Change expected crc value, the test vector
38309         were probably computed using the old broken crc.c?
38310
38311 2006-07-06  Simon Josefsson  <jas@extundo.com>
38312
38313         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
38314         now the canonical place for the M4 file).
38315
38316         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
38317         from the sys_socket dependency now.
38318
38319         * modules/inet_pton (Files): Ditto.
38320
38321         * modules/inet_ntop (Files): Ditto.
38322
38323 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
38324
38325         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
38326         not gl_PREREQ_GETUSERSHELL.
38327
38328 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38329
38330         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
38331         with only one argument, for Autoconf 2.60.
38332         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
38333         expand to nothing, so add a shell command to avoid syntax error.
38334         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
38335
38336 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38337
38338         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
38339
38340 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38341
38342         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
38343         no longer needed.  Check for isblank decl.
38344         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
38345         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
38346         of existence.
38347
38348 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38349
38350         * lib/getloadavg.c: Use __VMS, not VMS.
38351         * lib/getopt.c: Likewise.
38352         * lib/getpagesize.h: Likewise.
38353         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
38354         and probably does not work.
38355
38356 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38357
38358         * lib/.cppi-disable: Add wcwidth.
38359         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
38360         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
38361         (ISGRAPH): Remove.  All uses changed to isgraph.
38362         (FOLD) [!defined _LIBC]: Remove special case.
38363         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
38364         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
38365         HAVE_ISBLANK.
38366         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
38367         case.
38368
38369 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38370
38371         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
38372         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
38373         brackets.  Other minor changes to suppress some compiler
38374         warnings.
38375
38376 2006-07-06  Derek R. Price  <derek@ximbiot.com>
38377         and Paul Eggert  <eggert@cs.ucla.edu>
38378
38379         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
38380         of invoking obsolescent AC_HEADER_DIRENT macro.
38381         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
38382         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
38383         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38384         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38385         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
38386         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
38387         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
38388         * m4/readdir.m4: Remove; no longer needed.
38389
38390 2006-07-06  Derek R. Price  <derek@ximbiot.com>
38391         and Paul Eggert  <eggert@cs.ucla.edu>
38392
38393         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
38394         Don't worry about this obsolete case any more.
38395         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
38396         directories.
38397         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
38398         worry about this obsolete case any more.
38399         * lib/fts.c: Likewise.
38400         * lib/getcwd.c: Likewise.
38401         * lib/glob.h: Likewise.
38402         * lib/savedir.c: Likewise.
38403
38404 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38405
38406         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
38407         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
38408         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
38409         needed.
38410         All uses removed.
38411         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38412         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
38413         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
38414         needed.
38415         * m4/getdate.m4 (gl_GETDATE): Likewise.
38416         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
38417         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
38418         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
38419         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38420         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
38421         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
38422         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
38423         needed.
38424
38425 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38426
38427         * lib/memcasecmp.c: Include <limits.h>.
38428         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
38429         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
38430         Don't assume isdigit succeeds only on '0' through '9'.
38431
38432 2006-07-05  Eric Blake  <ebb9@byu.net>
38433
38434         * modules/getaddrinfo (Depends-on): Add snprintf.
38435
38436 2006-07-05  Eric Blake  <ebb9@byu.net>
38437
38438         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
38439         to avoid 'header present but could not be compiled' on cygwin.
38440
38441 2006-07-05  Eric Blake  <ebb9@byu.net>
38442
38443         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
38444         missing from netdb.h.
38445         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
38446
38447 2006-07-05  Derek R. Price  <derek@ximbiot.com>
38448
38449         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
38450         no longer needed.
38451         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
38452         * m4/getdate.m4 (gl_GETDATE): Likewise.
38453         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
38454         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
38455         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
38456         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38457         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
38458
38459 2006-07-05  Derek R. Price  <derek@ximbiot.com>
38460
38461         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
38462         All uses of is_space replaced by isspace.
38463         * lib/exit.h: Don't talk about STDC_HEADERS.
38464         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
38465         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
38466         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
38467         replaced by isprint etc.
38468         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
38469         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
38470         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
38471         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
38472         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
38473         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
38474
38475 2006-07-05  Bruno Haible  <bruno@clisp.org>
38476
38477         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
38478         the function exists, before testing against AIX.
38479         Reported by Martin Lambers <marlam@marlam.de>.
38480
38481 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38482
38483         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
38484         From Mark D. Baushke.
38485
38486 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38487
38488         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
38489         to the absolute name, not just one, to bypass Sun C 5.8's
38490         "warning: #include of /usr/include/... may be non-portable".
38491
38492 2006-07-04  Eric Blake  <ebb9@byu.net>
38493
38494         * modules/dirname-tests: New test module.
38495         * tests/test-dirname.c: New file, replacing dirname.c
38496         TEST_DIRNAME section that was recently deleted.
38497
38498 2006-07-04  Bruno Haible  <bruno@clisp.org>
38499
38500         Assume ANSI C header files and <ctype.h> functions.
38501         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
38502         (mbsnwidth): Use isprint, iscntrl instead.
38503
38504 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38505
38506         Merge from coreutils.
38507         * MODULES.html.sh: Add xstrtold.
38508         * modules/xstrtold: New file.
38509         * modules/cycle-check (Files): Add lib/same-inode.h.
38510         * modules/dirname (Files): Add m4/double-slash-root.m4.
38511         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
38512         * modules/mkdir-p (Files): Add lib/same-inode.h.
38513         * modules/same (Files): Add lib/same-inode.h.
38514
38515 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38516
38517         * m4/absolute-header.m4: Renamed from full-header-path.m4.
38518         This is to keep the terminology clean; POSIX talks about
38519         "absolute pathnames", not "full pathnames", but the GNU
38520         Coding Standards say to use "path" for something else;
38521         so use "absolute" to keep both sides happy.
38522         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
38523         Set gl_absolute_header, not gl_full_header_path.
38524         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
38525         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
38526         All uses changed.
38527
38528         Merge from coreutils.
38529
38530         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
38531
38532         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
38533         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
38534         want to require the building of c-strtod.o.
38535         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
38536         needs -lm directly.
38537         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
38538
38539         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38540
38541         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
38542         --as-needed option if available.  Problem reported by Albert Chin in
38543         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
38544         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
38545         cc merely issues a bunch of annoying warnings for --as-needed
38546         (this problem was reported by Bob Proulx).  Also, try linking with
38547         -lm to detect a bug in binutils 2.16 (this problem was reported
38548         by Ralf Wildenhues).
38549
38550         2006-06-18  Jim Meyering  <jim@meyering.net>
38551
38552         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
38553         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
38554         macro.
38555         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
38556         also check for glibc-2.4's abort-inducing bug.
38557
38558         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
38559         Low-probability clean-up should be to use rmdir to get rid of
38560         the just-created directory, not unlink.
38561
38562         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
38563         configure fail, and request a bug report to inform us about it.
38564         Add a comment that, barring reports to the contrary, in 2007 we'll
38565         assume ftruncate is universally available.
38566
38567         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
38568
38569         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
38570
38571         2006-03-12  Jim Meyering  <jim@meyering.net>
38572
38573         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
38574         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
38575         * m4/same.m4 (gl_SAME): Likewise.
38576         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
38577
38578         2006-03-11  Eric Blake  <ebb9@byu.net>
38579
38580         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
38581         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
38582         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
38583         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
38584
38585 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38586
38587         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
38588         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
38589         reported by Mark D. Baushke, one in
38590         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
38591
38592         Merge from coreutils.
38593
38594         * lib/.cppi-disable: Add stdint_.h.
38595         * lib/.cvsignore: Add stdint.h.
38596
38597         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
38598
38599         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
38600         both double and long double versions.
38601         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
38602         * lib/xstrtold.c: New file.
38603         * lib/xstrtod.h (xstrtold): New decl.
38604
38605         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38606
38607         * lib/filemode.c (setst): Remove.
38608         (strmode): Rewrite to avoid setst.  This makes the code shorter,
38609         (arguably) clearer, and the generated code is a bit smaller on my
38610         Debian GNU/Linux stable x86 host.
38611
38612         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
38613
38614         * lib/filemode.c: Include "filemode.h" first, to test the interface.
38615         Assume that filemode.h includes sys/types.h and sys/stat.h.
38616         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
38617         (ftypelet): Reorder to put common cases first, for efficiency.
38618         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
38619         to do 'M'.
38620         (strmode): Renamed from mode_string, and now stores 12 bytes instead
38621         of 10, for compatibility with FreeBSD.  All callers changed.
38622         (filemodestring): Now stores 12 bytes instead of 10, and sets file
38623         types that can't be deduced solely from st_mode.  First arg is now a
38624         const pointer.
38625         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
38626         (strmode): Renamed from mode_string.
38627         (filemodestring): New decl.
38628         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
38629         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
38630         needed.
38631         (S_ISPORT, S_ISWHT): New macros, if not already defined.
38632
38633         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
38634
38635         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
38636         fsusage.h now does that.  Include fsusage.h first, to test interface.
38637         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
38638         at most one method (the old code could have generated decls that
38639         didn't conform to C89, not that this was ever exercised).
38640         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
38641
38642         2006-03-19  Jim Meyering  <jim@meyering.net>
38643
38644         Work even in a chroot where d_ino values for entries in "/"
38645         don't match the stat.st_ino values for the same names.
38646         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
38647         number, iterate through all entries again, using lstat instead.
38648         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
38649         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
38650
38651         * lib/getcwd.c (__getcwd): Clarify a comment.
38652         Use memcpy in place of a call to strcpy.
38653
38654         2006-03-12  Jim Meyering  <jim@meyering.net>
38655
38656         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
38657         matches that of the current directory (which we're about to chdir ".."
38658         out of), then save the dev-ino of the parent, instead.
38659
38660         * lib/same-inode.h (SAME_INODE): New file/macro.
38661         * lib/chdir-safer.c (SAME_INODE): Remove definition.
38662         Include "same-inode.h", instead.
38663         * lib/same.c: Likewise.
38664         * lib/cycle-check.h: Include "same-inode.h".
38665         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
38666         * lib/cycle-check.c (SAME_INODE): Remove definition.
38667         * lib/root-dev-ino.h: Include "same-inode.h".
38668
38669         2006-03-11  Eric Blake  <ebb9@byu.net>
38670
38671         * lib/same.c (same_name): s/base_name/last_component/
38672         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
38673         * lib/filenamecat.c (file_name_concat): Likewise.
38674
38675         2006-03-11  Eric Blake  <ebb9@byu.net>,
38676                     Paul Eggert  <eggert@cs.ucla.edu>
38677
38678         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
38679         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
38680         drive prefix.
38681         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
38682         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
38683         (last_component): New method.
38684         * lib/dirname.c (dir_len): Determine when drive letters need a
38685         subsequent slash.  Preserve // when it is special.
38686         (dir_name): Don't append dot when drive letter is absolute.
38687         [TEST_DIRNAME]: Move into a full-blown gnulib test.
38688         * lib/basename.c (base_name): New semantics - malloc the result.
38689         Preserve // when it is special.  Preserve relative files that look
38690         like drive letters.
38691         (base_len): Preserve // when it is special.
38692         (last_component): New method, similar to old base_name semantics.
38693         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
38694         base_name.  Strip redundant slashes from ///.
38695
38696 2006-07-03  Jim Meyering  <jim@meyering.net>
38697
38698         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
38699         macro is used before the first cycle_check call.
38700
38701 2006-07-03  Eric Blake  <ebb9@byu.net>
38702
38703         * modules/dirname (Depends-on): Add xstrndup.
38704
38705 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38706
38707         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
38708         test cases, so that config.log is a bit easier to follow.
38709
38710 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38711
38712         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
38713         both are 64 bits, since this seems to be the tradition, and this
38714         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
38715         we ever run into a host that prefers long long to long in this
38716         case, we'll need another configure-time test.  Problem reported by
38717         Jim Meyering.
38718
38719 2006-07-02  Eric Blake  <ebb9@byu.net>
38720
38721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
38722
38723 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38724
38725         * modules/inttypes (Depends-on): No longer depends on stdint.
38726         * modules/stdint (Description): Say more about assumptions.
38727         Say that the fast types might differ.  Say macros are used.
38728         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
38729         (Makefile.am): Revise list of substituted symbols to match
38730         new stdint.m4.
38731         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
38732         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
38733         * tests/test-stdint.c (verify_same_types)
38734         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
38735         the code conforms to C99/C89.
38736         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
38737         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
38738
38739 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38740
38741         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
38742         but fix a bug, by requiring at least 64 bits.
38743         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38744         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
38745         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
38746         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
38747
38748         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
38749         changes.  Make 2.59 a prerequisite.  Check and substitute for
38750         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
38751         inttypes.h.  Do not use special include files; just use the
38752         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
38753         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
38754         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
38755         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
38756         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
38757         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
38758         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
38759         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
38760         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
38761         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
38762         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
38763         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
38764         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
38765         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
38766         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
38767         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
38768         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
38769         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
38770         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
38771         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
38772         WINT_MAX.  Check for C99 conformance more strictly, by detecting
38773         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
38774         not check for things that C99 does not require, e.g., int8_t.  If
38775         a test isn't needed unless <stdint.h> isn't working, and is
38776         unlikely to be needed for any other reason, then don't do it
38777         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
38778         size_t, since we assume C89 freestanding at least.  Do not check
38779         for sig_atomic_t, wchar_t, or wint_t, since the code now does
38780         the right thing even if the types are not defined.  Instead use:
38781         (gl_STDINT_TYPE_PROPERTIES): New macro.
38782         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
38783         testing whether <sys/types.h> clashes, as Autoconf does this for
38784         us now.  All uses removed.
38785         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
38786         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
38787         (gl_CHECK_TYPE_SAME):
38788         Remove; no longer needed.
38789         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
38790         exists, since we'll return 0 anyway in that case.
38791         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
38792
38793 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38794
38795         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
38796         possible collision with system files.
38797         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
38798         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
38799         WCHAR_MIN and WCHAR_MAX in this case.
38800         (<stddef.h>): Do not include; no longer needed.
38801         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
38802         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
38803         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
38804         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
38805         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
38806         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
38807         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
38808         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
38809         !defined(__c99))]: Include in this case too, since it's harmless
38810         now.
38811         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
38812         dangerous to do so.
38813         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
38814         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
38815         (_STDINT_MIN, _STDINT_MAX): New macros.
38816         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
38817         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
38818         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
38819         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
38820         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
38821         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
38822         macros, not typedefs; this simplifies things quite a bit.
38823         Use long int for all types narrower than int64_t.
38824         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
38825         Define in terms of long long int or int64_t or long int,
38826         not int64_t or int32_t.  This saves some compile-time testing.
38827         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
38828         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
38829         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
38830         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
38831         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
38832         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
38833         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
38834         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38835         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
38836         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
38837         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38838         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38839         undef any previous version and define our own version, for
38840         simplicity and consistency with the new macros for types.
38841         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38842         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38843         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
38844         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
38845         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
38846         @WINT_T_SUFFIX@ to keep things simple here.
38847         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
38848         Simplify by assuming typical 8/16/32/64 host, since we're
38849         already doing that elsewhere anyway.
38850         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
38851         and assume long long int is 64 bits if available.  This
38852         speeds up 'configure'.
38853
38854 2006-07-01  Eric Blake  <ebb9@byu.net>
38855
38856         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
38857         Reported by Andreas Buening.
38858
38859 2006-07-01  Eric Blake  <ebb9@byu.net>
38860
38861         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
38862
38863 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38864
38865         * lib/getaddrinfo.c: fixed typo
38866
38867 2006-06-29  Jim Meyering  <jim@meyering.net>
38868
38869         * modules/strftime (Maintainer): Add my name, since with the
38870         FPRINTFTIME changes strftime.c has forked from glibc.
38871
38872 2006-06-29  Eric Blake  <ebb9@byu.net>
38873
38874         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
38875
38876 2006-06-29  Eric Blake  <ebb9@byu.net>
38877
38878         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
38879
38880 2006-06-29  Eric Blake  <ebb9@byu.net>
38881
38882         * lib/stat_.h: New file.
38883
38884 2006-06-29  Eric Blake  <ebb9@byu.net>
38885
38886         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
38887         unused static function.
38888
38889 2006-06-29  Eric Blake  <ebb9@byu.net>
38890
38891         * doc/functions.texi (Function Portability): Document missing lstat
38892         on mingw.
38893
38894 2006-06-29  Eric Blake  <ebb9@byu.net>
38895
38896         * MODULES.html.sh: Add sys_stat.
38897         * modules/sys_stat: New module.
38898         * modules/mkstemp (Depends-on): Add sys_stat.
38899
38900 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38901
38902         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
38903
38904 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38905
38906         * m4/c-bs-a.m4: Removed.
38907
38908 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38909
38910         * lib/strftime.c: Assume strftime() exists.
38911
38912 2006-06-29  Derek Price  <derek@ximbiot.com>
38913
38914         * modules/c-bs-a: Removed - \a is C89.
38915         * MODULES.html.sh: Remove c-bs-a.
38916
38917 2006-06-29  Bruno Haible  <bruno@clisp.org>
38918
38919         * modules/wcwidth (License): Change to LGPL.
38920
38921 2006-06-28  Simon Josefsson  <jas@extundo.com>
38922
38923         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
38924         on _WIN32.
38925
38926         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
38927         getnameinfo.
38928
38929 2006-06-28  Simon Josefsson  <jas@extundo.com>
38930
38931         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
38932
38933 2006-06-28  Simon Josefsson  <jas@extundo.com>
38934
38935         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
38936         functions there.  It will succeed on Windows XP, but on Windows
38937         2000 and (presumably) earlier, it will fail, and use the internal
38938         re-implementation.
38939         (use_win32_p): New function.
38940         (getaddrinfo): Use strtoul on servname, to support numeric ports.
38941         Support AI_NUMERICSERV to disable getservbyname.
38942         (getnameinfo): New function, only supports
38943         NI_NUMERICHOST|NI_NUMERICSERV for now.
38944
38945         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
38946         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
38947         getnameinfo.
38948
38949 2006-06-28  Eric Blake  <ebb9@byu.net>
38950
38951         * modules/wcwidth: New file.
38952         * modules/mbchar (Depends-on): Add wcwidth.
38953         * modules/mbswidth (Depends-on): Add wcwidth.
38954         * MODULES.html.sh: Add wcwidth.
38955
38956 2006-06-28  Eric Blake  <ebb9@byu.net>
38957
38958         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
38959         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
38960
38961 2006-06-28  Eric Blake  <ebb9@byu.net>
38962
38963         * lib/xvasprintf.h: Fix comments.
38964
38965 2006-06-28  Eric Blake  <ebb9@byu.net>
38966
38967         * lib/mbchar.h (wcwidth): Include wcwidth.h.
38968         * lib/mbswidth.c (wcwidth): Move from here...
38969         * lib/wcwidth.h: ...to this new file.
38970
38971 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38972
38973         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
38974
38975         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
38976         it's obsolete.
38977         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
38978
38979 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38980
38981         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
38982         Autoconf 2.60 says this stuff was obsolete.
38983
38984 2006-06-28  Bruno Haible  <bruno@clisp.org>
38985
38986         * modules/wcwidth (Files): Add m4/wchar_t.m4.
38987
38988 2006-06-28  Bruno Haible  <bruno@clisp.org>
38989
38990         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
38991         gt_TYPE_WCHAR_T.
38992
38993 2006-06-28  Bruno Haible  <bruno@clisp.org>
38994
38995         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
38996         declaration for wcwidth.
38997         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
38998
38999 2006-06-28  Bruno Haible  <bruno@clisp.org>
39000
39001         * lib/mkdtemp.c [MINGW]: Include <io.h>.
39002         (mkdir): Define using _mkdir.
39003
39004 2006-06-28  Bruno Haible  <bruno@clisp.org>
39005
39006         * lib/getaddrinfo.h: Fix POSIX URL.
39007         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
39008         _WIN32.
39009         (use_win32_p): Make static.
39010         (getaddrinfo): Reject service name if it is empty or does not consist
39011         solely of decimal digits, or if its value is > 65535.
39012         (getnameinfo): Remove useless casts.
39013
39014 2006-06-27  Simon Josefsson  <jas@extundo.com>
39015
39016         * modules/sys_select: New file, suggested by Bruno Haible, Paul
39017         Eggert and Martin Lambers.
39018
39019 2006-06-27  Simon Josefsson  <jas@extundo.com>
39020
39021         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
39022         Eggert and Martin Lambers.
39023
39024 2006-06-27  Bruno Haible  <bruno@clisp.org>
39025
39026         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
39027         result to 0, not to empty.
39028         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
39029
39030 2006-06-27  Bruno Haible  <bruno@clisp.org>
39031
39032         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
39033
39034 2006-06-26  Simon Josefsson  <jas@extundo.com>
39035
39036         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
39037         present.
39038
39039 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
39040
39041         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
39042         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
39043         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
39044
39045 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
39046
39047         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
39048
39049 2006-06-26  Bruno Haible  <bruno@clisp.org>
39050
39051         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
39052
39053 2006-06-26  Bruno Haible  <bruno@clisp.org>
39054
39055         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
39056
39057 2006-06-26  Bruno Haible  <bruno@clisp.org>
39058
39059         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
39060         SGI C compiler in pre-C99 mode.
39061         Suggested by Mark D. Baushke and Larry Jones.
39062
39063 2006-06-26  Bruno Haible  <bruno@clisp.org>
39064
39065         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
39066         WCHAR_MAX.
39067         Reported by Mark D. Baushke and Larry Jones.
39068
39069 2006-06-26  Bruno Haible  <bruno@clisp.org>
39070
39071         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
39072         in pre-C99 mode.
39073         Suggested by Mark D. Baushke and Larry Jones.
39074
39075 2006-06-23  Simon Josefsson  <jas@extundo.com>
39076             Bruno Haible  <bruno@clisp.org>
39077
39078         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
39079         Emit mostlyclean-local rule.
39080         (func_emit_tests_Makefile_am): Likewise.
39081         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
39082
39083 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
39084
39085         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
39086
39087 2006-06-23  Bruno Haible  <bruno@clisp.org>
39088
39089         * tests/test-stdint.c: Update to match ISO C 99 Technical
39090         Corrigendum 1.
39091
39092 2006-06-23  Bruno Haible  <bruno@clisp.org>
39093
39094         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
39095
39096 2006-06-23  Bruno Haible  <bruno@clisp.org>
39097
39098         * lib/stdint_.h: Treat IRIX like OpenBSD.
39099
39100 2006-06-23  Bruno Haible  <bruno@clisp.org>
39101
39102         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
39103         ISO C 99 Technical Corrigendum 1.
39104
39105 2006-06-22  Simon Josefsson  <jas@extundo.com>
39106
39107         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
39108         MinGW.
39109
39110 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39111
39112         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
39113         needed.  Some compiler complained about some of them.  Problem reported
39114         by Larry Jones in
39115         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
39116
39117 2006-06-21  Simon Josefsson  <jas@extundo.com>
39118
39119         * tests/test-getaddrinfo.c: New file.
39120
39121         * modules/getaddrinfo-tests: New file.
39122
39123         * MODULES.html.sh: Add inet_pton.
39124
39125         * modules/inet_pton: New file.
39126
39127 2006-06-21  Simon Josefsson  <jas@extundo.com>
39128
39129         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
39130         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
39131         of using the (limited) gnulib implementation on Windows XP.
39132
39133         * m4/inet_pton.m4: New file.
39134
39135 2006-06-21  Simon Josefsson  <jas@extundo.com>
39136
39137         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
39138         variable.
39139
39140         * lib/socket_.h: Don't define WINVER.
39141
39142         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
39143         slightly modified to work in gnulib.
39144
39145 2006-06-21  Simon Josefsson  <jas@extundo.com>
39146
39147         * doc/gnulib.texi (Windows sockets): Add.
39148
39149 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39150
39151         * lib/read-file.c (fread_file): Start with buffer allocation of
39152         0 bytes rather than 1 byte; this simplifies the code.
39153         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
39154         code to free buffer and save/restore errno.
39155         (internal_read_file): Remove unused local.
39156
39157 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39158
39159         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
39160         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
39161         Problem reported by Denis Excoffier in
39162         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
39163
39164 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39165
39166         * modules/sys_socket, modules/socklen: Include sys/types since
39167         FreeBSD 4.x's sys/socket.h needs it.
39168
39169 2006-06-19  Simon Josefsson  <jas@extundo.com>
39170
39171         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
39172
39173 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
39174
39175         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
39176
39177 2006-06-19  Bruno Haible  <bruno@clisp.org>
39178
39179         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
39180         and FULL_PATH_INTTYPES_H in angle brackets.
39181         Reported by Mark D. Baushke <mdb@gnu.org>.
39182
39183 2006-06-17  Eric Blake  <ebb9@byu.net>
39184
39185         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
39186         errno.
39187
39188 2006-06-17  Bruno Haible  <bruno@clisp.org>
39189
39190         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
39191         <sys/inttypes.h>.
39192
39193 2006-06-17  Bruno Haible  <bruno@clisp.org>
39194
39195         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
39196         whether errno is declared. Assume <errno.h> declares errno.
39197
39198 2006-06-17  Bruno Haible  <bruno@clisp.org>
39199
39200         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
39201
39202 2006-06-17  Bruno Haible  <bruno@clisp.org>
39203
39204         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
39205         problem on Solaris 2.5.1.
39206
39207 2006-06-16  Eric Blake  <ebb9@byu.net>
39208
39209         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
39210         * lib/unicodeio.c [!defined errno]: Likewise.
39211         * lib/strtol.c [!defined errno]: Likewise.
39212         * lib/strtod.c [!defined errno]: Likewise.
39213
39214 2006-06-15  Eric Blake  <ebb9@byu.net>
39215
39216         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
39217
39218 2006-06-15  Eric Blake  <ebb9@byu.net>
39219
39220         * config/srclist.txt (ssize_t.m4): Lose sync.
39221
39222 2006-06-15  Bruno Haible  <bruno@clisp.org>
39223
39224         * modules/stdint (Files): Include m4/full-header-path.m4,
39225         m4/size_max.m4, m4/wchar_t.m4.
39226         (Makefile.am): Many more substitutions.
39227         * modules/stdint-tests: New file.
39228         * tests/test-stdint.c: New file.
39229
39230 2006-06-15  Bruno Haible  <bruno@clisp.org>
39231
39232         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
39233         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
39234         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
39235         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
39236         gl_CHECK_TYPE_SAME): New macros.
39237
39238 2006-06-15  Bruno Haible  <bruno@clisp.org>
39239
39240         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
39241
39242 2006-06-15  Bruno Haible  <bruno@clisp.org>
39243
39244         * lib/stdint_.h: Rewritten to be fully auto-configured.
39245         Fixes bug on HP-UX/IA64.
39246
39247 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
39248
39249         * lib/getdate.y (__attribute__): Don't define if already defined.
39250         Problem reported by Larry Jones.
39251         * lib/utimens.c (__attribute__): Likewise.
39252
39253 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
39254
39255         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
39256         reported by Andreas Schwab.
39257
39258 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39259             Bruno Haible  <bruno@clisp.org>
39260
39261         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
39262         check for the declaration of strnlen and a run test that exposes the
39263         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
39264         rpl_strndup.
39265
39266 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39267             Bruno Haible  <bruno@clisp.org>
39268
39269         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
39270
39271 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39272
39273         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
39274         compile test, for Tru64 4.0D.
39275
39276 2006-05-28  Karl Berry  <karl@gnu.org>
39277
39278         * config/srclist.txt (printf-args.c): lose sync.
39279
39280 2006-05-26  Martin Lambers  <marlam@marlam.de>
39281
39282         * lib/getpass.c: Updates the test for the native W32 API, and adds
39283         missing includes, thus fixing compilation warnings.
39284
39285 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39286
39287         * lib/exclude.c (exclude_fnmatch): New function.
39288         (excluded_file_name): Call exclude_fnmatch.
39289         * lib/exclude.h (excluded_file_name): New prototype
39290
39291 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
39292
39293         * lib/tempname.c (small_open, large_open): New macros.
39294         (__open, __open64) [!_LIBC]: Remove.
39295         (__gen_tempname): Use small_open and large_open instead of __open
39296         and __open64.  This fixes a portability bug on HP-UX 11.11i
39297         reported by Simon Wing-Tang in
39298         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
39299
39300 2006-05-24  Bruno Haible  <bruno@clisp.org>
39301
39302         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
39303         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
39304         Reported by Thorsten Maerz <torte@netztorte.de> via
39305         Aaron Stone <aaron@serendipity.cx>.
39306
39307 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39308
39309         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
39310         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
39311         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
39312         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
39313         not really conditional on the cache.
39314         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
39315
39316 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39317
39318         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
39319         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
39320         (my_usleep): Don't mishandle maximum value.
39321
39322 2006-05-19  Jim Meyering  <jim@meyering.net>
39323
39324         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
39325
39326 2006-05-17  Bruno Haible  <bruno@clisp.org>
39327
39328         Cygwin portability.
39329         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
39330
39331 2006-05-17  Bruno Haible  <bruno@clisp.org>
39332
39333         * lib/stdint_.h: Fix recognition of Cygwin.
39334
39335 2006-05-15  Bruno Haible  <bruno@clisp.org>
39336
39337         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
39338         on libtool patch by Ralf Wildenhues.
39339
39340 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39341
39342         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
39343         test for C99 conformance; (bool) 0.5 is an integer constant
39344         expression, but (bool) -0.5 is not.  Problem reported by Fedor
39345         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
39346
39347 2006-05-11  Simon Josefsson  <jas@extundo.com>
39348
39349         * m4/xvasprintf.m4: Fix obvious typo.
39350
39351 2006-05-11  Jim Meyering  <jim@meyering.net>
39352
39353         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
39354         James Lemley.
39355
39356 2006-05-10  Simon Josefsson  <jas@extundo.com>
39357
39358         * lib/md4.c: Typo fix, update copyright years.
39359         (K1, K2): Don't use L because it turn computations into 64-bit on
39360         64-bit platforms.
39361
39362 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39363
39364         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
39365         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
39366         unwanted sign propagation, e.g., on hosts with 64-bit int.
39367         There still are some problems with reeelly weird theoretical hosts
39368         (e.g., 33-bit int) but it's not worth worrying about now.
39369         * lib/sha1.c (rol): Likewise.
39370         (K1, K2, K3, K4): Remove unnecessary L suffix.
39371
39372 2006-05-10  Bruno Haible  <bruno@clisp.org>
39373
39374         * lib/des.c: Cast to avoid warnings.
39375
39376 2006-05-09  Bruno Haible  <bruno@clisp.org>
39377
39378         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
39379         (Depends-on): Depend also on xsize, stdarg.
39380         (configure.ac): Add gl_XVASPRINTF.
39381
39382 2006-05-09  Bruno Haible  <bruno@clisp.org>
39383
39384         * m4/xvasprintf.m4: New file.
39385
39386 2006-05-09  Bruno Haible  <bruno@clisp.org>
39387
39388         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
39389         (EOVERFLOW): Define fallback value.
39390         (xstrcat): New function.
39391         (xvasprintf): Recognize the special case of a string concatenation.
39392
39393 2006-05-08  Eric Blake  <ebb9@byu.net>
39394
39395         * gnulib-tool (func_version): Base copyright year on CVS date.
39396         (func_emit_copyright_notice): New function.
39397         (func_emit_lib_Makefile_am): Use it.
39398         (func_emit_tests_Makefile_am): Likewise.
39399         (func_import): Likewise.
39400
39401 2006-05-08  Bruno Haible  <bruno@clisp.org>
39402
39403         * modules/stdarg: New file.
39404         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
39405
39406 2006-05-08  Bruno Haible  <bruno@clisp.org>
39407
39408         * m4/stdarg.m4: New file, from GNU gettext.
39409
39410 2006-05-08  Bruno Haible  <bruno@clisp.org>
39411
39412         * config/srclist.txt (build-aux/config.rpath): different from latest
39413         release.
39414
39415 2006-05-08  Bruno Haible  <bruno@clisp.org>
39416
39417         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
39418
39419 2006-05-05  Jim Meyering  <jim@meyering.net>
39420
39421         * m4/warning.m4: New file, derived from bison's file by the same name.
39422
39423 2006-05-03  Bruno Haible  <bruno@clisp.org>
39424
39425         * lib/stdint_.h: Shorter URL.
39426         * lib/inttypes.h: Likewise.
39427
39428 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39429
39430         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
39431
39432 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39433
39434         * lib/verify.h: Document the internals better.  Most of this change
39435         was written by Bruno Haible.
39436
39437 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39438
39439         * doc/verify.texi: New file, partly based on a proposal by
39440         Bruno Haible.
39441
39442 2006-05-02  Bruno Haible  <bruno@clisp.org>
39443
39444         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
39445         test from here...
39446         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
39447
39448 2006-04-29  Bruno Haible  <bruno@clisp.org>
39449
39450         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
39451         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
39452
39453 2006-04-29  Bruno Haible  <bruno@clisp.org>
39454
39455         * gnulib-tool: Make --update option actually work.
39456
39457 2006-04-29  Bruno Haible  <bruno@clisp.org>
39458
39459         * doc/gcd.texi: New file.
39460         * doc/gnulib.texi: Include it.
39461
39462 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39463
39464         * lib/getdate.y (get_date): When adding relative date, start with the
39465         initial time, not with the result of the first mktime call.
39466
39467 2006-04-25  Bruno Haible  <bruno@clisp.org>
39468
39469         * gnulib-tool (func_import): Output the include directives in three
39470         blocks, sorted separately.
39471         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39472
39473 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39474
39475         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
39476         to define main with arguments, for C++.  Reported by Eric Blake.
39477         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
39478         Prefer 'int main ()' to 'int main (void)', for C++.
39479         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
39480         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
39481         for 'main', for C99 and C++.
39482
39483 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39484
39485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
39486         Don't assume that exit status -1 is valid.
39487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39488         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
39489         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39490         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
39491         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
39492         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
39493         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
39494         functions can be used without declaring them, or that you can
39495         exit with status -1.
39496         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39497
39498 2006-04-24  Karl Berry  <karl@gnu.org>
39499
39500         * config/srclist.txt (longdouble.m4): sync lost.
39501
39502 2006-04-24  Eric Blake  <ebb9@byu.net>
39503
39504         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
39505
39506 2006-04-24  Bruno Haible  <bruno@clisp.org>
39507
39508         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
39509         poll() implementation in AIX.
39510         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39511
39512 2006-04-24  Bruno Haible  <bruno@clisp.org>
39513
39514         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
39515         assigned exactly once.
39516
39517 2006-04-23  Claudio Fontana  <claudio@gnu.org>
39518             Bruno Haible  <bruno@clisp.org>
39519
39520         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
39521         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
39522         for AM_CPPFLAGS.
39523
39524 2006-04-23  Bruno Haible  <bruno@clisp.org>
39525
39526         * modules/copy-file: Depend on unistd.
39527         * modules/execute: Likewise.
39528         * modules/fatal-signal: Likewise.
39529         * modules/findprog: Likewise.
39530         * modules/mkdtemp : Likewise.
39531         * modules/pipe: Likewise.
39532         * modules/wait-process: Likewise.
39533
39534 2006-04-23  Bruno Haible  <bruno@clisp.org>
39535
39536         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
39537         condition was already detected.
39538         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39539
39540 2006-04-23  Bruno Haible  <bruno@clisp.org>
39541
39542         * lib/copy-file.c: Include <unistd.h> unconditionally.
39543         * lib/execute.c: Likewise.
39544         * lib/fatal-signal.c: Likewise.
39545         * lib/findprog.c: Likewise.
39546         * lib/mkdtemp.c: Likewise.
39547         * lib/pipe.h: Likewise.
39548         * lib/pipe.c: Likewise.
39549         * lib/wait-process.h: Likewise.
39550
39551 2006-04-23  Bruno Haible  <bruno@clisp.org>
39552
39553         * gnulib-tool (func_usage): Fix --import description. Document
39554         --update.
39555         (func_import): Create temporary file in a temporary directory, if
39556         --dry-run is specified. Silence errors from 'grep' when there are no
39557         m4 files in $m4dir.
39558         (func_create_testdir): Silence errors from 'grep' when there are no
39559         m4 files in $m4dir.
39560         Reported by Karl Berry <karl@freefriends.org>.
39561
39562 2006-04-20  Bruno Haible  <bruno@clisp.org>
39563
39564         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
39565         one argument, so that the code will be portable to Autoconf 2.60.
39566         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
39567         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
39568         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
39569
39570 2006-04-19  Derek Price  <derek@ximbiot.com>
39571             Eric Blake  <ebb9@byu.net>
39572
39573         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
39574         rather than "/full/path.h".  Update comment to match.  Shorten &
39575         generalize m4_translit call via AS_TR_CPP.
39576
39577 2006-04-19  Derek Price  <derek@ximbiot.com>
39578             Eric Blake  <ebb9@byu.net>
39579
39580         * lib/inttypes.h: Correct grammar in comment.
39581
39582 2006-04-18  Derek Price  <derek@ximbiot.com>
39583             Paul Eggert  <eggert@cs.ucla.edu>
39584
39585         * modules/inttypes: New file.
39586         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
39587
39588 2006-04-18  Derek Price  <derek@ximbiot.com>
39589             Paul Eggert  <eggert@cs.ucla.edu>
39590
39591         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
39592         New files.
39593
39594 2006-04-18  Derek Price  <derek@ximbiot.com>
39595             Paul Eggert  <eggert@cs.ucla.edu>
39596
39597         * lib/inttypes.h: New file.
39598         * lib/strtoimax.c: Assume <inttypes.h>.
39599
39600 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
39601
39602         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
39603         isn't mounted.  Problem reported by Kir Kolyshkin.
39604
39605 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
39606
39607         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
39608         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
39609         Derek R. Price.
39610         * lib/regex.h (RE_DUP_MAX): Update comment to match current
39611         implementation.
39612
39613 2006-04-12  Eric Blake  <ebb9@byu.net>
39614
39615         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
39616         is now done automatically by the corresponding Autoconf macro.
39617
39618 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
39619
39620         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
39621         time_r.h.
39622
39623 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39624
39625         Merge regex changes from libc, removing some of our
39626         POSIX-conformance changes that were rejected and redoing them in a
39627         less-intrusive way.
39628
39629         * lib/regcomp.c (re_compile_internal, init_dfa):
39630         Length arg is now size_t, not Idx.  All uses changed.
39631         (peek_token): Forward decl now says internal_function.
39632         (__re_error_msgid, __re_error_msgid_idx):
39633         Now static rather than extern with attribute_hidden.
39634         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
39635         For some reason libc prefers K&R style defns for external functions.
39636         (regerror) [!defined _LIBC]: Likewise.
39637         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
39638         (seek_collating_symbol_entry, lookup_collation_sequence_value):
39639         (build_range_exp, build_collating_symbol):
39640         Use K&R-style defn.
39641         (re_compile_fastmap): Use '\0' to memset, not 0.
39642         (utf8_sb_map): Make the calculations more obvious.
39643         (init_dfa, parse_bracket_exp, build_charclass_op):
39644         Call calloc and cast result, as glibc does.
39645         (init_word_char, fetch_token, peek_token, peek_token_bracket):
39646         (build_range_exp, build_collating_symbol):
39647         Now internal functions.
39648
39649         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
39650
39651         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
39652         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
39653         Don't depend on VMS; depend on __VMS instead, for POSIX
39654         namespace cleanness.
39655         (regoff_t): Define to ssize_t, not long int.
39656
39657         Remove the REG_ macros named below.  Instead, make the old names
39658         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
39659         __USE_GNU_REGEX.
39660         (REG_BACKSLASH_ESCAPE_IN_LISTS):
39661         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
39662         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
39663         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
39664         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
39665         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
39666         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
39667         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
39668         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
39669         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
39670         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
39671         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
39672         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
39673         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
39674         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
39675         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
39676         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
39677         (REG_NREGS):
39678         Remove.  All uses replaced by the old RE_* names.
39679         (RE_BACKSLASH_ESCAPE_IN_LISTS):
39680         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
39681         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
39682         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
39683         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
39684         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
39685         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
39686         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
39687         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
39688         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
39689         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
39690         Don't bother having these macros be independent of each others'
39691         values, since they no longer exist in the POSIX name space.
39692
39693         Rename the following member names back to their old names,
39694         unless !__USE_GNU_REGEX.  All uses changed back.
39695         (buffer): Renamed from re_buffer.
39696         (allocated): Renamed from re_allocated.
39697         (used): Renamed from re_used.
39698         (syntax): Renamed from re_syntax.
39699         (fastmap): Renamed from re_fastmap.
39700         (translate): Renamed from re_translate.
39701         (can_be_null): Renamed from re_can_be_null.
39702         (regs_allocated): Renamed from re_regs_allocated.
39703         (fastmap_accurate): Renamed from re_fastmap_accurate.
39704         (no_sub): Renamed from re_no_sub.
39705         (not_bol): Renamed from re_not_bol.
39706         (not_eol): Renamed from re_not_eol.
39707         (newline_anchor): Renamed from re_newline_anchor.
39708         (num_regs): Renamed from rm_num_regs.
39709         (start): Renamed from rm_start.
39710         (end): Renamed from rm_end.
39711
39712         (free_state): Move up a bit.
39713
39714         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
39715         #define to be empty.
39716         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
39717         when that is what is intended.
39718         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
39719         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
39720         (MAX): New macro.
39721         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
39722         All uses changed back to re_malloc, etc.  It's now the caller's
39723         responsibility to check for overflow; all callers changed.
39724         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
39725         (re_x2nrealloc): Remove.
39726         (free_state): Remove decl.
39727
39728         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
39729         (re_set_registers, re_exec):
39730         Use K&R-style defn.
39731
39732         2006-01-31  Roland McGrath  <roland@redhat.com>
39733
39734         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
39735         Reported by Mike Frysinger <vapier@gentoo.org>.
39736
39737         2006-01-15  Andreas Jaeger  <aj@suse.de>
39738
39739         [BZ #1950]
39740         * lib/regex_internal.c (re_string_reconstruct): Adjust for
39741         build_wcs_upper_buffer change.
39742         (build_wcs_upper_buffer): Change return type.
39743
39744         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
39745
39746         * lib/regex_internal.h: Include <stdint.h> if available.
39747
39748         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
39749
39750         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
39751
39752         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
39753
39754         * lib/regcomp.c: Adjust for changed secondary hash function.
39755
39756         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
39757
39758         * lib/regex.h: Pretty printing.
39759         Clean up namespace a bit.
39760
39761         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
39762
39763         * lib/regexec.c (update_cur_sifted_state, check_arrival,
39764         check_arrival_add_next_nodes): Avoid using uninitialized variable.
39765
39766         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
39767                     Ulrich Drepper  <drepper@redhat.com>
39768
39769         [BZ #1302]
39770         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
39771         changed.
39772         (bitset_word_t): Renamed from bitset_word.  All uses changed.
39773
39774         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
39775
39776         [BZ #281]
39777         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
39778         * lib/regcomp.c: Remove unnecessary uses of
39779         unsigned RE_TRANSLATE_TYPE.
39780         * lib/regex_internal.h: Likewise.
39781         * lib/regex_internal.c: Likewise.
39782         * lib/regexec.c: Likewise.
39783         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
39784
39785         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
39786
39787         * lib/regexec.c (find_recover_state): Remove unnecessary
39788         initialization.
39789         (transit_state_bkref): Make DFA a const pointer.
39790         (get_subexp): Likewise.
39791         (check_arrival): Likewise.
39792         (update_cur_sifted_state): Likewise.
39793         (re_search_internal): Likewise.
39794         (prune_impossible_nodes): Likewise.
39795         (acquire_init_state_context): Likewise.
39796         (proceed_next_node): Likewise.
39797         (set_regs): Likewise.
39798         (free_fail_stack_return): Likewise.
39799         (check_arrival_expand_ecl): Mark DFA parameter as const.
39800         (check_arrival_expand_ecl_sub): Likewise.
39801         (check_subexp_limits): Likewise.
39802         (sub_epsilon_src_nodes):  Likewise.
39803         (add_epsilon_src_nodes):  Likewise.
39804         (merge_state_array): Likewise.
39805         (update_regs): Likewise.
39806         (build_trtable): Likewise.
39807         (sift_states_backward): Mark MCTX parameter as const.
39808         (build_sifted_states): Likewise.
39809         (update_cur_sifted_state): Likewise.
39810         (sift_states_mkref): Likewise.
39811         (check_arrival_expand_ecl): Mark eclosure as const.
39812         (check_dst_limits_calc_pos_1): Likewise.
39813         * lib/regex_internal.h (re_match_context_t): Make dfa a const
39814         pointer.
39815
39816         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
39817
39818         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
39819         (transit_state_sb): Likewise.
39820         (transit_state_mb): Likewise.
39821         (sift_states_iter_mb): Likewise.
39822         (check_arrival_add_next_nodes): Likewise.
39823         (check_node_accept_bytes): Change first parameter to pointer-to-const.
39824         [_LIBC] (re_search_2_stub): Use mempcpy.
39825
39826         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
39827         mbrtowc for very simple UTF-8 case.
39828
39829         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
39830         a pointer-to-const.
39831         (re_acquire_state_context): Likewise.
39832         * lib/regex_internal.h: Adjust prototypes.
39833
39834         * lib/regex.c: Prevent using C++ compilers.
39835
39836         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
39837         (re_acquire_state_context): Likewise.
39838
39839 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39840
39841         * modules/regex (Depends-on): Add ssize_t.
39842
39843 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39844
39845         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
39846         translation table.
39847
39848 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39849
39850         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
39851
39852 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
39853             Bruno Haible  <bruno@clisp.org>
39854
39855         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
39856         <sys/types.h> and <inttypes.h>.
39857
39858 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39859
39860         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
39861         `__error_t_defined', so argp.h will not typedef the former.
39862
39863 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39864
39865         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
39866         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
39867         glibc names.  Even if glibc is changed to conform to POSIX, the
39868         traditional names will be available anyway, since regex depends on
39869         the extensions module.  Also, fix a longstanding typo in the
39870         implementation of Spencer ERE test #75 from grep 2.3.  Problems
39871         reported by Emanuele Giaquinta.  Also, change sense of cached
39872         variable, so that the message makes sense.
39873
39874 2006-03-24  Simon Josefsson  <jas@extundo.com>
39875
39876         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
39877         including some doc fixes.
39878         (base64_encode_alloc): Fix +1 bug on allocation failures.
39879
39880 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39881
39882         * lib/base64.c (base64_encode): Do not read past end of array with
39883         unsanitized input on systems with CHAR_BIT > 8.
39884
39885 2006-03-24  Eric Blake  <ebb9@byu.net>
39886
39887         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
39888
39889 2006-03-22  Karl Berry  <karl@gnu.org>
39890
39891         * config/srclist.txt (*setenv.[ch]): get from coreutils.
39892         * config/srclistvars.sh (COREUTILS): new var.
39893
39894 2006-03-17  Jim Meyering  <jim@meyering.net>
39895
39896         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
39897         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
39898
39899 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39900
39901         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
39902         no longer needs it.  Instead, check that regoff_t is as least
39903         as wide as ptrdiff_t.
39904
39905         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
39906         so that our regex.h stays compatible with the installed regex.
39907         This is helpful for installers who configure --without-included-regex.
39908         Problem reported by Emanuele Giaquinta.
39909
39910 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39911
39912         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
39913         Typedef to long int, not to off_, as POSIX will likely change
39914         in that direction.
39915
39916 2006-03-15  Eric Blake  <ebb9@byu.net>
39917
39918         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
39919
39920 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
39921
39922         * lib/argp-help.c (validate_uparams): Fix typo
39923         * lib/argp-parse.c (argp_default_options): Consistently begin help
39924         messages with a lowercase letter.
39925
39926 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
39927
39928         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
39929         overrun buffers and shouldn't be used (much as gets shouldn't be
39930         used).
39931         * lib/time_r.c (asctime_r, ctime_r): Likewise.
39932
39933 2006-03-08  Simon Josefsson  <jas@extundo.com>
39934
39935         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
39936         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39937
39938 2006-03-08  Simon Josefsson  <jas@extundo.com>
39939
39940         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
39941         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39942
39943 2006-03-08  Simon Josefsson  <jas@extundo.com>
39944
39945         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
39946         signal that configure disabled the device.
39947
39948 2006-03-08  Simon Josefsson  <jas@extundo.com>
39949
39950         * build-aux/maint.mk: Fix refresh-po, to handle no translated
39951         languages.
39952
39953 2006-03-07  Simon Josefsson  <jas@extundo.com>
39954
39955         * modules/getopt (Depends-on): Add unistd.
39956
39957         * modules/unistd: New file.
39958
39959 2006-03-07  Simon Josefsson  <jas@extundo.com>
39960
39961         * modules/gc-random: New file.
39962
39963 2006-03-07  Simon Josefsson  <jas@extundo.com>
39964
39965         * m4/unistd_h.m4: New file.
39966
39967 2006-03-07  Simon Josefsson  <jas@extundo.com>
39968
39969         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
39970         test to be side-effect free by storing the result in the cache
39971         variable gl_cv_lib_readline, and moving the assignment of
39972         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
39973         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39974
39975 2006-03-07  Simon Josefsson  <jas@extundo.com>
39976
39977         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
39978         error on missing devices (the functions will return an error).
39979
39980         * m4/gc.m4: Move random stuff to gc-random.m4
39981
39982 2006-03-07  Simon Josefsson  <jas@extundo.com>
39983
39984         * lib/unistd_.h: New file.
39985
39986 2006-03-07  Simon Josefsson  <jas@extundo.com>
39987
39988         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
39989
39990 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39991
39992         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
39993         Problem reported by Juan Manuel Guerrero.
39994
39995 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39996
39997         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
39998         the unistd module.
39999         * lib/getlogin_r.c: Likewise.
40000         * lib/getlogin_r.h: Likewise.
40001         * lib/glob.c: Likewise.
40002         * lib/pagealign_alloc.c: Likewise.
40003         * lib/unistd_.h: Remove; no longer needed.
40004
40005 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
40006
40007         * MODULES.html.sh (Support for systems lacking POSIX:2001):
40008         Add unistd.
40009         * modules/c-stack (Depends-on): Add unistd.
40010         * modules/getlogin_r: Likewise.
40011         * modules/glob: Likewise.
40012         * modules/pagealign_alloc: Likewise.
40013         * modules/unistd (Files): Remove lib/unistd_.h.
40014         (EXTRA_DIST): Remove.
40015         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
40016         need unistd_.h.
40017         (MOSTLYCLEANFILES): Remove unistd.h-t.
40018
40019 2006-03-03  Simon Josefsson  <jas@extundo.com>
40020
40021         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
40022
40023 2006-03-03  Simon Josefsson  <jas@extundo.com>
40024
40025         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
40026         libidn and bison.
40027
40028 2006-03-03  Simon Josefsson  <jas@extundo.com>
40029
40030         * build-aux/maint.mk: Add indent target.
40031
40032 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
40033
40034         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
40035         our replacement poll.h in any case, to avoid a differing
40036         declaration from a system header.  Seen on AIX.
40037
40038 2006-03-01  Simon Josefsson  <jas@extundo.com>
40039
40040         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
40041         <kasal@ucw.cz>.
40042
40043 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40044
40045         * modules/gettime (Depends-on): Add extensions module.
40046         * modules/nanosleep (Depends-on): Likewise.
40047         * modules/settime (Depends-on): Likewise.
40048
40049 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40050
40051         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
40052         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
40053         pedantically.
40054         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40055         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
40056
40057         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
40058         not "==".  Reported by Ralf Wildenhues.
40059
40060 2006-03-01  Karl Berry  <karl@gnu.org>
40061
40062         * doc/Copyright/request-*: new files, synced from gnuorg.
40063
40064 2006-03-01  Karl Berry  <karl@gnu.org>
40065
40066         * config/srclist.txt (Copyright/*): new entries.
40067
40068 2006-02-28  Simon Josefsson  <jas@extundo.com>
40069
40070         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
40071
40072 2006-02-27  Simon Josefsson  <jas@extundo.com>
40073
40074         * lib/base64.h: Indent #define's.  From Jim Meyering
40075         <jim@meyering.net>.
40076
40077 2006-02-27  Jim Meyering  <jim@meyering.net>
40078
40079         Revert the change of 2006-02-24, so these files can continue
40080         to be sync'd from gettext.
40081         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
40082         of `config.h'.
40083
40084 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
40085
40086         * modules/intprops: New file.
40087         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
40088         Add intprops.
40089         * modules/getloadavg (Files): Remove lib/intprops.h.
40090         (Depends-on): Add intprops.
40091         * modules/human: Likewise.
40092         * modules/inttostr: Likewise.
40093         * modules/openat: Likewise.
40094         * modules/sig2str: Likewise.
40095         * modules/userspec: Likewise.
40096         * modules/utimecmp: Likewise.
40097         * modules/xnanosleep: Likewise.
40098         * modules/xstrtol: Likewise.
40099
40100 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
40101
40102         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
40103         * modules/lock-tests (TESTS): Use $(EXEEXT).
40104         * modules/tls-tests: Likewise.
40105         * modules/argp-tests: Likewise.
40106         (check_PROGRAMS): New var, replacing...
40107         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
40108
40109 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40110
40111         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
40112         `config.h'.
40113
40114 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
40115
40116         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
40117
40118 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40119
40120         Sync from coreutils.
40121         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
40122         gl_CHDIR_SAFER.
40123
40124 2006-02-22  Jim Meyering  <jim@meyering.net>
40125
40126         Sync from coreutils.
40127         * m4/chdir-safer.m4: New file.
40128
40129 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
40130
40131         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
40132         AT_FDCWD exceeds INT_MAX.
40133         * lib/openat.h (AT_FDCWD): Likewise.
40134
40135 2006-02-17  Eric Blake  <address@hidden>
40136
40137         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
40138
40139 2006-02-16  Simon Josefsson  <jas@extundo.com>
40140
40141         * modules/getaddrinfo (Depends-on): Add sys_socket.
40142
40143 2006-02-15  Simon Josefsson  <jas@extundo.com>
40144
40145         * build-aux/maint.mk: Add dsyntax-check rule.
40146
40147 2006-02-15  Eric Blake  <ebb9@byu.net>
40148
40149         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
40150         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
40151         'present but cannot compile' warnings on cygwin.
40152         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
40153         use ws2tcpip.h if sys/socket.h works.
40154         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
40155         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
40156
40157 2006-02-14  Simon Josefsson  <jas@extundo.com>
40158
40159         * modules/maintainer-makefile (Files): Rename.
40160
40161         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
40162         and (the local) Makefile.cfg to maint-cfg.mk.
40163
40164         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
40165         to the latter.
40166
40167         * modules/maintainer-makefile: New module.
40168
40169         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
40170         severaly stripped to make it possible to build it up from scratch
40171         with reliable tests.
40172
40173         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
40174         fixes to permit overriding the default actions when configure and
40175         makefile are not available.
40176
40177 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
40178
40179         Sync from coreutils.
40180         * modules/lstat (Depends-on): Don't depend on xalloc.
40181         (License): Change from GPL to LGPL, since this is now simply a
40182         replacement for a libc function.
40183
40184 2006-02-14  Jim Meyering  <jim@meyering.net>
40185
40186         Sync from coreutils.
40187
40188         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
40189         failure on deficient systems, and simplify gnulib lgpl dependencies.
40190         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
40191         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
40192
40193         * lib/xalloc-die.c: Remove unused definition of N_.
40194
40195 2006-02-14  Jim Meyering  <jim@meyering.net>
40196
40197         Sync from coreutils.
40198         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
40199         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
40200         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
40201         double-quote uses of that variable, to accommodate the rare case in
40202         which getmntent is available in none of the libraries checked.  This
40203         happens at least on FreeBSD 5.0.
40204
40205 2006-02-13  Simon Josefsson  <jas@extundo.com>
40206
40207         * gnulib-tool (Usage): Fix --import, from
40208         karl@freefriends.org (Karl Berry).
40209
40210 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
40211
40212         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
40213
40214 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
40215
40216         * lib/argp-namefrob.h: Restore changes accidentally lost during the
40217         "autoupdate" on 2005-12-12.
40218
40219 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
40220
40221         * modules/closeout (Depends-on): Remove atexit.
40222
40223 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
40224
40225         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
40226         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
40227
40228 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
40229
40230         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
40231         __EXTENSIONS__ if this causes compilation to fail.  Problem
40232         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
40233         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
40234
40235 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
40236
40237         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
40238         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
40239         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
40240         All uses changed.
40241
40242 2006-01-26  Simon Josefsson  <jas@extundo.com>
40243
40244         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
40245         prototype is visible on mingw32.
40246
40247         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
40248         for mingw32.
40249
40250         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
40251         mingw32).
40252
40253 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40254
40255         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
40256         attempt to open for write; this always fails, at least on POSIX
40257         hosts.  This reinstates the 2006-01-09 change, which was
40258         inadvertently removed.
40259
40260 2006-01-26  Bruno Haible  <bruno@clisp.org>
40261
40262         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
40263         Reported by Paul Eggert.
40264
40265 2006-01-26  Bruno Haible  <bruno@clisp.org>
40266             Paul Eggert  <eggert@cs.ucla.edu>
40267
40268         * lib/stdbool_.h (_Bool)
40269         [(! (defined __cplusplus || defined __BEOS__)
40270           && !defined __GNUC__
40271           && !(defined __HP_cc || defined __xlc__
40272                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
40273                || defined __sgi))]:
40274         #define to signed char in these cases too; this simplifies
40275         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
40276         etc., separately) and makes it more conservative.
40277
40278 2006-01-25  Simon Josefsson  <jas@extundo.com>
40279
40280         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
40281         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
40282         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
40283
40284 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40285
40286         * lib/argp-namefrob.h: Bugfix. Remove stray #
40287
40288 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40289
40290         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
40291         so that we test the test.
40292         Check for yet another HP-UX cc bug involving *bool |= bool.
40293
40294 2006-01-25  Karl Berry  <karl@gnu.org>
40295
40296         * config/srclist.txt (vasnprintf.c): sync lost.
40297
40298 2006-01-25  Jim Meyering  <jim@meyering.net>
40299
40300         Sync from the stable (b5) branch of coreutils:
40301
40302         * lib/fts.c (fts_children): Don't let close() clobber errno from
40303         failed fchdir().
40304
40305         * lib/fts.c (fts_stat): When following a symlink-to-directory,
40306         don't necessarily interpret stat-fails+lstat-succeeds as indicating
40307         a dangling symlink.  That can also happen at least for ELOOP.
40308         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
40309         FYI, this bug predates the inclusion of fts.c in coreutils.
40310
40311         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
40312         in their own block, so pre-c99 compilers don't object.
40313
40314         Avoid the double-free (first in fts_read, second in fts_close) that
40315         would occur when an `active' directory is made inaccessible (e.g.,
40316         via chmod a-x) during a traversal.
40317         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40318         before returning.  Reproduce this failure by
40319         mkdir -p a/b; cd a; chmod a-x . b
40320         Reported by Stavros Passas.
40321
40322 2006-01-25  Jim Meyering  <jim@meyering.net>
40323
40324         * lib/fileblocks.c: Remove more useless parentheses.
40325         * lib/readutmp.h: Likewise.
40326
40327 2006-01-25  Bruno Haible  <bruno@clisp.org>
40328
40329         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
40330         warnings.
40331         Reported by Paul Eggert.
40332
40333 2006-01-25  Bruno Haible  <bruno@clisp.org>
40334
40335         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
40336         rid of a trap command. For Solaris sh.
40337         Reported by Mark D. Baushke <mdb@gnu.org>.
40338
40339 2006-01-24  Simon Josefsson  <jas@extundo.com>
40340
40341         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
40342         Bruno.
40343
40344 2006-01-24  Karl Berry  <karl@gnu.org>
40345
40346         * config/srclist.txt (argp-namefrob.h): sync lost.
40347
40348 2006-01-24  Jim Meyering  <jim@meyering.net>
40349
40350         * modules/openat (Files): Add lib/intprops.h.
40351         From Mark D. Baushke.
40352
40353 2006-01-24  Jim Meyering  <jim@meyering.net>
40354
40355         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
40356         Reported by Mark D. Baushke.
40357
40358 2006-01-24  Jim Meyering  <jim@meyering.net>
40359
40360         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
40361
40362 2006-01-24  Bruno Haible  <bruno@clisp.org>
40363
40364         * modules/strnlen (Maintainer): Change from glibc to all.
40365
40366 2006-01-24  Bruno Haible  <bruno@clisp.org>
40367
40368         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
40369         Patch by Paul Eggert.
40370
40371 2006-01-24  Bruno Haible  <bruno@clisp.org>
40372
40373         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
40374         already has it.
40375         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
40376         2005-11-26.
40377
40378         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
40379         'signed char' to avoid problems with the built-in _Bool type.
40380         Reported by Paul Eggert on 2005-11-26.
40381
40382 2006-01-24  Bruno Haible  <bruno@clisp.org>
40383
40384         * gnulib-tool (func_import): Avoid constructing complicated sed
40385         expressions inside backquote.
40386         Report and solution by Mark D. Baushke <mdb@gnu.org>.
40387
40388 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
40389
40390         These changes imported from libc.
40391         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
40392         test and two separate function calls.
40393         * lib/strndup.c (__strndup): Add libc_hidden_def.
40394
40395 2006-01-23  Simon Josefsson  <jas@extundo.com>
40396
40397         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
40398         Remove the test_*_SOURCES variable: automake infers it by default.
40399         * modules/tls-tests: Likewise.
40400
40401 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40402
40403         Work around porting bugs reported by Dieter in
40404         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
40405         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
40406         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
40407         Include "getopt.h" first, to check interface.
40408         (getenv): Declare only if defined HAVE_DECL_GETENV &&
40409         !HAVE_DECL_GETENV.
40410         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
40411         (__strndup): Revert to K&R-style function dfns, the glibc style.
40412         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
40413         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
40414         Include strnlen.h first, to get prototype properly.
40415         (strnlen): Renamed from __strnlen.
40416         Remove weak alias.
40417
40418 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40419
40420         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
40421
40422 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40423
40424         * config/srclist.txt: Adjust to reflect glibc reorganization.
40425         This affects only comments.
40426
40427 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40428
40429          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
40430          Reported by Bruce Korb <bkorb@gnu.org>.
40431
40432 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40433
40434         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
40435         to pacify gcc -Wswitch-default.
40436
40437 2006-01-22  Bruno Haible  <bruno@clisp.org>
40438
40439         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
40440         temporary buffer for sprintf, take into account the precision also
40441         for 'd', 'i', 'u', 'o', 'x', 'X'.
40442
40443 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
40444
40445         * modules/argp-tests: New module
40446         * tests/test-argp.c: New file
40447         * tests/test-argp-2.sh: New file
40448
40449 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
40450
40451         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
40452         (__argp_base_name): Removed
40453         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
40454         typo.
40455         (__argp_base_name): Provide macro definition or extern declaration
40456         depending on the configuration
40457
40458 2006-01-20  Simon Josefsson  <jas@extundo.com>
40459
40460         * modules/inet_ntop (Depends-on): Depend on sys_socket.
40461
40462 2006-01-20  Simon Josefsson  <jas@extundo.com>
40463
40464         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
40465
40466 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
40467
40468         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
40469         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
40470         Suggested by Bruno Haible.
40471
40472 2006-01-20  Karl Berry  <karl@gnu.org>
40473
40474         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
40475         until changes propagate, I guess.
40476
40477 2006-01-19  Simon Josefsson  <jas@extundo.com>
40478
40479         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
40480
40481 2006-01-19  Simon Josefsson  <jas@extundo.com>
40482
40483         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
40484
40485 2006-01-19  Simon Josefsson  <jas@extundo.com>
40486
40487         * gnulib-tool: Set check_PROGRAMS.
40488
40489         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
40490         modules/des-tests, modules/gc-arcfour-tests,
40491         modules/gc-arctwo-tests, modules/gc-des-tests,
40492         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
40493         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
40494         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
40495         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
40496         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
40497         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
40498         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
40499         test_*_SOURCES.
40500
40501 2006-01-18  Simon Josefsson  <jas@extundo.com>
40502
40503         * modules/socklen (Depends-on): Depend on sys_socket.
40504
40505 2006-01-18  Simon Josefsson  <jas@extundo.com>
40506
40507         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
40508         modules/des-tests, modules/gc-arcfour-tests,
40509         modules/gc-arctwo-tests, modules/gc-des-tests,
40510         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
40511         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
40512         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
40513         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
40514         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
40515         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
40516         $(EXEEXT) to automake TESTS variable, for mingw32.
40517
40518 2006-01-17  Simon Josefsson  <jas@extundo.com>
40519
40520         * modules/socklen (Include): Need sys/socket.h.
40521
40522 2006-01-17  Bruno Haible  <bruno@clisp.org>
40523
40524         * modules/ssize_t (Include): Add <sys/types.h>.
40525
40526 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
40527
40528         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
40529         it's not portable and it doesn't work with cross-compiles.
40530         Problem reported by Bruno Haible.  Fix missing-$ typo in
40531         'test "gl_cv_ignore_unused_libraries" ...' that prevented
40532         -zignore from being used with Sun's C compiler.
40533
40534 2006-01-12  Simon Josefsson  <jas@extundo.com>
40535
40536         * lib/base64.c: Fix warning, reported by Bruno Haible
40537         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
40538
40539 2006-01-12  Bruno Haible  <bruno@clisp.org>
40540
40541         * modules/ldd: New file.
40542         * build-aux/ldd.sh.in: New file.
40543         * MODULES.html.sh (Support for building libraries and executables): Add
40544         ldd.
40545
40546 2006-01-12  Bruno Haible  <bruno@clisp.org>
40547
40548         * m4/ldd.m4: New file.
40549
40550 2006-01-12  Bruno Haible  <bruno@clisp.org>
40551
40552         * gnulib-tool (func_import, func_create_testdir): Don't go into an
40553         endless loop while replacing $auxdir with build-aux.
40554
40555 2006-01-11  Simon Josefsson  <jas@extundo.com>
40556
40557         * lib/stdint_.h (SIZE_MAX): Add missing (.
40558
40559 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
40560
40561         Sync from coreutils.
40562         * lib/md5.c: Fix commentary typos.
40563         (alignof, UNALIGNED_P): No need for a GCC-specific version.
40564         * lib/md5.h (__attribute__): Remove; unused.
40565         * lib/sha1.c: Fix commentary to match md5 better.
40566         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
40567         so that we don't need to worry about alignment.  All uses changed.
40568         This merges the 2005-10-28 md5 change into sha1.
40569
40570 2006-01-11  Jim Meyering  <jim@meyering.net>
40571
40572         Sync from coreutils.
40573         * lib/md5.c (OP): Fix spacing.
40574
40575 2006-01-11  Bruno Haible  <bruno@clisp.org>
40576
40577         Ensure automatic ordering between gl_LOCK and gl_ARGP.
40578         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
40579         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
40580
40581 2006-01-11  Bruno Haible  <bruno@clisp.org>
40582
40583         Ensure automatic ordering between gl_LOCK and gl_ARGP.
40584         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
40585         the "early" section as well.
40586
40587 2006-01-11  Bruno Haible  <bruno@clisp.org>
40588
40589         Avoid "ar: no archive members specified" error on MacOS X.
40590         * gnulib-tool (func_modules_add_dummy): New function.
40591         (func_import, func_create_testdir): Invoke it.
40592
40593 2006-01-11  Bruno Haible  <bruno@clisp.org>
40594
40595         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
40596         with $auxdir in AC_CONFIG_FILES statements.
40597
40598 2006-01-11  Bruno Haible  <bruno@clisp.org>
40599
40600         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40601         Initialize also noinst_HEADERS to empty.
40602
40603 2006-01-11  Bruno Haible  <bruno@clisp.org>
40604
40605         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
40606         variables.
40607         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
40608         autoreconf.
40609
40610 2006-01-11  Bruno Haible  <bruno@clisp.org>
40611
40612         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
40613         overridable by the user.
40614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40615
40616 2006-01-10  Simon Josefsson  <jas@extundo.com>
40617
40618         * modules/sys_socket: New file.
40619
40620 2006-01-10  Simon Josefsson  <jas@extundo.com>
40621
40622         * m4/sys_socket_h.m4: New file.
40623
40624 2006-01-10  Simon Josefsson  <jas@extundo.com>
40625
40626         * lib/socket_.h: New file.
40627
40628 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40629
40630         * modules/readutmp (Maintainer): Add myself.
40631
40632 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40633
40634         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
40635         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
40636         People who are still concerned with buggy memcmp implementations
40637         can invoke gl_FUNC_MEMCMP themselves.
40638
40639 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40640
40641         * lib/regex_internal.h (BITSET_WORD_BITS):
40642         Work around a bug in 64-bit PGC (before version 6.1-2), where the
40643         preprocessor mishandles large unsigned values as if they were signed.
40644         Problem reported by Claudio Fontana in
40645         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
40646
40647 2006-01-10  Jim Meyering  <jim@meyering.net>
40648
40649         Avoid the double-free (first in fts_read, second in fts_close) that
40650         would occur when an `active' directory is made inaccessible (e.g.,
40651         via chmod a-x) during a traversal.
40652         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40653         before returning.  Reproduce this failure by
40654         mkdir -p a/b; cd a; chmod a-x . b
40655         Reported by Stavros Passas.
40656
40657         Sync from coreutils.
40658         * lib/sha1.c: Tweak grammar in a comment.
40659
40660 2006-01-10  Jim Meyering  <jim@meyering.net>
40661
40662         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
40663         Patch by Joerg Sonnenberger.
40664
40665 2006-01-10  Bruno Haible  <bruno@clisp.org>
40666
40667         * modules/readutmp: Depend on module free.
40668         * modules/strtok_r: Depend on module restrict.
40669
40670 2006-01-10  Bruno Haible  <bruno@clisp.org>
40671
40672         * modules/gettext (configure.ac): Add an invocation of
40673         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
40674
40675 2006-01-10  Bruno Haible  <bruno@clisp.org>
40676
40677         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
40678         Reported by Werner Lemberg <wl@gnu.org>.
40679
40680 2006-01-10  Bruno Haible  <bruno@clisp.org>
40681
40682         * lib/localcharset.c: Update from GNU gettext.
40683
40684 2006-01-10  Bruno Haible  <bruno@clisp.org>
40685
40686         * lib/argp.h (__const): Remove macro. Use const instead.
40687         * lib/argp-fmtstream.h (__const): Likewise.
40688         * lib/glob_.h (__const): Remove macro.
40689         * lib/glob-libc.h: Use const instead of __const.
40690
40691 2006-01-10  Bruno Haible  <bruno@clisp.org>
40692
40693         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
40694         variable.
40695         Needed to avoid an automake error regarding the 'gettext' module.
40696
40697 2006-01-09  Simon Josefsson  <jas@extundo.com>
40698
40699         * modules/inet_ntop (Depends-on): Add restrict.
40700
40701 2006-01-09  Simon Josefsson  <jas@extundo.com>
40702
40703         * modules/gc-rijndael-tests (License): Put under LGPL.
40704
40705         * modules/gc-des-tests (License): Likewise.
40706
40707         * modules/gc-arcfour-tests (License): Likewise.
40708
40709         * modules/gc-arctwo-tests (License): Likewise.
40710
40711         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
40712
40713         * modules/gc-hmac-sha1-tests (Files): Likewise.
40714
40715         * modules/gc-hmac-md5-tests (License): Likewise.
40716
40717         * modules/gc-sha1-tests (License): Likewise.
40718
40719         * modules/gc-md5-tests (License): Likewise.
40720
40721         * modules/gc-md4-tests (License): Likewise.
40722
40723         * modules/gc-md2-tests (License): Likewise.
40724
40725         * modules/gc-tests (License): Likewise.
40726
40727         * modules/des-tests (License): Likewise.
40728
40729         * modules/md4-tests (License): Likewise.
40730
40731         * modules/md2-tests (License): Likewise.
40732
40733 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40734
40735         Sync from coreutils:
40736
40737         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
40738         * modules/lib-ignore: New file.
40739         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
40740         chdir-safer.m4, lchmod.m4.
40741         * modules/openat: Add mkdirat.c, openat-priv.h.
40742
40743 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40744
40745         Sync from coreutils.
40746         * m4/lib-ignore.m4: New file.
40747         * m4/lchmod.m4: New file.
40748
40749 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40750
40751         Sync from coreutils.
40752         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
40753         for write access: POSIX says that must fail.
40754         * lib/fts.c (diropen): Likewise.
40755         * lib/save-cwd.c (save_cwd): Likewise.
40756         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
40757         well, for minor improvements on hosts that lack O_DIRECTORY.
40758         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
40759         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
40760         Fall back on chown if open failed with EACCES.
40761
40762         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
40763         Report an error at compile-time if only a 1-second nominal clock
40764         resolution is found.
40765
40766         * lib/lchmod.h: New file.
40767         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
40768         (make_dir_parents): Use lchown rather than chown, and
40769         lchmod rather than chmod.
40770
40771         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
40772         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
40773         "proc" reported by n0dalus.
40774
40775         * lib/mountlist.c: Include <limits.h>.
40776         (dev_from_mount_options)
40777         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
40778         New function.  It no longer assumes "dev=" has the System V meaning
40779         on Linux (since it doesn't).  It also parses "dev=" more carefully.
40780         (read_file_system_list)
40781         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
40782         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
40783         dev= in that case.
40784
40785         * lib/posixtm.h (PDS_PRE_2000): New macro.
40786         * lib/posixtm.c (year): Arg is now syntax_bits rather than
40787         allow_century.  All usages changed.  Reject dates outside the range
40788         1969-1999 if PDS_PRE_2000 is used.
40789
40790 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40791
40792         Sync from coreutils.
40793         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
40794         (Time of day items): Mention the possibility of leap seconds.
40795         Problem reported by Dr. David Alan Gilbert.
40796
40797 2006-01-09  Jim Meyering  <jim@meyering.net>
40798
40799         Sync from coreutils.
40800
40801         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
40802
40803         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
40804
40805         * lib/modechange.c (mode_compile): Reject an invalid mode string
40806         that starts with an octal digit.  From Andreas Gruenbacher.
40807
40808         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
40809         and dup to open_safer and dup_safer, respectively.
40810         (openat_permissive): Fix typo in comment.
40811
40812         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
40813         "gettext.h"; either no longer needed or are guaranteed by openat.h.
40814         (_): Remove; no longer needed.
40815         (openat): Renamed from rpl_openat; no need for rpl_openat
40816         since openat.h renames openat for us.
40817         Replace most of the body with a call to openat_permissive,
40818         to avoid duplicate code.
40819         Port to (probably hypothetical) environments were mode_t is
40820         wider than int.
40821         (openat_permissive): Require mode arg, so that we can check
40822         types better.  Put it just after flags.  Change cwd failure
40823         indicator from pointer-to-bool to pointer-to-errno-value.
40824         All callers changed.
40825         Invoke openat_save_fail and/or openat_restore_fail if
40826         cwd_errno is null, so that openat can call us.
40827         (openat_permissive, fdopendir, fstatat, unlinkat):
40828         Simplify errno handling to avoid some duplicate code,
40829         as it's OK to set errno on success.
40830         * lib/openat.h: Revamp code so that function macros depend on
40831         __OPENAT_PREFIX only, not also on AT_FDCWD.
40832         (openat_ro): Remove.  Caller changed to use openat_permissive.
40833         (openat_permissive): Now a macro, if not a function.
40834         (openat_restore_fail, openat_save_fail): Now always functions,
40835         since mkdirat needs them even if __OPENAT_PREFIX is defined.
40836
40837         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
40838         and openat.c.
40839         * lib/mkdirat.c: Include openat-priv.h.
40840         Remove definitions of macros defined therein.
40841         * lib/openat.c: Likewise.
40842
40843         * lib/mkdirat.c (mkdirat): New file and function.
40844         * lib/openat.h (mkdirat): Declare.
40845
40846         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
40847
40848         * lib/openat.h (openat_permissive): Declare.
40849         (openat_ro): Define.
40850
40851         * lib/openat.c (EXPECTED_ERRNO): New macro.
40852         (openat_permissive): New function -- used in remove.c rewrite.
40853         (all functions): Set errno just before returning, only if there
40854         was an actual failure.
40855         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
40856
40857         Emulate openat-family functions using Linux's procfs, if possible.
40858         Idea and some code based on Ulrich Drepper's glibc changes.
40859
40860         * lib/openat.c: (BUILD_PROC_NAME): New macro.
40861         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
40862         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
40863         before falling back on save_cwd and restore_cwd.
40864         (fdopendir, fstatat, unlinkat): Likewise.
40865
40866         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
40867         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
40868
40869         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
40870         as second argument to va_arg.  Otherwise, some versions of gcc
40871         warn that `if this code is reached, the program will abort'.
40872
40873 2006-01-09  Jim Meyering  <jim@meyering.net>
40874
40875         Sync from coreutils.
40876         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
40877         Require openat-priv.h.
40878
40879 2006-01-09  Bruno Haible  <bruno@clisp.org>
40880
40881         * modules/strnlen (Include): Use strnlen.h.
40882
40883 2006-01-09  Bruno Haible  <bruno@clisp.org>
40884
40885         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
40886
40887 2006-01-09  Bruno Haible  <bruno@clisp.org>
40888
40889         * lib/sysexit_.h (EX_OK): New macro.
40890         Suggested by Martin Lambers <marlam@marlam.de>.
40891
40892 2006-01-09  Bruno Haible  <bruno@clisp.org>
40893
40894         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
40895         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
40896
40897 2006-01-09  Bruno Haible  <bruno@clisp.org>
40898
40899         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
40900         numbers.
40901
40902 2006-01-09  Bruno Haible  <bruno@clisp.org>
40903
40904         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
40905         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
40906         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
40907         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
40908
40909 2006-01-09  Bruno Haible  <bruno@clisp.org>
40910
40911         * build-aux/javacomp.sh.in: New file, moved from lib/.
40912         * modules/javacomp-script (Files): Update.
40913         (configure.ac): Add AC_CONFIG_FILES invocation.
40914         (EXTRA_DIST): Remove variable.
40915
40916         * build-aux/javaexec.sh.in: New file, moved from lib/.
40917         * modules/javaexec (Files): Update.
40918         (configure.ac): Add AC_CONFIG_FILES invocation.
40919         (EXTRA_DIST): Remove javaexec.sh.in.
40920
40921         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
40922         * modules/csharpcomp-script (Files): Update.
40923         (configure.ac): Add AC_CONFIG_FILES invocation.
40924         (EXTRA_DIST): Remove variable.
40925
40926         * build-aux/csharpexec.sh.in: New file, moved from lib/.
40927         * modules/csharpexec (Files): Update.
40928         (configure.ac): Add AC_CONFIG_FILES invocation.
40929         (EXTRA_DIST): Remove csharpexec.sh.in.
40930
40931 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40932
40933         Sync from coreutils.
40934
40935         Add POSIX ACL support
40936         * lib/acl.h (copy_acl, set_acl): Add declarations.
40937         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
40938         systems other than Linux.
40939         (chmod_or_fchmod): New function: use fchmod when possible,
40940         and chmod otherwise.
40941         (file_has_acl): Add a POSIX ACL implementation, with a
40942         Linux-specific subcase.
40943         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
40944         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
40945         acls are unsupported.
40946         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
40947         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
40948         are unsupported.
40949
40950 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40951
40952         Sync from coreutils.
40953         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
40954
40955 2006-01-07  Bruno Haible  <bruno@clisp.org>
40956
40957         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
40958         gl_EARLY.
40959
40960 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40961
40962         * lib/strftime.c (tzname): Don't declare if it is already #defined.
40963         Problem reported for Mingw by Mark Junker.
40964
40965 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40966
40967         * README: Gnulib normally doesn't generate a tarball.
40968
40969 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
40970
40971         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
40972         long int, not int, for nanosecond counts, so that people who are
40973         used to POSIX struct timespec won't be surprised.  Reported by Jim
40974         Meyering.
40975
40976 2005-12-28  Bruno Haible  <bruno@clisp.org>
40977
40978         * build-aux/config.rpath: Update from GNU gettext.
40979
40980 2005-12-16  Jim Meyering  <jim@meyering.net>
40981
40982         * modules/fprintftime: New module.
40983         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
40984
40985 2005-12-16  Jim Meyering  <jim@meyering.net>
40986
40987         * m4/fprintftime.m4: New file.
40988
40989 2005-12-16  Jim Meyering  <jim@meyering.net>
40990
40991         * lib/fprintftime.c, lib/fprintftime.h: New files.
40992
40993 2005-12-15  Simon Josefsson  <jas@extundo.com>
40994
40995         * modules/socklen (configure.ac): Fix M4 macro name, to align with
40996         new m4/socklen.m4.
40997
40998 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40999
41000         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
41001         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
41002
41003 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41004
41005         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
41006         * lib/argp-help.c (fill_in_uparams): Check if the constructed
41007         struct uparams is valid. Fall back to the default values if it is
41008         not.
41009
41010 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41011
41012         * modules/argp (Files): Add argp-pin.c
41013         (Depends-on): dirname
41014         (lib_SOURCES): Add argp-pin.c
41015
41016 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41017
41018         * m4/argp.m4:  Check if program_invocation_name and
41019         program_invocation_short_name are declared and define appropriate
41020         macros if they are not.
41021
41022 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41023
41024         * lib/argp-help.c (__argp_base_name): New function
41025         (__argp_short_program_name): Rewrite using __argp_base_name
41026         * lib/argp-namefrob.h: Define program_invocation_name and
41027         program_invocation_short_name if requested
41028         (__argp_base_name): Add prototype
41029         * lib/argp-parse.c (argp_def): Use gettext wrappers
41030         (argp_default_parser): Use __argp_base_name
41031         * lib/argp-pin.c: New file. Defines program_invocation_name and
41032         program_invocation_short_name on systems that lack them.
41033
41034 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41035
41036         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
41037         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
41038         porting problem reported by Georg Schwarz in
41039         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
41040
41041 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41042
41043         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
41044         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
41045         porting problem reported by Georg Schwarz in
41046         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
41047
41048 2005-12-05  Bruno Haible  <bruno@clisp.org>
41049
41050         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
41051         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
41052         Reported by Mark Junker <mjscod@gmx.de>.
41053
41054 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
41055
41056         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
41057         Use implementation from Albert Chin, with some
41058         comments/corrections by Stepan Kasal and myself.
41059
41060 2005-12-02  Bruno Haible  <bruno@clisp.org>
41061
41062         * gnulib-tool (func_import): Accept GPLed build tool modules when
41063         --lgpl is given.
41064         * modules/csharpcomp-script: New file.
41065         * modules/csharpcomp: Depend on it.
41066         * modules/javacomp-script: New file.
41067         * modules/javacomp: Depend on it.
41068         Suggested by Simon Josefsson.
41069
41070 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
41071
41072         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
41073         statement, to work around an HP-UX 10.20 compiler bug reported by
41074         Peter O'Gorman.
41075
41076 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
41077
41078         * modules/savedir (Depends-on): Add openat.
41079
41080 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
41081
41082         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
41083         (uintmax_t) [defined uintmax_t]: Do not declare.
41084         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
41085         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
41086         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
41087         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
41088         sake of portability to weird hosts that C allows (though we don't
41089         know of any practical examples).
41090
41091         * lib/savedir.h (fdsavedir): New decl.
41092         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
41093         contains most of the former guts of savedir.
41094         (savedir): Use savedirstream.
41095         Include "openat.h".
41096
41097 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
41098
41099         * modules/obstack (Files): Add m4/ulonglong.m4.
41100         Problem reported by Davide Angelocola.
41101
41102 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41103
41104         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
41105         coreutils no longer futzes with rounding modes.
41106
41107 2005-11-14  Jim Meyering  <jim@meyering.net>
41108
41109         * lib/mkstemp-safer.c: Include <config.h>, required for possible
41110         replacement of mkstemp.
41111
41112 2005-11-10  Simon Josefsson  <jas@extundo.com>
41113
41114         * lib/readline.c: Remove EOL.
41115
41116 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41117
41118         * modules/gethrxtime (Depends-on): Add gettime.
41119
41120 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41121
41122         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
41123         or gettimeofday; no longer needed.
41124
41125 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41126
41127         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
41128         time business.
41129         (gethrxtime) [! (HAVE_NANOUPTIME
41130         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
41131         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
41132         our own approximation.
41133
41134 2005-11-08  Eric Blake  <ebb9@byu.net>
41135
41136         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
41137
41138 2005-11-08  Eric Blake  <ebb9@byu.net>
41139
41140         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
41141
41142 2005-11-04  Bruno Haible  <bruno@clisp.org>
41143
41144         * gnulib-tool: Implement --update mode.
41145
41146 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
41147
41148         Fix porting problem reported by Theodoros V. Kalamatianos.
41149         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
41150         Don't assume that futimes failing means we must fail.
41151
41152 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
41153
41154         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
41155         variables to suggest the intended function of the PATH_MAX check.
41156
41157 2005-10-30  Kean Johnston  <jkj@sco.com>
41158
41159         Trivial changes to support SCO systems.
41160         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
41161         as PATH_MAX.
41162         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
41163         where __ptr is null when no I/O is pending.
41164
41165 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
41166
41167         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
41168         leave errno alone.  Problem reported by Dmitry V. Levin.
41169
41170 2005-10-28  Simon Josefsson  <jas@extundo.com>
41171
41172         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
41173         Test more.
41174
41175         * tests/test-gc-md2.c, tests/test-md2.c: New files.
41176
41177         * modules/md2, modules/md2-tests: New files.
41178
41179 2005-10-28  Simon Josefsson  <jas@extundo.com>
41180
41181         * m4/inet_ntop.m4: More tests.
41182
41183         * m4/gc-md2.m4, md2.m4: New file.
41184
41185 2005-10-28  Simon Josefsson  <jas@extundo.com>
41186
41187         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
41188         "restrict" keywords, as per POSIX.  Protect the function
41189         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
41190         Don't use K&R prototypes.  Check the sprintf return values.
41191         Re-define EAFNOSUPPORT if not present.  Indent.
41192
41193         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
41194         suggested by Bruno Haible <bruno@clisp.org>.
41195
41196         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
41197
41198         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
41199
41200         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
41201         libgcrypt).
41202
41203         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
41204
41205         * lib/md2.h, lib/md2.c: New files.
41206
41207 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
41208
41209         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
41210         errno alone.  Problem reported by Frederic Jolliton.
41211
41212 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
41213
41214         * modules/verify (License): Change from GPL to LGPL.  This is a
41215         tiny module and there are apparently near-equivalents that are
41216         under the BSD license.
41217
41218 2005-10-24  Simon Josefsson  <jas@extundo.com>
41219
41220         * modules/sha1: Relicense to LGPL.
41221
41222 2005-10-24  Simon Josefsson  <jas@extundo.com>
41223
41224         * lib/md4.h: Shrink buffer size, now that we changed the type.
41225
41226 2005-10-23  Simon Josefsson  <jas@extundo.com>
41227
41228         * gnulib-tool (func_import): Fix --tests-base.
41229
41230 2005-10-22  Simon Josefsson  <jas@extundo.com>
41231
41232         * modules/arcfour (Depends-on): Need stdint.
41233
41234 2005-10-22  Simon Josefsson  <jas@extundo.com>
41235
41236         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
41237         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
41238
41239 2005-10-22  Simon Josefsson  <jas@extundo.com>
41240
41241         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
41242         suggested by Bruno Haible <bruno@clisp.org>.
41243
41244 2005-10-22  Simon Josefsson  <jas@extundo.com>
41245
41246         * lib/crc.h: Include stddef.h, for size_t.
41247
41248 2005-10-22  Simon Josefsson  <jas@extundo.com>
41249
41250         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
41251         arcfour_context struct (simplify test vector testing in GNU
41252         Shishi).
41253
41254 2005-10-21  Simon Josefsson  <jas@extundo.com>
41255
41256         * modules/des, modules/des-tests: New files.
41257
41258         * modules/gc-des, modules/gc-des-tests: New files.
41259
41260         * tests/test-des.c, tests/test-gc-des.c: New file.
41261
41262 2005-10-21  Simon Josefsson  <jas@extundo.com>
41263
41264         * modules/arctwo, modules/arctwo-tests: New files.
41265
41266         * tests/test-arctwo.c: New file.
41267
41268         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
41269
41270         * tests/test-gc-arctwo.c: New file.
41271
41272 2005-10-21  Simon Josefsson  <jas@extundo.com>
41273
41274         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
41275         Bruno Haible <bruno@clisp.org>.
41276
41277         * m4/gc-des.m4: New file.
41278
41279 2005-10-21  Simon Josefsson  <jas@extundo.com>
41280
41281         * m4/arctwo.m4: New file.
41282
41283         * m4/gc-arctwo.m4: New file.
41284
41285 2005-10-21  Simon Josefsson  <jas@extundo.com>
41286
41287         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
41288         block.
41289
41290 2005-10-21  Simon Josefsson  <jas@extundo.com>
41291
41292         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
41293         <bruno@clisp.org>.
41294
41295         * lib/hmac-sha1.c (hmac_sha1): Likewise.
41296
41297         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
41298         Bruno Haible <bruno@clisp.org>.
41299
41300         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
41301         <bruno@clisp.org>.
41302
41303 2005-10-21  Simon Josefsson  <jas@extundo.com>
41304
41305         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
41306
41307 2005-10-21  Simon Josefsson  <jas@extundo.com>
41308
41309         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
41310
41311 2005-10-21  Simon Josefsson  <jas@extundo.com>
41312
41313         * lib/des.h, lib/des.c: New files.
41314
41315         * lib/gc-gnulib.c: Support DES.c
41316
41317 2005-10-21  Simon Josefsson  <jas@extundo.com>
41318
41319         * lib/arctwo.h, lib/arctwo.c: New files.
41320
41321         * lib/gc-gnulib.c: Support ARCTWO.
41322
41323 2005-10-21  Simon Josefsson  <jas@extundo.com>
41324
41325         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
41326         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41327
41328 2005-10-21  Simon Josefsson  <jas@extundo.com>
41329
41330         * gnulib-tool (func_import, func_create_testdir): Define automake
41331         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
41332         Makefile.am snippet),
41333         suggested by Bruno Haible <bruno@clisp.org>.
41334
41335         * modules/gc (Makefile.am): Use it.
41336
41337 2005-10-21  Bruno Haible  <bruno@clisp.org>
41338
41339         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
41340         patch.
41341
41342 2005-10-19  Simon Josefsson  <jas@extundo.com>
41343
41344         * tests/test-gc-rijndael.c: New file.
41345
41346         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
41347
41348 2005-10-19  Simon Josefsson  <jas@extundo.com>
41349
41350         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
41351         interface too.
41352
41353 2005-10-19  Simon Josefsson  <jas@extundo.com>
41354
41355         * tests/test-gc-arcfour.c: New file.
41356
41357         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
41358
41359 2005-10-19  Simon Josefsson  <jas@extundo.com>
41360
41361         * modules/gc-md4, modules/gc-md4-tests: New file.
41362
41363         * tests/test-gc-md4.c: New file.
41364
41365 2005-10-19  Simon Josefsson  <jas@extundo.com>
41366
41367         * m4/gc-md4.m4: New file.
41368
41369 2005-10-19  Simon Josefsson  <jas@extundo.com>
41370
41371         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
41372         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
41373         <kasal@ucw.cz>.
41374
41375 2005-10-19  Simon Josefsson  <jas@extundo.com>
41376
41377         * m4/gc-arcfour.m4: New file.
41378
41379         * m4/gc-rijndael.m4: New file.
41380
41381 2005-10-19  Simon Josefsson  <jas@extundo.com>
41382
41383         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
41384
41385 2005-10-19  Simon Josefsson  <jas@extundo.com>
41386
41387         * lib/gc-gnulib.c: Support ARCFOUR.
41388
41389 2005-10-19  Simon Josefsson  <jas@extundo.com>
41390
41391         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
41392         support.
41393
41394         * lib/gc.h: Add ECB enum type.
41395
41396         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
41397
41398 2005-10-18  Simon Josefsson  <jas@extundo.com>
41399
41400         * tests/test-md5.c: New file.
41401
41402         * modules/md5-tests: New file.
41403
41404 2005-10-18  Simon Josefsson  <jas@extundo.com>
41405
41406         * tests/test-md4.c: New file.
41407
41408         * modules/md4, modules/md4-tests: New files.
41409
41410 2005-10-18  Simon Josefsson  <jas@extundo.com>
41411
41412         * m4/md4.m4: New file.
41413
41414 2005-10-18  Simon Josefsson  <jas@extundo.com>
41415
41416         * lib/md4.h, lib/md4.c: New files, based on md5.?.
41417
41418 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
41419
41420         * gnulib-tool (func_create_testdir): Omit the second check whether
41421         BUILT_SOURCES in nonempty.
41422
41423 2005-10-17  Simon Josefsson  <jas@extundo.com>
41424
41425         * tests/test-rijndael.c: New file.
41426
41427 2005-10-17  Simon Josefsson  <jas@extundo.com>
41428
41429         * modules/sha1: Depend on stdint instead of md5.
41430
41431         * modules/md5: Depend on stdint, remove uint32_t.
41432
41433 2005-10-17  Simon Josefsson  <jas@extundo.com>
41434
41435         * modules/gc-sha1-tests: New file.
41436
41437         * tests/test-gc-sha1.c: New file.
41438
41439 2005-10-17  Simon Josefsson  <jas@extundo.com>
41440
41441         * m4/md5.m4: Remove call to uint32_t.m4.
41442
41443 2005-10-17  Simon Josefsson  <jas@extundo.com>
41444
41445         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
41446
41447         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
41448         md5.h.
41449
41450         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
41451
41452         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
41453
41454 2005-10-17  Simon Josefsson  <jas@extundo.com>
41455
41456         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
41457
41458 2005-10-17  Simon Josefsson  <jas@extundo.com>
41459
41460         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
41461
41462 2005-10-17  Simon Josefsson  <jas@extundo.com>
41463
41464         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
41465
41466         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
41467
41468 2005-10-17  Bruno Haible  <bruno@clisp.org>
41469
41470         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
41471         that it can also be used in a test.
41472
41473 2005-10-16  Bruno Haible  <bruno@clisp.org>
41474
41475         * gnulib-tool (func_emit_tests_Makefile_am): Also define
41476         TESTS_ENVIRONMENT, so that individual tests can augment it.
41477
41478         * gnulib-tool (func_create_testdir): Use an intermediate target for
41479         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
41480         macros, like $(ALLOCA_H), which cannot be passed through the command
41481         line.
41482
41483 2005-10-15  Simon Josefsson  <jas@extundo.com>
41484
41485         * modules/rijndael-tests: New file.
41486
41487         * modules/rijndael: New file.
41488
41489 2005-10-15  Simon Josefsson  <jas@extundo.com>
41490
41491         * m4/rijndael.m4: New file.
41492
41493 2005-10-15  Simon Josefsson  <jas@extundo.com>
41494
41495         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
41496
41497         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
41498
41499 2005-10-14  Simon Josefsson  <jas@extundo.com>
41500
41501         * tests/test-arcfour.c: New file.
41502
41503         * modules/arcfour, modules/arcfour-tests: New files.
41504
41505 2005-10-14  Simon Josefsson  <jas@extundo.com>
41506
41507         * m4/arcfour.m4: New file.
41508
41509 2005-10-14  Simon Josefsson  <jas@extundo.com>
41510
41511         * lib/arcfour.h, lib/arcfour.c: New files.
41512
41513 2005-10-14  Roland McGrath  <roland@redhat.com>
41514
41515         Import from libc.  [BZ #1331]
41516         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
41517         macro argument.
41518         Reported by Matej Vela <vela@debian.org>.
41519
41520 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
41521
41522         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
41523         include <wchar.h>; no longer needed.
41524
41525 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
41526
41527         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
41528
41529 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
41530         and  Ulrich Drepper  <drepper@redhat.com>
41531
41532         Import from libc.
41533         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
41534         instead of inline stream orientation test and two separate
41535         function calls.  Pay no attention to USE_IN_LIBIO.
41536
41537 2005-10-13  Simon Josefsson  <jas@extundo.com>
41538
41539         * modules/gc-hmac-md5-tests: New file.
41540
41541         * tests/test-gc-hmac-sha1.c: New file.
41542
41543         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
41544
41545         * modules/gc-hmac-md5-tests: New file.
41546
41547         * tests/test-gc-md5.c: New file.
41548
41549         * modules/gc-md5-tests: New file.
41550
41551 2005-10-13  Simon Josefsson  <jas@extundo.com>
41552
41553         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
41554         Move memory allocation outside of loop.
41555
41556 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
41557
41558         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
41559         intermediate directory is in a read-only file system.  Problem
41560         reported by Eric Blake.
41561
41562 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
41563
41564         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
41565
41566 2005-10-12  Simon Josefsson  <jas@extundo.com>
41567
41568         * tests/test-hmac-sha1.c: New file.
41569
41570         * modules/hmac-sha1-tests: New file.
41571
41572         * modules/hmac-sha1: New file.
41573
41574 2005-10-12  Simon Josefsson  <jas@extundo.com>
41575
41576         * modules/gc-sha1: New file.
41577
41578 2005-10-12  Simon Josefsson  <jas@extundo.com>
41579
41580         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
41581
41582         * tests/test-gc-pbkdf2-sha1.c: New file.
41583
41584 2005-10-12  Simon Josefsson  <jas@extundo.com>
41585
41586         * modules/gc-md5, modules/gc-hmac-md5: New files.
41587
41588         * modules/gc (Files): Remove md5, memxor and hmac files.
41589
41590 2005-10-12  Simon Josefsson  <jas@extundo.com>
41591
41592         * m4/gc-pbkdf2-sha1.m4: New file.
41593
41594         * m4/gc-hmac-sha1.m4: New file.
41595
41596         * m4/gc-sha1: New file.
41597
41598         * m4/hmac-sha1.m4: New file.
41599
41600 2005-10-12  Simon Josefsson  <jas@extundo.com>
41601
41602         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
41603
41604         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
41605
41606 2005-10-12  Simon Josefsson  <jas@extundo.com>
41607
41608         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
41609         suggested by Bruno Haible <bruno@clisp.org>.
41610
41611 2005-10-12  Simon Josefsson  <jas@extundo.com>
41612
41613         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
41614
41615 2005-10-12  Simon Josefsson  <jas@extundo.com>
41616
41617         * lib/gc-pbkdf2-sha1.c: New file.
41618
41619         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
41620
41621 2005-10-12  Simon Josefsson  <jas@extundo.com>
41622
41623         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
41624
41625         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
41626
41627 2005-10-12  Simon Josefsson  <jas@extundo.com>
41628
41629         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
41630         GC_USE_HMAC_MD5, respectively.
41631
41632         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
41633         (gc_md5): Fix typo.
41634
41635         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
41636
41637         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
41638
41639         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
41640
41641 2005-10-12  Bruno Haible  <bruno@clisp.org>
41642
41643         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
41644         Reported by Stepan Kasal <kasal@ucw.cz>.
41645
41646 2005-10-11  Simon Josefsson  <jas@extundo.com>
41647
41648         * tests/test-crc.c: New file.
41649
41650         * modules/crc, modules/crc-tests: New files.
41651
41652 2005-10-11  Simon Josefsson  <jas@extundo.com>
41653
41654         * m4/crc.m4: New file.
41655
41656 2005-10-11  Simon Josefsson  <jas@extundo.com>
41657
41658         * lib/gc.h: Add gc_hash and gc_hash_buffer.
41659
41660         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
41661
41662         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
41663
41664 2005-10-11  Simon Josefsson  <jas@extundo.com>
41665
41666         * lib/crc.h, lib/crc.c: New files.
41667
41668         * lib/gc.h (gc_hash_buffer): Add doc.
41669
41670 2005-10-11  Bruno Haible  <bruno@clisp.org>
41671
41672         * modules/c-strcasestr: New file.
41673         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
41674
41675 2005-10-11  Bruno Haible  <bruno@clisp.org>
41676
41677         * modules/c-strcase: New file.
41678         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
41679
41680 2005-10-11  Bruno Haible  <bruno@clisp.org>
41681
41682         * lib/strcasecmp.c: Include limits.h.
41683         (strcasecmp): Avoid integer overflow on exotic platforms.
41684         * lib/strncasecmp.c: Include limits.h.
41685         (strncasecmp): Avoid integer overflow on exotic platforms.
41686         Reported by Paul Eggert.
41687
41688 2005-10-11  Bruno Haible  <bruno@clisp.org>
41689
41690         * lib/c-strcasestr.h: New file, from GNU gettext.
41691         * lib/c-strcasestr.c: New file, from GNU gettext.
41692
41693 2005-10-11  Bruno Haible  <bruno@clisp.org>
41694
41695         * lib/c-strcase.h: New file, from GNU gettext.
41696         * lib/c-strcasecmp.c: New file, from GNU gettext.
41697         * lib/c-strncasecmp.c: New file, from GNU gettext.
41698
41699 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
41700
41701         * modules/mempcpy (License): GPL -> LGPL.
41702         * modules/strchrnul (License): Likewise.
41703         * modules/sysexits (License): Likewise.
41704
41705 2005-10-08  Simon Josefsson  <jas@extundo.com>
41706
41707         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
41708
41709 2005-10-07  Simon Josefsson  <jas@extundo.com>
41710
41711         * m4/memxor.m4: Remove gl_C_RESTRICT call.
41712
41713 2005-10-06  Simon Josefsson  <jas@extundo.com>
41714
41715         * tests/test-hmac-md5.c: New file.
41716
41717         * modules/hmac-md5-tests: New file.
41718
41719         * modules/hmac-md5: New file.
41720
41721 2005-10-06  Simon Josefsson  <jas@extundo.com>
41722
41723         * m4/hmac-md5.m4: New file.
41724
41725         * m4/memxor.m4: Require gl_C_RESTRICT.
41726
41727 2005-10-06  Simon Josefsson  <jas@extundo.com>
41728
41729         * lib/memxor.c (memxor): Avoid casts and warnings.
41730
41731 2005-10-06  Simon Josefsson  <jas@extundo.com>
41732
41733         * lib/hmac-md5.c: New file.
41734
41735         * lib/hmac.h: New file.
41736
41737 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
41738
41739         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
41740         promotes to int, not unsigned int, to catch the AIX 5.3
41741         compiler bug.
41742
41743 2005-10-05  Simon Josefsson  <jas@extundo.com>
41744
41745         * modules/memxor: New file.
41746
41747         * modules/iconv (Files): Move config.rpath to havelib, it is used
41748         there.
41749
41750         * modules/havelib (Files): Add config.rpath.
41751
41752 2005-10-05  Simon Josefsson  <jas@extundo.com>
41753
41754         * m4/memxor.m4: New file.
41755
41756 2005-10-05  Simon Josefsson  <jas@extundo.com>
41757
41758         * lib/memxor.c (memxor): Fix compiler error.
41759
41760         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
41761         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
41762
41763         * lib/memxor.h, lib/memxor.c: New files.
41764
41765         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
41766         we assume all systems have it, suggested by Jim Meyering
41767         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
41768         any systems lack sys/socket.h; mingw32 is known to lack it, but we
41769         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
41770         same reasons.
41771
41772 2005-10-05  Simon Josefsson  <jas@extundo.com>
41773
41774         * config/srclist.txt: Add glibc bug 1423 for md5.h.
41775
41776 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
41777
41778         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
41779         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
41780         needed, since the source code now assumes these .h files.
41781
41782 2005-10-05  Derek Price  <derek@ximbiot.com>
41783
41784         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
41785
41786 2005-10-05  Bruno Haible  <bruno@clisp.org>
41787
41788         * modules/stdint (License): Change to LGPL.
41789
41790 2005-10-04  Simon Josefsson  <jas@extundo.com>
41791
41792         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
41793         D. Baushke" <mdb@gnu.org>.
41794
41795 2005-10-04  Bruno Haible  <bruno@clisp.org>
41796
41797         * lib/verify.h (verify_true): Provide alternative definition for C++.
41798
41799 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
41800
41801         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
41802         (SSIZE_MAX): New macro, if not already defined.
41803         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
41804         than 2 GiB.
41805
41806 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41807
41808         Sync from coreutils.
41809         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
41810         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
41811         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
41812         ULLONG_MAX doesn't work with 2.7.2.1.
41813
41814 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41815
41816         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
41817         From Ben Pfaff.
41818
41819         * modules/exclude (Depends-on): Depend on verify.
41820         * modules/strtoimax (Depends-on): Likewise.
41821         * modules/utimecmp (Depends-on): Likewise.
41822
41823 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41824
41825         * lib/exclude.c: Include verify.h.
41826         (verify): Remove.  All callers changed to use verify.h's version.
41827         * lib/strtoimax.c: Likewise.
41828         * lib/utimecmp.c: Likewis.e
41829
41830         Sync from coreutils.
41831         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
41832         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
41833         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
41834         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
41835         bother returning ENOSYS if settimeofday or stime fails; just let
41836         them return whatever errno they want to return.
41837         * lib/utimens.c: Include unistd.h, for dup2.
41838         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
41839         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
41840
41841 2005-10-02  Jim Meyering  <jim@meyering.net>
41842
41843         Sync from coreutils.
41844         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
41845         from glibc-2.2.5 that fails for read-only files.
41846
41847 2005-10-02  Jim Meyering  <jim@meyering.net>
41848
41849         Sync from coreutils.
41850         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
41851         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
41852         `#if HAVE_CONFIG_H'.
41853         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
41854         Remove AT_FDCWD test.
41855         Do not consume the fd unless successful.
41856         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
41857         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
41858         block, so that we don't even try to compile it if settimeofday is
41859         available.  This works around a compilation failure on OSF1 V5.1,
41860         due to stime requiring a `long int*' while tv_sec is `int'.
41861
41862 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
41863
41864         Sync from coreutils.
41865         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
41866         against `yes', rather than just testing for nonempty.
41867
41868 2005-10-01  Simon Josefsson  <jas@extundo.com>
41869
41870         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
41871         and Darwin.
41872
41873         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
41874         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
41875         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
41876         freeaddrinfo and gai_strerror are declared by the POSIX headers.
41877         Check if struct addrinfo is declared.
41878
41879 2005-10-01  Simon Josefsson  <jas@extundo.com>
41880
41881         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
41882         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
41883         AI_* and EAI_* definitions.  Protect function declarations.
41884
41885 2005-10-01  Jim Meyering  <jim@meyering.net>
41886
41887         Sync from coreutils.
41888
41889         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
41890         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
41891         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
41892         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41893         in the inet and nsl libraries.  Required on Solaris 5.7.
41894
41895 2005-10-01  Jim Meyering  <jim@meyering.net>
41896
41897         Sync from coreutils.
41898         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41899         in the inet and nsl libraries.  Required on Solaris 5.7.
41900
41901 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
41902
41903         * lib/getdelim.c (getdelim): Remove unused variables.
41904
41905 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
41906
41907         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
41908         so that the code works even with ancient cpp.  Portability problem
41909         with GCC 2.7.2.1 reported by Thomas M.Ott.
41910
41911 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
41912
41913         * modules/regex (Depends-on): Add strcase.
41914
41915         * modules/gethostname (Licence): Change from GPL to LGPL, since
41916         gethostname.c is a trivial implementation of a standard library
41917         function.
41918         * modules/poll (License): Change from GPL to LGPL, since it's
41919         derived from LGPL code.
41920
41921 2005-09-27  Jim Meyering  <jim@meyering.net>
41922
41923         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
41924         HAVE_CONFIG_H.
41925
41926         * lib/intprops.h (signed_type_or_expr__): Define.
41927         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
41928         for unsigned types.
41929
41930 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41931
41932         * lib/verify.h (verify_expr): Remove, replacing with:
41933         (verify_true): New macro that returns true instead of void.
41934         (verify_type__): Remove.
41935         (verify): Use verify_true rather than verify_type__.
41936
41937 2005-09-26  Bruno Haible  <bruno@clisp.org>
41938
41939         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
41940         is necessary.
41941         (lib_SOURCES): Remove mbchar.c.
41942         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
41943         (Files): Add m4/mbrtowc.m4.
41944         * modules/mbiter: Likewise.
41945         * modules/mbuiter: Likewise.
41946
41947 2005-09-26  Bruno Haible  <bruno@clisp.org>
41948
41949         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
41950         compile mbchar.c if they are not both present.
41951         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
41952         * m4/mbiter.m4 (gl_MBITER): Likewise.
41953         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
41954         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
41955         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
41956
41957 2005-09-25  Jim Meyering  <jim@meyering.net>
41958
41959         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
41960         also uses socklen_t.
41961
41962 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
41963
41964         * lib/utimens.c (ENOSYS): Define if not already defined.
41965         (futimens): Support having a null PATH if the file descriptor
41966         is nonnegative.
41967
41968         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
41969         Remove.
41970         (__attribute): Define to empty unless GCC 3.1 or later.
41971         This works around a core dump on OpenBSD 3.4, which has GCC
41972         2.95.3, which dumps core when given __attribute__(()).  It also
41973         simplifies other tests, since we really don't want to bother with
41974         worrying about which ancient version of GCC supported what.
41975         Original problem reported by Yoann Vandoorselaere, with part of
41976         the fix suggested by Derek Price.
41977
41978 2005-09-24  Jim Meyering  <jim@meyering.net>
41979
41980         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
41981         so we can once again use a positive bitfield width of 1 -- now we
41982         don't have to explain why we were using a bitfield width of 2.
41983
41984 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41985
41986         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
41987         and similarly for the other external symbols.  Problem reported
41988         by James Gallager.
41989
41990         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
41991         bug reported by Jim Meyering.
41992
41993         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
41994         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
41995         not needed, since socklen is a prerequisite module.
41996
41997 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41998
41999         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
42000         Problem reported by Eric Blake.
42001         (getaddrinfo): Initialize se so that it's not garbage.
42002         Redo internal storage allocation so that it doesn't make unportable
42003         assumptions about alignment.
42004         Fix a memory leak.
42005
42006         * lib/utimens.c (futimens): Use futimesat if available.
42007         Prefer it to futimes since it doesn't have the futimes bug.
42008
42009         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
42010         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
42011         Instead, declare a function that returns a pointer to an array,
42012         and use verify_type__ to declare the size of the array.
42013         Problem and germ of a solution reported by Bruno Haible.
42014         (verify_type__): Use 2, not 1, for bitfield size, to avoid
42015         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
42016
42017 2005-09-23  Jim Meyering  <jim@meyering.net>
42018
42019         Sync from coreutils.
42020         Correct build failure (socklen_t not defined) on at least
42021         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
42022         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
42023
42024 2005-09-23  Jim Meyering  <jim@meyering.net>
42025
42026         * modules/getaddrinfo (Depends-on): Add socklen.
42027
42028 2005-09-23  Bruno Haible  <bruno@clisp.org>
42029
42030         * tests/test-verify.c: New file.
42031
42032 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42033
42034         Sync from coreutils.
42035
42036         * modules/argmatch (Depends-on): Add verify.
42037         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
42038         unistd-safer.
42039         * modules/save-cwd (Depends-on): Likewise.
42040
42041         * modules/openat (Files): Add lib/openat-die.c.
42042         (Depends-on): Remove error, exitfail.
42043         Add dirname.
42044
42045         * modules/verify: New file.
42046         * MODULES.html.sh (Diagnostics <assert.h>): New section,
42047         with "verify" module.
42048
42049 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42050
42051         Sync from coreutils.
42052
42053         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
42054         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
42055         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
42056         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
42057         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
42058         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
42059         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
42060         Don't bother checking for string.h, stdlib.h, unistd.h.
42061         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
42062         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
42063         module's job.
42064         * m4/jm-macros.m4 (gl_MACROS): Likewise.
42065         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
42066
42067         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
42068         (gl_GETDATE): Use it.
42069
42070         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
42071
42072 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42073
42074         Sync from coreutils.
42075
42076         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
42077         stat-time.h.
42078         * lib/argmatch.h: Include verify.h
42079         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
42080         (ARGMATCH_ASSERT): Remove; unused.
42081         * lib/canonicalize.c: Assume STDC_HEADERS.
42082         * lib/exclude.c: Include "strcase.h".
42083         * lib/regex_internal.h [!defined _LIBC]: Likewise.
42084         * lib/getusershell.c: Include stdio--.h rather than stdio.h
42085         and stdio-safer.h.
42086         (getusershell): Call fopen, not fopen_safer.
42087         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
42088         Do not include unistd-safer.h.
42089         (save_cwd): Don't call fd_safer; no longer needed
42090         now that we include fcntl--.h.
42091
42092         * lib/getdate.y (relative_time): New type.
42093         (RELATIVE_TIME_0): New constant.
42094         (parser_control): Use relative_time instead of doing it ourselves.
42095         (%union): Add new relative_time rel member.
42096         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
42097         Now typeless.
42098         (relunit, relunit_snumber): Now of type rel.
42099         (zone, rel, relunit, get_date): Adjust to above changes.
42100
42101         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
42102         Do not include unistd-safer.h.
42103         (getloadavg): Don't call fd_safer; no longer needed
42104         now that we include fcntl--.h.
42105
42106         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
42107         (make_dir_parents): Treat ENOSYS like EEXIST.
42108
42109         Improve quality of diagnostics on restore_cwd failure.
42110         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
42111         (make_dir_parents): Last arg is now int * (for errno), not bool *.
42112         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
42113         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
42114         each time through the loop.  Do not diagnose restore_cwd failure;
42115         that is the caller's job (and perhaps the caller does not care).
42116
42117         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
42118         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
42119         If the file already exists but is not a directory, don't bother
42120         to try to make its parents.
42121         Close potential file descriptor leak if we can't chdir("/") (!).
42122         Don't always return true if chdir($PWD) fails; return true only
42123         if the requested action was done successfully (except for the
42124         chdir($PWD)).
42125         Don't log final directory unless we actually made it.
42126         Refactor to avoid duplicate code to fix up permissions.
42127         Don't attempt to fix up parent permissions if chdir($PWD) fails.
42128
42129         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
42130         to make it a bit faster and (I hope) clearer.
42131         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
42132         Fix bug in formats like %2N.
42133
42134         * lib/verify.h: New file.
42135
42136 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42137
42138         Sync from coreutils.
42139         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
42140
42141 2005-09-22  Jim Meyering  <jim@meyering.net>
42142
42143         Sync from coreutils.
42144
42145         * m4/lstat.m4 (gl_FUNC_LSTAT):
42146         Use AC_LIBSOURCES to require lstat.c and lstat.h.
42147         Remove obsolete comment.
42148         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
42149         * m4/xstrtod.m4: Likewise.
42150
42151         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
42152
42153 2005-09-22  Jim Meyering  <jim@meyering.net>
42154
42155         Sync from coreutils.
42156
42157         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
42158
42159         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
42160         the .tm_year member, since otherwise gcc-4.0 would now warn about
42161         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
42162
42163         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
42164         order to avoid an unsuppressible warning from gcc on 64-bit systems.
42165
42166         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
42167         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
42168         when run in a time zone for which daylight savings time is in effect
42169         for the starting date.
42170
42171         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
42172         stop us from restricting permissions of just-created absolute-named
42173         directories.
42174         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
42175         to restore initial working directory.
42176         * lib/mkdir-p.c (make_dir_parents): New parameter:
42177         different_working_dir, to tell caller if/when we change the working
42178         directory and are unable to return to the initial one.
42179         * lib/mkdir-p.h (make_dir_parents): Update prototype.
42180         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
42181         `return false'.  This fixes a bug introduced on 2004-07-30.
42182
42183         * lib/openat.c (fdopendir): Be sure to close the supplied
42184         file descriptor before returning.  This makes our replacement
42185         implementation a little closer to Solaris's, where fdopendir
42186         ties the file descriptor to the returned DIR* pointer.
42187         * lib/openat.c (unlinkat): New function.
42188         * lib/openat.h (unlinkat): Add prototype.
42189         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
42190         (openat_restore_fail): Rename from openat_restore_die.
42191         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
42192
42193         Provide an alternative to exiting immediately upon save_cwd or
42194         restore_cwd failure.  Now, an application can arrange e.g.,
42195         to perform a longjump in that case.
42196         * lib/openat.c: Include dirname.h.
42197         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
42198         (rpl_openat, fdopendir, fstatat): Call openat_save_die
42199         and openat_restore_die rather than calling error directly.
42200         Don't include "error.h" or "exitfail.h"; they're no longer needed.
42201
42202         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
42203         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
42204         define.
42205
42206         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
42207         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
42208                             int utc, int nanoseconds);
42209         Background:
42210         date should not have to allocate a megabyte of virtual memory to
42211         handle a format argument like +%1048575T.  When implemented with
42212         strftime, it must allocate such a buffer, use strftime to fill it
42213         in, print it, then free it.
42214         With fprintftime, it simply prints everything and exits.
42215         With no need for memory allocation, that's one fewer way to fail.
42216         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
42217         optional field width, not before, so we accept %9:z, not %:9z.
42218         (my_strftime): Be sure to use L_('x') for literals.
42219
42220         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
42221         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
42222         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
42223         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
42224         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
42225         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
42226         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
42227         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
42228         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
42229         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
42230         * lib/xgethostname.c, lib/xreadlink.c:
42231         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
42232
42233         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
42234         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
42235         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
42236         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
42237         and don't include <sys/file.h>).
42238
42239 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
42240
42241         Sync from coreutils.
42242
42243         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
42244         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
42245         [!LDAV_DONE]: Avoid unused variable warning.
42246
42247 2005-09-21  Bruno Haible  <bruno@clisp.org>
42248
42249         * lib/unicodeio.h (unicode_to_mb): New declaration.
42250
42251 2005-09-20  Derek Price  <derek@ximbiot.com>
42252
42253         * lib/getaddrinfo.c: Don't include <netdb.h> included from
42254         getaddrinfo.h.
42255
42256 2005-09-20  Bruno Haible  <bruno@clisp.org>
42257
42258         * gnulib-tool: Remove trailing slashes from the values specified for
42259         --source-base, --m4-base, --tests-base, --aux-dir.
42260         Suggested by Simon Josefsson <jas@extundo.com>.
42261
42262 2005-09-20  Bruno Haible  <bruno@clisp.org>
42263
42264         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
42265         func_modules_to_filelist, func_import, func_create_testdir): Make all
42266         sorting results locale-independent, so that gnulib-cache.m4 doesn't
42267         change when gnulib-tool is invoked in a different locale.
42268
42269 2005-09-19  Simon Josefsson  <jas@extundo.com>
42270
42271         * m4/socklen.m4: Fix typo.
42272
42273 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42274
42275         Use a consistent style for including <config.h>.
42276         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
42277         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
42278         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
42279         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
42280         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
42281         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
42282         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
42283         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
42284         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
42285         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
42286         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
42287         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
42288         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
42289         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
42290         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
42291         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
42292         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
42293         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
42294         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
42295         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
42296         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
42297         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
42298         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
42299         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
42300         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
42301         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
42302         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
42303         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
42304         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
42305         lib/xstrtoumax.c, lib/yesno.c:
42306         Standardize inclusion of config.h.
42307         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
42308         lib/inttostr.h:  Removed inclusion of config.h from header files.
42309         * lib/inttostr.c:  Adjusted in-tree users.
42310         * lib/timespec.h: Remove superfluous warning to include config.h.
42311         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
42312         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
42313         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
42314         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
42315         config.h with HAVE_CONFIG_H.
42316
42317 2005-09-19  Jim Meyering  <jim@meyering.net>
42318
42319         * modules/pathmax (License): Change to LGPL.
42320
42321 2005-09-19  Derek Price  <derek@ximbiot.com>
42322
42323         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
42324
42325 2005-09-19  Bruno Haible  <bruno@clisp.org>
42326
42327         * gnulib-tool (import): Provide default for --tests-base.
42328
42329 2005-09-19  Bruno Haible  <bruno@clisp.org>
42330
42331         * doc/quote.texi: New file, extracted from gnulib.texi.
42332         * doc/ctime.texi: New file, extracted from gnulib.texi.
42333         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
42334         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
42335         * doc/gnulib.texi: Include them.
42336
42337 2005-09-18  Bruno Haible  <bruno@clisp.org>
42338
42339         Portability fix.
42340         * gnulib-tool (func_readlink): New function.
42341         (func_ln_if_changed): Use it.
42342
42343 2005-09-18  Bruno Haible  <bruno@clisp.org>
42344
42345         * gnulib-tool: Support --with-tests also with --import.
42346         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
42347         (func_import): Use variables $testsbase and $inctests. Emit a
42348         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
42349         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
42350         SUBDIRS += $testsdir.
42351         (func_create_testdir): Update.
42352
42353 2005-09-18  Bruno Haible  <bruno@clisp.org>
42354
42355         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
42356         instead of $dry_run.
42357         (func_cp_if_changed, func_mv_if_changed): Remove functions.
42358         (func_ln_if_changed): Don't handle dry-run here.
42359         (func_import): In dry-run mode, detect more precisely which actions
42360         would be performed, and don't use "...ing" verbs.
42361
42362 2005-09-18  Bruno Haible  <bruno@clisp.org>
42363
42364         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
42365         (func_import): Use join on two temporary files instead of three nested
42366         loops, in order to determine which files are new or old.
42367
42368 2005-09-18  Bruno Haible  <bruno@clisp.org>
42369
42370         * gnulib-tool (func_import): Comment out code that spits out the
42371         new files with --dry-run.
42372
42373 2005-09-18  Bruno Haible  <bruno@clisp.org>
42374
42375         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
42376
42377 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42378
42379         * lib/stat-time.h: New file.
42380         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
42381         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
42382         in a different way.
42383         (timespec_cmp): New function.
42384         * lib/utimecmp.c: Include stat-time.h.
42385         (SYSCALL_RESOLUTION): Depend on whether various struct stat
42386         members exist, not on the obsolescent ST_MTIM_NSEC.
42387         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
42388
42389 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42390
42391         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
42392
42393 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42394
42395         * MODULES.html.sh (File system functions): Add stat-time.
42396         * modules/stat-time: New file.
42397         * modules/timespec (Files): Remove m4/st_mtim.m4; this
42398         is now done in a different way, by the stat-time module.
42399         * modules/utimecmp (Depends-on): Add stat-time.
42400
42401 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
42402
42403         * m4/st_mtim.m4: Remove.  Superseded by...
42404         * m4/stat-time.m4: New file.
42405         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
42406         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
42407
42408 2005-09-15  Derek Price  <derek@ximbiot.com>
42409
42410         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
42411
42412 2005-09-15  Derek Price  <derek@ximbiot.com>
42413
42414         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
42415         * lib/regex_internal.c: Ditto, using this...
42416         (__GNUC_PREREQ): ...new macro.
42417         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
42418         using...
42419         (__GNUC_PREREQ): ...this new macro.
42420
42421         * lib/strstr.h: Include string.h. Define strstr as a macro here.
42422
42423 2005-09-15  Derek Price  <derek@ximbiot.com>
42424             Paul Eggert  <eggert@cs.ucla.edu>
42425
42426         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
42427         changes, consolidating in...
42428         * lib/regex_internal.h: ...this file.
42429
42430 2005-09-13  Jim Meyering  <jim@meyering.net>
42431
42432         * lib/canon-host.c: Filter through gnu indent and reword comments
42433         slightly.
42434         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
42435
42436 2005-09-13  Derek Price  <derek@ximbiot.com>
42437
42438         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
42439         failure.
42440         Reported by Jim Meyering  <jim@meyering.net>.
42441
42442 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
42443
42444         * lib/base64.c: Typo.
42445         (base64_encode): Put b64str in initialized data section.
42446
42447 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
42448
42449         Merge glibc and coreutils changes into gnulib, plus a few
42450         extra fixes.
42451         * lib/md5.c: Use #error rather than a string.
42452         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
42453         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
42454         (__attribute__): Define to empty for non recent-GCC.
42455         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
42456         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
42457         Renamed from their non-__ counterparts, with new macros replacing
42458         them if not _LIBC.  Add __THROW attribute.
42459         (rol): Remove.
42460         (struct md5_ctx): Align buffer if using GCC.
42461         * lib/sha1.h (struct sha1_ctx): Likewise.
42462         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
42463         The old name was backwards.
42464         (NOTSWAP): Remove; not used.
42465         (rol): New macro, moved here from md5.h.
42466         (sha1_process_block): Remove a FIXME that doesn't make sense.
42467
42468 2005-09-12  Derek Price  <derek@ximbiot.com>
42469
42470         Return usable errors from canon-host.
42471         * lib/canon-host.h: New file.
42472         * lib/canon-host.c (canon_host): Wrap...
42473         (canon_host_r): ...this new function, which now relies exclusively on
42474         getaddrinfo.
42475         (ch_strerror): New function.
42476         (last_cherror): New global.
42477         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
42478         interface.
42479         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
42480         void *.
42481         (freeaddrinfo): Free ai->ai_canonname when set.
42482
42483 2005-09-12  Derek Price  <derek@ximbiot.com>
42484
42485         Make canon-host require getaddrinfo.
42486         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
42487         AC_LIBSOURCE canon-host.h.  Call...
42488         (gl_PREREQ_CANON_HOST): ...this new function, which requires
42489         gl_GETADDRINFO.
42490         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
42491
42492 2005-09-12  Derek Price  <derek@ximbiot.com>
42493
42494         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
42495         LGPL.
42496         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
42497
42498 2005-09-12  Derek Price  <derek@ximbiot.com>
42499
42500         * lib/gai_strerror.c: Include config.h when available.  Include
42501         getaddrinfo.h before other headers to test interface.
42502         Reported by Larry Jones <lawrence.jones@ugs.com>.
42503
42504 2005-09-12  Derek Price  <derek@ximbiot.com>
42505             Paul Eggert  <eggert@cs.ucla.edu>
42506
42507         * modules/glob (Files): Add glob-libc.h.
42508
42509 2005-09-12  Derek Price  <derek@ximbiot.com>
42510             Paul Eggert  <eggert@cs.ucla.edu>
42511
42512         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
42513         glob_.h, glob-libc.h.
42514         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
42515
42516 2005-09-12  Derek Price  <derek@ximbiot.com>
42517             Paul Eggert  <eggert@cs.ucla.edu>
42518
42519         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
42520         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
42521         protecting things that should be done only in gnulib contexts.
42522         * lib/glob_.h: New file, containing only the glob things needed for
42523         gnulib.
42524         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
42525         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
42526         (glob, globfree, glob_pattern_p): Now defined simply in terms of
42527         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
42528         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
42529         and to respect the namespace rules better.
42530
42531 2005-09-08  Simon Josefsson  <jas@extundo.com>
42532
42533         * modules/socklen: New file.
42534
42535 2005-09-08  Simon Josefsson  <jas@extundo.com>
42536
42537         * m4/socklen.m4: New file.
42538
42539 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42540
42541         * modules/utimens (Files): Add m4/utimbuf.m4, since
42542         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
42543         Reported by Sergey Poznyakoff.
42544
42545 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42546
42547         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
42548         definitions, since that's the preferred style in glibc.
42549         Fix a minor spacing issue, and update copyright notice to match
42550         glibc's.
42551
42552 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42553
42554         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
42555
42556 2005-09-06  Simon Josefsson  <jas@extundo.com>
42557
42558         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
42559         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
42560
42561 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42562
42563         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
42564         warning.
42565
42566 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42567
42568         * config/srclist.txt: Add glibc bug 1302.
42569
42570 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
42571
42572         Change bitset word type from unsigned int to unsigned long int,
42573         as this has better performance on typical 64-bit hosts.
42574         Port bitset code to hosts with unusual word sizes.
42575         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
42576         (build_collating_symbol):
42577         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
42578         argument is a bitset.  This is merely a style issue, but it makes
42579         it clearer that an entire array is expected.
42580         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
42581         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
42582         Port to the case where bitset_word is not the same as unsigned int.
42583         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42584         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
42585         Likewise.
42586         * lib/regexec.c (check_dst_limits_calc_pos_1,
42587         check_subexp_matching_top):
42588         (build_trtable, group_nodes_into_DFAstates):
42589         Likewise.
42590         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
42591         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
42592         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
42593         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
42594         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
42595         * lib/regcomp.c (optimize_subexps, lower_subexp):
42596         Work even if bitset_word has holes in its bitwise representation.
42597         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
42598         * lib/regexec.c (check_dst_limits_calc_pos_1,
42599         check_subexp_matching_top):
42600         Likewise.
42601         * lib/regex_internal.c (re_string_reconstruct):
42602         Don't assume UCHAR_MAX == 255.
42603         * lib/regex_internal.h (bitset_set_all): Likewise.
42604         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
42605         All uses changed.
42606         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
42607         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
42608         All uses changed.
42609         (BITSET_WORD_MAX): New macro.
42610         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
42611         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
42612         (bitset_empty, bitset_copy):
42613         Prefer sizeof (bitset) to multiplying it out ourselves.
42614         (bitset_not_merge): Remove; unused.
42615         (bitset_contain): Return bool, not unsigned int with one bit on.
42616         All callers changed.
42617         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
42618         alignment than re_node_set; do this by defining a new internal
42619         type struct dests_alloc and using it to allocate memory.
42620
42621 2005-09-05  Bruno Haible  <bruno@clisp.org>
42622
42623         * gnulib-tool (func_import): Fix comparison in handling of symbolic
42624         links.
42625
42626 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
42627
42628         * modules/size_max (Makefile.am): Add size_max.h
42629
42630 2005-09-04  Derek Price  <derek@ximbiot.com>
42631
42632         * gnulib-tool (func_import): Fix reversed $symbolic logic.
42633
42634 2005-09-03  Simon Josefsson  <jas@extundo.com>
42635
42636         * gnulib-tool: Fix typo.
42637
42638 2005-09-03  Simon Josefsson  <jas@extundo.com>
42639
42640         * config/srclist.txt: Add glibc bug 1293.
42641
42642 2005-09-03  Derek Price  <derek@ximbiot.com>
42643
42644         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
42645         From Larry Jones <lawrence.jones@ugs.com>.
42646
42647 2005-09-02  Simon Josefsson  <jas@extundo.com>
42648
42649         * modules/socklen: New file.
42650
42651 2005-09-02  Simon Josefsson  <jas@extundo.com>
42652
42653         * modules/havelib: New module.
42654
42655         * modules/gettext, modules/iconv, modules/lock, modules/readline:
42656         Use havelib.
42657
42658 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42659
42660         Check for arithmetic overflow when calculating sizes, to prevent
42661         some buffer-overflow issues.  These patches are conservative, in the
42662         sense that when I couldn't determine whether an overflow was possible,
42663         I inserted a run-time check.
42664         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
42665         macros.
42666         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
42667         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
42668         (re_xnrealloc, re_x2nrealloc): New inline functions.
42669         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
42670         parse_bracket_exp):
42671         (build_equiv_class, build_charclass): Check for arithmetic overflow
42672         in size expression calculations.
42673         * lib/regex_internal.c (re_string_realloc_buffers):
42674         (build_wcs_upper_buffer, re_node_set_add_intersect):
42675         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
42676         (re_dfa_add_node, register_state): Likewise.
42677         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
42678         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
42679         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
42680         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
42681
42682 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42683
42684         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
42685         m4/ulonglong.m4.  Problem reported by Martin Lambers.
42686
42687 2005-09-02  Bruno Haible  <bruno@clisp.org>
42688
42689         Support for lib vs. lib64 distinction on biarch platforms.
42690         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
42691         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
42692         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
42693
42694 2005-09-02  Bruno Haible  <bruno@clisp.org>
42695
42696         * gnulib-tool (import): In the other first-use case, provide defaults
42697         as well.
42698
42699 2005-09-02  Bruno Haible  <bruno@clisp.org>
42700
42701         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
42702         patches not yet found in the latest gettext release.
42703
42704 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42705
42706         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
42707         to avoid a collision with bits/local_lim.h in glibc.
42708         All uses changed.  Problem reported by Dmitry V. Levin in
42709         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
42710
42711         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
42712         bugs in int versus size_t comparisons.
42713         (re_string_context_at): Fix bug where the code assumed that
42714         Idx is signed.
42715
42716         Use bool where appropriate.
42717         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
42718         All callers changed.
42719         (calc_eclosure_iter): Likewise, for ROOT arg.
42720         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
42721         (build_charclass_op): Likewise, for NON_MATCH arg.
42722         * lib/regex_internal.c (re_string_allocate, re_string_construct):
42723         (re_string_construct_common): Likewise, for ICASE arg.
42724         * lib/regexec.c (re_search_2_stub, re_search_stub):
42725         Likewise, for RET_LEN arg.
42726         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
42727         (set_regs): Likewise, for FL_BACKTRACK arg.
42728         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
42729         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
42730         (calc_eclosure_iter, parse_bracket_exp):
42731         Use bool for internal variables that are booleans.
42732         * lib/regexec.c (re_search_internal, check_matching,
42733         proceed_next_node):
42734         (set_regs, build_sifted_states, sift_states_bkref):
42735         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
42736         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42737         (find_collation_sequence_value):
42738         Likewise.
42739         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
42740         (re_node_set_compare):
42741         Return bool, not int. All callers changed.
42742         * lib/regexec.c (check_halt_node_context, check_dst_limits):
42743         (build_trtable, check_node_accept): Likewise.
42744         * lib/regex_internal.h: Include stdbool.h.
42745
42746         Fix bugs uncovered when converting to bool.
42747         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
42748         failure instead of charging ahead blindly.
42749         * lib/regex_internal.c (register_state): Likewise.
42750         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
42751         for freeing internal storage.
42752         (group_nodes_into_DFA_states): Use unsigned int, not int, for
42753         bitset pieces used as boolean, to avoid undefined behavior
42754         on hosts that do int overflow checking.
42755
42756 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42757
42758         * config/srclist.txt: Add glibc bugs 1285-1287.
42759
42760 2005-09-01  Jim Meyering  <jim@meyering.net>
42761
42762         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
42763         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
42764         Require gl_STAT_MACROS, too.
42765
42766 2005-09-01  Bruno Haible  <bruno@clisp.org>
42767
42768         * gnulib-tool (import): In the first-use case, provide defaults.
42769
42770 2005-09-01  Bruno Haible  <bruno@clisp.org>
42771
42772         * gnulib-tool (func_import): Remove the .tmp files.
42773
42774 2005-09-01  Bruno Haible  <bruno@clisp.org>
42775
42776         * gnulib-tool (func_import): Fix handling of symbolic links.
42777
42778 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42779
42780         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
42781         old glibc regex code mishandles strings longer than 2**31 bytes.
42782         This patch fixes this when the regex code is used in gnulib
42783         (i.e., outside glibc).
42784
42785         This patch should not affect the use of the regex code inside
42786         glibc.  No doubt this problem also needs to be handled for glibc
42787         as well, but the result will be an incompatible change to the
42788         glibc ABI, and the old ABI will have to be supported too.  That
42789         can be the the subject for another patch.
42790
42791         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
42792         governing whether the rest of this patch is active.  By default,
42793         the macro is disabled and the patch has no effect.
42794         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
42795         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
42796         (struct re_pattern_buffer, re_search, re_search_2, re_match):
42797         (re_match_2, re_set_registers): Use the new types.
42798         * lib/regex_internal.h (Idx, re_hashval_t): New types.
42799         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
42800         New macros.
42801         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
42802         (re_string_context_at, bin_tree_t, re_dfastate_t):
42803         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
42804         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
42805         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
42806         (re_string_char_size_at, re_string_wchar_at):
42807         (re_string_elem_size_at):
42808         Use the new types and macros to port to 64-bit hosts.
42809         Use unsigned types for internal values, so that the code
42810         mostly works even for arrays larger than SSIZE_MAX.
42811         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
42812         (search_duplicated_node, calc_eclosure_iter, fetch_number):
42813         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
42814         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
42815         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
42816         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
42817         (calc_inveclosure, parse_dup_op, build_range_exp):
42818         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
42819         (fetch_number, create_token_tree, mark_opt_subexp):
42820         Likewise.
42821         * lib/regex_internal.c (re_string_construct_common,
42822         create_ci_newstate):
42823         (create_cd_newstate, re_string_allocate, re_string_construct):
42824         (re_string_realloc_buffers, build_wcs_upper_buffer):
42825         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42826         (re_string_reconstruct, re_string_peek_byte_case):
42827         (re_string_fetch_byte_case, re_string_context_at):
42828         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42829         (re_node_set_init_copy, re_node_set_add_intersect):
42830         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42831         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42832         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42833         (re_acquire_state, re_acquire_state_context, register_state):
42834         Likewise.
42835         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
42836         search_cur_bkref_entry):
42837         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
42838         (re_search_internal, re_search_2_stub, re_search_stub)
42839         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
42840         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
42841         (update_cur_sifted_state, check_dst_limits):
42842         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42843         (check_subexp_limits, sift_states_bkref, merge_state_array):
42844         (check_subexp_matching_top, get_subexp, get_subexp_sub):
42845         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
42846         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42847         (expand_bkref_cache, check_node_accept_bytes):
42848         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
42849         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
42850         (acquire_init_state_context, check_halt_node_context):
42851         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
42852         (sift_states_backward, clean_state_log_if_needed):
42853         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
42854         (find_recover_state, transit_state_sb, transit_state_mb):
42855         (transit_state_bkref, build_trtable, match_ctx_clean):
42856         Likewise.
42857         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
42858         to work around an assumption that REG_MISSING is negative.
42859
42860         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
42861         (seek_collating_symbol_entry) [defined _LIBC]:
42862         (lookup_collation_sequence_value) [defined _LIBC]:
42863         (build_range_exp, build_collating_symbol) [defined _LIBC]:
42864         Use prototypes rather than old-style function definitions.
42865         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
42866         (transit_state_sb) [0]:
42867         (find_collation_sequence_value) [defined _LIBC]: Likewise.
42868
42869         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
42870         rm_eo.
42871
42872         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
42873         (optimize_subexps, lower_subexp):
42874         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
42875         since the signed shift might overflow.  Use 1u<<31 instead.
42876         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42877         Likewise.
42878         * lib/regexec.c (check_dst_limits_calc_pos_1,
42879         check_subexp_matching_top): Likewise.
42880
42881         * lib/regcomp.c (optimize_subexps, lower_subexp):
42882         Use CHAR_BIT rather than 8, for clarity.
42883         * lib/regexec.c (check_dst_limits_calc_pos_1):
42884         (check_subexp_matching_top): Likewise.
42885         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
42886         have to worry about portability issues when shifting it left.
42887         Remove no-longer-needed test for table_size > 0.
42888         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
42889         in a word, as the resulting behavior is undefined.
42890         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
42891         in one case, a <= should have been an <, and in another case the
42892         whole test was missing.
42893         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
42894         the standard name CHAR_BIT.
42895         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
42896         this is not true on one's complement and signed-magnitude hosts.
42897
42898         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
42899         next_last_offset.
42900         (struct re_dfa_t): Remove unused member states_alloc.
42901         * lib/regcomp.c (init_dfa): Don't initialize unused members.
42902
42903 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42904
42905         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
42906         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
42907         and large-file glibc and in 32-bit large-file Solaris.
42908
42909 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42910
42911         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
42912         lengths fit in regoff_t; this isn't true if regoff_t is the same
42913         width as size_t.
42914         * lib/regex.c (re_search_internal): 5th arg is LAST_START
42915         (= START + RANGE) instead of RANGE.  This avoids overflow
42916         problems when regoff_t is the same width as size_t.
42917         All callers changed.
42918         (re_search_2_stub): Check for overflow when adding the
42919         sizes of the two strings.
42920         (re_search_stub): Check for overflow when adding START
42921         to RANGE; if it occurs, substitute the extreme value.
42922
42923 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42924
42925         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
42926
42927 2005-08-31  Jim Meyering  <jim@meyering.net>
42928
42929         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
42930         a pointer-to-const.
42931         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
42932         (register_state): Likewise.
42933         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
42934         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42935         (group_nodes_into_DFAstates): Likewise.
42936
42937 2005-08-31  Jim Meyering  <jim@meyering.net>
42938
42939         * check-module: Add a FIXME comment.
42940
42941 2005-08-31  Eric Blake  <ebb9@byu.net>
42942
42943         * modules/unistd-safer (Files): Add unistd--.h.
42944         * modules/stdio-safer (Files): Add stdio--.h.
42945
42946 2005-08-31  Derek Price  <derek@ximbiot.com>
42947
42948         * lib/getdelim.c (getdelim): Return EOF on EOF.
42949         Reported by Larry Jones <lawrence.jones@ugs.com>.
42950
42951 2005-08-31  Bruno Haible  <bruno@clisp.org>
42952
42953         Avoid unnecessary diffs in the generated lib/Makefile.am.
42954         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
42955         the generated files.
42956         (func_import): Don't set cmd.
42957
42958 2005-08-31  Bruno Haible  <bruno@clisp.org>
42959
42960         * lib/strstr.c: Include <stddef.h>, for NULL.
42961         * lib/strcasestr.c: Likewise.
42962         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42963
42964 2005-08-31  Bruno Haible  <bruno@clisp.org>
42965
42966         * gnulib-tool: New option --macro-prefix.
42967         (func_import): Use macro_prefix.
42968         (import): Handle option --macro-prefix.
42969
42970 2005-08-31  Bruno Haible  <bruno@clisp.org>
42971
42972         * gnulib-tool (import): Rename most ac_* variables to cached_*.
42973         Also use new variables cached_lgpl, cached_libtool.
42974
42975 2005-08-31  Bruno Haible  <bruno@clisp.org>
42976
42977         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
42978         always instantiating them.
42979
42980 2005-08-31  Bruno Haible  <bruno@clisp.org>
42981
42982         * gnulib-tool (func_import): Read the previous cached settings
42983         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
42984         earlier added by gnulib but are now dropped. Warn when a gnulib file
42985         overwrites a non-gnulib file.
42986
42987 2005-08-31  Bruno Haible  <bruno@clisp.org>
42988
42989         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
42990         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
42991         projects that don't keep autogenerated files in CVS. Put into
42992         actioncmd only the specified modules, not the transitive closure.
42993
42994 2005-08-31  Bruno Haible  <bruno@clisp.org>
42995
42996         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
42997         Create directories that shall be filled.
42998         (import): Don't look for gl_* macros in configure.ac. Recurse across
42999         all directories containing a gnulib-cache.m4 files, if meaningful.
43000
43001 2005-08-31  Bruno Haible  <bruno@clisp.org>
43002
43003         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
43004         (import): Set seen_libtool when we see gl_LIBTOOL.
43005
43006 2005-08-31  Bruno Haible  <bruno@clisp.org>
43007
43008         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
43009         declaration macro definitions from generated gnulib.m4.
43010
43011 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
43012
43013         * lib/iconvme.h: Add prototype for iconv_alloc.
43014
43015 2005-08-29  Simon Josefsson  <jas@extundo.com>
43016
43017         * lib/iconvme.c: Fix errno.
43018
43019 2005-08-29  Bruno Haible  <bruno@clisp.org>
43020
43021         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
43022         that it works when the directory contains spaces.
43023
43024 2005-08-29  Bruno Haible  <bruno@clisp.org>
43025
43026         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
43027
43028 2005-08-29  Bruno Haible  <bruno@clisp.org>
43029
43030         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
43031         Emit more advice.
43032
43033 2005-08-29  Bruno Haible  <bruno@clisp.org>
43034         and Stepan Kasal  <kasal@ucw.cz>
43035
43036         * check-module: If more parameters are given, check each of them
43037         separately; add more exceptions, as noted by Jim Meyering.
43038         (check_module): New procedure.
43039         (%exempt_header): Now contains all exceptions.
43040
43041 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
43042
43043         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
43044
43045 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
43046
43047         * lib/iconvme.c: Split iconv_string into iconv_alloc.
43048
43049 2005-08-28  Bruno Haible  <bruno@clisp.org>
43050
43051         * m4/gnulib-tool.m4: New file.
43052
43053 2005-08-27  Jim Meyering  <jim@meyering.net>
43054
43055         * modules/unistd-safer (Files): Add pipe-safer.c.
43056         * modules/fcntl-safer (Files): Add creat-safer.c.
43057
43058 2005-08-27  Jim Meyering  <jim@meyering.net>
43059
43060         * m4/stdlib-safer.m4: New file.  From coreutils.
43061         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
43062         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
43063         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
43064         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
43065         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
43066
43067 2005-08-27  Jim Meyering  <jim@meyering.net>
43068
43069         * lib/fopen-safer.c: Merge minor changes from coreutils.
43070         * lib/dup-safer.c: Likewise.
43071         * lib/fd-safer.c: Likewise.
43072
43073         Merge from coreutils.
43074         * lib/stdio--.h: New file.
43075         * lib/stdlib--.h: New file.
43076         * lib/mkstemp-safer.c: New file.
43077
43078         GNU tar needs these.
43079         * lib/pipe-safer.c: New file.
43080         * lib/creat-safer.c: New file.
43081         * lib/fcntl--.h (creat): Define to creat_safer.
43082         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
43083         * lib/unistd--.h (pipe): Define to pipe_safer.
43084         * lib/unistd-safer.h: Declare pipe_safer.
43085
43086 2005-08-26  Simon Josefsson  <jas@extundo.com>
43087
43088         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
43089         Haible <bruno@clisp.org>.
43090
43091 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
43092
43093         * lib/regex_internal.h: Remove all references to
43094         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
43095         or better.
43096         (bitset_not, bitset_merge, bitset_not_merge):
43097         (bitset_mask, re_string_allocate, re_string_construct):
43098         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
43099         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
43100         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
43101         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
43102         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
43103         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
43104         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
43105         (re_acquire_state_context):
43106         Remove unnecessary forward decls.
43107         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
43108         Put __attribute at function definition,
43109         now that the function decl has been removed.
43110         * lib/regex_internal.c (re_string_peek_byte_case):
43111         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
43112         Likewise.
43113
43114 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
43115
43116         * m4/regex.m4: Add AC_PREREQ(2.50).
43117         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
43118
43119 2005-08-25  Simon Josefsson  <jas@extundo.com>
43120
43121         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
43122         __fsetlocking.
43123
43124 2005-08-25  Simon Josefsson  <jas@extundo.com>
43125
43126         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
43127         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
43128         GLIBC specific code.
43129
43130 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43131
43132         Make regex safe for g++.  This fixes one real bug (an "err"
43133         that should have been "*err").  g++ problem reported by
43134         Sam Steingold.
43135         * lib/regex_internal.h (re_calloc): New macro, consistent with
43136         re_malloc etc.  All callers of calloc changed to use re_calloc.
43137         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
43138         not int.  All callers changed.
43139         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
43140         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
43141         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
43142         (find_recover_state): Change "err" to "*err"; this fixes what
43143         appears to be a real bug.
43144         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
43145         versus int.
43146
43147 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43148
43149         * modules/regex (Depends-on): Add malloc, since the code
43150         assumes that !malloc(0) means failure.
43151
43152 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43153
43154         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
43155
43156         alloca modernization/simplification for regex.
43157         * lib/regex.c: Remove portability cruft for alloca.  This no longer
43158         needs to be at the start of the file, and can be moved into
43159         regex_internal.h and simplified.
43160         * lib/regex_internal.h: Include <alloca.h>.
43161         (__libc_use_alloca) [!defined _LIBC]: New macro.
43162         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
43163         now works outside glibc.
43164
43165 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43166
43167         * config/srclist.txt: Add glibc bugs 1241, 1245.
43168
43169 2005-08-25  Jim Meyering  <jim@meyering.net>
43170
43171         * lib/open-safer.c: Include <config.h>.
43172         Otherwise, we'd lose LARGEFILE support in any file using
43173         e.g. "fcntl--.h"
43174
43175 2005-08-25  Bruno Haible  <bruno@clisp.org>
43176
43177         * m4/minmax.m4: Require autoconf 2.52.
43178         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
43179         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
43180         alternatives of translit over the alphabet.
43181         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
43182
43183 2005-08-24  Simon Josefsson  <jas@extundo.com>
43184
43185         * tests/test-getpass.c: New file.
43186
43187 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43188
43189         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
43190         for GNU regex features.
43191
43192 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43193
43194         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
43195         * lib/regex.h (regerror): Likewise.
43196
43197         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
43198         requires this.  (The code never needed it.)
43199
43200         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
43201         All uses of recently-renamed identifiers changed to use the new,
43202         POSIX-compliant names.  The code will build and run just fine
43203         without these changes, but it's better to eat our own dog food
43204         and use the standard-conforming names.
43205
43206         * lib/regex.h: Fix a multitude of POSIX name space violations.
43207         These changes have an effect only for programs that define
43208         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
43209         do not change anything for programs compiled in the normal way.
43210         Also, there is no effect on the ABI.
43211
43212         (_REGEX_SOURCE): New macro.
43213         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
43214         defined and _GNU_SOURCE is not; this fixes a name space violation.
43215
43216         Rename the following macros to obey POSIX requirements.
43217         The old names are still visible as macros if _REGEX_SOURCE is defined.
43218         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
43219         RE_BACKSLASH_ESCAPE_IN_LISTS.
43220         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
43221         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
43222         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
43223         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
43224         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
43225         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
43226         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
43227         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
43228         (REG_INTERVALS): renamed from RE_INTERVALS.
43229         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
43230         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
43231         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
43232         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
43233         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
43234         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
43235         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
43236         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
43237         RE_UNMATCHED_RIGHT_PAREN_ORD.
43238         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
43239         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
43240         (REG_DEBUG): renamed from RE_DEBUG.
43241         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
43242         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
43243         unusual, since we can't clash with the POSIX REG_ICASE.
43244         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
43245         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
43246         (REG_NO_SUB): renamed from RE_NO_SUB.
43247         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
43248         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
43249         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
43250         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
43251         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
43252         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
43253         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
43254         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
43255         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
43256         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
43257         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
43258         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
43259         RE_SYNTAX_POSIX_MINIMAL_BASIC.
43260         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
43261         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
43262         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
43263         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
43264         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
43265         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
43266         (REG_FIXED): Renamed from REGS_FIXED.
43267         (REG_NREGS): Renamed from RE_NREGS.
43268
43269         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
43270         of other REG_* macros, since POSIX says the user is allowed to
43271         #undef these macros selectively.
43272
43273         (reg_errcode_t): Update comment stating what other tables need
43274         to be consistent.
43275
43276         Rename the following enum values to obey POSIX requirements.
43277         The old names are still visible as macros.
43278         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
43279         is not defined, since GNU is supposed to be a superset of POSIX as
43280         much as possible, and since we want reg_errcode_t to be a signed
43281         type for implementation consistency.
43282         (_REG_NOERROR): Renamed from REG_NOERROR.
43283         (_REG_NOMATCH): Renamed from REG_NOMATCH.
43284         (_REG_BADPAT): Renamed from REG_BADPAT.
43285         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
43286         (_REG_ECTYPE): Renamed from REG_ECTYPE.
43287         (_REG_EESCAPE): Renamed from REG_EESCAPE.
43288         (_REG_ESUBREG): Renamed from REG_ESUBREG.
43289         (_REG_EBRACK): Renamed from REG_EBRACK.
43290         (_REG_EPAREN): Renamed from REG_EPAREN.
43291         (_REG_EBRACE): Renamed from REG_EBRACE.
43292         (_REG_BADBR): Renamed from REG_BADBR.
43293         (_REG_ERANGE): Renamed from REG_ERANGE.
43294         (_REG_ESPACE): Renamed from REG_ESPACE.
43295         (_REG_BADRPT): Renamed from REG_BADRPT.
43296         (_REG_EEND): Renamed from REG_EEND.
43297         (_REG_ESIZE): Renamed from REG_ESIZE.
43298         (_REG_ERPAREN): Renamed from REG_ERPAREN.
43299         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
43300         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
43301         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
43302         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
43303
43304         (_REG_RE_NAME, _REG_RM_NAME): New macros.
43305         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
43306         changed.  But support the old name if the new one is not defined
43307         and if _REGEX_SOURCE.
43308
43309         Change the following member names in struct re_pattern_buffer.
43310         The old names are still supported if !_REGEX_SOURCE.
43311         The new names are always supported, regardless of _REGEX_SOURCE.
43312         (re_buffer): Renamed from buffer.
43313         (re_allocated): Renamed from allocated.
43314         (re_used): Renamed from used.
43315         (re_syntax): Renamed from syntax.
43316         (re_fastmap): Renamed from fastmap.
43317         (re_translate): Renamed from translate.
43318         (re_can_be_null): Renamed from can_be_null.
43319         (re_regs_allocated): Renamed from regs_allocated.
43320         (re_fastmap_accurate): Renamed from fastmap_accurate.
43321         (re_no_sub): Renamed from no_sub.
43322         (re_not_bol): Renamed from not_bol.
43323         (re_not_eol): Renamed from not_eol.
43324         (re_newline_anchor): Renamed from newline_anchor.
43325
43326         Change the following member names in struct re_registers.
43327         The old names are still supported if !_REGEX_SOURCE.
43328         The new names are always supported, regardless of _REGEX_SOURCE.
43329         (rm_num_regs): Renamed from num_regs.
43330         (rm_start): Renamed from start.
43331         (rm_end): Renamed from end.
43332
43333         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
43334         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
43335         Prepend __ to parameter names.
43336
43337         Undo yesterday's changes.
43338
43339 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43340
43341         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
43342         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
43343         lib/regex.c.
43344
43345 2005-08-24  Jim Meyering  <jim@meyering.net>
43346
43347         Sync from coreutils.
43348         * m4/fcntl-safer.m4: New file.
43349
43350         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
43351         and object files for this module.
43352
43353 2005-08-24  Jim Meyering  <jim@meyering.net>
43354
43355         Sync from coreutils.
43356         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
43357
43358 2005-08-24  Jim Meyering  <jim@meyering.net>
43359
43360         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
43361         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
43362
43363 2005-08-24  Jim Meyering  <jim@meyering.net>
43364
43365         * modules/fcntl-safer: New module.
43366         * modules/fts (Depends-on): Add fcntl-safer.
43367         * MODULES.html.sh (File descriptor based Input/Output):
43368         Add fcntl-safer.
43369
43370 2005-08-24  Bruno Haible  <bruno@clisp.org>
43371
43372         Support for unit test modules.
43373         * modules/README: Mention tests modules.
43374         * modules/TEMPLATE-TESTS: New file.
43375         * gnulib-tool: New options --extract-tests-module, --with-tests and
43376         --tests-base (unused for the moment).
43377         (testsbase, inctests): New variables.
43378         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
43379         (func_verify_module): Exclude TEMPLATE-TESTS.
43380         (func_verify_nontests_module, func_verify_tests_module): New functions.
43381         (func_get_dependencies): Add implicit dependency for tests modules.
43382         (func_get_tests_module): New function.
43383         (func_modules_transitive_closure): When --with-tests was specified,
43384         include the unit tests as well, unless explicitly avoided.
43385         (func_emit_lib_Makefile_am): Ignore the tests modules here.
43386         (func_emit_tests_Makefile_am): New function.
43387         (func_create_testdir): When --with-tests was specified, emit a
43388         tests/ directory.
43389         * MODULES.html.sh (Future developments): Update.
43390
43391 2005-08-24  Bruno Haible  <bruno@clisp.org>
43392
43393         * modules/tls-tests: New file.
43394         * tests/test-tls.c: New file, from GNU gettext.
43395
43396 2005-08-24  Bruno Haible  <bruno@clisp.org>
43397
43398         * modules/lock-tests: New file.
43399         * tests/test-lock.c: New file, from GNU gettext.
43400
43401 2005-08-24  Bruno Haible  <bruno@clisp.org>
43402
43403         * lib/lock.h: Add multiple inclusion guard.
43404         * lib/tls.h: Add multiple inclusion guard.
43405
43406 2005-08-24  Bruno Haible  <bruno@clisp.org>
43407
43408         * gnulib-tool: Add support for the --aux-dir option to
43409         --create-testdir, --create-megatestdir, --test, --megatest.
43410         (func_create_testdir, func_create_megatestdir): Optionally emit a
43411         AC_CONFIG_AUX_DIR directive.
43412         (create-testdir, create-megatestdir, test, megatest): Provide a
43413         default value for $auxdir.
43414
43415 2005-08-24  Bruno Haible  <bruno@clisp.org>
43416
43417         * gnulib-tool (import): Use compound statement instead of subshell
43418         where possible.
43419
43420 2005-08-24  Bruno Haible  <bruno@clisp.org>
43421
43422         * gnulib-tool (import): Change --aux-dir default to "build-aux".
43423
43424 2005-08-24  Bruno Haible  <bruno@clisp.org>
43425
43426         * gnulib-tool (func_version): Update.
43427
43428 2005-08-24  Bruno Haible  <bruno@clisp.org>
43429
43430         * gnulib-tool (func_import, func_create_testdir,
43431         func_create_megatestdir): Quote all autoconf macro arguments.
43432
43433 2005-08-24  Bruno Haible  <bruno@clisp.org>
43434
43435         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
43436         option --force, because --force causes the aclocal.m4 of each
43437         subdirectory to be newer than the corresponding config.h.in.
43438
43439 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43440
43441         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
43442         All contents moved to gl_REGEX.
43443         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
43444         assume that it does.
43445
43446 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43447
43448         * lib/regex.h (REG_NOSYS)
43449         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
43450         Define, since POSIX requires it as of 2001.
43451         (_REG_ENOSYS)
43452         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
43453         New private symbol, used to keep the enum signed in all cases.
43454         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
43455         Youngman in
43456         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
43457
43458         * lib/regex_internal.c (re_string_skip_chars, register_state):
43459         (calc_state_hash):
43460         Remove forward decls; no longer needed now that we use prototypes.
43461         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
43462         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
43463         (clean_state_log_if_needed): Likewise.
43464
43465 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43466
43467         * config/srclist.txt: Add glibc bugs 1231-1233.
43468
43469 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43470
43471         Fix problems reported by Sam Steingold in
43472         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
43473         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
43474         assumed that reg_errcode_t is a signed type, which is not
43475         necessarily true if _XOPEN_SOURCE is not defined.
43476         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
43477         since some compilers warn about it otherwise.
43478
43479 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43480
43481         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
43482         (init_word_char, create_initial_state, duplicate_node_closure):
43483         (fetch_token, peek_token_bracket, build_range_exp):
43484         (build_collating_symbol): Remove forward decls; no longer needed
43485         now that we use prototypes.
43486
43487         * lib/regcomp.c:
43488         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
43489         (re_compile_fastmap_iter, regcomp, regerror, regfree):
43490         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
43491         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
43492         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
43493         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
43494         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
43495         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
43496         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
43497         (build_range_exp, build_collating_symbol, parse_bracket_exp):
43498         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
43499         (build_charclass, build_charclass_op, fetch_number, create_tree):
43500         (create_token_tree, mark_opt_subexp, duplicate_tree):
43501         Use prototypes rather than old-style definitions.
43502
43503         * lib/regex_internal.c:
43504         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
43505         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
43506         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
43507         (re_string_reconstruct, re_string_peek_byte_case):
43508         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
43509         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
43510         (re_node_set_init_copy, re_node_set_add_intersect):
43511         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
43512         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
43513         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
43514         (re_acquire_state, re_acquire_state_context, register_state):
43515         (create_ci_newstate, create_cd_newstate, free_state):
43516         Likewise.
43517         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
43518         re_search_2):
43519         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
43520         (re_search_internal, prune_impossible_nodes):
43521         (acquire_init_state_context, check_matching, static):
43522         (check_halt_node_context, check_halt_state_context, proceed_next_node):
43523         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
43524         (update_regs, sift_states_backward, build_sifted_states):
43525         (clean_state_log_if_needed, merge_state_array):
43526         (update_cur_sifted_state, add_epsilon_src_nodes):
43527         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
43528         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
43529         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
43530         (find_recover_state, check_subexp_matching_top, transit_state_mb):
43531         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
43532         (check_arrival, check_arrival_add_next_nodes):
43533         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
43534         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
43535         (check_node_accept_bytes, check_node_accept, extend_buffers):
43536         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
43537         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
43538         (sift_ctx_init):
43539         Likewise.
43540
43541         * lib/regex_internal.h:
43542         (re_string_allocate, re_string_construct, re_string_reconstruct):
43543         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
43544         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
43545         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
43546         (re_string_context_at, re_string_peek_byte_case):
43547         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
43548         is defined, since we now use prototypes always.
43549
43550         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
43551         C89 or better.  All uses removed.
43552
43553 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43554
43555         * config/srclist.txt: Add glibc bugs 1220-1227.
43556
43557 2005-08-20  Jim Meyering  <jim@meyering.net>
43558
43559         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
43560         of unused local, dfa.
43561
43562 2005-08-20  Bruno Haible  <bruno@clisp.org>
43563
43564         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
43565
43566 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43567
43568         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
43569         (re_node_set_insert_last, re_dfa_add_node):
43570         Rename local variables to avoid GCC shadowing warnings.
43571
43572 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43573
43574         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
43575         [defined lint]: Suppress bogus uninitialized-variable warnings.
43576
43577         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
43578         and let the caller return REG_ESPACE if out of space.  This
43579         removes an uninitialied-variable warning with GCC 4.0.1, and also
43580         avoids taking the address of a local variable.  All callers
43581         changed.
43582
43583 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43584
43585         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
43586         $LIBCSRC/posix/regexec.c.
43587         Add glibc bug 1217 for regcomp.c.
43588
43589 2005-08-19  Jim Meyering  <jim@meyering.net>
43590
43591         * lib/regexec.c (proceed_next_node): Redo local variables to
43592         avoid GCC shadowing warnings.
43593
43594 2005-08-18  Bruno Haible  <bruno@clisp.org>
43595
43596         * lib/strstr.c (strstr): Fix return value in multibyte case.
43597         * lib/strcasestr.c (strcasestr): Likewise.
43598
43599 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
43600
43601         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
43602
43603 2005-08-17  Jim Meyering  <jim@meyering.net>
43604
43605         Make the %s format (seconds since the epoch) work for a negative
43606         number and when used with a zero-padded field width, e.g. %015s.
43607
43608         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
43609         label so that it precedes the code to set `digits'.  Otherwise,
43610         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
43611         print `00-22'.  Now, it prints `-0022', as it should.
43612
43613 2005-08-17  Bruno Haible  <bruno@clisp.org>
43614
43615         * modules/strstr (Files): Add m4/mbrtowc.m4.
43616         (Depends-on): Add mbuiter.
43617
43618 2005-08-17  Bruno Haible  <bruno@clisp.org>
43619
43620         * modules/strcasestr: New file.
43621         * MODULES.html.sh (String handling, based on ANSI C 89): Add
43622         strcasestr.
43623
43624 2005-08-17  Bruno Haible  <bruno@clisp.org>
43625
43626         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
43627
43628 2005-08-17  Bruno Haible  <bruno@clisp.org>
43629
43630         * modules/mbuiter: New file.
43631         * MODULES.html.sh (Extended multibyte and wide character utilities):
43632         Add mbuiter.
43633
43634 2005-08-17  Bruno Haible  <bruno@clisp.org>
43635
43636         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
43637         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
43638
43639 2005-08-17  Bruno Haible  <bruno@clisp.org>
43640
43641         * m4/strcasestr.m4: New file.
43642
43643 2005-08-17  Bruno Haible  <bruno@clisp.org>
43644
43645         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
43646         * lib/strstr.c: Completely rewritten, with multibyte locale support.
43647
43648 2005-08-17  Bruno Haible  <bruno@clisp.org>
43649
43650         * lib/strcasestr.h: New file.
43651         * lib/strcasestr.c: New file.
43652
43653 2005-08-17  Bruno Haible  <bruno@clisp.org>
43654
43655         * lib/strcasecmp.c: Use mbuiter.h.
43656
43657 2005-08-17  Bruno Haible  <bruno@clisp.org>
43658
43659         * lib/mbuiter.h: New file.
43660
43661 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43662
43663         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
43664         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
43665         and gl_GETOPT are both invoked via different paths (as happens
43666         with GNU tar CVS because it uses both argp and getopt), the former
43667         wins.
43668
43669 2005-08-16  Bruno Haible  <bruno@clisp.org>
43670
43671         * modules/tls: New file.
43672         * MODULES.html.sh (Multithreading): Add tls.
43673
43674 2005-08-16  Bruno Haible  <bruno@clisp.org>
43675
43676         * modules/strnlen1: New file.
43677         * MODULES.html.sh (String handling): Add strnlen1.
43678
43679 2005-08-16  Bruno Haible  <bruno@clisp.org>
43680
43681         * modules/strcase (Files): Add m4/mbrtowc.m4.
43682         (Depends-on): Add strnlen1, mbchar.
43683
43684 2005-08-16  Bruno Haible  <bruno@clisp.org>
43685
43686         * modules/mbiter: New file.
43687         * MODULES.html.sh (Extended multibyte and wide character utilities):
43688         Add mbiter.
43689
43690 2005-08-16  Bruno Haible  <bruno@clisp.org>
43691
43692         * modules/mbfile: New file.
43693         * MODULES.html.sh (Extended multibyte and wide character utilities):
43694         Add mbfile.
43695
43696 2005-08-16  Bruno Haible  <bruno@clisp.org>
43697
43698         * modules/mbchar: New file.
43699         * MODULES.html.sh (Extended multibyte and wide character utilities):
43700         New section.
43701
43702 2005-08-16  Bruno Haible  <bruno@clisp.org>
43703
43704         * m4/tls.m4: New file, from GNU gettext.
43705
43706 2005-08-16  Bruno Haible  <bruno@clisp.org>
43707
43708         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
43709         always.
43710         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
43711
43712 2005-08-16  Bruno Haible  <bruno@clisp.org>
43713
43714         * m4/mbiter.m4: New file.
43715
43716 2005-08-16  Bruno Haible  <bruno@clisp.org>
43717
43718         * m4/mbfile.m4: New file.
43719
43720 2005-08-16  Bruno Haible  <bruno@clisp.org>
43721
43722         * m4/mbchar.m4: New file.
43723
43724 2005-08-16  Bruno Haible  <bruno@clisp.org>
43725
43726         * lib/tls.h: New file, from GNU gettext.
43727         * lib/tls.c: New file, from GNU gettext.
43728
43729 2005-08-16  Bruno Haible  <bruno@clisp.org>
43730
43731         * lib/strnlen1.h: New file.
43732         * lib/strnlen1.c: New file.
43733
43734 2005-08-16  Bruno Haible  <bruno@clisp.org>
43735
43736         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
43737         (mbi_init): Update.
43738         (mbi_avail, mbi_advance): Let the iteration end before the terminating
43739         NUL byte, not after it.
43740
43741 2005-08-16  Bruno Haible  <bruno@clisp.org>
43742
43743         * lib/strcase.h (strcasecmp): Add note in comments.
43744         * lib/strncasecmp.c: Use code from strcasecmp.c.
43745         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
43746         (strcasecmp): Work correctly in multibyte locales.
43747
43748 2005-08-16  Bruno Haible  <bruno@clisp.org>
43749
43750         * lib/mbiter.h: New file.
43751
43752 2005-08-16  Bruno Haible  <bruno@clisp.org>
43753
43754         * lib/mbfile.h: New file.
43755
43756 2005-08-16  Bruno Haible  <bruno@clisp.org>
43757
43758         * lib/mbchar.h: New file.
43759         * lib/mbchar.c: New file.
43760
43761 2005-08-16  Bruno Haible  <bruno@clisp.org>
43762
43763         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
43764         the valid ones. Makes the comparison operations transitive:
43765         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
43766         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
43767
43768 2005-08-15  Simon Josefsson  <jas@extundo.com>
43769
43770         * modules/ssize_t (License): Change to 'unlimited'.
43771
43772         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
43773
43774 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43775
43776         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
43777         Add comments for each pending glibc patch.
43778
43779 2005-08-15  Bruno Haible  <bruno@clisp.org>
43780
43781         * lib/regex.h (__restrict_arr): Don't define to __restrict if
43782         __cplusplus is defined.
43783
43784 2005-08-14  Jim Meyering  <jim@meyering.net>
43785
43786         Sync from coreutils.
43787
43788         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
43789         Use the hash-table-based cycle-detection code not just when
43790         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
43791         Reported by James Youngman in
43792         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
43793         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
43794         FTS_TIGHT_CYCLE_CHECK.
43795         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
43796         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
43797         once again.
43798         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
43799         * lib/fts.c (fd_safer): Remove decl.
43800         Include fcntl--.h rather than unistd-safer.h
43801         (fts_safe_changedir): Don't call fd_safer; no longer needed
43802         now that we include fcntl--.h.
43803
43804 2005-08-12  Simon Josefsson  <jas@extundo.com>
43805
43806         * modules/getndelim2: Use ssize_t module.
43807         * modules/getnline: Likewise.
43808         * modules/safe-read: Likewise.
43809         * modules/xreadlink: Likewise.
43810
43811         * modules/ssize_t: New file.
43812
43813 2005-08-12  Simon Josefsson  <jas@extundo.com>
43814
43815         * m4/readline.m4: Look for termcap, curses or ncurses if required.
43816
43817 2005-08-12  Simon Josefsson  <jas@extundo.com>
43818
43819         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43820         ssize_t.
43821
43822 2005-08-12  Simon Josefsson  <jas@extundo.com>
43823
43824         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
43825         readline, getdelim and check_version.
43826         (Support for systems lacking ISO C 99: Sizes of integer types):
43827         Add size_max.
43828
43829 2005-08-12  Bruno Haible  <bruno@clisp.org>
43830
43831         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
43832
43833 2005-08-11  Simon Josefsson  <jas@extundo.com>
43834
43835         * modules/readline: New file.
43836
43837         * modules/strnlen (Files): Add strnlen.h.
43838
43839 2005-08-11  Simon Josefsson  <jas@extundo.com>
43840
43841         * m4/readline.m4: New file.
43842
43843 2005-08-11  Simon Josefsson  <jas@extundo.com>
43844
43845         * lib/readline.h, readline.c: New file.
43846
43847 2005-08-11  Simon Josefsson  <jas@extundo.com>
43848
43849         * doc/gnulib.texi (Initial import, Finishing touches): Mention
43850         gl_AVOID.
43851
43852 2005-08-11  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/strnlen.h (strnlen): Change parameter name to match comment.
43855
43856 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
43857
43858         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
43859
43860 2005-08-10  Simon Josefsson  <jas@extundo.com>
43861
43862         * tests/test-iconvme.c: New file.
43863
43864 2005-08-10  Simon Josefsson  <jas@extundo.com>
43865
43866         * m4/strnlen.m4: New file.
43867
43868         * m4/strndup.m4: Don't check for strnlen declaration, done in
43869         strnlen.m4.
43870
43871 2005-08-10  Simon Josefsson  <jas@extundo.com>
43872
43873         * lib/strndup.c: Use strnlen.h.
43874
43875         * lib/strnlen.h: New file.
43876
43877 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43878
43879         * README: Typos.
43880
43881 2005-08-02  Simon Josefsson  <jas@extundo.com>
43882
43883         * modules/readline: New file.
43884
43885 2005-08-02  Simon Josefsson  <jas@extundo.com>
43886
43887         * modules/getdelim: New file.
43888
43889         * modules/getline: Rewrite, don't use getndelim2.
43890
43891 2005-08-02  Simon Josefsson  <jas@extundo.com>
43892
43893         * m4/getline.m4: Separate out getdelim stuff into separate module.
43894
43895         * m4/getdelim.m4: New file.
43896
43897 2005-08-02  Simon Josefsson  <jas@extundo.com>
43898
43899         * lib/getline.h, getline.c: Rewrite.
43900
43901         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
43902
43903 2005-07-31  Bruno Haible  <bruno@clisp.org>
43904
43905         * lib/lock.h (gl_lock_initializer): New macro.
43906         (gl_lock_define_initialized): Use it.
43907         (gl_rwlock_initializer): New macro.
43908         (gl_rwlock_define_initialized): Use it.
43909         (gl_recursive_lock_initializer): New macro.
43910         (gl_recursive_lock_define_initialized): Use it.
43911
43912 2005-07-30  Karl Berry  <karl@gnu.org>
43913
43914         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
43915         Report from Ben Pfaff, regarding getopt.
43916
43917 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
43918
43919         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
43920         normal way.
43921         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
43922         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
43923         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
43924         (gl_GETOPT): Use the new macros.  Most of the implementation
43925         is moved to the new macros.  This is for programs like Emacs
43926         that don't want all the functionality of gl_GETOPT.
43927
43928 2005-07-26  Bruno Haible  <bruno@clisp.org>
43929
43930         * m4/lock.m4: Update from GNU gettext.
43931
43932 2005-07-26  Bruno Haible  <bruno@clisp.org>
43933
43934         * lib/lock.h: Update from GNU gettext.
43935         * lib/lock.c: Update from GNU gettext.
43936
43937 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
43938
43939         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
43940         obsolescent AC_TRY_RUN.  Include the default includes files, for
43941         'exit'.
43942
43943 2005-07-24  Bruno Haible  <bruno@clisp.org>
43944
43945         * modules/visibility: New file.
43946         * MODULES.html.sh (Misc): Add visibility.
43947
43948 2005-07-24  Bruno Haible  <bruno@clisp.org>
43949
43950         * m4/visibility.m4: New file.
43951
43952 2005-07-24  Bruno Haible  <bruno@clisp.org>
43953
43954         * doc/visibility.texi: New file.
43955
43956 2005-07-22  Bruno Haible  <bruno@clisp.org>
43957
43958         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
43959         $(ALLOCA_H), redundant through BUILT_SOURCES.
43960         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
43961         redundant through BUILT_SOURCES.
43962         * modules/byteswap (Makefile.am): Remove explicit dependency on
43963         $(BYTESWAP_H), redundant through BUILT_SOURCES.
43964         * modules/fnmatch (Makefile.am): Remove explicit dependency on
43965         $(FNMATCH_H), redundant through BUILT_SOURCES.
43966         * modules/getopt (Makefile.am): Remove explicit dependency on
43967         $(GETOPT_H), redundant through BUILT_SOURCES.
43968         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
43969         redundant through BUILT_SOURCES.
43970         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
43971         redundant through BUILT_SOURCES.
43972         * modules/stdbool (Makefile.am): Remove explicit dependency on
43973         $(STDBOOL_H), redundant through BUILT_SOURCES.
43974         * modules/stdint (Makefile.am): Remove explicit dependency on
43975         $(STDINT_H), redundant through BUILT_SOURCES.
43976         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
43977         Remove explicit dependency on $(SYSEXITS_H).
43978         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
43979
43980 2005-07-18  Simon Josefsson  <jas@extundo.com>
43981
43982         * lib/check-version.c (check_version): Accept identical versions too.
43983
43984 2005-07-18  Bruno Haible  <bruno@clisp.org>
43985
43986         * modules/lock: New file.
43987         * MODULES.html.sh (Multithreading): New section.
43988
43989 2005-07-18  Bruno Haible  <bruno@clisp.org>
43990
43991         * m4/lock.m4: New file, from GNU gettext.
43992
43993 2005-07-18  Bruno Haible  <bruno@clisp.org>
43994
43995         * lib/lock.h: New file, from GNU gettext.
43996         * lib/lock.c: New file, from GNU gettext.
43997
43998 2005-07-18  Bruno Haible  <bruno@clisp.org>
43999
44000         * lib/lock.h (gl_once_t): New type.
44001         (gl_once_define, gl_once): New macros.
44002         * lib/lock.c (fresh_once): New variable.
44003         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
44004         functions.
44005
44006 2005-07-16  Simon Josefsson  <jas@extundo.com>
44007
44008         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
44009         workaround, suggested by Bruno.
44010
44011 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44012
44013         * modules/xalloc (Depends-on): Add xalloc-die.
44014         * modules/xvasprintf (Depends-on): Add xalloc-die.
44015
44016 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44017
44018         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
44019         with a minor change.
44020
44021 2005-07-15  Bruno Haible  <bruno@clisp.org>
44022
44023         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
44024         When using lib/poll.c, define poll as rpl_poll.
44025
44026 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
44027
44028         * modules/argp (Depends-on): Remove unlocked-io.
44029
44030 2005-07-14  Derek Price  <derek@ximbiot.com>
44031
44032         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
44033         for glob symlink bug.
44034
44035 2005-07-14  Bruno Haible  <bruno@clisp.org>
44036
44037         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
44038         Instead, test for *_unlocked function declarations directly.
44039
44040 2005-07-11  Simon Josefsson  <jas@extundo.com>
44041
44042         * modules/size_max: New file.
44043
44044         * modules/xsize: Depend on size_max module for size_max.m4.
44045
44046 2005-07-11  Simon Josefsson  <jas@extundo.com>
44047
44048         * lib/size_max.h: New file.
44049
44050 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
44051
44052         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
44053         copyright symbol and the year.
44054         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
44055         (version_etc_va): Use parameterized copyright notice.
44056         Reword to conform to the current GNU coding standards.
44057
44058 2005-07-11  Karl Berry  <karl@gnu.org>
44059
44060         * doc/gnulib.texi (Quoting): new node.
44061         (Initial import): more info, from Patrice.
44062
44063 2005-07-11  Bruno Haible  <bruno@clisp.org>
44064
44065         * gnulib-tool (func_usage): Document option --avoid.
44066         (Command line options): Handle --avoid.
44067         (func_acceptable): New function.
44068         (func_modules_transitive_closure): Use it.
44069
44070 2005-07-11  Bruno Haible  <bruno@clisp.org>
44071
44072         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
44073         Reported by Jim Meyering.
44074
44075 2005-07-10  Bruno Haible  <bruno@clisp.org>
44076
44077         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
44078         Needed when size_t is smaller than 'unsigned int'.
44079         Reported by Paul Eggert.
44080
44081 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44082
44083         * modules/argp (Depends-on): Add unlocked-io
44084
44085 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44086
44087         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
44088         block of defines.
44089
44090 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
44091
44092         * config/srclist.txt: Comment out regcomp.c, since we have a porting
44093         fix now.
44094
44095 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
44096         and Paul Eggert  <eggert@cs.ucla.edu>
44097
44098         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
44099         in wint_t, not wchar_t.  Remove now-unnecessary cast.
44100
44101 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44102
44103         * modules/regex (Files): Add lib/regex_internal.c,
44104         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
44105         (Depends-on): Add extensions.
44106         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
44107
44108 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44109
44110         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
44111         pathconf.
44112         * m4/same.m4 (gl_SAME): Likewise.
44113         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
44114
44115         * m4/regex.m4: Adjust to new libc regex implementation.
44116         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
44117         all the .c and .h parts of (the new) regex.
44118         Quote the m4 stuff better.
44119         Check for RE_ICASE bug of old gnulib.
44120         Check for REG_STARTEND of recent libc.
44121         Rename local variables from jm_* to gl_*.
44122         Quote operand of "test -f".
44123         Say "recent enough" version of libc, not "version 2".
44124         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
44125         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
44126         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
44127         Remove check for btowc, isascii.
44128         Require AM_LANGINFO_CODESET.
44129
44130 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44131
44132         * lib/regex.c, regex.h: Sync from libc.
44133         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
44134         * lib/regexec.c:
44135         New files, synced from libc, except that regex_internal.h
44136         currently has a small porting fix.
44137
44138 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44139
44140         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
44141         regex_internal.c, regexec.c.
44142         Add regex_internal.h too, but as a comment, since the libc version
44143         is currently broken in gnulib mode.
44144
44145 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44146
44147         Support programs like Emacs that use gnulib but not gettext.
44148         * MODULES.html.sh (Internationalization functions): Add gettext-h.
44149         * modules/gettext-h: New file.
44150         * modules/gettext (Files): Remove lib/gettext.h.
44151         (Depends-on): Add gettext-h.
44152         (Makefile.am): Remove lib_SOURCES.
44153         * modules/argmatch, modules/c-stack, modules/closeout:
44154         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
44155         * modules/execute, modules/file-type, modules/getaddrinfo:
44156         * modules/getopt, modules/human, modules/javacomp:
44157         * modules/javaexec, modules/mkdir-p, modules/obstack:
44158         * modules/openat, modules/pagealign_alloc, modules/pipe:
44159         * modules/quotearg, modules/regex, modules/rpmatch:
44160         * modules/unicodeio, modules/userspec, modules/version-etc:
44161         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
44162         * modules/xsetenv:
44163         Depend on gettext-h, not gettext.
44164
44165 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44166
44167         * gnulib-tool (func_import): Add support for 'public domain' license.
44168         * modules/alloca, modules/atexit, modules/memmove:
44169         Now public domain, not GPL.
44170         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
44171         * modules/realloc, modules/strerror, modules/strtod:
44172         Now LGPL, not GPL.
44173
44174 2005-07-05  Bruno Haible  <bruno@clisp.org>
44175
44176         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
44177         autoconf CVS. Needed for mingw.
44178
44179 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44180
44181         Remove the dependency of the strftime module on the tzset module.
44182         * modules/strftime (Depends-on): Remove dependency on tzset.
44183
44184 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44185
44186         Remove the dependency of the strftime module on the tzset module.
44187         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
44188         gl_FUNC_TZSET_CLOBBER.
44189
44190 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44191
44192         Remove the dependency of the strftime module on the tzset module.
44193         * lib/strftime.c (my_strftime)
44194         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
44195         Copy the input structure, to work around some of the bug with
44196         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
44197         Solaris releases, you should also use the tzset module, but we won't
44198         require it as a dependency any more since we don't want LGPLed code
44199         to depend on GPLed code.
44200
44201 2005-07-02  Jim Meyering  <jim@meyering.net>
44202
44203         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
44204         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
44205         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
44206         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
44207
44208 2005-07-02  Jim Meyering  <jim@meyering.net>
44209
44210         * lib/backupfile.c (backup_args): Change a `0' to NULL.
44211
44212 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44213
44214         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
44215         declares only 'struct timespec;' (!).
44216
44217 2005-07-01  Jim Meyering  <jim@meyering.net>
44218
44219         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
44220         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
44221         * lib/save-cwd.c, tempname.c:
44222         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
44223         and don't include <sys/file.h>).
44224
44225 2005-06-29  Jim Meyering  <jim@meyering.net>
44226
44227         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
44228         type name.  Use the variable name instead.
44229         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
44230         Likewise.
44231
44232 2005-06-28  Simon Josefsson  <jas@extundo.com>
44233
44234         * modules/check-version (Files): Add check-version.m4.
44235
44236 2005-06-28  Simon Josefsson  <jas@extundo.com>
44237
44238         * m4/check-version.m4: New file, suggested by Jim Meyering
44239         <jim@meyering.net>.
44240
44241 2005-06-28  Simon Josefsson  <jas@extundo.com>
44242
44243         * lib/check-version.h, lib/check-version.c: New files.
44244
44245 2005-06-28  Simon Josefsson  <jas@extundo.com>
44246
44247         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
44248         collision with global variable.  Better indentation.  Don't
44249         increment buffer pointer beyond buffer end.  Based on comments
44250         from Paul Eggert <eggert@cs.ucla.edu>.
44251
44252         * lib/base64.h: Indent.
44253
44254 2005-06-28  Simon Josefsson  <jas@extundo.com>
44255
44256         * doc/gnulib.texi (Library version handling): New section.
44257
44258 2005-06-28  Jim Meyering  <jim@meyering.net>
44259
44260         * check-module (find_included_lib_files): Hard-code another
44261         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
44262         but modules/fts-lgpl (correctly) does not list those files.
44263
44264         * modules/canonicalize (Files): Add lib/pathmax.h.
44265
44266 2005-06-25  Simon Josefsson  <jas@extundo.com>
44267
44268         * modules/check-version: New file.
44269
44270 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
44271
44272         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
44273         initializer of struct addrinfo, as an indication that we don't
44274         care how many members the structure has.
44275
44276 2005-06-24  Derek Price  <derek@ximbiot.com>
44277         and Bruno Haible  <bruno@clisp.org>
44278
44279         Remove stat module & update lstat.
44280         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
44281         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
44282         * m4/stat.m4: Remove this file.
44283
44284 2005-06-24  Derek Price  <derek@ximbiot.com>
44285         and Bruno Haible  <bruno@clisp.org>
44286
44287         Remove stat module & update lstat.
44288         * lib/stat.c: Remove this file...
44289         (slash_aware_lstat): ...moving this content and its support...
44290         * lib/lstat.c (rpl_lstat): ...into here.
44291         * lib/lstat.h: New file.
44292
44293 2005-06-24  Derek Price  <derek@ximbiot.com>
44294         and Bruno Haible  <bruno@clisp.org>
44295
44296         Remove stat module & update lstat.
44297         * config/srclist.txt (libc sources): Remove stat.
44298
44299 2005-06-24  Derek Price  <derek@ximbiot.com>
44300         and Bruno Haible  <bruno@clisp.org>
44301
44302         Remove stat module & update lstat.
44303         * MODULES.html.sh (stat): Remove.
44304         * MODULES.html: Regenerated.
44305         * modules/lstat (Description): Correct function name.
44306         (Files): Add "lstat.h".
44307         (Depends-on): Remove stat, add xalloc, stat-macros.
44308         * modules/stat: Remove this file.
44309         (Include): Add "lstat.h", remove <sys/stat.h>.
44310
44311 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44312
44313         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
44314         (ranged_convert): Don't save conversion in a temporary struct.
44315         This causes a warning with GCC 4.0.0, and anyway in the typical
44316         case it's not worth the extra 100 bytes or so of code.
44317         (ranged_convert, __mktime_internal): When calling a function via a
44318         pointer P, use P () rather than (*P) (), as we now assume C89 or
44319         better.
44320
44321 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44322
44323         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
44324         "who -r" failed to give output.  Problem reported by Tim Waugh.
44325
44326         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
44327         (xcalloc): Use it to avoid needless tests.
44328         Problem reported by Jim Meyering.
44329
44330 2005-06-20  Derek Price  <derek@ximbiot.com>
44331
44332         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
44333         unnecessary for Autoconfs > 2.59c.
44334
44335 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44336
44337         * lib/argp.h (__option_is_short): Check upper limit of
44338         __key. Isprint() requires its argument to have the value
44339         of an unsigned char or EOF.
44340
44341 2005-06-16  Jim Meyering  <jim@meyering.net>
44342
44343         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
44344         when either N or S is zero.
44345
44346 2005-06-16  Derek Price  <derek@ximbiot.com>
44347
44348         * m4/bison.m4: Declare YACC & YFLAGS precious.
44349
44350 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
44351
44352         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
44353         multibyte string or pattern, fall back on unibyte matching.
44354         Problem reported by James Youngman.
44355
44356 2005-06-08  Bruno Haible  <bruno@clisp.org>
44357
44358         * modules/csharpcomp: New file.
44359         * MODULES.html.sh (C#): Add csharpcomp.
44360
44361 2005-06-08  Bruno Haible  <bruno@clisp.org>
44362
44363         * m4/csharpcomp.m4: New file, from GNU gettext.
44364
44365 2005-06-08  Bruno Haible  <bruno@clisp.org>
44366
44367         * lib/csharpcomp.h: New file, from GNU gettext.
44368         * lib/csharpcomp.c: New file, from GNU gettext.
44369         * lib/csharpcomp.sh.in: New file, from GNU gettext.
44370
44371 2005-06-08  Bruno Haible  <bruno@clisp.org>
44372
44373         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
44374         warning on mingw.
44375
44376 2005-06-07  Derek Price  <derek@ximbiot.com>
44377
44378         Sync from CVS.
44379         * lib/glob_.h: Indent nested #ifdef.
44380
44381 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44382
44383         Sync from coreutils.
44384         Use "file name" when talking about file names, instead of "filename"
44385         or "path", as per the GNU coding standards.
44386         * lib/mkdir-p.c: Renamed from makepath.c.
44387         (make_dir_parents): Renamed from make_path.  All callers changed.
44388         * lib/mkdir-p.h: Likewise.  All includers changed.
44389         * lib/filenamecat.c: Renamed from path-concat.c.
44390         (file_name_concat): Renamed from path_concat.  All callers changed.
44391         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
44392         * lib/filenamecat.h: Likewise.  All includers changed.
44393         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
44394         in comments or local variable names.
44395         * lib/basename.c: Likewise.
44396         * lib/canonicalize.c, canonicalize.h: Likewise.
44397         * lib/dirname.c, dirname.h: Likewise.
44398         * lib/euidaccess.c: Likewise.
44399         * lib/exclude.c: Likewise
44400         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
44401         * lib/fsusage.c, fsuage.h: Likewise.
44402         * lib/fts.c, fts_.h: Likewise.
44403         * lib/getcwd.c: Likewise.
44404         * lib/getloadavg.c: Likewise.
44405         * lib/mkstemp.c: Likewise.
44406         * lib/mountlist.c, mountlist.h: Likewise.
44407         * lib/openat.c, openat.h: Likewise.
44408         * lib/readlink-stub.c: Likewise.
44409         * lib/readutmp.c, readutmp.h: Likewise.
44410         * lib/rename.c: Likewise.
44411         * lib/rmdir.c: Likewise.
44412         * lib/same.c: Likewise.
44413         * lib/savedir.c: Likewise.
44414         * lib/stripslash.c: Likewise.
44415         * lib/tempname.c: Likewise.
44416         * lib/xreadlink.c: Likewise.
44417         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
44418         All uses changed.
44419         * lib/exclude.h: Likewise.
44420
44421         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
44422         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44423         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
44424         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44425         * lib/pathmax.h: Include <limits.h> unconditionally, since other
44426         files have been getting away with it for years (MORE/BSD 4.3
44427         is extinct now).
44428         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
44429         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44430
44431         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
44432         Define to 256, not 255, as per modern POSIX.
44433
44434 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44435
44436         Sync from coreutils.
44437         Use "file name" when talking about file names, instead of "filename"
44438         or "path", as per the GNU coding standards.
44439         * MODULES.html.sh: mkdir-p renamed from makepath.
44440         filenamecat renamed from path-concat.
44441         * modules/filenamecat: Renamed from modules/path-concat.
44442         (Files): filenamecat.h and filenamecat.c renamed from
44443         path-concat.h and path-concat.c.
44444         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
44445         (Include): filenamecat.h, not path-concat.h.
44446         * modules/mkdir-p: Renamed from modules/makepath.
44447         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
44448         makepath.c.
44449         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
44450         (Include): mkdir-p.h, not makepath.h.
44451
44452 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44453
44454         Sync from coreutils.
44455         * m4/mkdir-p.m4: Renamed from makepath.m4.
44456         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
44457         Rename files from makepath.c to mkdir-p.c, and from
44458         makepath.h to mkdir-p.h.
44459         * m4/filenamecat.m4: Renamed from path-concat.m4.
44460         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
44461         Rename files from path-concat.c to filenamecat.c,
44462         and from path-concat.h to filenamecat.h.
44463         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
44464         "file name" in local variables or comments.
44465         * m4/rename.m4: Likewise.
44466
44467 2005-06-01  Bruno Haible  <bruno@clisp.org>
44468
44469         * modules/csharpexec: New file.
44470         * MODULES.html.sh (C#): New section.
44471
44472 2005-06-01  Bruno Haible  <bruno@clisp.org>
44473
44474         * m4/csharp.m4: New file, from GNU gettext.
44475         * m4/csharpexec.m4: New file, from GNU gettext.
44476
44477 2005-06-01  Bruno Haible  <bruno@clisp.org>
44478
44479         * lib/csharpexec.h: New file, from GNU gettext.
44480         * lib/csharpexec.c: New file, from GNU gettext.
44481         * lib/csharpexec.sh.in: New file, from GNU gettext.
44482
44483 2005-05-31  Derek Price  <derek@ximbiot.com>
44484             Paul Eggert  <eggert@cs.ucla.edu>
44485
44486         Sync from cvs.
44487         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
44488
44489 2005-05-31  Derek Price  <derek@ximbiot.com>
44490             Paul Eggert  <eggert@cs.ucla.edu>
44491
44492         Sync from cvs.
44493         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
44494
44495 2005-05-29  Derek Price  <derek@ximbiot.com>
44496
44497         * config/srclist.txt (glob_.h, glob.c): Add these files.
44498
44499 2005-05-29  Derek Price  <derek@ximbiot.com>
44500
44501         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
44502         * modules/glob: New file.
44503         * modules/getlogin_r: Add link to POSIX spec in description.
44504
44505 2005-05-29  Derek Price  <derek@ximbiot.com>
44506             Paul Eggert  <eggert@cs.ucla.edu>
44507
44508         * m4/glob.m4: New file.
44509
44510 2005-05-29  Derek Price  <derek@ximbiot.com>
44511             Paul Eggert  <eggert@cs.ucla.edu>
44512
44513         * lib/glob_.h, lib/glob.c: New files.
44514
44515 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44516
44517         * modules/fts (Files): Remove m4/inttypes-pri.m4.
44518         * modules/fts-lgpl (Depends-on): Remove gettext.
44519
44520 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44521
44522         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
44523         and don't require gt_INTTYPES_PRI.
44524
44525 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44526
44527         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
44528
44529         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
44530         the configuration hassle isn't worth it.
44531         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
44532         (LONGEST_MODIFIER, PRIuMAX): Remove.
44533
44534 2005-05-27  Bruno Haible  <bruno@clisp.org>
44535
44536         * lib/getlogin_r.h: Remove second include of <stddef.h>.
44537
44538 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44539
44540         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
44541         _POSIX_PTHREAD_SEMANTICS for Solaris.
44542
44543 2005-05-25  Derek Price  <derek@ximbiot.com>
44544
44545         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
44546
44547 2005-05-25  Derek Price  <derek@ximbiot.com>
44548             Paul Eggert  <eggert@cs.ucla.edu>
44549
44550         * modules/getlogin_r, m4/getlogin_r.m4: New files.
44551         * lib/getlogin_r.c, getlogin_r.h: New files.
44552
44553 2005-05-25  Bruno Haible  <bruno@clisp.org>
44554             Derek Price  <derek@ximbiot.com>
44555
44556         * lib/getlogin_r.h: Simplify API documentation.
44557
44558 2005-05-23  Derek Price  <derek@ximbiot.com>
44559
44560         * modules/minmax (Files): Add m4/minmax.m4.
44561         (configure.ac): Add gl_MINMAX.
44562
44563 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
44564
44565         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
44566         so that unistd-safer.h (GPL'ed code) need not be included.
44567
44568 2005-05-22  Bruno Haible  <bruno@clisp.org>
44569
44570         * m4/minmax.m4: New file.
44571         Based on a patch by Derek Price <derek@ximbiot.com>.
44572
44573 2005-05-22  Bruno Haible  <bruno@clisp.org>
44574
44575         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
44576         (INT64_MIN): Fix definition.
44577         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
44578
44579         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
44580         NEED_SIGNED_INT_TYPES.
44581
44582         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
44583         HAVE_SYSTEM_INTTYPES.
44584
44585 2005-05-22  Bruno Haible  <bruno@clisp.org>
44586
44587         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
44588         Also include <sys/param.h> if it defines MIN, MAX.
44589         Based on a patch by Derek Price <derek@ximbiot.com>.
44590
44591 2005-05-21  Jim Meyering  <jim@meyering.net>
44592
44593         * modules/fts (Files): Add m4/inttypes-pri.m4.
44594         (Depends-on): Add lstat and remove gettext.  Alphabetize.
44595
44596 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44597
44598         New fts module.
44599         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
44600         (setup_dir, free_dir): New functions.
44601         (enter_dir, leave_dir): Define trivial
44602         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
44603         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
44604         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
44605         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
44606         Move to fts-cycle.c.
44607         (fts_open): Use setup_dir.
44608         (fts_close): Use free_dir.
44609         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
44610         This adds a label and some gotos, but the alternatives were messier.
44611         Check for memory allocation failure when entering a dir.
44612         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
44613         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
44614         (FTS): New member fts_cycle, that is a union that contains the
44615         old active_dir_ht and cycle_state.  All uses changed to mention
44616         fts_cycle.ht and fts_cycle.state.
44617         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
44618         fts.c, with the following changes:
44619         (setup_dir, free_dir): New functions.
44620         (enter_dir): Now returns bool.  Return true if successful, false
44621         if memory exhausted.  All callers changed.
44622         Do not bother partly cleaning up on
44623         memory allocation failure; that is free_dir's job.
44624         However, free ad if hash_insert fails, to avoid memory leak.
44625         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
44626         fts->fts_options to see which union member to use.
44627
44628 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44629
44630         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
44631         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
44632
44633 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44634
44635         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
44636
44637 2005-05-20  Jim Meyering  <jim@meyering.net>
44638
44639         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
44640         Now a macro, to pacify GCC.
44641
44642 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44643
44644         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
44645         of -1.
44646
44647 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44648
44649         * lib/chown.c (rpl_chown): Return -1 on failure.
44650
44651 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44652
44653         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
44654         Don't check for stddef.h.
44655         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
44656         don't use its results.
44657         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
44658         since we include them unconditionally.  Don't require
44659         AM_STDBOOL_H, since stdbool is a prerequisite.
44660         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
44661         since we assume C89 or better.
44662         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
44663         as we don't use their results.
44664         Don't check for fchdir, memmove, memset, strrchr, as we use
44665         them unconditionally.
44666         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
44667         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
44668
44669 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44670
44671         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
44672         Include <stddef.h> unconditionally, since we assume C89 now.
44673         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
44674         * lib/fts.c: Include fts_.h first, to check interface.
44675         Do not include intprops.h; no longer needed.
44676         Include cycle-check.h and hash.h, since fts_.h no longer does.
44677         Remove unnecessary casts of closedir to void.
44678         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
44679         decide whether to decrement nlinks.
44680         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
44681         (FTS): Use struct hash_table * instead of Hash_table, so that
44682         we no longer need to include hash.h here.
44683
44684 2005-05-18  Jim Meyering  <jim@meyering.net>
44685
44686         * modules/dirfd (License): Change to LGPL.  Most of the code
44687         is already in the public domain.
44688
44689 2005-05-18  Jim Meyering  <jim@meyering.net>
44690
44691         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
44692         Reported by Yoann Vandoorselaere.
44693
44694 2005-05-17  Jim Meyering  <jim@meyering.net>
44695
44696         * m4/fts.m4: New file, from coreutils.
44697
44698 2005-05-17  Jim Meyering  <jim@meyering.net>
44699
44700         * lib/fts.c, lib/fts_.h: New files, from coreutils.
44701
44702 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44703
44704         Sync from coreutils.
44705         * m4/unlinkdir.m4: New file.
44706
44707 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44708
44709         Sync from coreutils.
44710         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
44711         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
44712         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
44713         White space changes only.
44714         * lib/makepath.c (make_path): Port to hosts where leading "//" is
44715         special.
44716         * lib/yesno.c: Include getline.h, not ctype.h.
44717         (yesno): Don't remove leading white space; POSIX doesn't allow it.
44718         Use getline to remove arbitrary restriction on response length.
44719
44720 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44721
44722         * config/srclist-update: Spell out "Street" in FSF postal
44723         mail address; this is the style the FSF seems to prefer.
44724
44725         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
44726         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
44727         this updates FSF postal mail address.
44728
44729         Sync from coreutils.
44730         * modules/unlinkdir: New file.
44731         * modules/yesno (Depends-on): Add getline.
44732         * MODULES.html.sh (File system functions): Add unlinkdir.
44733
44734 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44735
44736         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
44737         lib/strsep.h:
44738         Change the initial comment to refer to GPL, not LGPL.
44739         gnulib-tool will change it to LGPL as needed.
44740
44741         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
44742         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
44743         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
44744         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
44745         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
44746         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
44747         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
44748         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
44749         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
44750         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
44751         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
44752         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
44753         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
44754         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
44755         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
44756         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
44757         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
44758         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
44759         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
44760         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
44761         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
44762         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
44763         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
44764         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
44765         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
44766         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
44767         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
44768         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
44769         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
44770         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
44771         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
44772         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
44773         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
44774         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
44775         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
44776         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
44777         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
44778         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
44779         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
44780         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
44781         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
44782         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
44783         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
44784         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
44785         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
44786         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
44787         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
44788         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
44789         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
44790         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
44791         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
44792         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
44793         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
44794         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
44795         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
44796         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
44797         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
44798         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
44799         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
44800         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
44801         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
44802         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
44803         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
44804         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
44805         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
44806         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
44807         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
44808         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
44809         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
44810         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
44811         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
44812         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
44813         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
44814         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
44815         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
44816         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
44817         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
44818         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
44819         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
44820         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
44821         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
44822         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
44823         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
44824         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
44825         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
44826         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
44827         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
44828         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
44829         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
44830         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
44831         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
44832         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
44833         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
44834         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
44835         lib/yesno.c, lib/yesno.h:
44836         Update FSF postal mail address.
44837
44838 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44839
44840         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
44841         tests/test-memmem.c, tests/test-stpncpy.c:
44842         Update FSF postal mail address.
44843
44844 2005-05-13  Bruno Haible  <bruno@clisp.org>
44845
44846         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
44847         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
44848         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
44849         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
44850         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
44851         Add support for 64-bit integers in the MSVC compiler.
44852
44853 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44854
44855         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
44856
44857 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
44858
44859         * gnulib-tool (func_import): Sort and uniquify recommended includes.
44860
44861 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
44862
44863         * doc/getdate.texi (General date syntax): Don't say that date
44864         date --iso-8601=ns generates acceptable dates; it doesn't yet.
44865         Problem reported by Nic Ferrier.
44866
44867 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44868
44869         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
44870         specified in ai_socktype. Fix invalid ai_protocol
44871         check. ai_protocol is usually set to 0 or depending on
44872         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
44873         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
44874         ai_socktype / ai_protocol in the returned addrinfo structure.
44875
44876 2005-05-10  Simon Josefsson  <jas@extundo.com>
44877
44878         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
44879         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44880
44881 2005-05-10  Karl Berry  <karl@gnu.org>
44882
44883         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
44884         (from http://www.gnu.org/licenses).
44885         * doc/COPYING.LIB: also rename to COPYING.LESSER.
44886         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
44887         fdl.texi suffices.
44888
44889 2005-05-10  Karl Berry  <karl@gnu.org>
44890
44891         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
44892         (COPYING.DOC): remove.
44893
44894         * config/srclist-update: new FSF address.
44895
44896 2005-05-10  Derek Price  <derek@ximbiot.com>
44897
44898         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
44899         possible.
44900
44901 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44902             Bruno Haible  <bruno@clisp.org>
44903
44904         * modules/inet_ntop: New file.
44905         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44906         inet_ntop.
44907
44908 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44909             Bruno Haible  <bruno@clisp.org>
44910
44911         * m4/inet_ntop.m4: New file.
44912
44913 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44914             Bruno Haible  <bruno@clisp.org>
44915
44916         * lib/inet_ntop.h: New file.
44917         * lib/inet_ntop.c: New file, from glibc with modifications.
44918
44919 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
44920
44921         * modules/time_r (License): Change to LGPL.
44922         * modules/extensions (License): Change to LGPL.  Actually,
44923         the license is more permissive than that, but currently gnulib-tool
44924         doesn't know how to handle more-permissive licenses.
44925
44926         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
44927         Problem reported by Dave Love.
44928
44929 2005-05-08  Jim Meyering  <jim@meyering.net>
44930
44931         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
44932         blank.
44933
44934 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
44935
44936         * modules/argmatch (Depends-on): Add stdbool.
44937         * modules/backupfile (Depends-on): Likewise.
44938         * modules/chdir-long (Depends-on): Likewise.
44939         * modules/closeout (Depends-on): Likewise.
44940         * modules/cycle-check (Depends-on): Likewise.
44941         * modules/dirname (Depends-on): Likewise.
44942         * modules/fnmatch (Depends-on): Likewise.
44943         * modules/fsusage (Depends-on): Likewise.
44944         * modules/fwriteerror (Depends-on): Likewise.
44945         * modules/getcwd (Depends-on): Likewise.
44946         * modules/getloadavg (Depends-on): Likewise.
44947         * modules/hard-locale (Depends-on): Likewise.
44948         * modules/makepath (Depends-on): Likewise.
44949         * modules/mountlist (Depends-on): Likewise.
44950         * modules/nanosleep (Depends-on): Likewise.
44951         * modules/posixtm (Depends-on): Likewise.
44952         * modules/quotearg (Depends-on): Likewise.
44953         * modules/readtokens (Depends-on): Likewise.
44954         * modules/readtokens0 (Depends-on): Likewise.
44955         * modules/readutmp (Depends-on): Likewise.
44956         * modules/save-cwd (Depends-on): Likewise.
44957         * modules/strftime (Depends-on): Likewise.
44958         * modules/userspec (Depends-on): Likewise.
44959         * modules/utimecmp (Depends-on): Likewise.
44960         * modules/xgetcwd (Depends-on): Likewise.
44961         * modules/xnanosleep (Depends-on): Likewise.
44962         * modules/xstrtod (Depends-on): Likewise.
44963         * modules/yesno (Depends-on): Likewise.
44964
44965 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
44966
44967         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
44968         needless checks.
44969
44970 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44971
44972         Merge from coreutils.  Among other things,
44973         add bulletproofing for cases where stdin, stdout, or stderr are closed.
44974         * lib/fd-safer.c: New file.
44975         * lib/fcntl-safer.h, open-safer.c: Remove.
44976         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
44977         * lib/dup-safer.c: Include unistd-safer.h first.
44978         Don't include errno.h.
44979         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
44980         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
44981         * lib/file-type.c: Rely on file-type.h change.
44982         * lib/getloadavg.c: Include unistd-safer.h.
44983         (getloadavg): Use safer open.
44984         * lib/getusershell.c: Include "stdio-safer.h".
44985         (getusershell): Use safer fopen.
44986         * lib/long-options.c (long_options): Use NULL rather than 0.
44987         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
44988         'free'.
44989         * lib/modechange.c: Likewise.
44990         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
44991         (MODE_DONE): New constant.
44992         (struct mode_change): Remove 'next' member.
44993         (make_node_op_equals): New function; like the old one of the
44994         same name, except it allocates an array.
44995         (mode_compile, mode_create_from_ref): Use it.
44996         (mode_compile): Allocate result as an array, not a linked list.
44997         Parse octal string ourself, so that we catch mistakes like "+0".
44998         (mode_adjust): Arg is an array, not a linked list.
44999         * lib/modechange.c: Include stat-macros.h, xalloc.h.
45000         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
45001         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
45002         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
45003         Remove.  This is now stat-macros.h's job.
45004         (talloc): Remove.  All callers replaced by xalloc, so that
45005         our invokers don't have to worry about reporting memory failures.
45006         (make_node_op_equals): Remove.
45007         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
45008         New constants.
45009         (struct mode_change): Moved here from modechange.h.
45010         (mode_append_entry): Remove.
45011         (mode_compile): Remove MASKED_OPS arg, since it encouraged
45012         apps to have incorrect behavior.  Use simpler algorithm for head
45013         and tail.  Don't futz with umask; that's now the job of mode_adjust.
45014         Detect more invalid usages rather than having somewhat-random behavior.
45015         Don't insert an "a=" action, as that leads to incorrect behavior.
45016         (mode_compile, mode_create_from_ref): Return NULL on error instead
45017         of an enum, since now there's only one way to have an error.  All
45018         callers changed.
45019         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
45020         at the correct time.  Simplify calculation of "+u" and its ilk.
45021         Don't mishandle "+X".
45022         (mode_free): Remove "register" and localize decls.
45023         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
45024         (struct mode_change): Move to modechange.c; callers don't
45025         need to see this stuff.
45026         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
45027         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
45028         (mode_change, mode_adjust): Reflect the new signatures noted above.
45029         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
45030         that might redefine system include files.
45031         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
45032         (my_usleep): Use NULL rather than (void *) 0.
45033         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
45034         Use siginterrupt to specify that system calls should be interrupted.
45035         (rpl_nanosleep): Move initialization of suspended closer to call of
45036         my_usleep.
45037         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
45038         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
45039         (desirable_utmp_entry): New function.
45040         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
45041         using x2nrealloc, to simplify logic.
45042         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
45043         size calculation.  Do not assume utmp file is a regular file.
45044         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
45045         (READ_UTMP_CHECK_PIDS): New constant.
45046         * lib/save-cwd.c: Include unistd-safer.h.
45047         (save_cwd): Use fd_safer.
45048         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
45049         [!_LIBC] Include "stat-macros.h" instead.
45050         * lib/unistd-safer.h (fd_safer): New decl.
45051
45052 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45053
45054         * modules/getloadavg (Depends-on): Add unistd-safer.
45055         * modules/getusershell (Depends-on): Add stdio-safer.
45056         * modules/lstat (Depends-on): Remove xalloc.
45057         * modules/mkstemp (Depends-on): Add stat-macros.
45058         * modules/modechange (Depends-on): Remove xstrtol.
45059         Add stat-macros, xalloc.
45060         * modules/save-cwd (Depends-on): Add unistd-safer.
45061         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
45062         * modules/unistd-safer (Files): Add lib/fd-safer.c
45063         (Makefile.am): Remove lib_SOURCES.
45064
45065         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
45066         Remove fcntl-safer; unistd-safer supersedes it.
45067
45068 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45069
45070         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
45071         AC_HEADER_STAT.
45072         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
45073         (gl_PREREQ_CHOWN): Remove.
45074         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
45075         it.  Don't require AC_HEADER_STAT.
45076         (gl_PREREQ_LSTAT): Remove.
45077         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
45078         Don't require AC_HEADER_STAT.
45079         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
45080         (gl_PREREQ_RMDIR): Remove.
45081         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
45082         mention stat-macros.h or AC_HEADER_STAT, since we'll make
45083         the stat-macros module a prerequisite.
45084         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
45085         * m4/filemode.m4 (gl_FILEMODE): Likewise.
45086         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
45087         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
45088         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
45089         variable names.
45090         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
45091         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
45092         variable prefixes.
45093         * m4/fcntl-safer.m4: Remove.
45094         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
45095         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
45096         Invoke gl_PREREQ_FD_SAFER.
45097         (gl_PREREQ_FD_SAFER): New macro.
45098         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
45099         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
45100         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
45101         Remove duplicate call to AC_LIBOBJ(readutmp).
45102         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
45103
45104         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
45105         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
45106
45107 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45108
45109         * MODULES.html.sh (Misc): Add byteswap.
45110
45111 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45112
45113         * modules/getcwd (Depends-on): Add extensions.
45114         * modules/openat (Depends-on): Likewise.
45115
45116 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45117
45118         * modules/byteswap: New file.
45119
45120 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45121
45122         * m4/byteswap.m4: New file.
45123
45124 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45125
45126         * lib/byteswap_.h: New file.
45127
45128 2005-04-25  Karl Berry  <karl@gnu.org>
45129
45130         * m4/gettext.m4: Update from GNU gettext 0.14.4.
45131
45132 2005-04-25  Albert Chin  <china@thewrittenword.com>
45133
45134         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
45135         Toolkit C bug.
45136
45137 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
45138
45139         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
45140         (func_ln_if_changed) Remove forcibly for no error message
45141         in case file does not exist.
45142
45143 2005-04-19  Simon Josefsson  <jas@extundo.com>
45144
45145         * gnulib-tool (Options): Make --symlink mean --symbolic.
45146
45147 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
45148
45149         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
45150
45151 2005-04-16  Simon Josefsson  <jas@extundo.com>
45152
45153         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
45154
45155 2005-04-15  Simon Josefsson  <jas@extundo.com>
45156
45157         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
45158
45159 2005-04-15  Simon Josefsson  <jas@extundo.com>
45160
45161         * gnulib-tool: Rename --symlink to --symbolic.
45162
45163 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
45164
45165         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
45166         symbolic links to files instead of copying/moving.  Add --aux-dir,
45167         specifying directory relative --dir where auxiliary build tools
45168         are placed.
45169
45170 2005-04-14  Bruno Haible  <bruno@clisp.org>
45171
45172         * modules/allocsa (License): Change to LGPL.
45173         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45174
45175 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
45176
45177         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
45178         that "UTC +1 second" continues to work.  Problem reported
45179         by Dmitry V. Levin.
45180         (relunit_snumber): New rule.
45181         (relunit): Use it.
45182
45183 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
45184
45185         * lib/getdate.y (universal_time_zone_table): New constant.
45186         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
45187         universal_time_zone_table.
45188         (lookup_zone): Prefer universal_time_zone_table to
45189         local_time_zone_table, so that "GMT" time stamps are allowed in
45190         London during the summer.  Problem reported by Ian Abbott.
45191
45192 2005-04-12  Jim Meyering  <jim@meyering.net>
45193
45194         * lib/human.c (humblock): Set *options even when returning due to
45195         xstrtoumax conversion failure.  Thanks to a used-uninitialized
45196         warning from gcc-4.
45197
45198 2005-04-09  Jim Meyering  <jim@meyering.net>
45199
45200         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
45201         -Wuninitialized: initialize tm0.tm_year.
45202
45203 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
45204
45205         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
45206         count, since there's no maximum.  All uses changed.
45207         Add member dsts_seen.
45208         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
45209         not being INT_MAX.
45210         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
45211         Use pc_rels_seen to decide whther a date is absolute.
45212
45213         * lib/getdate.y (number): Don't overwrite year.
45214         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
45215         check.
45216
45217 2005-04-02  Simon Josefsson  <jas@extundo.com>
45218
45219         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
45220         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
45221
45222 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
45223
45224         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
45225         where no absolute path name can be longer than PATH_MAX.
45226
45227 2005-03-27  Jim Meyering  <jim@meyering.net>
45228
45229         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
45230
45231 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
45232
45233         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
45234         "one's complement" -> "ones' complement" in comment, as per Knuth.
45235         "value of type" -> "type or expression" in comment.
45236         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
45237
45238 2005-03-26  Jim Meyering  <jim@meyering.net>
45239
45240         Comment nits.
45241         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
45242         Correct typos: s/or/of/.
45243
45244 2005-03-26  Jim Meyering  <jim@meyering.net>
45245
45246         * modules/check-include-files: Move to ../ and rename to...
45247         * check-module: ...this.
45248
45249 2005-03-25  Jim Meyering  <jim@meyering.net>
45250
45251         * modules/xvasprintf (Files): Add xalloc.h.
45252
45253 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
45254
45255         * modules/gettext (Files): config/config.rpath ->
45256         build-aux/config.rpath
45257         * modules/iconv (Files): Likewise.
45258         Problem reported by Oskar Liljeblad.
45259
45260 2005-03-23  Jim Meyering  <jim@meyering.net>
45261
45262         * modules/check-include-files: New script to check for
45263         missing dependencies, multiple includes, etc.
45264
45265         * modules/c-strtold (Depends-on): Add xalloc.
45266         * modules/c-strtod (Depends-on): Add xalloc.
45267         * modules/hash (Depends-on): Add xalloc.
45268         (Files): Remove lib/xalloc.h.
45269
45270         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
45271         * modules/userspec (Files): Add lib/inttostr.h.
45272
45273 2005-03-23  Jim Meyering  <jim@meyering.net>
45274
45275         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
45276
45277 2005-03-22  Jim Meyering  <jim@meyering.net>
45278
45279         * modules/stat-macros: New module.
45280         * modules/canonicalize, modules/euidaccess, modules/file-type,
45281         * modules/filemode, modules/lchown, modules/makepath,
45282         * modules/rmdir, modules/stat: Depend on new stat-macros module
45283         rather than listing lib/stat-macros.h manually.
45284         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
45285
45286 2005-03-22  Jim Meyering  <jim@meyering.net>
45287
45288         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
45289
45290 2005-03-22  Bruno Haible  <bruno@clisp.org>
45291
45292         * config/srclist.txt: Replace target directory 'config' with
45293         'build-aux'.
45294         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
45295         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
45296         ../build-aux/.
45297
45298 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
45299
45300         * modules/chdir-long (Depends-on): Add mempcpy.
45301
45302         * modules/acl, modules/backupfile, modules/c-strtod,
45303         modules/c-strtold, modules/canon-host, modules/canonicalize,
45304         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
45305         modules/exclude, modules/exitfail, modules/file-type,
45306         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
45307         modules/getdate, modules/getline, modules/getpagesize,
45308         modules/getpass, modules/getugroups, modules/group-member,
45309         modules/hard-locale, modules/hash, modules/human, modules/idcache,
45310         modules/inttostr, modules/long-options, modules/makepath,
45311         modules/md5, modules/memcasecmp, modules/memcoll,
45312         modules/modechange, modules/mountlist, modules/path-concat,
45313         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
45314         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
45315         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
45316         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
45317         modules/strftime, modules/strndup, modules/strverscmp,
45318         modules/timespec, modules/unlocked-io, modules/userspec,
45319         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
45320         modules/yesno:
45321         Remove lib_SOURCES line from Makefile.am section, as this is now
45322         done automatically by the corresponding Autoconf macro.
45323
45324 2005-03-21  Jim Meyering  <jim@meyering.net>
45325
45326         Changes imported from coreutils.
45327
45328         * lib/cycle-check.c: Don't include xalloc.h.
45329
45330         * lib/path-concat.c: Don't include assert.h.
45331         (path_concat): Remove assertion that would have triggered
45332         for ABASE starting with more than one slash.
45333         Reported by Andreas Schwab.
45334
45335         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
45336         properly when ABASE is an absolute file name.
45337         Correct the description of this function.
45338         Include <assert.h>.
45339         Add an assertion and a test driver.
45340         This fixes a bug introduced on 2004-07-02.
45341         Andreas Schwab reported the resulting failure of cp --parents:
45342         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
45343
45344 2005-03-21  Jim Meyering  <jim@meyering.net>
45345
45346         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
45347         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
45348
45349 2005-03-21  Jim Meyering  <jim@meyering.net>
45350         and  Paul Eggert  <eggert@cs.ucla.edu>
45351
45352         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
45353         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
45354         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
45355         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
45356         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
45357         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
45358         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
45359         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
45360         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
45361         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
45362         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
45363         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
45364         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
45365         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
45366         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
45367         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
45368         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
45369         for these modules.
45370
45371 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
45372
45373         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
45374         (which shouldn't happen), generate nothing instead of returning 0
45375         immediately, so that nstrftime (NULL, ...) doesn't return 0.
45376
45377 2005-03-16  Bruno Haible  <bruno@clisp.org>
45378
45379         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
45380         HAVE_LONGLONG_64BIT.
45381
45382 2005-03-16  Bruno Haible  <bruno@clisp.org>
45383
45384         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
45385         HAVE_LONGLONG_64BIT.
45386
45387 2005-03-16  Bruno Haible  <bruno@clisp.org>
45388
45389         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
45390         HAVE_LONGLONG_64BIT.
45391
45392 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45393
45394         * lib/strftime.c (my_strftime): Prepend space to format so that we can
45395         reliably distinguish strftime failure from empty output on POSIX
45396         hosts.
45397
45398 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45399
45400         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
45401         (iconv_string): Don't guess a size-zero buffer, as that might cause
45402         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
45403         result would be 'too large', where 'too large' is (heuristically)
45404         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
45405         overflow concerns.  This will prevent some unwanted malloc failures
45406         when the inputs are very large.
45407
45408 2005-03-15  Karl Berry  <karl@gnu.org>
45409
45410         * config/srclist.txt (config.rpath): from gettext.
45411         * config/config.rpath: update.
45412
45413 2005-03-15  Bruno Haible  <bruno@clisp.org>
45414
45415         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
45416         to 'negate'.
45417
45418         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
45419         variable.
45420
45421         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
45422         results.
45423
45424 2005-03-14  Simon Josefsson  <jas@extundo.com>
45425
45426         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
45427         <fx@gnu.org>.
45428
45429 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
45430
45431         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
45432         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
45433         intprops.h.
45434         * lib/strtol.c: Likewise.
45435
45436 2005-03-14  Jim Meyering  <jim@meyering.net>
45437
45438         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
45439         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
45440         to be nonzero so that we (and caller) can detect the difference
45441         between a valid zero-length expansion and an error return, even
45442         when the underlying strftime fails before writing anything into
45443         that location.
45444
45445 2005-03-14  Bruno Haible  <bruno@clisp.org>
45446
45447         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
45448         Update from GNU gettext 0.14.3.
45449
45450 2005-03-10  Jim Meyering  <jim@meyering.net>
45451
45452         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
45453
45454 2005-03-10  Jim Meyering  <jim@meyering.net>
45455
45456         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
45457         so that this module works on systems without fchdir.
45458
45459 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
45460
45461         Factor int-properties macros into a single file, except for
45462         glibc-related files.
45463         * lib/intprops.h: New file.
45464         * lib/getloadavg.c: Include it instead of limits.h.
45465         (INT_STRLEN_BOUND): Remove.
45466         * lib/human.c: Include intprops.h.
45467         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
45468         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
45469         302/1000.
45470         * lib/inttostr.h: Include intprops.h instead of limits.h.
45471         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
45472         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
45473         for consistency with intprops.h.
45474         (time_t_is_integer, twos_complement_arithmetic): Use them.
45475         * lib/sig2str.h: Include <signal.h>, intprops.h.
45476         (INT_STRLEN_BOUND): Remove.
45477         * lib/strftime.c (TYPE_SIGNED): Remove.
45478         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
45479         * lib/strtol.c: Adjust comments to match intprops.h.
45480         * lib/userspec.c: Include intprops.h.
45481         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
45482         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
45483         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
45484         instead of rolling our own expressions.
45485         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
45486
45487         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
45488         instead of int.
45489         (my_strftime): Do not mishandle years close to INT_MAX, by doing
45490         the right thing even if adding 1900 would overflow.  Similarly
45491         for tm_mon + 1 and tm_yday + 1.
45492         Make %Y always equivalent to %C%y, and similarly for %G and %g.
45493         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
45494         (DO_SIGNED_NUMBER): New macro.
45495         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
45496
45497 2005-03-07  Bruno Haible  <bruno@clisp.org>
45498
45499         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
45500
45501 2005-03-07  Bruno Haible  <bruno@clisp.org>
45502
45503         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
45504
45505 2005-03-04  Derek R. Price  <derek@ximbiot.com>
45506
45507         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
45508         (func_import): Only replace files via --import when they have actually
45509         changed.
45510
45511 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45512
45513         * m4/mmap-anon.m4: New file.
45514         * m4/pagealign_alloc.m4: New file.
45515
45516 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45517             Bruno Haible  <bruno@clisp.org>
45518
45519         * modules/pagealign_alloc: New file.
45520         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
45521
45522 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45523             Bruno Haible  <bruno@clisp.org>
45524
45525         * lib/pagealign_alloc.h: New file.
45526         * lib/pagealign_alloc.c: New file.
45527
45528 2005-03-03  Bruno Haible  <bruno@clisp.org>
45529
45530         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
45531         Use an all-permissive copyright notice, recommended by RMS.
45532
45533 2005-03-02  Bruno Haible  <bruno@clisp.org>
45534
45535         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
45536         of AIX, the replacement has to be done only after <string.h> is
45537         included, therefore not in config.h. stpncpy.h does the replacement,
45538         and stpncpy.c uses it.
45539
45540 2005-03-02  Bruno Haible  <bruno@clisp.org>
45541
45542         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
45543         stpncpy.c uses it.
45544
45545 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45546
45547         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
45548         The workaround isn't strictly needed for POSIX conformance, and
45549         it's too much of a pain to configure and maintain.  We'll ask
45550         people to fix their kernels instead.
45551         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
45552         (NANOSLEEP_BUG_WORKAROUND): Remove.
45553         (xnanosleep): Remove the workaround.
45554
45555 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45556
45557         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
45558         Reported by Derek Price.
45559         (Include): Add "timespec.h".
45560
45561         * modules/xnanosleep (Depends-on): Remove gethrxtime.
45562
45563 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45564
45565         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
45566         to detect nanosleep bug.
45567
45568 2005-03-01  Bruno Haible  <bruno@clisp.org>
45569
45570         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
45571
45572 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45573
45574         * modules/gethrxtime: New file.
45575         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
45576         (Depends-on): Add gethrxtime.
45577         (configure.ac): Add gl_XNANOSLEEP.
45578         (Makefile.am): Remove lib_SOURCES line.
45579
45580 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45581
45582         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
45583         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
45584
45585 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45586
45587         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
45588         * lib/timespec.h (gettime): Return void, since it always
45589         succeeds now.  All uses changed.
45590         * lib/gettime.c (gettime) Likewise.
45591         [HAVE_NANOTIME]: Prefer nanotime.
45592         Assume gettimeofday succeeds, as POSIX requires.
45593         Assime time () succeeds, since other code already does.
45594         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
45595         (timespec_subtract): Remove.
45596         (NANOSLEEP_BUG_WORKAROUND): New constant.
45597         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
45598         things considerably.  Use it only on GNU/Linux hosts, since the
45599         workaround shouldn't be needed elsewhere.
45600
45601 2005-02-24  Bruno Haible  <bruno@clisp.org>
45602
45603         * modules/gettext (Files): Add m4/glibc2.m4.
45604
45605 2005-02-24  Bruno Haible  <bruno@clisp.org>
45606
45607         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
45608         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
45609         * m4/progtest.m4:
45610         Update from GNU gettext 0.14.2.
45611         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
45612
45613 2005-02-24  Bruno Haible  <bruno@clisp.org>
45614
45615         * lib/localcharset.c: Update from GNU gettext 0.14.2.
45616         * lib/config.charset: Update from GNU gettext 0.14.2.
45617
45618 2005-02-24  Bruno Haible  <bruno@clisp.org>
45619
45620         * lib/gettext.h: Update from GNU gettext 0.14.2.
45621
45622 2005-02-23  Simon Josefsson  <jas@extundo.com>
45623
45624         * m4/iconvme.m4: New file.
45625
45626 2005-02-23  Jim Meyering  <jim@meyering.net>
45627
45628         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
45629         change.
45630         Thanks to Bruno Haible for catching it.
45631
45632 2005-02-22  Simon Josefsson  <jas@extundo.com>
45633
45634         * modules/iconvme: New file.
45635
45636         * MODULES.html.sh: Add iconvme.
45637
45638 2005-02-22  Simon Josefsson  <jas@extundo.com>
45639
45640         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
45641
45642 2005-02-22  Simon Josefsson  <jas@extundo.com>
45643
45644         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
45645
45646 2005-02-22  Jim Meyering  <jim@meyering.net>
45647
45648         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
45649         s/ifndef/ifdef/.
45650
45651 2005-02-20  Neil Conway  <neilc@samurai.com>
45652
45653         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
45654         returned by OSX/Darwin if the specified buffer is not large
45655         enough for the hostname.
45656
45657 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45658
45659         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
45660         pass it to _help, otherwise the latter coredumps trying to
45661         dereference state.root_argp.
45662
45663 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45664
45665         * modules/chdir-long (Depends-on): Add memrchr.
45666         * modules/memrchr (Files): Add lib/memrchr.h.
45667         (Include): "memrchr.h".
45668
45669 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45670
45671         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
45672
45673 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45674
45675         * lib/memrchr.h: New file.
45676         * lib/chdir-long.c: Include it.
45677         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
45678         Don't bother including stddef.h.
45679
45680 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
45681
45682         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
45683         inclusion.
45684         Include <sys/types.h>, for dev_t.
45685         (ME_DUMMY, ME_REMOTE): Move from here....
45686         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
45687         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
45688         Dmitry V. Levin.
45689         Include mountlist.h first, to test the interface.
45690
45691 2005-01-29  Bruno Haible  <bruno@clisp.org>
45692
45693         * lib/progname.c (program_name): Initialize.
45694         Needed when linking statically on MacOS X.
45695
45696 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45697
45698         Sync from coreutils.
45699         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
45700         (Depends-on): Add c-strtod.
45701         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
45702
45703 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45704
45705         Sync from coreutils.
45706         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
45707
45708         Remove files that are specific to coreutils.
45709         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
45710
45711 2005-01-28  Bruno Haible  <bruno@clisp.org>
45712
45713         * modules/javacomp: New file.
45714         * MODULES.html.sh (Java): Add javacomp.
45715
45716 2005-01-28  Bruno Haible  <bruno@clisp.org>
45717
45718         * m4/javacomp.m4: New file, from GNU gettext.
45719
45720 2005-01-28  Bruno Haible  <bruno@clisp.org>
45721
45722         * lib/javacomp.sh.in: New file, from GNU gettext.
45723         * lib/javacomp.h: New file, from GNU gettext.
45724         * lib/javacomp.c: New file, from GNU gettext.
45725
45726 2005-01-26  Simon Josefsson  <jas@extundo.com>
45727
45728         * lib/gai_strerror.c: Use GPL in header.
45729
45730 2005-01-26  Bruno Haible  <bruno@clisp.org>
45731
45732         * modules/javaexec: New file.
45733         * MODULES.html.sh (Java): Add javaexec.
45734
45735 2005-01-26  Bruno Haible  <bruno@clisp.org>
45736
45737         * m4/javaexec.m4: New file, from GNU gettext.
45738
45739 2005-01-26  Bruno Haible  <bruno@clisp.org>
45740
45741         * lib/javaexec.sh.in: New file, from GNU gettext.
45742         * lib/javaexec.h: New file, from GNU gettext.
45743         * lib/javaexec.c: New file, from GNU gettext.
45744
45745 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45746
45747         * modules/lchown (Depends-on): Remove lchown.h
45748
45749 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45750
45751         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
45752         must be defined if the header file was not found, in order
45753         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
45754
45755 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45756
45757         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
45758         initializers for struct pentry_state.
45759         (__argp_error): Check return value of __asprintf
45760         (__argp_failure): Translate error message
45761
45762         * lib/argp-parse.c: Removed braces around the expansion of N_()
45763
45764 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45765
45766         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
45767         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
45768         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
45769         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
45770         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
45771         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
45772         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
45773         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
45774         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
45775         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
45776         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
45777         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
45778         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
45779         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
45780         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
45781         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
45782         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
45783         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
45784         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
45785         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
45786         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
45787         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
45788         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
45789         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
45790         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
45791         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
45792         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
45793         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
45794         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
45795         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
45796         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
45797         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
45798         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
45799         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
45800         xstrtol.m4, xstrtoumax.m4, yesno.m4:
45801         Use an all-permissive copyright notice, recommended by RMS.
45802
45803 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
45804
45805         * modules/chdir-long (Depends-on): Remove mempcpy.
45806
45807 2005-01-21  Jim Meyering  <jim@meyering.net>
45808
45809         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
45810         same value as for Solaris 9.
45811
45812         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
45813         component length.  This included changing the parameter to be
45814         of type `char *' rather than `char const *'.
45815         * lib/chdir-long.h (chdir_long): Update prototype.
45816
45817         * lib/openat.c (fdopendir, fstatat): New functions.
45818         * lib/openat.h: Include headers required for use of DIR and struct
45819         stat.
45820         [AT_SYMLINK_NOFOLLOW]: Define.
45821         (fdopendir, fstatat): Add prototypes.
45822
45823 2005-01-21  Bruno Haible  <bruno@clisp.org>
45824
45825         * modules/classpath: New file.
45826         * MODULES.html.sh (Java): Add classpath.
45827
45828 2005-01-21  Bruno Haible  <bruno@clisp.org>
45829
45830         * lib/classpath.h: New file, from GNU gettext.
45831         * lib/classpath.c: New file, from GNU gettext.
45832
45833 2005-01-20  Simon Josefsson  <jas@extundo.com>
45834
45835         * modules/version-etc-fsf: New file.
45836
45837 2005-01-20  Simon Josefsson  <jas@extundo.com>
45838
45839         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
45840         * lib/version-etc.c: Remove version_etc_copyright.
45841         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
45842         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
45843
45844 2005-01-20  Simon Josefsson  <jas@extundo.com>
45845
45846         * lib/base64.h (isbase64): Add.
45847
45848         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
45849         using a unsigned prototype, don't inline.
45850         (base64_decode): Use it.
45851
45852 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45853
45854         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
45855         it.
45856
45857 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45858
45859         * lib/save-cwd.c (save_cwd): Remove code to support the case
45860         where fchdir is missing or flaky.
45861
45862 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45863
45864         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
45865
45866 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45867
45868         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
45869         AC_LIBSOURCES now does this.
45870         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
45871         with new ullong_max module.
45872
45873 2005-01-19  Bruno Haible  <bruno@clisp.org>
45874
45875         * modules/sh-quote: New file.
45876         * MODULES.html.sh (Executing programs): Add sh-quote.
45877
45878 2005-01-19  Bruno Haible  <bruno@clisp.org>
45879
45880         * lib/sh-quote.h: New file, from GNU gettext.
45881         * lib/sh-quote.c: New file, from GNU gettext.
45882
45883 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45884
45885         Merge from coreutils.
45886         * m4/ullong_max.m4: New file.
45887         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
45888         (gl_MACROS): Assume localeconv exists.
45889
45890 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45891
45892         Merge changes from coreutils, as described below in several
45893         changelogs dated today.
45894
45895         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
45896         (O_DIRECTORY): Remove; not needed here, since "." must be
45897         a directory.  All uses removed.
45898         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
45899         universal on Suns, and we also need to test for IRIX.
45900         Revamp code to use 'if' rather than '#if'.
45901         Avoid unnecessary comparison of cwd->desc to 0.
45902
45903         * lib/utimens.c (futimens): Robustify the previous patch, by checking
45904         for known valid error numbers rather than observed invalid ones.
45905
45906 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45907
45908         * modules/ullong_max: New file.
45909
45910         * modules/chdir-long, modules/openat: New files.
45911         * modules/save-cwd (Depends-on): Depend on chdir-long.
45912         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
45913
45914 2005-01-18  Jim Meyering  <jim@meyering.net>
45915
45916         Merge from coreutils.
45917         * m4/chdir-long.m4, m4/openat.m4: New files.
45918         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
45919         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
45920         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
45921         is sane and DOES follow symlinks.  Besides, testing 20 different
45922         systems found no broken chown implementations.
45923         Prompted by a change in rsync's copy of this macro.
45924         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
45925
45926         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
45927
45928         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
45929         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
45930         NULL-means-set-to-current-time semantics.
45931         Remove temporary file immediately, rather than waiting
45932         for configure's at-exit trap code to do it.
45933
45934 2005-01-18  Jim Meyering  <jim@meyering.net>
45935
45936         * lib/version-etc.c (version_etc_copyright): Update copyright date.
45937
45938         * lib/utimens.c (futimens): Account for the fact that futimes
45939         can also fail with errno == ENOSYS or errno == ENOENT.
45940         Patch from Dmitry V. Levin.
45941
45942         Change the name of the robust chdir function from chdir to chdir_long.
45943         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
45944         (restore_cwd): Use chdir_long, not chdir.
45945         * lib/chdir-long.c: Renamed from chdir.c.
45946         * lib/chdir-long.h: Renamed from chdir.h.
45947         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
45948         Hurd.
45949
45950 2005-01-18  Bruno Haible  <bruno@clisp.org>
45951
45952         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
45953         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
45954         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
45955         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
45956         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
45957         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
45958         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
45959         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
45960         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
45961         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
45962         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
45963         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
45964         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
45965         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
45966         Use an all-permissive copyright notice, recommended by RMS.
45967
45968 2005-01-18  Bob Proulx  <bob@proulx.com>
45969
45970         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
45971         simplify offsetof() macro construct to avoid compile failure with
45972         native HP-UX 11.0 ANSI C compiler.
45973
45974 2005-01-17  Bruno Haible  <bruno@clisp.org>
45975
45976         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
45977         redundant because stpncpy.m4 takes care of it.
45978
45979 2005-01-17  Bruno Haible  <bruno@clisp.org>
45980
45981         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
45982
45983 2005-01-17  Bruno Haible  <bruno@clisp.org>
45984
45985         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
45986         used.
45987
45988 2005-01-17  Bruno Haible  <bruno@clisp.org>
45989
45990         * lib/fwriteerror.h (fwriteerror): Change specification to include
45991         fclose.
45992         * lib/fwriteerror.c: Include <stdbool.h>.
45993         (fwriteerror): At the end, close the file stream. Record whether
45994         stdout was already closed.
45995
45996 2005-01-17  Bruno Haible  <bruno@clisp.org>
45997
45998         * lib/execute.c (environ): Declare if needed.
45999         * lib/pipe.c (environ): Likewise.
46000         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
46001
46002 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46003
46004         * modules/argp: Depend on vsnprintf
46005
46006 2005-01-10  Jim Meyering  <jim@meyering.net>
46007
46008         * modules/closeout (Depends-on): Add atexit.
46009
46010 2005-01-06  Bruno Haible  <bruno@clisp.org>
46011
46012         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
46013
46014 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46015
46016         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
46017         definitions to be after all include files, to avoid collisions.
46018         Problem reported by Bob Proulx.
46019
46020 2005-01-04  Jim Meyering  <jim@meyering.net>
46021
46022         Changes imported from coreutils.
46023         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
46024         as the mkstemp template, use a temporary directory and an
46025         8.3-friendly template to avoid trouble on systems like DJGPP.
46026         Reported by Juan M. Guerrero via Stepan Kasal.
46027         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
46028         close. Remove the temporary directory right away, rather than waiting
46029         for configure's at-exit trap code to do it.
46030         Suggestion from Stepan Kasal.
46031
46032 2005-01-01  Simon Josefsson  <jas@extundo.com>
46033
46034         * gnulib-tool: Print #include directives when --import'ing.
46035
46036 2004-12-28  Simon Josefsson  <jas@extundo.com>
46037
46038         * tests/test-base64.c: Include required header files.  Remove
46039         unused variables.
46040
46041 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46042
46043         * modules/error (Depends-on): Remove gettext.
46044
46045 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46046
46047         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
46048         not needed.  This removes a dependency on the gettext module.
46049         [defined _LIBC]: Do not include <libintl.h>; not needed.
46050
46051 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
46052
46053         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
46054         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
46055
46056 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
46057
46058         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
46059         HAVE_DECL_STRTOLD.
46060
46061 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46062
46063         * modules/getdate (Depends-on): Remove alloca-opt.
46064
46065 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46066
46067         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
46068
46069 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46070
46071         * lib/argp-parse.c: Include <stddef.h>.
46072         (alignof, alignto): New macros.
46073         (parser_init): Don't assume that void * is aligned sufficiently
46074         for struct option.
46075
46076         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
46077         need to extend the stack.
46078         (YYINITDEPTH): New macro, so that the initial stack isn't overly
46079         large.
46080
46081 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46082
46083         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
46084
46085 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
46086
46087         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
46088         (2004-10-24) change.  Apparently this was a false alarm.
46089
46090         * modules/getdate: Depend on alloca-opt, not alloca.
46091
46092 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
46093
46094         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
46095         Remove now-obsolete comment about AIX.
46096         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
46097         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
46098         (YYMAXDEPTH): New macro.
46099
46100 2004-12-18  Simon Josefsson  <jas@extundo.com>
46101
46102         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
46103
46104 2004-12-18  Bruno Haible  <bruno@clisp.org>
46105
46106         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
46107
46108 2004-12-18  Bruno Haible  <bruno@clisp.org>
46109
46110         * lib/fatal-signal.c (fatal_signals): Make non-const.
46111         (init_fatal_signals): New function.
46112         (uninstall_handlers, install_handlers): Ignore signals that were set to
46113         SIG_IGN.
46114         (at_fatal_signal): Call init_fatal_signals.
46115         (init_fatal_signal_set): Likewise. Ignore signals that were set to
46116         SIG_IGN.
46117         Reported by Paul Eggert.
46118
46119 2004-12-18  Bruno Haible  <bruno@clisp.org>
46120
46121         * doc/alloca.texi: New file.
46122         * doc/alloca-opt.texi: New file.
46123
46124 2004-12-17  Jim Meyering  <jim@meyering.net>
46125
46126         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
46127         Otherwise, install-sh could exit with improper exit status when
46128         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
46129
46130 2004-12-16  Simon Josefsson  <jas@extundo.com>
46131
46132         * tests/test-base64.c: Add license.
46133
46134 2004-12-15  Stepan Kasal  <address@hidden>
46135
46136         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
46137
46138 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
46139
46140         * modules/getcwd (Files): Add m4/d-ino.m4.
46141         Suggested by Mark D. Baushke.
46142
46143 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
46144
46145         * lib/getdate.y (textint): New member "negative".
46146         (time_zone_hhmm): New function.
46147         Expect 14 shift-reduce conflicts, not 13.
46148         (o_colon_minutes): New rule.
46149         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
46150         (yylex): Set the "negative" member of signed numbers.
46151
46152 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
46153
46154         * doc/getdate.texi (Time of day items, Time zone items):
46155         Describe new formats +00:00, UTC+00:00.
46156
46157 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46158
46159         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
46160         spurious "-l"s.  Problem reported by Stepan Kasal.
46161
46162 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
46163
46164         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
46165         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
46166
46167 2004-12-04  Simon Josefsson  <jas@extundo.com>
46168
46169         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
46170         Vandoorselaere <yoann@prelude-ids.org>.
46171
46172 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
46173
46174         Changes imported from coreutils.
46175         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
46176         exist.
46177         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
46178
46179 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
46180
46181         Changes imported from coreutils.
46182         * lib/hard-locale.c: Assume <locale.h> exists.
46183         Include "strdup.h".
46184         (GLIBC_VERSION): New macro.
46185         (hard_locale): Assume setlocale exists.
46186         Rewrite to avoid #ifdef.
46187         Use strdup rather than malloc + strcpy.
46188         * lib/human.c: Assume <locale.h> exists.
46189         (human_readable): Assume localeconv exists.
46190
46191 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
46192
46193         * modules/hard-locale (Depends-on): Add strdup.
46194
46195 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
46196
46197         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
46198         convert T2, not T.  (Imported from libc.)
46199
46200 2004-11-30  Simon Josefsson  <jas@extundo.com>
46201
46202         * modules/restrict (License): Change to LGPL.
46203
46204 2004-11-30  Simon Josefsson  <jas@extundo.com>
46205
46206         * m4/restrict.m4: Add copyright and copying conditions.
46207
46208 2004-11-30  Simon Josefsson  <jas@extundo.com>
46209
46210         * m4/base64.m4: New file.
46211
46212 2004-11-30  Simon Josefsson  <jas@extundo.com>
46213
46214         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
46215         base64.
46216
46217         * tests/test-base64.c: New file.
46218
46219         * modules/base64: New file.
46220
46221 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
46222
46223         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
46224         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
46225
46226         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
46227
46228 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
46229
46230         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
46231         (__getcwd.c): Don't restore errno; glibc doesn't.
46232         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
46233         first, falling back to our code only if its results look suspicious.
46234         Ensure that the resulting buffer is only as large as necessary.
46235
46236         * lib/readutmp.c: Include readutmp.h first.
46237         Include <errno.h>, since readutmp.h no longer does that.
46238         * lib/readutmp.h: Don't include <errno.h>,
46239         <sys/param.h>, <time.h>; not needed to establish interface.
46240         (errno): Remove decl.
46241         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
46242         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
46243         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
46244
46245 2004-11-28  Simon Josefsson  <jas@extundo.com>
46246
46247         * lib/base64.h, base64.c: New file.
46248
46249 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
46250
46251         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
46252
46253 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
46254
46255         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
46256         (Depends-on): Remove pathmax, same.  Add mempcpy.
46257         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
46258         (Makefile.am): Append getcwd.h to lib_SOURCES.
46259         (Include): Add getcwd.h.
46260         (Maintainer): Change from Jim Meyering to "all, glibc",
46261         since getdate now uses intended-for-glibc code.
46262         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
46263         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
46264
46265 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46266
46267         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
46268         HP's ANSI C compiler.
46269         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
46270         Declaring int functions causes warnings on some modern systems and
46271         shouldn't be needed to compile on ancient ones.
46272         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
46273         defined.
46274
46275         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
46276         with the following changes.
46277         (__set_errno): Parenthesize properly.
46278         Include <stdbool.h>.
46279         (MIN, MAX, MATCHING_INO): New macros.
46280         (__getcwd): Define with prototype, not K&R form.
46281         Use heuristics to allocate default buffer on stack if possible.
46282         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
46283         behavior, and to avoid the PATH_MAX limit when computing
46284         ../../../../...
46285         Use MATCHING_INO to compare inode number to file.
46286         Check for arithmetic overflow in size calculations.
46287         Fix bug in reallocation of dot array that caused getcwd to fail
46288         on directories nested deeper than 75.
46289         Be more careful about saving errno on error.
46290         Do not use realloc; use only free+malloc, as this is a bit
46291         more flexible and avoids a needless copy operation.
46292         Do not inspect st_dev and st_ino for symbolic links; POSIX
46293         doesn't specify the latter.
46294         Check for closedir errors.
46295         Avoid needless casts.
46296         Use "#ifdef weak_alias" around weak_alias, to be like other
46297         glibc code.
46298         The following changes to getcwd.c have effect only when used in
46299         gnulib; they have no effect inside glibc proper.
46300         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
46301         as alloca isn't used.
46302         (alloca, __alloca): Likewise.
46303         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
46304         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
46305         unconditionally, as gnulib assumes C89 or better.
46306         Do not include <sys/param.h>.
46307         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
46308         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
46309         better.
46310         (NULL) [!defined NULL]: Remove; we assume C89 or better.
46311         Include <dirent.h> in a way that is compatible with modern Autoconf.
46312         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
46313         New macros, if not already defined.
46314         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
46315         Use "_LIBC", not "defined _LIBC", for consistency.
46316         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
46317         a mempcpy module.
46318         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
46319         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
46320         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
46321         credit only to Jim Meyering and adjust the copyright dates.
46322         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
46323         <stdlib.h>, <unistd.h>, "pathmax.h".
46324         Instead, include "xgetcwd.h" (first) and "getcwd.h".
46325         (INITIAL_BUFFER_SIZE): Remove.
46326         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
46327
46328 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46329
46330         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
46331         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
46332         Use the _ONCE methods, for efficiency.
46333         Check for fcntl.h.  In test program, include <errno.h>
46334         and <fcntl.h> if available.  Remove old K&R cruft from
46335         test program.  Check for common errors in GNU/Linux,
46336         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
46337         don't do AC_LIBOBJ, as that's getcwd.m4's job.
46338         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
46339         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
46340         name accordingly.
46341         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
46342         accommodate new getcwd.c.
46343         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
46344         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
46345         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
46346         that's all we need now.
46347
46348 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46349
46350         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
46351         argp-parse.c depends on getopt internals, that means we should
46352         always use our getopt, to be on the safe side.
46353         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
46354         order not to spoil the result of an eventual previous invocation
46355         of gl_GETOPT_SUBSTITUTE.
46356
46357 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46358
46359         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
46360         redefinition warnings. To avoid them, include the defines
46361         in `#if !defined __need_getopt ... #endif'. The only place
46362         where __getopt_argv_const is used is in definitions
46363         of getopt_long and getopt_long_only below, which are as well
46364         protected by `#ifndef __need_getopt'.
46365         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
46366         __need_getopt after including <stdio.h> and <unistd.h> These
46367         headers might have defined it.
46368
46369 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
46370
46371         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
46372
46373 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
46376         (futimens): New function, which uses futimes if available.
46377         (futimens, utimens): Support timespec==NULL, with same semantics
46378         as utime and utimens.
46379         * lib/utimens.h (futimens): New decl.
46380
46381 2004-11-23  Jim Meyering  <jim@meyering.net>
46382
46383         * lib/getopt_.h: Remove trailing blanks.
46384
46385 2004-11-23  Jim Meyering  <jim@meyering.net>
46386
46387         * lib/__fpending.c: Add comment.
46388
46389 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
46390
46391         * modules/canonicalize (Depends-on): Add xreadlink.
46392         Problem reported by James Youngman.
46393
46394 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46395
46396         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
46397         New macros.
46398         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
46399         optopt): Use them instead of invoking ## directly; otherwise, the
46400         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
46401
46402 2004-11-19  Bruno Haible  <bruno@clisp.org>
46403
46404         * lib/strtok_r.c: Move comments from here...
46405         * lib/strtok_r.h: ... to here.
46406
46407 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46408
46409         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
46410         implementations that mishandle size_t overflow.
46411
46412 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46413
46414         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
46415         might fail.  Problem reported by Yoann Vandoorselaere.
46416         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
46417         implementations that mishandle size_t overflow.
46418
46419 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46420
46421         * modules/canon-host (Depends-on): Add strdup.
46422
46423 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46424
46425         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
46426
46427 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46428
46429         * lib/canon-host.c: Include "strdup.h".
46430         (canon_host): Use getaddrinfo if available, so that IPv6 works.
46431         Use strdup instead of malloc/strcpy to duplicate strings.
46432
46433         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
46434         (human_space_before_unit): New constant.
46435         * lib/human.c (human_readable): Support it.
46436
46437         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
46438         (xgetcwd): Set errno correctly when failing.
46439         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
46440         the failure is actually due to a PATH_MAX problem.
46441
46442         Further getopt changes to make it more likely that glibc will
46443         buy the changes back.
46444         * lib/getopt.c (POSIXLY_CORRECT): New constant.
46445         (getopt): Use it, so to preserve glibc semantic
46446         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
46447         when compiling for libc.
46448         * lib/getopt_.h (__getopt_argv_const): Bring it back.
46449         (getopt_long, getopt_long_only): Use it.
46450
46451         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
46452         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
46453         (getopt): Argv is now char * const *, as per standard.
46454         (_getopt_internal_r, _getopt_internal): Argv is now char **,
46455         not char *__getopt_argv_const *.
46456         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
46457         _getopt_long_only_r): Likewise.
46458         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
46459         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
46460         _getopt_long_r, _getopt_long_only_r): Likewise.
46461         * lib/getopt_.h (__getopt_argv_const): Remove.
46462         (getopt): Argv is now char * const *, as per standard.
46463
46464         * lib/getdate.y (tORDINAL): New token.
46465         (day, relunit): Allow it for relative times.
46466         (relative_time_table): Use tORDINAL for ordinals.
46467
46468 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46469
46470         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
46471         Document that "second" isn't allowed as an ordinal number.
46472
46473 2004-11-16  Jim Meyering  <jim@meyering.net>
46474
46475         * modules/closeout (Depends-on): Add fpending.
46476
46477 2004-11-15  Jim Meyering  <jim@meyering.net>
46478
46479         * lib/closeout.c: Include "__fpending.h" once again.
46480         Include <stdbool.h>.
46481         (close_stdout): Don't fail just because stdout was closed initially,
46482         since some programs don't write to stdout in the normal course of
46483         operation (other than --version and --help), and we don't want this
46484         function to make e.g. `touch file >&-' fail.
46485         But do fail if it was closed and someone has tried to write to it.
46486         E.g., `printf foo >&-' must fail.
46487
46488 2004-11-13  Jim Meyering  <jim@meyering.net>
46489
46490         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
46491
46492 2004-11-12  Simon Josefsson  <jas@extundo.com>
46493
46494         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
46495         small doc fix is still pending.
46496
46497 2004-11-11  Simon Josefsson  <jas@extundo.com>
46498
46499         * modules/strtok_r: New file.
46500
46501         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46502         strtok_r.
46503
46504 2004-11-11  Simon Josefsson  <jas@extundo.com>
46505
46506         * m4/strtok_r.m4: New file.
46507
46508         * m4/getopt.m4: Replace opterr.
46509
46510 2004-11-11  Simon Josefsson  <jas@extundo.com>
46511
46512         * lib/strtok_r.h, strtok_r.c: New file.
46513
46514 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46515
46516         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
46517         of replacing opterr, getopt, etc.  This should handle the
46518         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
46519
46520 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46521
46522         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
46523         we can stop lying to compilers about the constness of argv when we
46524         are compiled outside glibc.
46525         (getopt, getopt_long, getopt_long_only): Use it.
46526         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
46527         _getopt_internal, getopt): Likewise.
46528         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
46529         _getopt_long_only_r): Likewise.
46530         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
46531         _getopt_long_r, _getopt_long_only_r): Likewise.
46532
46533         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
46534         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
46535         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
46536         the other external symbols.
46537         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
46538         declaration, since the above renaming now works around collisions.
46539
46540 2004-11-11  Jim Meyering  <jim@meyering.net>
46541
46542         * lib/linebreak.c: Remove trailing blanks.
46543         * lib/alloca_.h: Likewise.
46544         * lib/acosl.c: Likewise.
46545         * lib/euidaccess.c: Likewise.
46546         * lib/allocsa.h: Likewise.
46547
46548 2004-11-10  Simon Josefsson  <jas@extundo.com>
46549
46550         * m4/getaddrinfo.m4: New file.
46551
46552 2004-11-10  Simon Josefsson  <jas@extundo.com>
46553
46554         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
46555
46556 2004-11-10  Simon Josefsson  <jas@extundo.com>
46557
46558         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46559         getaddrinfo.
46560
46561         * modules/getaddrinfo: New file.
46562
46563 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46564
46565         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
46566
46567 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46568
46569         * lib/mktime.c (SHR): New macro, which is a portable
46570         substitute for >> that should work even on Crays.
46571         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
46572         Problem reported by Mark D. Baushke in
46573         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
46574         * lib/getdate.y (SHR): Likewise.
46575         (tm_diff): Use it.
46576         * lib/strftime.c (SHR): Likewise.
46577         (tm_diff): Use it.
46578         * lib/quotearg.c (struct quoting_options): Use unsigned int for
46579         quote_these_too, so that right shifts are well defined.  All uses
46580         changed.
46581
46582 2004-11-10  Jim Meyering  <jim@meyering.net>
46583
46584         Ensure that no close failure goes unreported.
46585         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
46586         return early when it seems there's nothing to flush.
46587         Don't include __fpending.h.
46588
46589 2004-11-10  Jim Meyering  <jim@meyering.net>
46590
46591         * modules/closeout (Depends-on): Remove fpending.
46592
46593 2004-11-10  Jim Meyering  <jim@meyering.net>
46594
46595         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
46596
46597 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46598
46599         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
46600         gl_FUNC_STRFTIME.
46601         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
46602         and AC_REQUIRE when possible, to avoid duplicate checks.
46603         Check for <wchar.h>.
46604
46605 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46606
46607         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
46608
46609 2004-11-09  Bruno Haible  <bruno@clisp.org>
46610
46611         * m4/sockpfaf.m4: New file.
46612
46613 2004-11-05  Bruno Haible  <bruno@clisp.org>
46614
46615         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
46616         Reported by Mark D. Baushke <mdb@cvshome.org>.
46617
46618 2004-11-04  Bruno Haible  <bruno@clisp.org>
46619
46620         2004-09-11  Bruno Haible  <bruno@clisp.org>
46621                 * allocsa.valgrind: New file.
46622         2004-02-06  Bruno Haible  <bruno@clisp.org>
46623                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
46624                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
46625                 Reported by Christopher Seip <chris.seip@hp.com>.
46626
46627 2004-11-04  Bruno Haible  <bruno@clisp.org>
46628
46629         * modules/allocsa (Files): Add lib/allocsa.valgrind.
46630         (Makefile.am): Distribute it.
46631
46632 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
46633
46634         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
46635         with errno == ERANGE if the buffer is too small.
46636         Problem reported by Mark D. Baushke.
46637
46638 2004-11-03  Albert Chin  <china@thewrittenword.com>
46639             Paul Eggert  <eggert@cs.ucla.edu>
46640
46641         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
46642         equivalent, substitute $ac_type for equivalent type rather than
46643         blindly using uint32_t *always* which won't work if uint32_t is not
46644         available.  Define _UINT32_T to work around typedef of uint32_t if
46645         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
46646         2.5.1.
46647
46648 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46649
46650         * m4/jm-macros.m4: Sync from coreutils.
46651         (gl_MACROS): Check for mbrlen, for pathchk.
46652         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
46653
46654 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46655
46656         * lib/xreadlink.c (MAXSIZE): New macro.
46657         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
46658         size does not exceed MAXSIZE.  Avoid cast.
46659         As suggested by Mark D. Baushke in
46660         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
46661         if readlink fails with buffer size just under MAXSIZE, try again
46662         with MAXSIZE.
46663
46664 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46665
46666         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
46667
46668 2004-11-02  Derek R. Price  <derek@ximbiot.com>
46669         and  Paul Eggert  <eggert@cs.ucla.edu>
46670
46671         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
46672         (get_date): Overparenthesize to avoid GCC warning.
46673
46674 2004-11-02  Bruno Haible  <bruno@clisp.org>
46675
46676         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
46677         returns void.
46678
46679 2004-11-02  Bruno Haible  <bruno@clisp.org>
46680
46681         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
46682         function returns void.
46683
46684 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46685
46686         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
46687         fflush_unlocked, flockfile, funlockfile, funlockfile,
46688         fputs_unlocked, putc_unlocked.
46689
46690 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46691
46692         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46693         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
46694         already declared.
46695
46696 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46697
46698         * modules/getdate (Files): Add doc/getdate.texi.
46699         (Depends-on): Add setenv, xalloc.
46700
46701 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46702
46703         * lib/getdate.y: Add support for TZ="foo" within a date string.
46704         Fix some bugs near time_t boundaries.  Reject dates with
46705         out-of-range components, e.g., "Sept 31".
46706         Include <stdlib.h>, "setenv.h", "xalloc.h".
46707         (ISDIGIT_LOCALE): Remove; unused.
46708         Note that the TZ and time functions used here are not reentrant.
46709         (mktime_ok, get_tz): New functions.
46710         (TZBUFSIZE): New constant.
46711         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
46712         This requires that we sometimes generate our own TZ="XXX..." setting.
46713
46714 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46715
46716         * doc/getdate.texi: New file, from coreutils with modifications for
46717         the new TZ parsing.
46718
46719 2004-10-27  Derek R. Price  <derek@ximbiot.com>
46720
46721         * lib/mktime.c (not_equal_tm): Remove redundant check.
46722
46723 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46724
46725         * modules/regex (lib_SOURCES): Add regex.c.
46726         Reported by James Youngman in
46727         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
46728
46729 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46730
46731         * lib/getdate.y: Use Bison 1.875 features, and some minor
46732         code cleanups.  This change does not affect semantics.
46733         Don't include <stdlib.h>; no longer needed.
46734         Don't include unlocked-io.h; only the "#if TEST" code uses
46735         stdio, and performance isn't crucial there.
46736         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
46737         Bison 1.875 features as described below.
46738         All uses of "PC." replaced by "pc->".
46739         (YYSTYPE): Add a forward declaration.
46740         (yylex, yyerror): Use full prototypes in forward decls.
46741         Use "%pure-parser" rather than obsolescent "%pure_parser".
46742         Use %parse-param and %lex-param instead of obsolescent
46743         YYPARSE_PARAM and YYLEX_PARAM.
46744         (meridian_table, month_and_day_table, time_units_table,
46745         relative_time_table, time_zone_table, military_table,
46746         lookup_zone, lookup_word, get_date):
46747         Use NULL instead of 0 where appropriate.
46748         (to_hour): Avoid abort (), to avoid a dependency on
46749         stdlib.h.
46750         (yyerror, yylex): Now accepts parser_control * arg.
46751         (main) [TEST]: Use '\0' rather than 0 for char.
46752
46753 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46754
46755         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
46756
46757 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46758
46759         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
46760         It's now the caller's responsibility to handle the case where
46761         !HAVE_GETPAGESIZE && !defined getpagesize.
46762
46763         * lib/mktime.c (leapyear): Arg is long int, not int.
46764
46765 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46766
46767         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
46768
46769 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46770
46771         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
46772         missing.  Problem reported by James Youngman.
46773
46774 2004-10-16  Simon Josefsson  <jas@extundo.com>
46775
46776         * gnulib-tool: Fix comments.  Fix parse problem.
46777         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
46778
46779 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
46780
46781         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
46782         implementation of getopt_long.  Problem reported by Alexander Taler in:
46783         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
46784
46785 2004-10-15  Bruno Haible  <bruno@clisp.org>
46786
46787         * gnulib-tool: Untabify. Initialize supplied_libname.
46788         (func_usage): More homogenous output.
46789         (func_modules_transitive_closure, func_modules_to_filelist,
46790         func_emit_lib_Makefile_am): New functions.
46791         (func_import): New function, extracted from big case statement. Use
46792         func_get_license, func_modules_transitive_closure,
46793         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
46794         opt_lgpl. Don't use test -a, as it's not portable.
46795         (func_create_testdir): Use func_modules_transitive_closure,
46796         func_modules_to_filelist, func_emit_lib_Makefile_am.
46797
46798 2004-10-15  Bruno Haible  <bruno@clisp.org>
46799
46800         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
46801
46802 2004-10-15  Bruno Haible  <bruno@clisp.org>
46803
46804         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
46805         the portions belonging to each module.
46806         Suggested by Derek Robert Price <derek@ximbiot.com>.
46807
46808 2004-10-12  Simon Josefsson  <jas@extundo.com>
46809
46810         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46811         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
46812         to real functions.
46813
46814 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46815
46816         * modules/vsnprintf: New file.
46817
46818 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46819
46820         * m4/vsnprintf.m4: New file.
46821
46822 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46823
46824         * lib/vsnprintf.h: New file.
46825         * lib/vsnprintf.c: New file.
46826
46827 2004-10-11  Bruno Haible  <bruno@clisp.org>
46828
46829         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
46830         vsnprintf.
46831
46832 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46833
46834         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
46835
46836 2004-10-07  Bruno Haible  <bruno@clisp.org>
46837
46838         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
46839         fits into the provided buffer.
46840
46841 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46842
46843         * lib/diacrit.c, diacrit.h: Add GPL notice.
46844
46845         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
46846         notice.
46847         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
46848         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
46849         This avoids a potential constant-folding bug.
46850
46851 2004-10-05  Bruno Haible  <bruno@clisp.org>
46852
46853         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
46854         for the declaration of strsep.
46855
46856 2004-10-05  Bruno Haible  <bruno@clisp.org>
46857
46858         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
46859
46860 2004-10-04  Simon Josefsson  <jas@extundo.com>
46861
46862         * modules/memmem: New file.
46863         * tests/test-memmem.c: New file.
46864         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
46865
46866 2004-10-04  Simon Josefsson  <jas@extundo.com>
46867
46868         * m4/memmem.m4: New file.
46869
46870 2004-10-04  Simon Josefsson  <jas@extundo.com>
46871
46872         * lib/memmem.h: New file.
46873         * lib/memmem.c: New file, taken from glibc.
46874
46875 2004-10-04  Simon Josefsson  <jas@extundo.com>
46876
46877         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
46878         '#ifdef USE_UNLOCKED_IO'.
46879
46880 2004-10-04  Simon Josefsson  <jas@extundo.com>
46881
46882         * config/srclist.txt: Add memmem from glibc.
46883
46884 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46885
46886         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
46887
46888         * modules/argmatch, modules/argp, modules/closeout, modules/error,
46889         modules/exclude, modules/getdate, modules/getline,
46890         modules/getndelim2, modules/getpass, modules/getpass-gnu,
46891         modules/getusershell, modules/linebuffer, modules/md5,
46892         modules/mountlist, modules/posixtm, modules/readtokens,
46893         modules/readutmp, modules/regex, modules/sha1,
46894         modules/version-etc, modules/yesno:
46895         Remove dependency on unlocked-io.
46896
46897 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46898
46899         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
46900
46901         * m4/unlocked-io.m4: Add copyright notice.
46902         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
46903
46904 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46905
46906         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
46907         * lib/xmalloc.c (xmemdup): Likewise.
46908         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
46909         XFREE): Remove these long-obsolescent macros.
46910         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
46911         * lib/xstrdup.c: Remove.
46912
46913         * lib/regex.c (re_comp): Cast gettext return value to char *,
46914         Problem reported by Martin Neitzel via Mark D. Baushke.
46915
46916 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46917
46918         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
46919         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
46920         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
46921         regex.c, sha1.c, version-etc.c, yesno.c:
46922         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
46923         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
46924         the includer's responsibility.
46925
46926         Sync from coreutils.
46927
46928         * lib/modechange.c (mode_compile): Don't decrement a pointer that
46929         points to the start of a string, as the C Standard says the
46930         resulting behavior is undefined.
46931
46932         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
46933         simple -> simple_backups, numbered_existing ->
46934         numbered_existing_backups, numbered -> numbered_backups
46935         to avoid shadowing problems.  All uses changed.
46936         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
46937         * lib/backupfile.c (check_extension, numbered_backup):
46938         Rename locals to avoid shadowing 'basename'.
46939         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
46940         once.
46941
46942         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
46943         * lib/.cvsignore: Add getopt.h.
46944
46945 2004-10-04  Bruno Haible  <bruno@clisp.org>
46946
46947         * modules/README: New file.
46948         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
46949         not a module.
46950
46951 2004-10-02  Jim Meyering  <jim@meyering.net>
46952
46953         * lib/dirfd.h, getpagesize.h: Add copyright notice.
46954
46955 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46956
46957         * modules/strsep: New file.
46958
46959 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46960
46961         * m4/strsep.m4: New file.
46962
46963 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46964
46965         * lib/strsep.h: New file.
46966         * lib/strsep.c: New file.
46967
46968 2004-10-01  Simon Josefsson  <jas@extundo.com>
46969
46970         * lib/snprintf.c (snprintf): Handle size==0.
46971
46972 2004-10-01  Simon Josefsson  <jas@extundo.com>
46973             Bruno Haible  <bruno@clisp.org>
46974
46975         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
46976         (snprintf): Declare 'args'.
46977
46978 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
46979
46980         * lib/snprintf.c: Remove comments as to why each header is needed.
46981
46982 2004-10-01  Bruno Haible  <bruno@clisp.org>
46983
46984         * MODULES.html.sh: Add strsep.
46985
46986 2004-09-30  Simon Josefsson  <jas@extundo.com>
46987
46988         * modules/snprintf: New file.
46989
46990 2004-09-30  Simon Josefsson  <jas@extundo.com>
46991
46992         * m4/snprintf.m4: New file.
46993
46994 2004-09-30  Simon Josefsson  <jas@extundo.com>
46995
46996         * lib/snprintf.h, lib/snprintf.c: New files.
46997
46998 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46999
47000         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
47001         (hol_entry_help): Never translate an empty string.
47002         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
47003         * lib/argp.h (OPTION_NO_TRANS): New option.
47004
47005 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47006
47007         * modules/argp (Maintainer): Replace Simon Josefsson
47008         by Sergey Poznyakoff.
47009
47010 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47011
47012         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
47013         changes merged back into glibc.
47014
47015 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47016
47017         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
47018
47019 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
47020
47021         * lib/xvasprintf.c: Include xalloc.h.
47022         (xvasprintf): Use xalloc_die, not xmalloc_die.
47023
47024 2004-09-29  Bruno Haible  <bruno@clisp.org>
47025
47026         * modules/alloca-opt: New file, derived from modules/alloca.
47027         * modules/allocsa: Depend on alloca-opt instead of alloca.
47028         * modules/setenv: Likewise.
47029         * modules/vasnprintf: Likewise.
47030         * MODULES.html.sh: Add alloca-opt.
47031
47032 2004-09-28  Simon Josefsson  <jas@extundo.com>
47033
47034         * gnulib-tool: New parameter --lgpl, to asseert that modules are
47035         LGPL, and to replace license template from GPL to LGPL.
47036
47037 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
47038
47039         * modules/dummy: Change license to LGPL.
47040
47041 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
47042
47043         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
47044
47045 2004-09-24  Simon Josefsson  <jas@extundo.com>
47046
47047         * modules/minmax (License): Change from GPL to LGPL.
47048
47049 2004-09-23  Simon Josefsson  <jas@extundo.com>
47050
47051         * gnulib-tool (--import): Typo.
47052
47053 2004-09-23  Simon Josefsson  <jas@extundo.com>
47054
47055         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
47056
47057 2004-09-22  Bruno Haible  <bruno@clisp.org>
47058
47059         * modules/*: Add 'License' field.
47060         * gnulib-tool: Accept --extract-license option.
47061         (func_get_license): New function.
47062
47063 2004-09-21  Bruno Haible  <bruno@clisp.org>
47064
47065         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
47066         Reported by Simon Josefsson.
47067
47068 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47069
47070         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
47071         gl_AC_TYPE_LONG_LONG.
47072
47073 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47074
47075         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
47076
47077 2004-09-18  Simon Josefsson  <jas@extundo.com>
47078         and  Paul Eggert  <eggert@cs.ucla.edu>
47079
47080         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
47081         calls with autoreconf.  Define GL_LIB.
47082
47083 2004-09-14  Karl Berry  <karl@gnu.org>
47084
47085         * config/srclist.txt: unsync setenv.c, sigh.
47086
47087 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47088
47089         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
47090         Problem reported by Bruno Haible in:
47091         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
47092
47093 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47094
47095         * config/srclist.txt: Comment out argp-pvh.c.
47096
47097 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
47098
47099         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
47100         in case some system header has #define'd it.  Problem reported by
47101         Soeren D. Schulze in
47102         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
47103
47104 2004-09-09  Karl Berry  <karl@gnu.org>
47105
47106         * regex.[ch]: delete from the root.  These were supposed to be
47107                 synced with emacs cvs, but this has not happened for about
47108                 a year, and anyway nothing else uses emacs regex.[ch].
47109                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
47110                 lib/regex[.ch] is untouched.
47111
47112 2004-09-09  Bruno Haible  <bruno@clisp.org>
47113
47114         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
47115
47116 2004-09-09  Bruno Haible  <bruno@clisp.org>
47117
47118         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
47119         modifications.
47120         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
47121
47122 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
47123
47124         * modules/xvasprintf: New file.
47125         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
47126
47127 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
47128
47129         * lib/xvasprintf.h: New file.
47130         * lib/xvasprintf.c: New file.
47131         * lib/xasprintf.c: New file.
47132
47133 2004-09-08  Bruno Haible  <bruno@clisp.org>
47134
47135         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
47136
47137 2004-09-08  Bruno Haible  <bruno@clisp.org>
47138
47139         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
47140         length is > INT_MAX.
47141         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
47142         more.
47143
47144 2004-09-08  Bruno Haible  <bruno@clisp.org>
47145
47146         * lib/stdint_.h: New file, taken from GNU clisp.
47147
47148 2004-09-08  Bruno Haible  <bruno@clisp.org>
47149             Oskar Liljeblad  <oskar@osk.mine.nu>
47150
47151         * modules/stdint: New file.
47152         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
47153
47154 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47155
47156         Import from coreutils.
47157         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
47158         strings on unbounded length.  alloca's performance benefits aren't
47159         that important here.
47160         (V_STRDUP): Remove.
47161         (parse_with_separator): New function, with most of the internals
47162         of the old parse_user_spec.  Allow user to omit both user and group,
47163         for compatibility with FreeBSD.
47164         Clone only the user name, not the entire spec.
47165         Do not set *uid, *gid unless entirely successful.
47166         Avoid memory leak in some failing cases.
47167         Fix regression for USER.GROUP reported by Dmitry V. Levin in
47168         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
47169         (parse_user_spec): Rewrite to use parse_with_separator.
47170
47171 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47172
47173         * modules/userspec: Don't depend on alloca.
47174
47175 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47176
47177         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
47178
47179 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47180
47181         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
47182         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
47183         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
47184
47185 2004-08-16  Simon Josefsson  <jas@extundo.com>
47186
47187         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
47188         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
47189         Add --dry-run for --import.
47190         Let user provided command line parameters override configure.ac
47191         settings.
47192
47193 2004-08-12  Simon Josefsson  <jas@extundo.com>
47194
47195         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
47196         as discussed with Paul Eggert in threads rooted at
47197         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
47198         and
47199         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
47200         Before, the test was empty, and relied on ELIDE_CODE in source
47201         code.)
47202         (gl_PREREQ_GETOPT): New macro.
47203         (gl_GETOPT): Use them.
47204
47205 2004-08-12  Simon Josefsson  <jas@extundo.com>
47206
47207         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
47208         * lib/getopt_.h: Renamed from getopt.h.
47209
47210 2004-08-12  Simon Josefsson  <jas@extundo.com>
47211
47212         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
47213         Change default library name from libfoo to libgnu.
47214         Now, if you have a configure.ac that says:
47215                 gl_SOURCE_BASE(gl)
47216                 gl_M4_BASE(gl/m4)
47217                 gl_MODULES(error getopt etcetera)
47218                 gl_INIT
47219         you can import all you need by running:
47220                 ../gnulib/gnulib-tool --import
47221
47222         * modules/getopt (Files): Rename getopt.h to getopt_.h.
47223         (Makefile.am): Rewrite, use logic from argz.
47224         (Include): Use <getopt.h> instead of "getopt.h".
47225
47226 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47227
47228         * modules/argp (Files): Add m4/unlocked-io.m4.
47229         (Depends-on): Add extensions.
47230
47231 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47232
47233         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
47234         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
47235         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
47236         Check for program_invocation_name, program_invocation_short_name,
47237         flockfile, funlockfile, features.h, _getopt_long_only_r.
47238
47239 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47240
47241         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
47242         its complicated substitute.
47243         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
47244         and program_invocation_name.
47245         (__argp_basename) [!_LIBC]: Remove; the only use was
47246         replaced by its body.
47247         (__argp_short_program_name): Change condition from
47248         !defined __argp_short_program_name to
47249         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
47250         to match argp-namefrob.h.
47251         (__argp_failure): Don't assume strerror_r returns char *.
47252         * lib/argp-parse.c (N_): Define unconditionally.
47253         (argp_default_options): Fill out initializers with 0 to avoid
47254         gcc warnings.
47255
47256 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47257
47258         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
47259         getopt1.c.
47260
47261 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47262
47263         Merge from coreutils.
47264
47265         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
47266
47267         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
47268         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
47269
47270 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47271
47272         Merge from coreutils.
47273
47274         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
47275         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
47276         for Reliant Unix 5.43.
47277
47278         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
47279         (union fooround): Use uintmax_t, not long int.
47280         The rest is a merge from libc:
47281         [defined _LIBC]: Include <shlib-compat.h>.
47282         (_obstack) [defined _LIBC]: Remove after 2.3.4.
47283
47284         * lib/settime.c (settime): Recode to avoid warning with
47285         Sun Forte C 6U2.
47286
47287         * lib/strverscmp.c: Convert to UTF-8.
47288
47289 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47290
47291         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
47292         m4/uintmax_t.m4.
47293
47294 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47295
47296         * modules/xalloc-die: New file.
47297         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
47298
47299         * modules/md5 (Files): Add m4/uint32_t.m4.
47300         * modules/sha1: Renamed from modules/sha.
47301         (Files):
47302         Rename lib/sha.h to lib/sha1.h.
47303         Rename lib/sha.c to lib/sha1.c.
47304         Rename m4/sha.m4 to m4/sha1.m4.
47305         (lib_SOURCES): Likewise.
47306         (configure.ac): Rename gl_SHA to gl_SHA1.
47307         (Include): sha.h -> sha1.h.
47308
47309 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47310
47311         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
47312         * m4/sha1.m4: Renamed from sha.m4.
47313         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
47314
47315 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47316
47317         * lib/obstack.h (obstack_empty_p):
47318         Don't assume that chunk->contents is suitably aligned.
47319         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
47320         Likewise. Problem reported by Benno in
47321         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
47322
47323         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
47324         readable.  This could be improved further but it'd take some work.
47325
47326 2004-08-08  Simon Josefsson  <jas@extundo.com>
47327
47328         * modules/xgethostname (Depends-on): Remove exit and error (not
47329         used).
47330
47331         * modules/getpass-gnu: Add getpass.h.
47332         (Depends-on): Add stdbool.
47333         * modules/getpass: Add getpass.h.
47334
47335 2004-08-08  Simon Josefsson  <jas@extundo.com>
47336
47337         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
47338         Check getpass declaration.
47339
47340 2004-08-08  Simon Josefsson  <jas@extundo.com>
47341
47342         * lib/xgethostname.c: Don't include error.h (not used).
47343
47344         * lib/getpass.h: Add.
47345         * lib/getpass.c: Include getpass.h first.
47346
47347 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
47348
47349         * lib/xalloc-die.c: New file.
47350         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
47351         All uses removed.
47352         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
47353         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
47354         xalloc-die.c.
47355         (_, N_, xalloc_die): Move to xalloc-die.c.
47356         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
47357         so that we needn't mess with xalloc_msg_memory_exhausted.
47358
47359         * lib/sha1.h: Renamed from sha.h.
47360         (SHA1_H): Renamed from _SHA_H.
47361         (sha1_ctx): Renamed from sha_ctx.
47362         (sha1_init_ctx): Renamed from sha_init_ctx.
47363         (sha1_process_block): Renamed from sha_process_block.
47364         (sha1_process_bytes): Renamed from sha_process_bytes.
47365         (sha1_finish_ctx): Renamed from sha_finish_ctx.
47366         (sha1_read_ctx): Renamed from sha_read_ctx.
47367         (sha1_stream): Renamed from sha_stream.
47368         (sha1_buffer): Renamed from sha_buffer.
47369         * lib/sha1.c: Likewise; renamed from sha.c.
47370         Do not include <sys/types.h>.
47371         Include <stddef.h> rather than <stdlib.h>.
47372
47373 2004-08-08  Bruno Haible  <bruno@clisp.org>
47374
47375         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
47376         FILESYSTEM_PREFIX_LEN.
47377         * lib/progreloc.c: Likewise.
47378         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
47379
47380 2004-08-06  Simon Josefsson  <jas@extundo.com>
47381
47382         * modules/progname (Depends-on): Don't depend on stdbool.
47383
47384 2004-08-06  Simon Josefsson  <jas@extundo.com>
47385
47386         * modules/getsubopt: New file.
47387         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47388         getsubopt.
47389
47390 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47391
47392         More merge from coreutils.
47393
47394         * m4/utimens.m4, m4/utimecmp.m4: New files.
47395         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
47396         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
47397         prereq.m4, sha.m4: Import changes from coreutils.
47398
47399 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47400
47401         More merge from coreutils.
47402         * modules/raise, modules/readtokens0, modules/utimens:
47403         * modules/utimecmp, module/xnanosleep: New files.
47404         * modules/strftime: Add lib/strftime.h.
47405         Change include from <time.h> to "strftime.h".
47406         * modules/yesno: Add lib/yesno.h.
47407         * modules/backupfile: Remove lib/addext.c.
47408         * modules/euidaccess: Add stat-macros.h.
47409         * modules/canonicalize, modules/euidaccess,
47410         modules/filemode, modules/lchown, modules/makepath,
47411         modules/rmdir, modules/stat: Likewise.
47412
47413 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47414
47415         Merge from tar.
47416         * lib/argp-help.c (make_hol, hol_append): Don't assume that
47417         SIZE_MAX is a valid preprocessor constant.
47418         (__argp_basename): Change from "#ifndef _LIBC"
47419         to "#ifndef __argp_short_program_name", so that
47420         we don't compile these functions for tar.
47421
47422         More merges from coreutils.
47423         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
47424         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
47425         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
47426         * lib/addext.c: Remove; no longer needed.
47427         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
47428         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
47429         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
47430         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
47431         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
47432         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
47433         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
47434         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
47435         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
47436         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
47437         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
47438         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
47439         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
47440         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
47441         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
47442         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
47443         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
47444         Import changes from coreutils.
47445
47446 2004-08-05  Simon Josefsson  <jas@extundo.com>
47447
47448         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
47449
47450 2004-08-05  Simon Josefsson  <jas@extundo.com>
47451
47452         * m4/getsubopt.m4: New file.
47453
47454 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47455
47456         Merge from coreutils.
47457
47458         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
47459         * m4/getcwd-path-max.m4: New files.
47460
47461         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
47462         FILESYSTEM_PREFIX_LEN ->
47463         FILE_SYSTEM_PREFIX_LEN.
47464         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
47465         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
47466         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
47467         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
47468
47469         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
47470         prerequisite modules now handle the DOS stuff.
47471         Don't check for unistd.h.
47472
47473 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47474
47475         Merge from coreutils.
47476
47477         * lib/.gdb-history: Remove; this doesn't belong here.
47478
47479         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
47480         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
47481         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
47482         * lib/getcwd.c: New files.
47483
47484         * lib/dirname.h: Include <stdbool.h>.
47485         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
47486         for consistency with POSIX terminology.  All uses changed.
47487         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
47488         (strip_trailing_slashes): Use bool for booleans.
47489         * lib/stripslash.c (strip_trailing_slashes): Likewise.
47490
47491         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
47492         sometimes returns a positive errno value even when it succeeds.
47493         (print_errno_message) [!LIBC]: Fall back on strerror if
47494         __strerror_r fails.
47495
47496         * lib/path-concat.c (mempcpy): Don't define if a system header defines
47497         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
47498         (longest_relative_suffix): New function.
47499         (path_concat): Use it.  Assume first argument is not NULL.
47500         Port to DOS.  Omit redundant separators.
47501         Report an error instead of returning NULL.
47502         Use mempcpy instead of memcpy.
47503         (xpath_concat): Remove: not declared or used.
47504
47505         * lib/same.h: Include <stdbool.h>
47506         (same_name): Return bool, not int.
47507         * lib/same.c (same_name): Likewise.
47508         (errno): Don't declare; we assume C89 or better now.
47509
47510         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
47511         if not already defined.
47512
47513         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
47514         * lib/dup-safer.c (errno): Likewise.
47515
47516 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47517
47518         Merge from coreutils.
47519         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
47520         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
47521         * modules/path-concat: Don't depend on strdup.
47522
47523 2004-08-03  Simon Josefsson  <jas@extundo.com>
47524
47525         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
47526         * lib/progname.h: Don't include stdbool.h.
47527
47528 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47529
47530         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
47531         * MODULES.html.sh (func_all_modules): Remove fatal.
47532
47533 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47534
47535         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
47536
47537 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47538
47539         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
47540         working.
47541
47542 2004-08-02  Simon Josefsson  <jas@extundo.com>
47543
47544         * lib/getsubopt.h: New file, with comments from Bruno Haible.
47545         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
47546         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
47547
47548 2004-08-01  Simon Josefsson  <jas@extundo.com>
47549
47550         * lib/xgetdomainname.c: Include stdlib.h, for free().
47551
47552 2004-07-19  Bruno Haible  <bruno@clisp.org>
47553
47554         * MODULES.html.sh (func_all_modules): Add dummy.
47555
47556 2004-07-16  Simon Josefsson  <jas@extundo.com>
47557
47558         * modules/dummy: New file.
47559
47560 2004-07-16  Simon Josefsson  <jas@extundo.com>
47561
47562         * lib/dummy.c: New file.
47563
47564 2004-07-16  Bruno Haible  <bruno@clisp.org>
47565
47566         * lib/backupfile.h: Add extern "C" for C++.
47567         * lib/closeout.h: Likewise.
47568         * lib/copy-file.h: Likewise.
47569         * lib/findprog.h: Likewise.
47570         * lib/full-write.h: Likewise.
47571         * lib/pathname.h: Likewise.
47572         * lib/progname.h: Likewise.
47573         * lib/stpcpy.h: Likewise.
47574         * lib/stpncpy.h: Likewise.
47575         * lib/strcase.h: Likewise.
47576         * lib/strstr.h: Likewise.
47577         * lib/xalloc.h: Likewise.
47578
47579         * lib/mbswidth.h: Add extern "C" for C++.
47580         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
47581
47582 2004-07-13  Robert Millan  <robertmh@gnu.org>
47583
47584         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
47585
47586 2004-07-09  Simon Josefsson  <jas@extundo.com>
47587
47588         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
47589         failed without this.)
47590
47591 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47592
47593         * modules/chown (Files): Add lib/fchown-stub.c, since
47594         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
47595
47596 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47597
47598         * lib/fchown-stub.c: New file.
47599
47600 2004-06-24  Jim Meyering  <jim@meyering.net>
47601
47602         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
47603
47604 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47605
47606         * modules/argz: Omit "#include".
47607
47608         * MODULES.html.sh (func_all_modules): Add calloc, to match
47609         2004-06-01 addition of calloc module.
47610
47611 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47612
47613         * m4/argz.m4: New file, which is autoupdated from libtool.
47614
47615 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47616
47617         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
47618         libtool.
47619
47620 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47621
47622         * config/srclist-update: Don't insist on "USA." before the
47623         close-comment, as libtool omits the period and puts the */ on a
47624         separate line.
47625         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
47626         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
47627
47628 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
47629
47630         * modules/argz: New file.
47631         * MODULES.html.sh (func_all_modules): Add argz.
47632
47633 2004-06-12  Jim Meyering  <jim@meyering.net>
47634         and  Paul Eggert  <eggert@cs.ucla.edu>
47635
47636         * modules/hash (Files): Add lib/xalloc.h.
47637         * modules/pipe (Depends-on): Add wait-process.
47638         * modules/stat (Depends-on): Add xalloc.
47639         * modules/userspec (Files): Add lib/userspec.h.
47640         * modules/xstrto
47641
47642         Upgrade from gettext-0.13.
47643         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
47644         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
47645         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
47646
47647 2004-06-10  Jim Meyering  <jim@meyering.net>
47648
47649         * lib/calloc.c: New file.
47650
47651 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47652
47653         * lib/getdate.y (yylex): Allow space between sign and number.
47654         Problem reported by Dan Jacobson.
47655
47656 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47657
47658         Merge from coreutils CVS.
47659
47660         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
47661         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
47662         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
47663         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
47664         xstrtol.m4: Fix copyright date and/or serial number.
47665
47666         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
47667         See if we need an fchown replacement.
47668         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
47669         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
47670         and use the replacement function if we detect either defect.
47671
47672         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
47673         gl_UTIMECMP.
47674
47675 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47676         and  Jim Meyering  <jim@meyering.net>
47677
47678         Merge from coreutils CVS.
47679
47680         * lib/stat-macros.h: New file, with contents from file-type.h
47681         and coreutils' system.h.
47682         * lib/file-type.c: Include "stat-macros.h".
47683         * lib/file-type.h (file_type): Move all macro definitions to new file,
47684         stat-macros.h.
47685
47686         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
47687         Wrap old code with this conditional.
47688         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
47689         function that does not dereference symlinks.
47690         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
47691
47692         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
47693         dependency problems.
47694         (xreadlink): Accept new arg SIZE, for efficiency.
47695         All decls and uses changed.
47696         * lib/xreadlink.h: Include <stddef.h>, for size_t.
47697
47698         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
47699         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
47700
47701         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
47702         sysexits.h.
47703
47704 2004-06-01  Jim Meyering  <jim@meyering.net>
47705
47706         * m4/calloc.m4: New file.
47707
47708 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
47709
47710         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
47711         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
47712         Also, fix a typo in a diagnostic.
47713
47714 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47715
47716         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
47717         or AC_FUNC_REALLOC.
47718
47719 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47720
47721         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
47722         macros to be defined.
47723         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
47724         the allocator returns NULL because the requested size is zero.
47725
47726 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47727
47728         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
47729         var.  Add comment explaining why libc still defines it.  This
47730         merges the following patch from glibc:
47731         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
47732
47733 2004-05-20  Andreas Schwab  <schwab@suse.de>
47734
47735         * m4/free.m4: Replace free if it not known to work, not the other
47736         way round.
47737
47738 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47739
47740         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
47741         present in glibc since revision 1.1 of this file.
47742         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
47743         obstack_alignment_mask, obstack_alloc, obstack_base,
47744         obstack_blank, obstack_blank_fast, obstack_chunk_size,
47745         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
47746         obstack_grow0, obstack_init, obstack_int_grow,
47747         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
47748         obstack_next_free, obstack_object_size, obstack_ptr_grow,
47749         obstack_ptr_grow_fast, obstack_room): Remove declarations of
47750         nonexistent functions.
47751
47752 2004-05-18  Karl Berry  <karl@gnu.org>
47753
47754         * config/srclist.txt: break link for vasnprintf.c.
47755
47756 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47757
47758         Port obstack to the AS/400, where pointers are 16 bytes wide and
47759         you cannot cast an integer to a valid pointer.  This patch is
47760         currently waiting to be integrated into glibc; see
47761         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
47762
47763         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
47764         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
47765         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
47766         (struct obstack): temp member is now a union of a pointer and
47767         an integer, instead of an integer.  All integer uses changed.
47768         This does not affect the physical layout of struct obstack,
47769         except on hosts (like the AS/400) where the size or alignment of
47770         void * is greater than that of ptrdiff_t.
47771         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
47772         __STDC__)]: Store temporary in pointer member of union, not
47773         integer member.
47774         * lib/obstack.c: Include <stddef.h>, for offsetof.
47775         (struct fooalign): Remove; it doesn't need a name.
47776         (union fooround): Change double to long double, and add void *.
47777         (DEFAULT_ALIGNMENT): Use offsetof to compute.
47778         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
47779         not a macro.  Hence the values are always int; so remove all
47780         casts-to-int in uses.
47781
47782 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47783
47784         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
47785         we can get this patch merged into glibc.
47786
47787 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47788             Paul Eggert  <eggert@cs.ucla.edu>
47789
47790         * m4/argp: Depend on alloca.
47791
47792 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47793             Paul Eggert  <eggert@cs.ucla.edu>
47794
47795         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
47796         freecoding.
47797
47798 2004-05-17  Bruno Haible  <bruno@clisp.org>
47799
47800         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
47801         precision that consists of a '.' followed by an empty digit string.
47802         Patch by Tor Lillqvist <tml@iki.fi>.
47803
47804 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47805
47806         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
47807         for backward compatibility with older code.  We need our own
47808         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
47809         it under some other name, and our alloca.h will define it.
47810
47811 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47812             Derek Price  <derek@ximbiot.com>
47813
47814         * lib/alloca.c: Include <alloca.h>, to get our interface.
47815         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
47816         include <alloca.h> first.  Use C89 prototype for alloca; this
47817         requires including <stddef.h> for size_t.  Use extern "C" if C++.
47818         Use #elif for simplicity, since we can assume C89 now.
47819         Don't try to source the system alloca.h since it will not be found
47820         and to prevent recursively including its replacement.
47821         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
47822         * lib/regex.c: Likewise.
47823
47824 2004-05-16  Derek Price  <derek@ximbiot.com>
47825             Paul Eggert  <eggert@cs.ucla.edu>
47826
47827         getline cleanup.  This changes the getndelim2 API: both order of
47828         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
47829         no delimiter).
47830
47831         * lib/getline.c: Don't include stddef.h or stdio.h, since our
47832         interface does that.
47833         (getline): Always use getdelim, so that we don't have two
47834         copies of this code.
47835         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
47836         if available.
47837         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
47838         (GETNDELIM2_MAXIMUM): New macro.
47839         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
47840         instead of the old practice of delim2==0.  All callers changed.
47841         Return -1 on overflow, instead of returning junk.
47842         Do not set *linesize unless allocation succeeds.
47843         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
47844         that we include sys/types.h.
47845         * lib/getnline.h: Likewise.
47846         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
47847         (getndelim2): Reorder arguments.
47848         * lib/getnline.c (getnline, getndelim):
47849         Don't discard the NMAX argument.
47850         (getnline): Invoke getndelim, to avoid code duplication.
47851         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
47852         of (size_t) -1 by callers of the getnline family.
47853
47854 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47855
47856         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
47857         Check for gettimeofday.
47858         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
47859         Check for settimeofday, stime.
47860
47861 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47862
47863         * lib/nanosleep.c (suspended): Change its type from int to
47864         sig_atomic_t volatile.
47865         (first_call): Make it private to rpl_nanosleep, and have it
47866         be zero initially as that's a bit faster.
47867         (my_usleep): Round up fractional times instead of truncating them,
47868         as this is the usual meaning for 'sleep'.
47869
47870         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
47871         doesn't work.
47872         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
47873         (ENOSYS): Define if not defined.
47874         (settime): Fall back on stime if it exists and settimeofday fails.
47875         But don't bother with fallbacks if a method fails with errno == EPERM.
47876
47877 2004-05-11  Jim Meyering  <jim@meyering.net>
47878
47879         Prior to this change, the save_cwd caller required read access to the
47880         current directory on most systems (ones with the fchdir function).
47881
47882         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
47883         fails, try write-only, and finally, resort to using xgetcwd.
47884
47885 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47886
47887         * lib/obstack.c, obstack.h: Import changes from libc.
47888
47889 2004-04-28  Bruno Haible  <bruno@clisp.org>
47890
47891         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
47892         also implicitly appends .exe to executables.
47893         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
47894         accepts Windows pathnames.
47895         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47896         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47897         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47898         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47899         Reported by Derek Robert Price <derek@ximbiot.com>.
47900
47901 2004-04-21  Karl Berry  <karl@gnu.org>
47902
47903         * config/srclist.txt (localcharset.c): break sync.
47904
47905 2004-04-20  Paul Eggert  <eggert@twinsun.com>
47906
47907         * m4/host-os.m4: Add a copyright notice.
47908
47909 2004-04-20  Jim Meyering  <jim@meyering.net>
47910
47911         Change UTILS_ to gl_ in AC_DEFINE'd names.
47912         Change utils_- and jm_-prefixed variables, too.
47913         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
47914         UTILS_FUNC_MKDIR_TRAILING_SLASH.
47915         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
47916
47917         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
47918         Don't emit trailing blanks.
47919         Also rename jm_-prefixed variables to have gl_ prefix.
47920
47921         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
47922         Also rename jm_-prefixed variables to have gl_ prefix.
47923
47924         * m4/jm-macros.m4: Reflect the renamings.
47925         * m4/prereq.m4: Likewise.
47926
47927 2004-04-20  Jim Meyering  <jim@meyering.net>
47928
47929         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
47930         memory.
47931
47932 2004-04-20  Jim Meyering  <jim@meyering.net>
47933             Bruno Haible  <bruno@clisp.org>
47934
47935         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
47936         memory when realloc fails.
47937
47938 2004-04-19  Jim Meyering  <jim@meyering.net>
47939
47940         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
47941         now that readutmp.c may call `free (0)'.
47942
47943 2004-04-19  Bruno Haible  <bruno@clisp.org>
47944
47945         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
47946         * m4/inttypes_h.m4: Likewise.
47947         * m4/stdint_h.m4: Likewise.
47948         * m4/intmax_t.m4: Likewise.
47949         * m4/uintmax_t.m4: Likewise.
47950
47951 2004-04-18  Jim Meyering  <jim@meyering.net>
47952
47953         * m4/prereq.m4: Don't forbid jm_ prefix.
47954
47955         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
47956         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
47957         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
47958         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
47959         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
47960         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
47961         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
47962         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
47963         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
47964         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
47965         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
47966         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
47967         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
47968         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
47969         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
47970         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
47971         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
47972         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
47973         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
47974
47975 2004-04-18  Jim Meyering  <jim@meyering.net>
47976
47977         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
47978         failure, don't leak memory and do call END_UTMP_ENT.
47979
47980 2004-04-16  Jim Meyering  <jim@meyering.net>
47981
47982         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
47983         coreutils' stat program.
47984         (gl_PREREQ): Don't require jm_PREREQ_STAT.
47985
47986 2004-04-11  Paul Eggert  <eggert@twinsun.com>
47987
47988         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
47989         C89.
47990         (CHAR_BIT): Remove, since we assume C89.
47991         Include <stdint.h> if available, as per current Autoconf CVS advice.
47992
47993 2004-03-31  Jim Meyering  <jim@meyering.net>
47994
47995         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
47996         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
47997         * m4/xalloc.m4: Likewise.
47998
47999 2004-03-30  Paul Eggert  <eggert@twinsun.com>
48000
48001         Merge from coreutils.
48002
48003         * m4/inttostr.m4: New file.
48004         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
48005         Require AM_STDBOOL_H and gl_TIMESPEC instead.
48006         Require gl_CLOCK_TIME.
48007         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
48008
48009 2004-03-30  Paul Eggert  <eggert@twinsun.com>
48010
48011         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
48012         not bool, to be more consistent with Unix conventions.
48013         Suggested by Bruno Haible.
48014
48015         Merge from coreutils.
48016
48017         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
48018         * lib/umaxtostr.c: New files.
48019
48020         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
48021         the usual <time.h> dance.
48022         (get_date): Change signature to support fractional time stamps.
48023         All callers changed.
48024         * lib/getdate.y: Include "getdate.h" first, as we can now
48025         assume C89 and don't need to worry about 'const'.
48026         Similarly, include "unlocked-io.h" near start, not in middle.
48027         Include <limits.h>.
48028         (textint.value): Use long int rather than int.
48029         (textint.digits): Use size_t rather than int.
48030         (BILLION, LOG10_BILLION): New constants.
48031         (parser_control): New member rel_ns.  Members day_ordinal,
48032         time_zone, month, day, hour, minutes, rel_year, rel_month,
48033         rel_day, rel_hour, rel_minutes, rel_seconds
48034         are now long int, not int.  Member seconds is now struct timespec,
48035         not int.  New member timespec_seen.  Members dates_seen, days_seen,
48036         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
48037         not int.
48038         (%union.intval): Now long int, not int.
48039         New member timespec.
48040         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
48041         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
48042         (spec): Now is a timespec or an item list.
48043         (timespec, items): New nonterminals.
48044         (time, rel, relunit, number, get_date):
48045         Add support for fractional seconds.
48046         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
48047         (gmtime, localtime, mktime): Remove decls; not needed with C89.
48048         (to_hour): First arg is now long int, not int.
48049         (to_year): Returns long int, not int.
48050         Don't treat year -70 like 70.
48051         (tm_diff): Returns long int, not int.
48052         (lookup_word): Use bool instead of int when appropriate.
48053         (yylex): Use size_t for count, not int.
48054         Detect overflow when parsing large integer constants.
48055         Add support for fractions.
48056         (get_date): Make pointers 'const' if possible.
48057         Use more-portable code to detect integer overflow.
48058         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
48059         Don't use ctime; it's not reliable if the year has >4 digits.
48060
48061         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
48062         This is for compatibility with BSD.
48063
48064         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
48065         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
48066         From coreutils' system.h.
48067
48068         * lib/userspec.c: Don't include "posixver.h".
48069         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
48070         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
48071         compatible extension.  Simplify code by removing a boolean int
48072         that was always nonzero if a string was nonnull.
48073
48074 2004-03-30  Jim Meyering  <jim@meyering.net>
48075
48076         Merge from coreutils.
48077
48078         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
48079         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
48080         on some systems one must include <grp.h> before it.
48081         Reported by Christian Krackowizer.
48082
48083 2004-03-30  Jim Meyering  <jim@meyering.net>
48084
48085         Merge from coreutils.
48086
48087         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
48088
48089         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
48090         an empty input stream.
48091
48092         * lib/readtokens.c: Include <stdbool.h>.
48093         (readtoken): Use `size_t' rather than int/long.
48094         All callers adjusted.
48095         Use `bool' rather than `int' where appropriate.
48096         Use memset rather than an explicit loop.
48097         Use x2nrealloc rather than xrealloc.
48098         Allow the use of `\0' as a delimiter.
48099         (readtokens): Likewise.
48100         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
48101
48102 2004-03-30  Jim Meyering  <jim@meyering.net>
48103
48104         * m4/realloc.m4: Remove file, since now it does no more than
48105         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
48106         the `configure.ac' section of module/realloc.
48107         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
48108
48109 2004-03-30  Bruno Haible  <bruno@clisp.org>
48110
48111         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
48112         nonnull.
48113
48114 2004-03-29  Paul Eggert  <eggert@twinsun.com>
48115
48116         Merge changes to getloadavg.c from coreutils and Emacs.
48117
48118         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
48119         Define to an expression, not to the empty string.
48120         Include cloexec.h and xalloc.h.
48121         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
48122         Use set_cloexec_flag rather than rolling our own.
48123         * lib/cloexec.c, lib/cloexec.h: New files.
48124
48125 2004-03-29  Paul Eggert  <eggert@twinsun.com>
48126
48127         * m4/cloexec.m4: New file.
48128
48129 2004-03-18  Paul Eggert  <eggert@twinsun.com>
48130
48131         * lib/getopt.h: Sync with libc CVS.
48132
48133 2004-03-18  Paul Eggert  <eggert@twinsun.com>
48134             Bruno Haible  <bruno@clisp.org>
48135
48136         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
48137         mbswidth.
48138
48139 2004-03-18  Paul Eggert  <eggert@twinsun.com>
48140             Bruno Haible  <bruno@clisp.org>
48141
48142         * lib/mbswidth.h: Include <wchar.h> only if
48143         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
48144         <wchar.h>.
48145         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
48146
48147 2004-03-09  Paul Eggert  <eggert@twinsun.com>
48148
48149         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
48150         Sync with libc CVS.
48151         * lib/getopt_int.h: New file, also synced from libc.
48152
48153 2004-03-09  Paul Eggert  <eggert@twinsun.com>
48154
48155         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
48156         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
48157         Bring back getopt.c, getopt.h, getopt1.c.
48158
48159 2004-03-07  Paul Eggert  <eggert@twinsun.com>
48160
48161         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
48162         All uses changed.  Check for sa_sigaction member; this fixes
48163         a bug first reported by Jason Andrade in
48164         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
48165
48166 2004-03-07  Paul Eggert  <eggert@twinsun.com>
48167
48168         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
48169         '#if' expressions.  Unlike the code it replaces, it does not
48170         depend on (defined _SC_PAGESIZE).  However, it does depend on
48171         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
48172         first reported by Jason Andrade in
48173         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
48174
48175 2004-02-25  Simon Josefsson  <jas@extundo.com>
48176
48177         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
48178
48179 2004-02-25  Simon Josefsson  <jas@extundo.com>
48180
48181         * lib/strdup.h: New file.
48182         * lib/strdup.c: Include it.
48183         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
48184         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
48185
48186 2004-02-23  Karl Berry  <karl@gnu.org>
48187
48188         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
48189         (from fencepost.gnu.org:/gd/gnuorg).
48190
48191 2004-02-23  Karl Berry  <karl@gnu.org>
48192
48193         * config/srclistvars.sh (GNUORG) [karl]: redefine.
48194         * config/srclist.txt: add maintain/standards documents.
48195
48196 2004-02-18  Bruno Haible  <bruno@clisp.org>
48197
48198         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
48199         Reported by Derek Robert Price <derek@ximbiot.com>.
48200
48201 2004-02-16  Karl Berry  <karl@gnu.org>
48202
48203         * config/mkinstalldirs, install-sh: update from automake.
48204
48205 2004-02-06  Karl Berry  <karl@gnu.org>
48206
48207         * m4/po.m4: update from gettext 0.14.1.
48208
48209 2004-02-06  Karl Berry  <karl@gnu.org>
48210
48211         * lib/config.charset: update from gettext 0.14.1.
48212
48213 2004-02-05  Paul Eggert  <eggert@twinsun.com>
48214
48215         Add comments and code, prompted by suggestions from Bruno Haible
48216         for sh-quote.
48217         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
48218         describing the enum quoting_style values.
48219         * lib/quotearg.c (quotearg_alloc): New function.
48220         (quotearg_buffer_restyled): Treat lone { and } as special.
48221         Treat = as special.  Work around bug with older shells
48222         that "see" a '\' that is really the 2nd byte of a multibyte char.
48223         Quote empty string with shell_quoting_style.
48224
48225 2004-02-03  Bruno Haible  <bruno@clisp.org>
48226
48227         * m4/pipe.m4: New file, from GNU gettext.
48228
48229 2004-02-03  Bruno Haible  <bruno@clisp.org>
48230
48231         * lib/pipe.h: New file, from GNU gettext.
48232         * lib/pipe.c: New file, from GNU gettext.
48233
48234 2004-01-27  Bruno Haible  <bruno@clisp.org>
48235
48236         * m4/execute.m4: New file, from GNU gettext.
48237
48238 2004-01-27  Bruno Haible  <bruno@clisp.org>
48239
48240         * lib/execute.h: New file, from GNU gettext.
48241         * lib/execute.c: New file, from GNU gettext.
48242         * lib/w32spawn.h: New file, from GNU gettext.
48243
48244 2004-01-24  Paul Eggert  <eggert@twinsun.com>
48245
48246         Merge from diffutils.
48247
48248         * lib/file-type.c (file_type): Add typed memory objects.
48249         * lib/file-type.h (S_TYPEISTMO): New macro.
48250
48251         * lib/c-stack.h (c_stack_action): Remove argv argument.
48252         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
48253         (die): Don't calculate message unless segv_action returns.
48254         (get_stack_location, min_address_from_argv, max_address_from_argv,
48255         volatile stack_base, volatile_stack_size): Remove.
48256         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
48257         that every segmentation violation is a stack overflow.  (Ouch!)
48258         See Debian bug 136249 (still outstanding) for more info about why
48259         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
48260
48261 2004-01-24  Paul Eggert  <eggert@twinsun.com>
48262
48263         Exit-status fix from coreutils.
48264
48265         Use exit_failure consistently in place of EXIT_FAILURE,
48266         so that program exit statuses are consistent on failure.
48267
48268         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
48269         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
48270         * lib/argmatch.h: Comment fix to match the above.
48271         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
48272         Now a macro referring to exit_failure, instead of a separate
48273         variable.  Include "exitfail.h" to get it.
48274         * lib/xstrtol.h: Include "exitfail.h".
48275         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
48276
48277         * lib/long-options.c (parse_long_options): Use prototype
48278         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
48279         for clarity.
48280
48281 2004-01-21  Jim Meyering  <jim@meyering.net>
48282
48283         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
48284         so as not to conflict with a different-sized __mktime_internal
48285         function in GNU libc.
48286         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
48287         Problem building statically-linked `ls' reported by Michael Brunnbauer.
48288
48289 2004-01-20  Karl Berry  <karl@gnu.org>
48290
48291         * config/config.guess: update from config.
48292
48293         * config/srclistvars.sh: GNUWWWLICENSES for karl.
48294
48295 2004-01-20  Bruno Haible  <bruno@clisp.org>
48296
48297         Safer stack allocation.
48298         * lib/setenv.c: Include allocsa.h.
48299         (alloca): Remove fallback definition.
48300         (freea): Remove macro.
48301         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
48302         instead of freea.
48303
48304 2004-01-20  Bruno Haible  <bruno@clisp.org>
48305
48306         * m4/eealloc.m4: New file, from GNU gettext.
48307
48308 2004-01-20  Bruno Haible  <bruno@clisp.org>
48309
48310         * m4/allocsa.m4: New file, from GNU gettext.
48311
48312 2004-01-20  Bruno Haible  <bruno@clisp.org>
48313
48314         * lib/xallocsa.h: New file, from GNU gettext.
48315         * lib/xallocsa.c: New file, from GNU gettext.
48316
48317 2004-01-20  Bruno Haible  <bruno@clisp.org>
48318
48319         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
48320
48321 2004-01-20  Bruno Haible  <bruno@clisp.org>
48322
48323         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
48324         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
48325         specially.
48326
48327 2004-01-20  Bruno Haible  <bruno@clisp.org>
48328
48329         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
48330         patch.
48331
48332 2004-01-20  Bruno Haible  <bruno@clisp.org>
48333
48334         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
48335
48336 2004-01-20  Bruno Haible  <bruno@clisp.org>
48337
48338         * lib/eealloc.h: New file.
48339
48340 2004-01-20  Bruno Haible  <bruno@clisp.org>
48341
48342         * lib/binary-io.h: Avoid warnings on Cygwin.
48343
48344 2004-01-20  Bruno Haible  <bruno@clisp.org>
48345
48346         * lib/allocsa.h: New file, from GNU gettext.
48347         * lib/allocsa.c: New file, from GNU gettext.
48348
48349 2004-01-18  Karl Berry  <karl@gnu.org>
48350
48351         * doc/gpl.texi, doc/lgpl.texi: new files.
48352
48353 2004-01-18  Karl Berry  <karl@gnu.org>
48354
48355         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
48356         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
48357
48358 2004-01-15  Paul Eggert  <eggert@twinsun.com>
48359
48360         Merge from coreutils.
48361
48362         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
48363         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
48364         (gl_DEFAULT_POSIX2_VERSION): Move
48365         the documentation from 'configure' into 'config.hin',
48366         so that 'configure --help' isn't burdened by it and
48367         we don't have to worry about its formatting there.
48368         Reword the documentation so that it's more succinct
48369         and can be run together into a single paragraph.
48370         * m4/same.m4 (gl_SAME): Check for pathconf.
48371
48372 2004-01-15  Paul Eggert  <eggert@twinsun.com>
48373
48374         Merge from coreutils.
48375
48376         * lib/posixver.c: Include posixver.h.
48377
48378         * lib/same.c: Include <stdbool.h>, <limits.h>.
48379         (_POSIX_NAME_MAX): Define if not defined.
48380         (MIN): New macro.
48381         (same_name): If file names are silently truncated, report
48382         that the file names are the same if they are the same after
48383         the silent truncation.
48384
48385         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
48386         conversion function.
48387         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
48388         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
48389         longer needed.
48390
48391 2004-01-15  Jim Meyering  <jim@meyering.net>
48392
48393         Merge from coreutils.
48394
48395         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
48396         if no library is required.
48397         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
48398         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
48399         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
48400         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
48401         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
48402         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
48403         value, $ac_cv_search_crypt, if it's "none required".
48404         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
48405         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
48406         not gl_FUNC_GETLOADAVG.
48407         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
48408         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
48409
48410 2004-01-15  Jim Meyering  <jim@meyering.net>
48411
48412         Merge from coreutils.
48413
48414         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
48415         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
48416         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
48417
48418         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
48419         optional configure-time default.
48420
48421         * lib/version-etc.c (version_etc_copyright): Update copyright date.
48422
48423         * lib/xreadlink.c (xreadlink): Correct outdated comment.
48424
48425 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
48426
48427         Merge from coreutils.
48428
48429         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
48430         value, $ac_cv_search_nanosleep, if it's "none required".
48431
48432 2004-01-14  Paul Eggert  <eggert@twinsun.com>
48433
48434         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
48435         with like-named macro in fnmatch.c.
48436         (EXT): Use an internal constant instead.
48437
48438         Merge fnmatch patches from glibc.
48439         * lib/fnmatch.c (mbsinit): Remove define.
48440         Add libc_hidden_ver (__fnmatch, fnmatch).
48441         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
48442         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
48443
48444 2004-01-14  Karl Berry  <karl@gnu.org>
48445
48446         * config/install-sh: update from automake.
48447
48448 2004-01-13  Karl Berry  <karl@gnu.org>
48449
48450         * config/install-sh: update from automake.
48451
48452 2004-01-09  Karl Berry  <karl@gnu.org>
48453
48454         * config/install-sh: update from automake.
48455
48456 2004-01-05  Karl Berry  <karl@gnu.org>
48457
48458         * config/config.{sub,guess}: update from config.
48459
48460 2003-12-31  Karl Berry  <karl@gnu.org>
48461
48462         * config/depcomp: update from automake.
48463
48464 2003-12-14  Karl Berry  <karl@gnu.org>
48465
48466         * lib/config.charset: update from gettext-runtime.
48467
48468 2003-12-03  Paul Eggert  <eggert@twinsun.com>
48469
48470         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
48471         Bug reported by Alfred M. Szmidt.
48472
48473 2003-12-03  Bruno Haible  <bruno@clisp.org>
48474
48475         * m4/gettext.m4: Upgrade from gettext-0.13.
48476         * m4/po.m4: Upgrade from gettext-0.13.
48477         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
48478         * m4/intmax.m4: New file, from gettext-0.13.
48479         * m4/printf-posix.m4: New file, from gettext-0.13.
48480
48481 2003-11-29  Karl Berry  <karl@gnu.org>
48482
48483         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
48484
48485 2003-11-25  Paul Eggert  <eggert@twinsun.com>
48486             Bruno Haible  <bruno@clisp.org>
48487
48488         * lib/printf-parse.h: Don't include sys/types.h.
48489         (ARG_NONE): New macro.
48490         (char_directive): Change type of *arg_index fields to size_t.
48491         * lib/printf-parse.c: Don't include sys/types.h.
48492         (SSIZE_MAX): Remove macro.
48493         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
48494         Remove unnecessary overflow check.
48495         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
48496         fields.
48497
48498 2003-11-25  Bruno Haible  <bruno@clisp.org>
48499
48500         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
48501
48502 2003-11-25  Bruno Haible  <bruno@clisp.org>
48503
48504         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
48505         gt_TYPE_SSIZE_T.
48506
48507 2003-11-24  Paul Eggert  <eggert@twinsun.com>
48508
48509         * modules/alloca: Remove dependency on xalloc.
48510
48511 2003-11-24  Paul Eggert  <eggert@twinsun.com>
48512
48513         * lib/alloca.c: Remove dependency on xalloc module.
48514         (xalloc_die): Remove.
48515         (memory_full) [!defined emacs]: New macro.
48516         [!defined emacs]: Don't include xalloc.h.
48517         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
48518         address arithmetic overflows.  Change datatypes a bit to avoid
48519         unnecessary casts.
48520
48521 2003-11-22  Jim Meyering  <jim@meyering.net>
48522
48523         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
48524         s/size/size_t/.
48525
48526 2003-11-21  Karl Berry  <karl@gnu.org>
48527
48528         * config/config.{sub,guess}: update from config.
48529
48530 2003-11-18  Karl Berry  <karl@gnu.org>
48531
48532         * config/config.{sub,guess}: update from config.
48533
48534         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
48535
48536 2003-11-17  Paul Eggert  <eggert@twinsun.com>
48537
48538         * README: Mention that S+T cannot overflow if S is the size of
48539         an existing object and T is sufficiently small.
48540
48541 2003-11-17  Jim Meyering  <jim@meyering.net>
48542
48543         On systems without utime and without a utimes function capable of
48544         dealing with a NULL struct utimbuf* argument, this utime replacement
48545         could -- in unusual circumstances -- leak a file descriptor.
48546         * lib/utime.c: Include <unistd.h> and <errno.h>.
48547         (utime_null): Be sure to close `fd' and to preserve errno.
48548         Reported by Geoff Collyer via Arnold Robbins.
48549
48550 2003-11-17  Bruno Haible  <bruno@clisp.org>
48551
48552         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
48553         (Depends-on): Add xsize.
48554
48555 2003-11-17  Bruno Haible  <bruno@clisp.org>
48556
48557         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
48558
48559 2003-11-17  Bruno Haible  <bruno@clisp.org>
48560
48561         * lib/vasnprintf.c (alloca): Remove fallback definition.
48562         (freea): Remove definition.
48563         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
48564         Reported by Paul Eggert.
48565
48566 2003-11-16  Paul Eggert  <eggert@twinsun.com>
48567             Bruno Haible  <bruno@clisp.org>
48568
48569         Protect against address arithmetic overflow.
48570         * lib/printf-args.h: Include stddef.h.
48571         (arguments): Change type of field 'count' to size_t.
48572         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
48573         'unsigned int' where appropriate.
48574         * lib/printf-parse.h: Include sys/types.h.
48575         (char_directive): Change type of *arg_index fields to ssize_t.
48576         (char_directives): Change type of fields 'count', max_*_length to
48577         size_t.
48578         * lib/printf-parse.c: Include sys/types.h and xsize.h.
48579         (SSIZE_MAX): Define fallback value.
48580         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
48581         instead of 'int' where appropriate. Check a_allocated, d_allocated
48582         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
48583         * lib/vasnprintf.c: Include xsize.h.
48584         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
48585         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
48586         overflow. Avoid wraparound when converting a width or precision from
48587         decimal to binary.
48588
48589 2003-11-16  Bruno Haible  <bruno@clisp.org>
48590
48591         Update from GNU gettext.
48592         * lib/printf-parse.c: Generalize to it can be compiled for wide
48593         strings.
48594         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
48595         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
48596         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
48597         SNPRINTF): New macros.
48598         Don't include <alloca.h> if the file is used inside libintl.
48599         (local_wcslen): New function, for Solaris 2.5.1.
48600         (VASNPRINTF): Use it instead of wcslen.
48601
48602 2003-11-16  Bruno Haible  <bruno@clisp.org>
48603
48604         * lib/xsize.h (xmax): New function.
48605         (xsum, xsum3, xsum4): Declare as "pure" functions.
48606
48607 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48608
48609         * modules/xalloc (Files): Undo latest change, since xalloc.h
48610         no longer needs SIZE_MAX or PTRDIFF_MAX.
48611
48612 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48613
48614         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
48615         gl_PTRDIFF_MAX.
48616
48617 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48618
48619         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
48620         "return", to pacify some unknown compiler.  Problem reported
48621         by Joerg Schilling.
48622
48623 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48624
48625         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
48626         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
48627         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
48628         heuristic is just as accurate as far as we know, and it removes a
48629         dependency on size_max.m4 and ptrdiff_max.m4.
48630
48631 2003-11-11  Bruno Haible  <bruno@clisp.org>
48632
48633         * modules/xsize (Files): Add m4/size_max.m4.
48634         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
48635
48636 2003-11-11  Bruno Haible  <bruno@clisp.org>
48637
48638         * m4/size_max.m4: New file.
48639         * m4/ptrdiff_max.m4: New file.
48640         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
48641         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
48642         (gl_XALLOC): Invoke it.
48643
48644 2003-11-11  Bruno Haible  <bruno@clisp.org>
48645
48646         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
48647         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
48648         defined.
48649
48650 2003-11-10  Paul Eggert  <eggert@twinsun.com>
48651
48652         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
48653         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
48654         rejected some allocations of exactly SIZE_MAX - 2 bytes.
48655         From Bruno Haible.
48656         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
48657         not (size_t) -1, since it's defined here.
48658
48659 2003-11-09  Karl Berry  <karl@gnu.org>
48660
48661         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
48662
48663 2003-11-06  Paul Eggert  <eggert@twinsun.com>
48664
48665         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
48666         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
48667         Reject sizes of exactly SIZE_MAX bytes.
48668         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
48669         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
48670
48671 2003-11-05  Bruno Haible  <bruno@clisp.org>
48672
48673         * lib/xsize.h: Include limits.h, to avoid a possible collision with
48674         SIZE_MAX defined in <limits.h> on Solaris.
48675
48676 2003-11-04  Jim Meyering  <jim@meyering.net>
48677
48678         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
48679         variable names, rather than @VAR@.
48680         * modules/poll: Likewise.
48681
48682 2003-11-04  Bruno Haible  <bruno@clisp.org>
48683
48684         * modules/xsize: New file.
48685         * modules/linebreak: Depend on xsize.
48686         * MODULES.html.sh (func_all_modules): Add xsize.
48687
48688 2003-11-04  Bruno Haible  <bruno@clisp.org>
48689
48690         * m4/xsize.m4: New file.
48691
48692 2003-11-04  Bruno Haible  <bruno@clisp.org>
48693
48694         * lib/xsize.h: New file.
48695         * lib/linebreak.c: Include xsize.h.
48696         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
48697         argument for overflow.
48698         Suggested by Paul Eggert.
48699
48700 2003-11-03  Karl Berry  <karl@gnu.org>
48701
48702         * config/config.{guess,sub}: update from config.
48703
48704 2003-11-03  Jim Meyering  <jim@meyering.net>
48705
48706         * modules/userspec (lib_SOURCES): Add userspec.h.
48707         (Include): Add "userspec.h".
48708         Improve description.
48709
48710 2003-11-03  Jim Meyering  <jim@meyering.net>
48711
48712         * lib/userspec.c: Include "userspec.h".
48713         * lib/userspec.h: New file.
48714
48715 2003-11-03  Bruno Haible  <bruno@clisp.org>
48716
48717         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
48718
48719 2003-11-03  Bruno Haible  <bruno@clisp.org>
48720
48721         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
48722         available, to avoid (extremely rare) race condition.
48723         Suggested by Paul Eggert.
48724
48725 2003-11-02  Karl Berry  <karl@gnu.org>
48726
48727         * config/srclist.txt (vasprintf.c): sync broken, sigh.
48728
48729 2003-10-31  Paul Eggert  <eggert@twinsun.com>
48730
48731         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
48732         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
48733         (read_filesystem_list): Set and use me_type_malloced.
48734         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
48735         whatever the type happens to be), for brevity and consistency.
48736         Check for size calculation overflow on Alphas running OSF/1.
48737
48738 2003-10-31  Jim Meyering  <jim@meyering.net>
48739
48740         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
48741
48742         * lib/linebuffer.c: Include <string.h> for declaration of memset.
48743
48744 2003-10-30  Paul Eggert  <eggert@twinsun.com>
48745             Bruno Haible  <bruno@clisp.org>
48746
48747         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
48748         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
48749
48750 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
48751
48752         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
48753         netbsd*-gnu*.  Suggested by Robert Millan.
48754
48755 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48756
48757         * modules/group-member: Depend on stdbool.
48758
48759 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48760
48761         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
48762
48763 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48764
48765         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
48766         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
48767         after the 'gnu' in these cases.  This fixes some bugs in the
48768         previous change, and is based on suggestions by Robert Millan.
48769
48770 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48771
48772         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
48773         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
48774         no longer needed.
48775         * lib/quotearg.c (quotearg_n_options): Use it.
48776         * lib/group-member.c: Include <stdbool.h>.
48777         (free_group_info): Arg is now const *; don't free arg.
48778         (get_group_info): Now returns bool and accepts struct group_info *,
48779         rather than returning a malloc'ed struct group_info *.
48780         All uses changed.  Check for overflow in internal size calculation.
48781
48782         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
48783         rather than xmalloc/xrealloc.
48784         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
48785         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
48786         conformance bug: the old code used a pointer after freeing the
48787         storage that it addressed.
48788         * lib/hash.c (hash_initialize): Simplify the code by using
48789         xalloc_oversized rather than doing it by hand.
48790         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
48791         the buffer preserved.  Use free and xmalloc instead.
48792         * lib/quotearg.c (quotearg_n_options): Likewise.
48793         Use a simpler test for size overflow.  Don't use xalloc_oversized
48794         because unsigned int might be wider than size_t (!); this suggests
48795         that we should switch from unsigned int to size_t for slot numbers.
48796
48797 2003-10-28  Paul Eggert  <eggert@twinsun.com>
48798
48799         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
48800         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
48801         NetBSD kernels.  Requested by Richard Stallman.
48802
48803 2003-10-27  Paul Eggert  <eggert@twinsun.com>
48804
48805         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
48806         to allocate the returned structure.  Do not allocate a subarray,
48807         as x2nrealloc will do that.
48808         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
48809         instead of xnrealloc.
48810         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
48811
48812 2003-10-27  Bruno Haible  <bruno@clisp.org>
48813
48814         * lib/stdbool_.h: Better support for BeOS.
48815
48816 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48817
48818         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
48819         now uses inline.
48820
48821 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48822
48823         * lib/xalloc.h (xalloc_oversized): New static inline function, for
48824         callers that want to do their own size-overflow checking.  Include
48825         <stdbool.h>, since xalloc_oversized returns bool.
48826         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
48827         to use xalloc_oversized.
48828
48829         Add two functions x2realloc, x2nrealloc, for programs that grow
48830         arrays dynamically by doubling their sizes.
48831         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
48832         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
48833         New functions.
48834
48835         Port to C99 semantics for 'inline' of external functions.
48836         Bug reported by Bruno Haible.
48837         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
48838         with the old contents of xnmalloc.
48839         (xnmalloc, xmalloc): Use it.
48840         (xnrealloc_inline): New static inline function,
48841         with the old contents of xnrealloc.
48842         (xnrealloc, xrealloc): Use it.
48843
48844         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
48845         that.
48846
48847 2003-10-26  Karl Berry  <karl@gnu.org>
48848
48849         * config/srclist.txt (COPYING.DOC): no longer available from
48850         /gd/gnuorg; don't know where the ultimate source is.
48851
48852 2003-10-25  Paul Eggert  <eggert@twinsun.com>
48853
48854         Fix several address-calculation bugs in the hash modules,
48855         plus some minor code cleanup.
48856
48857         * lib/hash.h: Include <stdbool.h>, for bool.
48858         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
48859         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
48860         hash_get_n_entries, hash_get_max_bucket_length,
48861         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
48862         hash_rehash): Use size_t rather than unsigned.
48863         * lib/hash.c (struct hash_table, hash_get_n_buckets,
48864         hash_get_n_buckets_used, hash_get_n_entries,
48865         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
48866         hash_get_entries, hash_do_for_each, hash_string, is_prime,
48867         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
48868         Likewise.
48869         (SIZE_MAX): Define if not defined.
48870         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
48871         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
48872         hash_print):
48873         Use const * when possible.
48874         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
48875         (check_tuning): Fix bug: if tuning parameters were very close to
48876         0 or 1, rounding errors could have caused subscript violations.
48877         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
48878         (hash_initialize): Add 'fail:' label
48879         to free table and return NULL, and use it to simplify code.
48880         Use calloc rather than clearing the storage ourself.
48881         (hash_initialize, hash_rehash): Check for arithmetic overflow in
48882         buffer size calculations.
48883         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
48884         Include <stddef.h>, for size_t.
48885         * lib/hash-pjw.c (hash_pjw): Likewise.
48886         Switch to method described by Bruno Haible.
48887         Include <limits.h>, for CHAR_BIT.
48888         (SIZE_BITS): New macro.
48889
48890 2003-10-23  Paul Eggert  <eggert@twinsun.com>
48891
48892         * m4/getline.m4 (AM_FUNC_GETLINE):
48893         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
48894         hosts.  Problem reported by Derek Robert Price in
48895         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
48896         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
48897         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
48898
48899 2003-10-21  Paul Eggert  <eggert@twinsun.com>
48900
48901         * lib/getndelim2.c (getndelim2): When size calculation overflows,
48902         ceiling the allocation at NMAX bytes rather than silently
48903         discarding input bytes before NMAX is reached.  This makes
48904         a difference only if NMAX exceeds SIZE_MAX / 2.
48905
48906         * lib/obstack.c: Merge from glibc.
48907         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
48908         Add libc_hidden_def (_obstack_newchunk).
48909         (_obstack_free) [! defined _LIBC]: Remove.
48910         [defined _LIBC]: Make a strong alias from obstack_free, rather than
48911         a clone of the function body.
48912         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
48913         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
48914
48915         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
48916         glibc.
48917         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
48918         arg to memcpy.
48919
48920         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
48921         (obstack_ptr_grow_fast, obstack_int_grow_fast):
48922         Don't use lvalue casts, as GCC plans to remove support for them
48923         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
48924         was also present in the non-GCC version, indicating that this
48925         code had always been buggy and had never been widely used.
48926         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
48927         Use the fast variant of each macro, rather than copying the
48928         definiens of the fast variant; that way, we'll be more likely to
48929         catch future bugs in the fast variants.
48930
48931 2003-10-20  Bruno Haible  <bruno@clisp.org>
48932
48933         * modules/wait-process: New file.
48934         * MODULES.html.sh (func_all_modules): Add wait-process.
48935
48936 2003-10-20  Bruno Haible  <bruno@clisp.org>
48937
48938         * m4/wait-process.m4: New file.
48939
48940 2003-10-20  Bruno Haible  <bruno@clisp.org>
48941
48942         * lib/wait-process.h: New file, from GNU gettext.
48943         * lib/wait-process.c: New file, from GNU gettext.
48944
48945 2003-10-19  Jim Meyering  <jim@meyering.net>
48946
48947         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
48948         HPUX 10.20.
48949
48950 2003-10-18  Karl Berry  <karl@gnu.org>
48951
48952         * config/config.guess: update from config.
48953
48954 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48955
48956         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
48957         (getgroups): First arg is int, not size_t.
48958         Don't let 'free' mangle errno.
48959
48960 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48961
48962         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
48963
48964 2003-10-16  Karl Berry  <karl@gnu.org>
48965
48966         * config/config.{guess,sub}: update from config.
48967
48968 2003-10-16  Jim Meyering  <jim@meyering.net>
48969
48970         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
48971         memcpy.
48972
48973 2003-10-15  Paul Eggert  <eggert@twinsun.com>
48974
48975         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
48976         (SIZE_MAX): Remove.
48977         (new_exclude, add_exclude_file): Initial size no longer needs to
48978         be a power of 2.
48979         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
48980         our own address arithmetic overflow checking.
48981
48982         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
48983         (fnmatch): Do not alloca more than 2000 wide characters;
48984         instead, use malloc for large buffers.
48985         Check for address arithmetic overflow, and return -1
48986         with errno set to ENOMEM in that case.
48987         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
48988         (NEW_PATTERN): Do not alloca more than 8000 bytes;
48989         instead, return -1.  Check for address arithmetic overflow.
48990
48991 2003-10-14  Paul Eggert  <eggert@twinsun.com>
48992
48993         Handle invalid suffixes and overflow independently, so that
48994         callers can treat them independently as needed.  Fix some bugs in
48995         suffix handling, e.g., "100k@" was not diagnosed as an invalid
48996         suffix for a human-readable blocksize.  The major caller-visible
48997         change is the addition of a new
48998         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
48999         that both overflow and suffix chars were found.
49000
49001         * lib/human.c (humblock): Don't check separately for invalid suffix
49002         char; that is xstrtoumax's job (now that its bug is fixed).
49003         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
49004         INTMAX_MAX]: New macros.
49005         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
49006         TYPE_MAXIMUM): New macros.
49007         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
49008         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
49009         if overflow occurs, as it's what __strtol does and it's more useful
49010         in practice.
49011         (__xstrtol): If __strtol reports some error other than ERANGE,
49012         reflect it to the caller as LONGINT_INVALID.  If it reports
49013         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
49014         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
49015         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
49016         value.
49017         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
49018         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
49019         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
49020         [defined UINTMAX_MAX]: New macros.
49021
49022 2003-10-14  Bruno Haible  <bruno@clisp.org>
49023
49024         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
49025
49026 2003-10-14  Bruno Haible  <bruno@clisp.org>
49027
49028         * m4/sig_atomic_t: New file, from GNU gettext.
49029         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
49030
49031 2003-10-14  Bruno Haible  <bruno@clisp.org>
49032
49033         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
49034         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
49035         Also use volatile where needed.
49036
49037 2003-10-12  Paul Eggert  <eggert@twinsun.com>
49038
49039         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
49040         Change maintainer from Bruno Haible to 'all'.
49041
49042 2003-10-12  Paul Eggert  <eggert@twinsun.com>
49043
49044         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
49045
49046 2003-10-12  Paul Eggert  <eggert@twinsun.com>
49047
49048         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
49049         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
49050         and define in terms of the other primitives.
49051         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
49052         (SIZE_MAX): Define if not already defined.
49053         (array_size_overflow): New function.
49054         (xalloc_die): Abort instead of exiting if 'error' returns.
49055         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
49056         (xmalloc, xrealloc): Use them.
49057         (xcalloc): Check for address arithmetic overflow.
49058         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
49059         a bit faster than strcpy.
49060
49061 2003-10-10  Simon Josefsson  <jas@extundo.com>
49062
49063         * modules/argp (Depends-on): Add restrict and strcase.
49064
49065 2003-10-10  Simon Josefsson  <jas@extundo.com>
49066
49067         * m4/argp.m4: Add AC_C_INLINE.
49068
49069 2003-10-08  Paul Eggert  <eggert@twinsun.com>
49070
49071         Merge getpass from libc, plus a few fixes.
49072
49073         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
49074         Include <stdbool.h>.
49075         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
49076         __fsetlocking to empty.
49077         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
49078         do include <bits/libc-lock.h>.
49079         Do not include <fcntl.h>; not needed.
49080         [_LIBC]: Include <wchar.h>.
49081         (NOTCANCEL_MODE): New macro.
49082         (flockfile, funlockfile) [_LIBC]: New macros.
49083         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
49084         [!_LIBC]: New macros.
49085         (call_fclose): New function.
49086         (getpass): Use it.  Save tty stream separately; this simplifies the
49087         code and makes it more reliable if stdin happens to equal stdout.
49088         Invoke __fsetlocking on tty.
49089         Handle thread cancellation if needed.
49090         Namespace cleanup (use __tcgetattr, __getline).
49091         Use bool for Booleans.
49092         [USE_IN_LIBIO]: Handle wide streams.
49093         [!_LIBC]: Unconditionally do the fseek, since we don't know what
49094         stream might go where.
49095
49096         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
49097         doesn't have to include <stdio.h> before us.
49098         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
49099         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
49100         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
49101         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
49102         if not declared, so that we can use getpass.c code from libc without
49103         rewriting it.
49104         (flockfile, ftrylockfile, funlockfile): New macros.
49105
49106 2003-10-08  Paul Eggert  <eggert@twinsun.com>
49107
49108         * modules/getpass: Depend on stdbool.
49109
49110 2003-10-08  Paul Eggert  <eggert@twinsun.com>
49111
49112         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
49113
49114 2003-10-07  Karl Berry  <karl@gnu.org>
49115
49116         * config/config.{guess,sub}: update from config.
49117
49118 2003-10-06  Jim Meyering  <jim@meyering.net>
49119             Bruno Haible  <bruno@clisp.org>
49120
49121         This lets translators provide better translations for the
49122         "Written by ..." part of --version output.
49123         * lib/version-etc.h: Include stdarg.h.
49124         (version_etc_copyright): Declare as readonly.
49125         (version_etc): Make this function variadic with a NULL-terminated list
49126         of author name strings.
49127         (version_etc_va): New declaration.
49128         * lib/version-etc.c: Include stdarg.h, stdlib.h.
49129         (version_etc_copyright): Declare as readonly.
49130         (version_etc_va): New function. Provide a different translatable string
49131         for each possible number of authors < 10. Abbreviate when there are 10
49132         authors or more.
49133         (version_etc): Make this function variadic. Call version_etc_va.
49134         Suggestion from Gary V. Vaughan.
49135
49136         * lib/long-options.h (parse_long_options): Change prototype: the
49137         authors string is moved to the end and becomes variadic.
49138         * lib/long-options.c: Include stdarg.h.
49139         (parse_long_options): Make this function variadic, too.
49140         Call version_etc_va, not version_etc.
49141
49142 2003-10-06  Bruno Haible  <bruno@clisp.org>
49143
49144         * modules/version-etc-2: Remove file.
49145         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
49146
49147 2003-10-06  Bruno Haible  <bruno@clisp.org>
49148
49149         * modules/fatal-signal: New file.
49150         * MODULES.html.sh (func_all_modules): Add fatal-signal.
49151
49152 2003-10-06  Bruno Haible  <bruno@clisp.org>
49153
49154         * m4/fatal-signal.m4: New file.
49155         * m4/signalblocking.m4: New file, from GNU gettext.
49156
49157 2003-10-06  Bruno Haible  <bruno@clisp.org>
49158
49159         * lib/version-etc-2.h: Remove file.
49160         * lib/version-etc-2.c: Remove file.
49161
49162 2003-10-06  Bruno Haible  <bruno@clisp.org>
49163
49164         * lib/fatal-signal.h: New file, from GNU gettext.
49165         * lib/fatal-signal.c: New file, from GNU gettext.
49166
49167 2003-10-05  Paul Eggert  <eggert@twinsun.com>
49168
49169         * README: Rework advice for preventing empty .o files.
49170         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
49171         not <sys/types.h>.
49172
49173 2003-10-04  Karl Berry  <karl@gnu.org>
49174
49175         * lib/argp*: update from libc.
49176
49177 2003-10-04  Karl Berry  <karl@gnu.org>
49178
49179         * config/config.{guess,sub}: update from config.
49180
49181 2003-10-02  Bruno Haible  <bruno@clisp.org>
49182
49183         * modules/lchown (Include): Add lchown.h.
49184         * modules/time_r (Include): Use "..." syntax.
49185         * modules/xgetdomainname (Include): Add xgetdomainname.h.
49186
49187 2003-10-01  Simon Josefsson  <jas@extundo.com>
49188
49189         * MODULES.html.sh (func_all_modules): Move gethostname from section
49190         'based on' to section 'lacking' POSIX:2001.
49191
49192 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
49193
49194         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
49195         to output mode on the same stream.
49196
49197 2003-09-29  Paul Eggert  <eggert@twinsun.com>
49198
49199         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
49200         Fix arg typo in previous patch.
49201
49202 2003-09-28  Jim Meyering  <jim@meyering.net>
49203
49204         * lib/error.c: Correct cpp indentation.
49205
49206 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49207
49208         * modules/free: New file.
49209
49210 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49211
49212         * m4/free.m4: New file.
49213
49214 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49215
49216         * lib/minmax.h (MIN, MAX)
49217         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
49218         Omit the special code that used __typeof__, since we worry that
49219         it could be more trouble than it's worth.  See:
49220         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
49221         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
49222
49223         * lib/free.c: New file.
49224
49225 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
49226
49227         Trivial fixes to Makefile.am parts of module listings.
49228         * modules/strstr: Append strstr.h to lib_SOURCES.
49229         * modules/strcase: Likewise, for strcase.h.
49230
49231 2003-09-27  Karl Berry  <karl@gnu.org>
49232
49233         * config/mkinstalldirs: update from automake.
49234
49235 2003-09-26  Paul Eggert  <eggert@twinsun.com>
49236
49237         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
49238         (error_tail): Do not loop, reallocating temporary buffer, since
49239         the output cannot contain more wide characters than the input
49240         contains bytes, the size must be big enough already.  This avoids
49241         one potential size overflow calculation.  Check for size overflow
49242         when calculating temporary buffer size.  Free temporary buffer
49243         when done, if it was allocated with malloc; this plugs a memory
49244         leak.  Remove casts from void * to pointers, that are no longer
49245         needed now that we're assuming C89 or better.
49246
49247         Merge error changes from glibc.
49248
49249         * lib/error.c, error.h: Update copyright notice header to match glibc.
49250         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
49251         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
49252         Disable cancellation while printing error.
49253         * lib/error.h: Prepend __ to parameter names.
49254
49255 2003-09-26  Jim Meyering  <jim@meyering.net>
49256
49257         * lib/error.c (error_tail): Move some declarations
49258         into inner scope where the local variables are used.
49259
49260 2003-09-26  Bruno Haible  <bruno@clisp.org>
49261
49262         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
49263         stpncpy().
49264         Don't define stpncpy through config.h; it's now done through stpncpy.h.
49265
49266 2003-09-26  Bruno Haible  <bruno@clisp.org>
49267
49268         * lib/stpncpy.h (gnu_stpncpy): New declaration.
49269         (stpncpy): Define as alias for gnu_stpncpy.
49270         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
49271
49272 2003-09-25  Simon Josefsson  <jas@extundo.com>
49273
49274         * lib/xgetdomainname.h: New file.
49275         * lib/xgetdomainname.c: New file.
49276
49277 2003-09-25  Simon Josefsson  <jas@extundo.com>
49278             Bruno Haible  <bruno@clisp.org>
49279
49280         * modules/getdomainname: New file.
49281         * modules/xgetdomainname: New file.
49282         * MODULES.html.sh (func_all_modules): Add getdomainname,
49283         xgetdomainname.
49284
49285 2003-09-25  Simon Josefsson  <jas@extundo.com>
49286             Bruno Haible  <bruno@clisp.org>
49287
49288         * m4/getdomainname.m4: New file.
49289
49290 2003-09-25  Simon Josefsson  <jas@extundo.com>
49291             Bruno Haible  <bruno@clisp.org>
49292
49293         * lib/getdomainname.h: New file.
49294         * lib/getdomainname.c: New file.
49295
49296 2003-09-25  Karl Berry  <karl@gnu.org>
49297
49298         * lib/argp-fmtstream.c, argp-help.c: update from libc.
49299
49300 2003-09-25  Karl Berry  <karl@gnu.org>
49301
49302         * config/install-sh: update from automake.
49303
49304 2003-09-25  Bruno Haible  <bruno@clisp.org>
49305
49306         * modules/version-etc-2: New file, from modules/version-etc with
49307         modifications.
49308         * MODULES.html.sh (func_all_modules): Add version-etc-2.
49309
49310 2003-09-25  Bruno Haible  <bruno@clisp.org>
49311
49312         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
49313         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
49314
49315 2003-09-24  Simon Josefsson  <jas@extundo.com>
49316
49317         * modules/xgethostname: Add xgethostname.h.
49318
49319 2003-09-24  Paul Eggert  <eggert@twinsun.com>
49320
49321         * lib/linebuffer.c (freebuffer): Don't free the argument, just
49322         the buffer associated with the argument.  Bug reported by
49323         Simon Josefsson.
49324
49325 2003-09-24  Paul Eggert  <eggert@twinsun.com>
49326
49327         * README: Document assumptions that 'int' is at least 32 bits
49328         wide, that integer arithmetic is 2's complement without overflow,
49329         that there are no holes in integer values, that adding sizes of
49330         two nonoverlapping objects can't overflow, and that all-bits-zero
49331         yields scalar zero.  Fix spelling and capitalization typos.
49332
49333 2003-09-19  Karl Berry  <karl@gnu.org>
49334
49335         * lib/argp.h: update from libc.
49336
49337 2003-09-17  Paul Eggert  <eggert@twinsun.com>
49338
49339         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
49340         to avoid spurious warnings like "AC_RUN_IFELSE was called before
49341         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
49342
49343 2003-09-17  Paul Eggert  <eggert@twinsun.com>
49344
49345         * gnulib-tool: Use "test -h", not "test -L", for portability
49346         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
49347         (tags_regexp): Remove, since \| doesn't conform to POSIX.
49348         (sed_extract_prog): Issue s commands one-by-one, rather than
49349         using \| in one s command.
49350
49351 2003-09-16  Paul Eggert  <eggert@twinsun.com>
49352
49353         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
49354         input error, instead of returning NULL the next time we are called
49355         (and therefore losing track of errno).
49356
49357 2003-09-16  Bruno Haible  <bruno@clisp.org>
49358
49359         * gnulib-tool (func_create_testdir): Warn about duplicated
49360         dependencies.
49361
49362 2003-09-15  Paul Eggert  <eggert@twinsun.com>
49363
49364         * modules/argmatch, modules/fatal, modules/obstack,
49365         modules/xalloc, modules/xgethostname: Sort dependencies by
49366         importance, not alphabetically.
49367
49368 2003-09-15  Paul Eggert  <eggert@twinsun.com>
49369
49370         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
49371         fails, so that the caller gets the proper errno.
49372
49373         * lib/readutmp.c (read_utmp): Likewise.
49374         Check for fstat error.  Close stream and free storage
49375         when failing.
49376
49377 2003-09-14  Karl Berry  <karl@gnu.org>
49378
49379         * config/srclist.txt (strdup.c): disable for c89 changes.
49380
49381 2003-09-14  Jim Meyering  <jim@meyering.net>
49382
49383         * lib/getloadavg.c: Correct cpp indentation.
49384         * lib/strdup.c: Likewise.
49385         * lib/vasnprintf.c: Likewise.
49386
49387 2003-09-14  Bruno Haible  <bruno@clisp.org>
49388
49389         * modules/fwriteerror: New file.
49390         * MODULES.html.sh (func_all_modules): Add fwriteerror.
49391
49392 2003-09-14  Bruno Haible  <bruno@clisp.org>
49393
49394         * lib/fwriteerror.h: New file.
49395         * lib/fwriteerror.c: New file.
49396
49397 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49398
49399         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
49400         modules/xgethostname, modules/xalloc: Depend on exit.
49401
49402 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49403
49404         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
49405
49406         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
49407         and AC_MINIX, too, so that their extensions are available.
49408
49409         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
49410         This macro has been superseded by gl_BACKUPFILE.
49411
49412         More patches to assume C89 or better.
49413
49414         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
49415
49416         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
49417         unconditionally.
49418         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
49419         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
49420         Include <string.h>, <stdlib.h> unconditionally.
49421         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
49422         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
49423         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
49424         headers or for string.h.
49425         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
49426         or strtoul.
49427
49428         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
49429         headers.
49430         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
49431         * m4/userspec.m4 (gl_USERSPEC): Likewise.
49432         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
49433         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
49434         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49435         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
49436         memcpy, memset.
49437         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
49438         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
49439         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
49440         strtol.
49441         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
49442         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
49443         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
49444         strtoul.
49445
49446 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49447
49448         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
49449         * lib/obstack.c [!defined _LIBC]: Likewise.
49450         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
49451         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
49452         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
49453
49454         More changes to assume C89 or better.
49455
49456         * lib/error.c (error_tail): Assume vprintf.
49457
49458         * lib/argmatch.c (getenv): Remove decl.
49459         * lib/progreloc.c (get_full_program_name): Define via prototype.
49460         * lib/setenv.c (clearenv): Likewise.
49461         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
49462         needed.
49463         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
49464         (malloc, memcpy): Remove decls.
49465         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
49466         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
49467         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
49468         (memcpy): Remove macro.
49469         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
49470         (__P): Remove.  All uses removed.
49471         (PTR): Remove.  All uses changed to void *.
49472         (CHAR_BIT, NULL): Remove.
49473         (spaces, zeros, memset_space, memset_zero)
49474         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
49475         Remove.
49476         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
49477         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
49478         Define with prototype.
49479         Remove now-unnecessary prototype decl.
49480         (extra_args_spec): Assume ANSI C.  All uses changed.
49481         (extra_args_spec_iso): Remove.
49482         (my_strftime, emacs_strftimeu): Define via prototype.
49483         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
49484         unconditionally.
49485         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
49486         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
49487         (strtoul, strtol): Remove decls.
49488         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
49489         LONG_MAX): Remove.
49490         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
49491         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
49492         (LOCALE_PARAM_PROTO): New macro.
49493         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
49494         (INTERNAL (strtol), strtol): Define with a prototype.
49495         (PARAMS): Remove.  All uses removed.
49496         * lib/tempname.c: Include <string.h> unconditionally.
49497         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
49498         * lib/xgethostname.c (main): Define with a prototype.
49499         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
49500         Include <stdlib.h> unconditionally.
49501         (calloc, malloc, realloc, free): Remove decls.
49502         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
49503         Include <stdlib.h> unconditionally.  Sort include file names.
49504         (strtod): Remove.
49505         (xstrtod): Define with a prototype.
49506         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
49507         (strtol, strtoul): Remove decls.
49508
49509 2003-09-11  Paul Eggert  <eggert@twinsun.com>
49510
49511         More patches to assume C89 or better.
49512         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
49513         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
49514         string.h, memchr, STDC_HEADERS.
49515
49516 2003-09-11  Paul Eggert  <eggert@twinsun.com>
49517
49518         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
49519         Include <stdlib.h>, <string.h> unconditionally.
49520         Remove now-unnecessary cast to char *.
49521         * lib/strnlen.c: Include <string.h> unconditionally.
49522         * lib/yesno.c (yesno): Define with a prototype.
49523
49524 2003-09-11  Bruno Haible  <bruno@clisp.org>
49525
49526         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
49527
49528 2003-09-10  Jim Meyering  <jim@meyering.net>
49529
49530         * lib/error.c: Correct indentation of cpp directives.
49531
49532 2003-09-10  Bruno Haible  <bruno@clisp.org>
49533
49534         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
49535         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
49536         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
49537         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
49538         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
49539         <stdlib.h> and <string.h> checks.
49540         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
49541         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
49542
49543 2003-09-10  Bruno Haible  <bruno@clisp.org>
49544
49545         * lib/strcspn.c: Include <string.h> unconditionally.
49546         * lib/strpbrk.c: Include <string.h> unconditionally.
49547         * lib/strstr.c: Include <string.h> unconditionally.
49548         * lib/unicodeio.c: Include <string.h> unconditionally.
49549         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
49550         * lib/unsetenv.c: Likewise.
49551         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
49552         * lib/yesno.c: Include <stdlib.h> unconditionally.
49553         (rpmatch): Add prototype.
49554
49555 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49556
49557         More patches to assume C89 or better.
49558         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
49559         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
49560         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
49561         or for string.h.
49562         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
49563         stdlib.h.
49564         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
49565         C headers.
49566         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
49567         string.h.
49568         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
49569         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
49570         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
49571         or for string.h.
49572         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
49573         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
49574         C headers.
49575         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
49576         memcpy.
49577         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
49578         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
49579         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
49580         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
49581         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
49582         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
49583         string.h, free.
49584         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
49585         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
49586         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
49587         C headers, or for string.h.
49588         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
49589         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
49590         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
49591         headers, memory.h, stdlib.h, string.h, strings.h.
49592         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
49593         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
49594         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
49595         strchr.
49596         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
49597         headers, memory.h, string.h.
49598         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
49599         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
49600         free.
49601         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
49602         headers.
49603         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
49604         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
49605         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
49606         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
49607         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
49608
49609 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49610
49611         More K&R removal.
49612
49613         * lib/acosl.c (main): Use a prototype.
49614         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
49615         tanl.c: Likewise.
49616
49617         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
49618
49619         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
49620         (getopt, etopt_long, getopt_long_only, _getopt_internal)
49621         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
49622         with a prototype.
49623         * lib/getopt.c (const): Remove macro.
49624         Include <string.h> unconditionally.
49625         (my_index): Remove; all uses changed to strchr.
49626         (strlen): Remove decl.
49627         (exchange): Remove forward decl; no longer needed.
49628         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
49629         Define with prototype.
49630         * lib/getopt1.c (const): Remove macro.
49631         (getopt_long, getopt_long_only, main): Define with prototype.
49632
49633         * lib/getugroups.c: Include <string.h> unconditionally.
49634
49635         * lib/getusershell.c: Include <stdlib.h> unconditionally.
49636         (getusershell, setusershell, endusershell, readname, main):
49637         Define with prototypes.
49638
49639         * lib/group-member.c: Include group-member.h first.
49640         Include <stdlib.h> unconditionally.
49641
49642         * lib/hard-locale.c: Include hard-locale.h first.
49643         Include <stdlib.h>, <string.h> unconditionally.
49644
49645         * lib/hash.c (free, malloc): Remove decls.
49646         Include <stdlib.h> unconditionally.
49647
49648         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
49649         (getenv): Do not declare.
49650
49651         * lib/idcache.c: Include <string.h> unconditionally.
49652
49653         * lib/long-options.c: Include long-options.h first, to test interface.
49654         Include <stdlib.h> unconditionally.
49655
49656         * lib/makepath.c: Include makepath.h first, to test interface.
49657         Include <stdlib.h> and <string.h> unconditionally.
49658
49659         * lib/linebuffer.c: Include <stdlib.h>.
49660         (free): Remove decl.
49661
49662         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
49663         stddef.h. rpl_malloc returns void *, not char *.
49664         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
49665         prototype.
49666
49667         * lib/md5.h: Include <limits.h> unconditionally.
49668         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
49669         (__P): Remove; all uses removed.
49670         * lib/md5.c: Include "md5.h" first.
49671         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
49672         md5_buffer, md5_process_bytes, md5_process_block):
49673         Define with prototypes.
49674         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
49675         * lib/sha.c: Include "sha.h" first.
49676         Include <stdlib.h>, <string.h> unconditionally.
49677
49678         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
49679         * lib/memcmp.c (__ptr_t): Likewise.
49680         * lib/memrchr.c (__ptr_t): Likewise.
49681         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
49682         Include <string.h> unconditionally.
49683         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
49684         * lib/memchr.c: Include <stdlib.h> unconditionally.
49685         * lib/memchr.c (LONG_MAX): Remove.
49686         * lib/memrchr.c (LONG_MAX): Likewise.
49687         * lib/memchr.c (__memchr): Define via a prototype.
49688         * lib/memrchr.c (__memrchr): Likewise.
49689         * lib/memcmp.c (__P): Remove, and remove all uses.
49690         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
49691         Remove forward decls; no longer needed.
49692         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
49693         Use types required by C89 in prototype.
49694
49695         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
49696         * lib/savedir.c: Likewise.
49697         * lib/mkdir.c (free): Remove decl.
49698         * lib/rmdir.c (rmdir): Define with a prototype.
49699         * lib/savedir.c: Include savedir.h first, to test interface.
49700
49701         * lib/mktime.c (STDC_HEADERS): Remove.
49702         Include <stdlib.h>, <string.h> unconditionally.
49703
49704         * lib/modechange.c: Include <stdlib.h> unconditionally.
49705         (malloc): Remove decl.
49706
49707         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
49708         (free): Remove decl.
49709
49710         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
49711         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
49712         (This type really should be intptr_t, but that's a C99ism.)
49713         (_obstack_memcpy): Remove: all uses changed to memcpy.
49714         Include <string.h> unconditionally.
49715         (struct obstack): Assume __STDC__ for types of members
49716         chunkfun, freefun, extra_arg.
49717         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
49718         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
49719         obstack_begin, obstack_specify_allocation,
49720         obstack_specify_allocation_with_arg, obstack_chunkfun,
49721         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
49722         Remove unprototyped decls and the macros that use them.
49723         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
49724         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
49725         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
49726         (defined __STDC__ && __STDC__)]:
49727         Remove nonprototyped code.
49728         Include <stdlib.h> unconditionally.
49729         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
49730         _obstack_allocated_p, _obstack_free, obstack_free,
49731         _obstack_memory_used, print_and_abort):
49732         Define using prototypes.
49733         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
49734         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
49735         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
49736         obstack_next_free, obstack_object_size, obstack_room) [0]:
49737         Remove unused, unprototyped code.
49738
49739         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
49740
49741         * lib/physmem.c (physmem_total, physmem_available, main): Define
49742         with prototypes.
49743
49744         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
49745         (main): Define with a prototype.
49746
49747         * lib/posixver.c (getenv): Remove decl.
49748
49749         * lib/putenv.c (malloc): Returns void *, not char *.
49750         Include <string.h> unconditionally.
49751         (strchr, memcpy, NULL): Do not define.
49752
49753         * lib/readtokens.c: Include readtokens.h first, to test interface.
49754         Include <stdlib.h>, <string.h> unconditionally.
49755         (init_tokenbuffer): Define with a prototype.
49756
49757         * lib/regex.c (PARAMS): Remove.  All uses removed.
49758         All uses of _RE_ARGS removed, too.
49759         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
49760         unconditionally.
49761         (bzero): Assume memset exists.
49762         (memcmp, memcpy, NULL): Remove.
49763         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
49764         char, or assignments to local vars of type signed char.
49765         (init_syntax_once, PREFIX(extract_number_and_incr),
49766         PREFIX(print_partial_compiled_pattern),
49767         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
49768         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
49769         PREFIX(regex_grow_registers), PREFIX(regex_compile),
49770         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
49771         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
49772         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
49773         wcs_compile_range, byte_compile_range, truncate_wchar,
49774         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
49775         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
49776         count_mbs_length, wcs_re_match_2_internal,
49777         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
49778         PREFIX(alt_match_null_string_p),
49779         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
49780         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
49781         regfree, PREFIX(extract_number)): Define with prototype.  Remove
49782         now-unnecessary declaration, if any.
49783         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
49784         regcomp, regexec):
49785         Remove now-unnecessary casts among pointer types.
49786         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
49787
49788         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
49789         (free): Remove decl.
49790
49791         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
49792
49793         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
49794         (free): Remove decl.
49795
49796         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
49797         * lib/xgetcwd.c: Likewise.
49798
49799         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
49800         (free): Remove decl.
49801
49802         * lib/strchrnul.c (strchrnul): Define with a prototype.
49803         Fix bug: c_in was not converted to char before searching.
49804
49805         The following changes are not K&R related:
49806
49807         * lib/group-member.h: Include <sys/types.h>, so that this file is
49808         self-contained.
49809         * lib/makepath.h: Likewise.
49810
49811         * lib/getusershell.c (readname, default_index, line_size, readname):
49812         Use size_t, not int, for sizes.
49813         (readname): If the size overflows, report an error instead of
49814         looping forever.
49815
49816 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49817
49818         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
49819         libc.
49820
49821 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49822
49823         * README: New section: portability guidelines.
49824
49825 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49826
49827         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
49828         C89 spec.
49829
49830 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49831
49832         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
49833
49834 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49835
49836         Assume C89 or better; remove K&R cruft.
49837         A few of these changes were first proposed by Derek Robert Price
49838         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
49839
49840         * lib/addext.c: Include <string.h> unconditionally.
49841         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
49842         Don't declare getenv or malloc.
49843
49844         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
49845         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
49846         (NULL): Remove.
49847         (find_stack_direction, alloca): Use prototypes.
49848
49849         * lib/atexit.c (atexit): Define using a prototype.
49850
49851         * lib/basename.c, dirname.c, stripslash.c:
49852         Include <string.h> unconditionally.
49853
49854         * lib/bcopy.c: Include <stddef.h>.
49855         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
49856
49857         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
49858
49859         * lib/error.h (error, error_at_line, error_print_progname)
49860         [! (defined (__STDC__) && __STDC__)]: Remove decls.
49861         * lib/error.c: Include error.h first, to check interface.
49862         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49863         (VA_START): Remove; all uses changeed to va_start.
49864         (exit, strerror): Remove decls.
49865         (error_print_progname): Prototype uncondionally.
49866         Don't include <errno.h>; no longer needed.
49867         (private_strerror): Remove.
49868         (error_tail): Always define.
49869         (error, error_at_line): Assume C89 or better; always use prototypes.
49870         * lib/fatal.c: Include "fatal.h" first, to test interface.
49871         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49872         (VA_START): Remove; all uses changed to va_start.
49873         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
49874         this case.
49875         (exit): Remove decl.
49876         (fatal): Prototype unconditionally.  Assume va_start works.
49877         Abort at end, to pacify gcc.
49878
49879         * lib/euidaccess.c (main): Define with a prototype.
49880
49881         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
49882
49883         * lib/exitfail.c: Include <stdlib.h> unconditionally.
49884
49885         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
49886         prototypes.
49887         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
49888         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
49889         (getenv): Remove decl.
49890         (fnmatch): Define using a prototype.
49891         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
49892         (FCT): Define using a prototype.
49893
49894         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
49895
49896         * lib/gethostname.c: Include <stddef.h>.
49897         (gethostname): Define with prototype.  Length is size_t, not int.
49898
49899 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49900
49901         Assume C89 or better; remove K&R cruft.
49902         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
49903         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
49904         string.h, getenv, malloc.
49905         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
49906         headers.
49907         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
49908         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
49909         do not check for strerror.
49910         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
49911         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
49912         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
49913         do not check for doprnt or vprintf.
49914         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
49915         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
49916
49917 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49918
49919         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
49920         getversion.c should have been removed then, but was accidentally
49921         preserved.
49922
49923         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
49924         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
49925
49926 2003-09-08  Karl Berry  <karl@gnu.org>
49927
49928         * config/config.sub, config.guess, srclistvars.sh: update from savannah
49929                 config, forget about prep.
49930
49931         * config/depcomp, missing: update from automake.
49932
49933 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49934
49935         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
49936         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49937
49938 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49939
49940         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
49941         copy_tm_result.  Bug reported by Simon Josefsson in
49942         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49943
49944 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49945
49946         * m4/time_r.m4: New file.
49947         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
49948         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
49949         is. Check for timegm declaration.
49950         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
49951         Do not check for gmtime_r.
49952         Replace mktime if __mktime_internal does not exist and if mktime
49953         hasn't been replaced already.
49954
49955 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49956
49957         * lib/time_r.c, lib/time_r.h: New files.
49958
49959         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
49960         __localtime_r.
49961         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
49962         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
49963
49964         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
49965         __gmtime_r.
49966         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
49967         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
49968         Include <time_r.h>.
49969
49970         * lib/timegm.c: Switch to glibc implementation, with the following
49971         changes:
49972         [defined HAVE_CONFIG_H]: Include <config.h>.
49973         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
49974         (__mktime_internal) [!defined _LIBC]: New decl.
49975         (__gmtime_r) [!defined _LIBC]: New macro and function.
49976         (timegm): Use a prototype, since gnulib assumes C89.
49977         Do not bother declaring tmp to be const, as it's not really usefu.
49978         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
49979         (timegm): Declare only if HAVE_DECL_TIMEGM.
49980
49981 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49982
49983         * MODULES.html.sh (func_all_modules): Add time_r.
49984         * modules/time_r: New file.
49985         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
49986         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
49987
49988 2003-09-03  Paul Eggert  <eggert@twinsun.com>
49989
49990         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
49991         Bug reported by Lute Kamstra in
49992         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
49993
49994         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
49995         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
49996         course with correspondingly smaller numbers for tomorrow and
49997         yesterday.  From Tadayoshi Funaba.  Originally installed into
49998         sh-utils on 1999-08-07, but the patch got lost (I guess during the
49999         coreutils merge?).
50000
50001 2003-08-31  Simon Josefsson  <jas@extundo.com>
50002
50003         * modules/timegm: New file.
50004         * MODULES.html.sh (func_all_modules): Add timegm.
50005
50006 2003-08-31  Simon Josefsson  <jas@extundo.com>
50007
50008         * m4/timegm.m4: New file.
50009
50010 2003-08-31  Simon Josefsson  <jas@extundo.com>
50011
50012         * lib/timegm.h: New file.
50013         * lib/timegm.c: New file.  Based on
50014         wget-1.8.2/src/http.c:mktime_from_utc.
50015
50016 2003-08-31  Karl Berry  <karl@gnu.org>
50017
50018         * lib/argp.h: update from libc.
50019
50020 2003-08-28  Bruno Haible  <bruno@clisp.org>
50021
50022         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
50023         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
50024         followed by '#define fnmatch fnmatch_posix' gives an error.
50025
50026 2003-08-28  Bruno Haible  <bruno@clisp.org>
50027
50028         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
50029         warning on QNX, which defines O_BINARY to 000000.
50030
50031 2003-08-27  Jim Meyering  <jim@meyering.net>
50032
50033         * m4/mkstemp.m4: Require that the system mkstemp be able to create
50034         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
50035         would fail after 32.  Reported by Danny Levinson.  Details here:
50036         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
50037
50038 2003-08-24  Bruno Haible  <bruno@clisp.org>
50039
50040         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
50041         MSVC7 <stdio.h> is included later.
50042
50043 2003-08-22  Simon Josefsson  <jas@extundo.com>
50044
50045         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
50046
50047 2003-08-20  Karl Berry  <karl@gnu.org>
50048
50049         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
50050
50051 2003-08-20  Bruno Haible  <bruno@clisp.org>
50052
50053         * modules/progname: New file.
50054         * MODULES.html.sh (func_all_modules): Add progname.
50055
50056 2003-08-20  Bruno Haible  <bruno@clisp.org>
50057
50058         * lib/progname.h: New file, from GNU gettext.
50059         * lib/progname.c: New file, from GNU gettext.
50060         * lib/progreloc.c: New file, from GNU gettext.
50061
50062 2003-08-19  Jim Meyering  <jim@meyering.net>
50063
50064         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
50065         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
50066
50067 2003-08-19  Bruno Haible  <bruno@clisp.org>
50068
50069         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
50070         more.
50071
50072 2003-08-19  Bruno Haible  <bruno@clisp.org>
50073
50074         * lib/xstrdup.c: Assume <string.h> exists.
50075
50076 2003-08-18  Paul Eggert  <eggert@twinsun.com>
50077
50078         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
50079         in makefile rules.
50080
50081 2003-08-18  Jim Meyering  <jim@meyering.net>
50082
50083         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
50084         * m4/lib-ld.m4: Likewise.
50085
50086 2003-08-18  Jim Meyering  <jim@meyering.net>
50087
50088         * lib/setenv.h: Indent nested cpp directive.
50089         * lib/vasnprintf.c: Remove trailing blanks.
50090
50091 2003-08-17  Simon Josefsson  <jas@extundo.com>
50092
50093         * modules/xstrndup: New file.
50094         * MODULES.html.sh (func_all_modules): Add xstrndup.
50095
50096 2003-08-17  Simon Josefsson  <jas@extundo.com>
50097
50098         * modules/argp: Fix autoconf macro name. Add more dependencies.
50099
50100 2003-08-17  Simon Josefsson  <jas@extundo.com>
50101
50102         * m4/xstrndup.m4: New file.
50103
50104 2003-08-17  Simon Josefsson  <jas@extundo.com>
50105
50106         * m4/argp.m4: New file.
50107
50108 2003-08-17  Simon Josefsson  <jas@extundo.com>
50109             Bruno Haible  <bruno@clisp.org>
50110
50111         * lib/xstrndup.h: New file.
50112         * lib/xstrndup.c: New file.
50113
50114 2003-08-17  Bruno Haible  <bruno@clisp.org>
50115
50116         * modules/strndup (Files, Include): Add lib/strndup.h.
50117
50118 2003-08-17  Bruno Haible  <bruno@clisp.org>
50119
50120         * modules/euidaccess (Files): Add lib/euidaccess.h.
50121
50122 2003-08-17  Bruno Haible  <bruno@clisp.org>
50123
50124         * lib/strndup.h: New file.
50125
50126 2003-08-17  Bruno Haible  <bruno@clisp.org>
50127
50128         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
50129         like AC_GNU_SOURCE.
50130         * modules/extensions (configure.ac): Comment out the invocation of
50131         gl_USE_SYSTEM_EXTENSIONS.
50132
50133 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50134
50135         Merges from coreutils, etc.
50136         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
50137         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
50138         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
50139         fixing a typo.
50140         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
50141         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
50142
50143 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50144
50145         Document merge from coreutils.
50146         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
50147         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
50148         * modules/utime: Add m4/utimes-null.m4.
50149
50150 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50151
50152         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
50153         space, undoing this 2003-08-12 change:
50154         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
50155
50156 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50157
50158         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
50159         strtoul.c from libc, undoing this 2003-08-12 change:
50160         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
50161
50162 2003-08-16  Jim Meyering  <jim@meyering.net>
50163
50164         Merges from coreutils.
50165         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
50166         prefix.  Adjust cache variables similarly.  Create 500 rather than
50167         just 300 files, to exercise bug on Darwin6.5, too.
50168         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
50169         $missing_dir.
50170         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
50171         AM_SYS_POSIX_TERMIOS.
50172         Reported by mkc@mathdogs.com.
50173         Also change use of $am_cv_sys_posix_termios
50174         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
50175         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
50176         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
50177         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
50178         in /proc/mounts until it finds one with matching device number.  This
50179         is unnecessary when the FILE argument *is* a mount point.  No stat call
50180         is necessary in that case.  So, disable the statvfs-testing code on
50181         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
50182         as RedHat bug# 84846.
50183         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
50184         to 1MB, so as not to render systems with no stack size limit (e.g.,
50185         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
50186         Include <unistd.h>.  On some systems,
50187         it is required for the definition of _SC_PAGESIZE.
50188
50189 2003-08-16  Jim Meyering  <jim@meyering.net>
50190
50191         Merge from coreutils.
50192         * lib/xstrtoimax.c: #else #if -> #elif.
50193         * lib/xstrtoumax.c: Likewise.
50194
50195 2003-08-16  Jim Meyering  <jim@meyering.net>
50196
50197         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
50198         * m4/utimes.m4: Removed.
50199         * m4/utimes-null.m4: Renamed from utimes.m4.
50200
50201         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
50202         to 1MB, so as not to render systems with no stack size limit (e.g.,
50203         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
50204         Include <unistd.h>.  On some systems,
50205         it is required for the definition of _SC_PAGESIZE.
50206
50207 2003-08-16  Jim Meyering  <jim@meyering.net>
50208         and Paul Eggert  <eggert@cs.ucla.edu>
50209
50210         Merges from coreutils, etc.
50211
50212         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
50213         using the latest version from cvs.  This avoids problems with #line
50214         directives using a vendor (Sun) compiler.
50215         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
50216         Don't set GETGROUPS_LIB here; now it's
50217         done via getgroups.m4's wrapper function.
50218         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
50219         rather than just in sh-util/configure.in, so that the
50220         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
50221         same.
50222         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
50223         AC_FUNC_GETLOADAVG where to find getloadavg.c.
50224         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
50225         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
50226         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
50227         Remove code that is now done by the newly-required macros.
50228         Append $(EXEEXT) to DF_PROG.
50229         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
50230         Do not invoke or require the following here,
50231         since prereq.m4 or some gnulib .m4 now does this for us:
50232         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
50233         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
50234         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
50235         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
50236         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
50237         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
50238         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
50239         AC_FUNC_OBSTACK.
50240         Do not replace the following functions, as this is now the job
50241         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
50242         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
50243         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
50244         atexit getpass, strdup, getpagesize.
50245         Replace 'raise'.
50246         Do not check for the following functions, as this is now the job
50247         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
50248         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
50249         setregid.
50250         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
50251         Check for sys/sysctl.h.
50252         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
50253         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
50254         of checking for ssize_t ourselves.
50255
50256         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
50257         Require every macro that gnulib/modules/* suggests for us.
50258         (jm_PREREQ_ADDEXT): New macro.
50259         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
50260         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
50261
50262         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
50263         (gl_PHYSMEM): Use it.
50264         Also check for `table' function.
50265         Check for new headers and functions.
50266         Add check for sys/sysmp.h.
50267         With suggestions from Kaveh Ghazi.
50268         Ignore headers that are present but cannot be compiled.  This
50269         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
50270         C 5.4.
50271
50272 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50273
50274         Document merge from coreutils.
50275         * modules/userspec: Depend on posixver.
50276         * modules/strftime: Depend on tzset.
50277
50278 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50279
50280         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
50281         rather than tab, after '#' in shell-script copyright notices.
50282         Suggested by Bruno Haible.
50283
50284 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50285
50286         * config/srclist-update: Use three spaces, rather than tab, after '#'
50287         in shell-script copyright notices.  Suggested by Bruno Haible.
50288         Remove unnecessary parenthesization in regular expression.
50289
50290 2003-08-15  Jim Meyering  <jim@meyering.net>
50291
50292         Merge from coreutils.
50293         * lib/xgethostname.c: Include <stdlib.h>.
50294         (xghostname): Don't exit for anything other than memory-related
50295         failure; just return NULL.
50296         * lib/userspec.c: Include "posixver.h".
50297         (parse_user_spec): Accept `.' as a separator only
50298         in pre-POSIX-200112 mode.
50299         * lib/strtoimax.c: Use #elif rather than #else #if.
50300         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
50301         Remove function, now that we can rely on a working tzset function.
50302         [!_LIBC]: Ensure that the required autoconf test has been run.
50303         [!defined _NL_CURRENT && HAVE_STRFTIME]:
50304         Use underlying_strftime for %r.
50305         * lib/sha.c: Merge in some clean-up and optimization changes from
50306         glibc.
50307         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
50308         Ensure that it is a multiple of 64.
50309         Rearrange loop exit tests so as to avoid performing an
50310         additional fread after encountering an error or EOF.
50311         * lib/realloc.c: Update copyright date.
50312
50313 2003-08-15  Jim Meyering  <jim@meyering.net>
50314         and Paul Eggert  <eggert@twinsun.com>
50315
50316         Merge from coreutils.
50317         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
50318         member but strut utmpx does not.  Needed for AIX 4.3.3.
50319         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
50320
50321 2003-08-15  Jim Meyering  <jim@meyering.net>
50322         and Paul Eggert  <eggert@cs.ucla.edu>
50323
50324         Merges from coreutils, etc.
50325         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
50326         Require gl_FUNC_TZSET_CLOBBER.
50327         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
50328         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
50329         members.
50330
50331 2003-08-14  Paul Eggert  <eggert@twinsun.com>
50332
50333         Help the merge from coreutils.
50334         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
50335         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
50336         * m4/tzset.m4: Use it too.
50337
50338 2003-08-14  Paul Eggert  <eggert@twinsun.com>
50339
50340         * modules/tzset: New file.
50341
50342 2003-08-14  Jim Meyering  <jim@meyering.net>
50343
50344         Merges from coreutils.
50345         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
50346         variable names, rather than @FNMATCH_H@.
50347         * modules/alloca: Likewise for $(ALLOCA_H).
50348
50349         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
50350         the three copies of the literal target, `fnmatch.h'.
50351         * modules/alloca (alloca.h): Likewise.
50352
50353 2003-08-14  Jim Meyering  <jim@meyering.net>
50354
50355         Merge from coreutils.
50356         * m4/tzset.m4: New file.
50357         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
50358         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
50359         otherwise, AIX 5.1 systems would end up using the latter.
50360         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
50361         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
50362         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
50363         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
50364
50365 2003-08-14  Jim Meyering  <jim@meyering.net>
50366
50367         Merge from coreutils.
50368         * lib/obstack.h: Whitespace changes.
50369         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
50370         and xcalloc return values.
50371         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
50372         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
50373         hang on OSF/1 5.1 for DIR on both local and remote file systems.
50374         Reported by (and fix confirmed by) Nelson H. F. Beebe.
50375         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
50376         error from mntctl.
50377         Use mntctl's return value to drive the entry-processing loop, since
50378         we can't rely on the value of the vmt_length member in the last
50379         entry.  On some systems doing so could result in exhausting
50380         virtual memory.  Based in part on a patch from Mike Jetzer.
50381
50382 2003-08-14  Jim Meyering  <jim@meyering.net>
50383         and Paul Eggert  <eggert@twinsun.com>
50384
50385         Merges from coreutils, plus other fixes.
50386         * lib/physmem.c: Merge in portability changes from gcc/libiberty
50387         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
50388         for credits and details.  Thanks to Kaveh Ghazi for helping
50389         to keep these files in sync.
50390         (ARRAY_SIZE): Define it.
50391         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
50392         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
50393         (memcasecmp): Don't assume size_t fits in unsigned int.
50394         Remove casts and duplicate code.
50395         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
50396         (memcpy): Remove definition.
50397         Merge in some clean-up and optimization changes from glibc.
50398         [BLOCKSIZE]: Move definition to top of file.
50399         Ensure that it is a multiple of 64.
50400         Rearrange loop exit tests so as to avoid performing an
50401         additional fread after encountering an error or EOF.
50402         * lib/md5.h (md5_uintptr): Define.
50403         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
50404         return to the initial working directory.  Preserve errno
50405         for caller.
50406         * lib/idcache.c: Include "xalloc.h".
50407         (xmalloc, xrealloc): Remove decls.
50408         (getuser): Remove casts no longer required in C89.
50409         * lib/human.c: Include stdio.h, for sprintf.
50410         * lib/group-member.c: Include "xalloc.h".
50411         (xmalloc, xrealloc): Remove decls.
50412         (get_group_info): Remove casts no longer required in C89.
50413         * lib/getusershell.c (readname): Remove casts no longer required in
50414         C89.
50415         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
50416         * lib/getline.c: Whitespace fix, from coreutils.
50417
50418 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50419
50420         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
50421         Check for isascii.
50422
50423         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
50424         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
50425         Undo previous (whitespace-only) change.
50426
50427 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50428
50429         * lib/exclude.c: Include <ctype.h>
50430         (IN_CTYPE_DOMAIN): New macro.
50431         (is_space): New fn.
50432         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
50433         and empty lines.
50434
50435         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
50436         Undo previous (whitespace-only) change.
50437
50438 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50439
50440         * config/srclist-update: Change update back to the old behavior,
50441         leaving whitespace alone.  Use one 'sed' command rather than a
50442         pipeline.
50443         (fixlicense): Now a variable, not a function.
50444         (remove_trailing_blanks): Remove.
50445         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
50446         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
50447         Undo previous (whitespace-only) change.
50448
50449 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50450
50451         Merge from coreutils.
50452         * modules/euidaccess: Add lib_SOURCES, include for new
50453         file euidaccess.h
50454
50455 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50456
50457         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
50458         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
50459         Normalize leading white space and remove trailing white space.
50460
50461         Merge from coreutils
50462         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
50463
50464         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
50465         0.12.1.  These files are now being upgraded automatically by
50466         ../config/srclist-update.
50467
50468 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50469
50470         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
50471         Normalize leading white space and remove trailing white space.
50472         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
50473         notice, as per ../config/srclist-update.
50474
50475         Merge from coreutils.
50476         * lib/euidaccess.h: New file.
50477         * lib/euidaccess.c: Include it.
50478         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
50479         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
50480         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
50481
50482 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50483
50484         * config/srclist-update: Add copyright notice.
50485         (remove_id_lines, remove_trailing_blanks): New constants.
50486         (fixfile): Use them to normalize spacing a bit in copied files.
50487         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
50488         Normalize leading white space and remove trailing white space.
50489
50490         * config/texinfo.tex: Sync with texinfo.
50491
50492         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
50493         strtoul.c from libc, to merge coreutils whitespace changes.
50494
50495         * config/srclist.txt: Get the following m4 files from gettext:
50496         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
50497         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
50498         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
50499         wint_t.m4.
50500
50501 2003-08-12  Karl Berry  <karl@gnu.org>
50502
50503         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
50504         been made.
50505
50506 2003-08-11  Paul Eggert  <eggert@twinsun.com>
50507
50508         * modules/gnu-source, m4/gnu-source.m4:
50509         Remove; we're assuming Autoconf 2.54 or later now.
50510         Suggested by Bruno Haible.
50511         * MODULES.html.sh (func_all_modules): Remove gnu-source.
50512
50513 2003-08-11  Bruno Haible  <bruno@clisp.org>
50514
50515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
50516
50517 2003-08-11  Bruno Haible  <bruno@clisp.org>
50518
50519         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
50520         (vasnprintf): Use it instead of wcslen.
50521
50522 2003-08-11  Bruno Haible  <bruno@clisp.org>
50523
50524         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
50525         value to ensure that _Bool promotes to int. Use #define for _Bool when
50526         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
50527
50528 2003-08-10  Karl Berry  <karl@gnu.org>
50529
50530         * lib/regex.h: update from libc (whitespace fix).
50531
50532 2003-08-09  Paul Eggert  <eggert@twinsun.com>
50533
50534         Merge some files from coreutils.  These changes were
50535         originally made by Jim Meyering.
50536         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
50537         many older Unixes require this.
50538         * lib/alloca.c (alloca): Remove cast to argument of free;
50539         no longer needed in C89.
50540         * lib/alloca_.h, regex.h: Fix white space to match
50541         what GNU indent does.
50542
50543 2003-08-09  Paul Eggert  <eggert@twinsun.com>
50544
50545         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
50546         apparently Emacs's Unicode mode got confused before my 2003-08-05
50547         checkin.
50548
50549 2003-08-08  Paul Eggert  <eggert@twinsun.com>
50550
50551         * m4/extensions.m4: New file.
50552         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
50553         Require gl_USE_SYSTEM_EXTENSIONS.
50554         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
50555         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
50556
50557 2003-08-08  Paul Eggert  <eggert@twinsun.com>
50558
50559         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
50560         * modules/extensions, modules/gnu-source: New files.
50561         * modules/timespec, modules/unlocked-io: Depend on extensions.
50562
50563 2003-08-07  Paul Eggert  <eggert@twinsun.com>
50564
50565         * modules/restrict: New file.
50566         * MODULES.html.sh (func_all_modules): Add restrict.
50567         * modules/regex: Depend on restrict.
50568
50569 2003-08-07  Paul Eggert  <eggert@twinsun.com>
50570
50571         * m4/restrict.m4: New file.
50572         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
50573
50574 2003-08-07  Bruno Haible  <bruno@clisp.org>
50575
50576         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
50577         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
50578
50579 2003-08-07  Bruno Haible  <bruno@clisp.org>
50580
50581         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
50582         makes the module 'getndelim2' compatible with the module 'getline'.
50583
50584 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50585
50586         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
50587         byte with "\201" to avoid glitches when editing that source file
50588         with multi-gnome-terminal.
50589
50590 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50591
50592         * lib/bumpalloc.h: Remove.
50593
50594 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50595
50596         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
50597         * modules/bumpalloc: Remove.
50598
50599 2003-08-04  Paul Eggert  <eggert@twinsun.com>
50600
50601         * lib/getloadavg.c: Change copyright notice and spacing to conform to
50602         GNU coding style.
50603
50604         Merge from coreutils.
50605         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
50606         1. From glibc.
50607         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
50608         from Karl Berry, implemented by Jim Meyering.
50609         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
50610         from Dmitry V. Levin.
50611         Remove anachronistic cast of xrealloc.
50612         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
50613         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
50614         type. Otherwise, it wouldn't compile with at least /bin/cc on
50615         ymp-cray-unicos9.0.2.X.
50616         Combine two mostly-identical uses of alloca into one.
50617         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
50618
50619 2003-08-04  Dave Love  <d.love@dl.ac.uk>
50620
50621         [From Emacs.]
50622
50623         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
50624         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
50625         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
50626         obsolete NLIST_NAME_UNION.
50627         [__GNU__]: Undef BSD and FSCALE.
50628         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
50629
50630 2003-08-03  Paul Eggert  <eggert@twinsun.com>
50631
50632         * lib/stdbool_.h (_Bool): Make it signed char, instead of
50633         an enum type, so that it's guaranteed to promote to int.  See:
50634         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
50635
50636 2003-08-03  Karl Berry  <karl@gnu.org>
50637
50638         * config/depcomp: update from automake.
50639
50640 2003-07-31  Paul Eggert  <eggert@twinsun.com>
50641
50642         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
50643         (strerror): Don't assume that a printable int fits in 14 bytes.
50644
50645 2003-07-31  Bruno Haible  <bruno@clisp.org>
50646
50647         * modules/getpass-gnu: New file.
50648         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
50649
50650 2003-07-31  Bruno Haible  <bruno@clisp.org>
50651
50652         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
50653
50654 2003-07-24  Karl Berry  <karl@gnu.org>
50655
50656         * config/missing: update from automake.
50657
50658 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
50659             Bruno Haible  <bruno@clisp.org>
50660
50661         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
50662         * lib/getline.c (getline, getdelim): Likewise.
50663         Remove _GNU_SOURCE define; now it's defined in config.h through
50664         m4/getline.m4.
50665
50666 2003-07-23  Karl Berry  <karl@gnu.org>
50667
50668         * config/config.sub: update from prep.
50669
50670 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50671
50672         * modules/xalloc (Depends-on): Add exitfail.
50673         * modules/xmemcoll: Likewise.
50674
50675 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50676
50677         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
50678         over-parenthesization in macros.
50679
50680         Sync with coreutils.
50681
50682         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
50683         required by C99.
50684
50685         Use `exit_failure' for xalloc and xmemcoll instead of their own
50686         private exit-failure variables.
50687         * lib/xalloc.h (xalloc_exit_failure): Remove.
50688         * lib/xmalloc.c: Likewise.  Include exitfail.h.
50689         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
50690         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
50691         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
50692         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
50693
50694 2003-07-20  Jim Meyering  <jim@meyering.net>
50695
50696         * modules/closeout (Depends-on): Add exitfail.
50697         Suggestion from Bruno Haible.
50698
50699 2003-07-19  Karl Berry  <karl@gnu.org>
50700
50701         * config/config.sub: update from prep.
50702
50703 2003-07-18  Paul Eggert  <eggert@twinsun.com>
50704
50705         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
50706         Remove.
50707         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
50708         to test that it can stand by itself.  Include "exitfail.h".
50709         Clients should set exit_failure instead.
50710         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
50711
50712 2003-07-18  Bruno Haible  <bruno@clisp.org>
50713
50714         * modules/getndelim2: New file.
50715         * modules/getline: Share files with module getndelim2.
50716         * modules/getnline: Depend on getndelim2 instead of sharing files with
50717         it. Add getnline.c to lib_SOURCES.
50718         * MODULES.html.sh (func_all_modules): Add getndelim2.
50719
50720 2003-07-18  Bruno Haible  <bruno@clisp.org>
50721
50722         * m4/getndelim2.m4: New file.
50723         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
50724         invoke gl_PREREQ_GETNDELIM2.
50725         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
50726         gl_PREREQ_GETNDELIM2.
50727         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
50728         gl_GETNDELIM2.
50729
50730 2003-07-18  Bruno Haible  <bruno@clisp.org>
50731
50732         * lib/getndelim2.h: New file.
50733         * lib/getndelim2.c: Make into a module of its own. Include config.h,
50734         getndelim2.h.
50735         (getndelim2): Make non-static. Change return type to ssize_t.
50736         * lib/getline.h: Change argument names.
50737         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
50738         * lib/getnline.c: Include getndelim2.h.
50739
50740 2003-07-18  Andreas Schwab  <schwab@suse.de>
50741
50742         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
50743
50744 2003-07-17  Karl Berry  <karl@gnu.org>
50745
50746         * config/config.sub: update from prep.
50747
50748 2003-07-17  Bruno Haible  <bruno@clisp.org>
50749
50750         * modules/getnline: New file.
50751         * modules/getline: Add lib/getndelim2.c to source file list.
50752         * MODULES.html.sh (func_all_modules): Add getnline.
50753
50754 2003-07-17  Bruno Haible  <bruno@clisp.org>
50755
50756         * m4/getnline.m4: New file.
50757
50758 2003-07-17  Bruno Haible  <bruno@clisp.org>
50759
50760         * m4/Makefile.am.in: Remove file.
50761         * m4/Makefile.am: Remove file.
50762         * m4/Makefile.in: Remove file.
50763
50764 2003-07-17  Bruno Haible  <bruno@clisp.org>
50765
50766         * lib/getnline.h: New file.
50767         * lib/getnline.c: New file.
50768         * lib/getndelim2.c: New file, extracted from getline.c.
50769         (getndelim2): Renamed from getdelim2, with added nmax argument.
50770         * lib/getline.c: Include getndelim2.c.
50771         (getdelim2): Moved out to getndelim2.c.
50772         (getline, getdelim): Update.
50773
50774 2003-07-17  Bruno Haible  <bruno@clisp.org>
50775
50776         * lib/Makefile.am: Remove file.
50777         * lib/Makefile.in: Remove file.
50778
50779 2003-07-17  Bruno Haible  <bruno@clisp.org>
50780
50781         * configure.in: Remove file.
50782         * Makefile.in: Remove file.
50783
50784 2003-07-17  Bruno Haible  <bruno@clisp.org>
50785
50786         * MODULES.html.sh: Put the </BODY> right before </HTML>.
50787
50788 2003-07-16  Karl Berry  <karl@gnu.org>
50789
50790         * config/srclist-update: was running fixlicense twice, which caused
50791                 texinfo.tex to be nullified for some reason.  Simplify,
50792                 $gplsrc is no longer needed as far as I can see?
50793
50794 2003-07-16  Jim Meyering  <jim@meyering.net>
50795
50796         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
50797
50798 2003-07-15  Paul Eggert  <eggert@twinsun.com>
50799
50800         * config/srclist.txt: Get the following files from gettext-runtime/intl
50801         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
50802         ref-del.sin.  From Bruno Haible.
50803         * config/srclist-update (fixfile): Change grep pattern again, since the
50804         previous fix didn't work (there was another trailing $).  Use
50805         '[$]' to escape the $s.
50806
50807 2003-07-15  Karl Berry  <karl@gnu.org>
50808
50809         * lib/vasnprintf.c: update from gettext.
50810
50811 2003-07-15  Karl Berry  <karl@gnu.org>
50812
50813         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
50814         gets expanded when surrounded by '$'.
50815
50816 2003-07-15  Jim Meyering  <jim@meyering.net>
50817
50818         * modules/save-cwd: Don't depend on error.  From Derek Price.
50819
50820 2003-07-15  Jim Meyering  <jim@meyering.net>
50821
50822         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
50823
50824 2003-07-14  Simon Josefsson  <jas@extundo.com>
50825
50826         * modules/mempcpy: New file.
50827         * MODULES.html.sh (func_all_modules): Add mempcpy.
50828
50829 2003-07-14  Simon Josefsson  <jas@extundo.com>
50830
50831         * m4/mempcpy.m4: New file.
50832
50833 2003-07-14  Simon Josefsson  <jas@extundo.com>
50834
50835         * lib/mempcpy.h: New file.
50836         * lib/mempcpy.c: New file.
50837
50838 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50839
50840         * modules/getdate, modules/posixtm: Depend on mktime.
50841
50842 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50843
50844         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
50845         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
50846         unicodeio.c, unicodeio.h, unlocked-io.h:
50847         Switch from LGPL to GPL.
50848
50849 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50850
50851         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
50852         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
50853         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
50854         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
50855         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
50856         updated automatically by ../config/srclist-update.  This changes
50857         their license from LPGL to GPL.
50858
50859 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50860
50861         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
50862         assumed to refer to the root of the most recent stable gettext version.
50863         * config/srclistvars.sh: Add defaults for eggert.
50864         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
50865         Match "This program" as well as "The program".  This is needed
50866         for gettext.
50867
50868 2003-07-14  Jim Meyering  <jim@meyering.net>
50869
50870         Don't emit diagnostics.  Let callers do that.
50871         * lib/save-cwd.c: Don't include "error.h".
50872         (save_cwd): Don't call error.  Ensure that errno is valid
50873         when returning nonzero.
50874
50875         * lib/save-cwd.h (restore_cwd): Update prototype.
50876         * lib/save-cwd.c (restore_cwd): Remove two parameters.
50877         Simplify.  Don't call error upon failure.  Let callers do that.
50878         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
50879         when auditing is enabled.  But don't bother updating the #if.
50880
50881 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
50882
50883         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
50884         it breaks C++ compilation.
50885         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
50886
50887 2003-07-10  Simon Josefsson  <jas@extundo.com>
50888
50889         * modules/strchrnul (Makefile.am): Add strchrnul.h.
50890
50891 2003-07-10  Jim Meyering  <jim@meyering.net>
50892
50893         * m4/clock_time.m4: Remove trailing blank.
50894         * m4/intmax_t.m4: Likewise.
50895
50896 2003-07-10  Jim Meyering  <jim@meyering.net>
50897
50898         * lib/vasnprintf.c: Remove trailing blanks.
50899         Make cpp indentation consistent.
50900
50901 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50902
50903         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
50904         posixver.c, strftime.c, strnlen.c, strverscmp.c:
50905         Switch from LGPL to GPL.
50906
50907 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50908
50909         * config/srclist.txt: Sort sublists.  Add
50910         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
50911         that differ from gnulib for one reason or another; we'd like this list
50912         to be smaller but for now let's document what we have.
50913
50914 2003-07-08  Paul Eggert  <eggert@twinsun.com>
50915
50916         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
50917         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
50918         and sweeter "eval x=$x".
50919         * config/srclist.txt: Get lib/argp* from glibc.
50920
50921 2003-07-07  Paul Eggert  <eggert@twinsun.com>
50922
50923         * lib/mktime.c: Fix some boundary cases and remove need for floating
50924         point.
50925
50926         Issue a compile-time diagnostic if time_t is floating point, or if
50927         two's complement arithmetic is not in effect, or if arithmetic
50928         right shift does not propagate the sign.  These assumptions were
50929         all in the original code but they weren't checked.
50930
50931         (TIME_T_MIDPOINT, verify): New macros.
50932         (__isleap): Remove; it has integer overflow problems.
50933         (leapyear): New function, without those problems.
50934         (ydhms_tm_diff): Remove; splitting into two parts.
50935         (ydhms_diff): New function, containing the arithmetic part of
50936         the old ydhms_tm_diff function.  Issue a compile-time
50937         diagnostic if we are not using C99 integer division.
50938         Avoid casts when possible.
50939         (guess_time_tm): New function, containing the checking part of
50940         the old ydhms_tm_diff function.  Return the new value, rather than
50941         the difference between it and the old.  Accept a new argument T
50942         so that *T specifies the old value.  Check for overflow in the result.
50943
50944         (__mktime_internal): Use a time_t offset, not a long int offset.
50945         This undoes the 2003-06-04 change, which is no longer needed now
50946         that we have better overflow checking.
50947         (localtime_offset): Likewise.
50948
50949         (__mktime_internal): Avoid harmful overflow on hosts where time_t
50950         and long are 64-bit but int is only 32-bit.
50951         (ydhms_diff): Use long int to store year1 and yday1.
50952         Issue a compile-time diagnostic if long int is not wide enough.
50953
50954         (__mktime_internal): Use long int to store adjusted year and yday.
50955         Use plain C rather than preprocessor commands, if that doesn't
50956         affect efficiency.
50957         Check for overflow (and try to repair) after each probe
50958         rather than checking only at the very end.  This avoids some bugs
50959         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
50960         does not equal GMT offset at maximum time).
50961         Use integer to check for overflow rather than floating point; this
50962         is more portable to non-IEEE hosts, and is a tad faster.
50963         When we detect that we are oscillating between two values,
50964         don't check whether tm_isdst has the requested value, since
50965         we already know the answer.  When tm_isdst has the wrong value,
50966         use a different heuristic to find the right one, based on the
50967         extreme values actually observed in practice in tz2003a,
50968         rather than the (overly optimistic) "previous 3 calendar quarters".
50969
50970         (not_equal_tm, print_tm, check_result): Use "const T" rather than
50971         "T const" to accommodate glibc style.
50972         (check_result): Use less-confusing report format.  "long" -> "long int.
50973         (main): Likewise.
50974         Don't loop if the iteration overflows time_t.
50975         Allow a negative step in the iteration.
50976
50977 2003-07-06  Karl Berry  <karl@gnu.org>
50978
50979         * config/depcomp: update from automake.
50980         * config/config.sub: update from prep.
50981
50982 2003-07-03  Karl Berry  <karl@gnu.org>
50983
50984         * config/config.guess: update from prep.
50985
50986 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50987
50988         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
50989         xreadlink.c now includes it unconditionally.
50990
50991 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50992
50993         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
50994         having it depend on HAVE_SYS_TYPES_H.
50995
50996 2003-07-01  Bruno Haible  <bruno@clisp.org>
50997
50998         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
50999         <sys/types.h> should be sufficient.
51000         Reported by Paul Eggert.
51001
51002 2003-06-26  Karl Berry  <karl@gnu.org>
51003
51004         * config/depcomp: update from automake.
51005
51006 2003-06-26  Bruno Haible  <bruno@clisp.org>
51007
51008         * modules/human: Depend on module stdbool.
51009
51010 2003-06-25  Bruno Haible  <bruno@clisp.org>
51011
51012         * modules/readlink: New file.
51013         * modules/xreadlink: Depend on it.
51014         * MODULES.html.sh (func_all_modules): Add readlink.
51015
51016 2003-06-25  Bruno Haible  <bruno@clisp.org>
51017
51018         * m4/readlink.m4: New file.
51019
51020 2003-06-25  Bruno Haible  <bruno@clisp.org>
51021
51022         * lib/readlink.c: New file.
51023
51024 2003-06-22  Karl Berry  <karl@gnu.org>
51025
51026         * config/srclist.txt: update mkinstalldirs from automake.
51027         * config/mkinstalldirs: update.
51028
51029 2003-06-22  Bruno Haible  <bruno@clisp.org>
51030
51031         Portability to mingw32.
51032         * m4/ssize_t.m4: New file, from GNU gettext.
51033         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
51034         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
51035
51036 2003-06-22  Bruno Haible  <bruno@clisp.org>
51037
51038         * modules/safe-read: Add m4/ssize_t.m4.
51039         * modules/xreadlink: Add m4/ssize_t.m4.
51040
51041 2003-06-20  Bruno Haible  <bruno@clisp.org>
51042
51043         Assume C89, so PARAMS isn't needed.
51044         * lib/unicodeio.h (PARAMS): Remove.
51045         * lib/unicodeio.c: Don't use PARAMS.
51046
51047 2003-06-18  Karl Berry  <karl@gnu.org>
51048
51049         * config/config.{guess,sub}: update from prep.
51050
51051 2003-06-18  Jim Meyering  <jim@meyering.net>
51052
51053         Merge changes from coreutils.
51054         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
51055         Remove explicit declarations of xmalloc and realloc.
51056         Include xalloc.h.
51057         (read_utmp): Remove anachronistic cast of xmalloc.
51058
51059 2003-06-17  Paul Eggert  <eggert@twinsun.com>
51060
51061         Assume C89, so PARAMS isn't needed.
51062         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
51063         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
51064         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
51065         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
51066         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
51067         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
51068         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
51069         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
51070         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
51071         lib/xstrtod.h, lib/xstrtol.h: Likewise.
51072         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
51073         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
51074         no longer needed. Anyway, config.h should always be included before any
51075         other file.
51076
51077 2003-06-11  Simon Josefsson  <jas@extundo.com>
51078
51079         * modules/sysexits: New file.
51080         * MODULES.html.sh (func_all_modules): Add sysexits.
51081
51082 2003-06-11  Simon Josefsson  <jas@extundo.com>
51083
51084         * lib/sysexit_.h: New file.
51085
51086 2003-06-11  Derek Price  <derek@ximbiot.com>
51087
51088         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
51089         necessary.
51090
51091 2003-06-11  Bruno Haible  <bruno@clisp.org>
51092
51093         * m4/sysexits.m4: New file.
51094
51095 2003-06-10  Simon Josefsson  <jas@extundo.com>
51096
51097         * lib/argp.h: New file, from glibc.
51098         * lib/argp-ba.c: New file, from glibc.
51099         * lib/argp-eexst.c: New file, from glibc.
51100         * lib/argp-fmtstream.c: New file, from glibc.
51101         * lib/argp-fmtstream.h: New file, from glibc.
51102         * lib/argp-fs-xinl.c: New file, from glibc.
51103         * lib/argp-help.c: New file, from glibc.
51104         * lib/argp-namefrob.h: New file, from glibc.
51105         * lib/argp-parse.c: New file, from glibc.
51106         * lib/argp-pv.c: New file, from glibc.
51107         * lib/argp-pvh.c: New file, from glibc.
51108         * lib/argp-xinl.c: New file, from glibc.
51109
51110 2003-06-10  Simon Josefsson  <jas@extundo.com>
51111
51112         * modules/strchrnul: New file.
51113
51114 2003-06-10  Simon Josefsson  <jas@extundo.com>
51115
51116         * modules/argp: New file.
51117
51118 2003-06-10  Simon Josefsson  <jas@extundo.com>
51119
51120         * m4/strchrnul.m4: New file.
51121
51122 2003-06-10  Simon Josefsson  <jas@extundo.com>
51123
51124         * lib/strchrnul.h: New file.
51125         * lib/strchrnul.c: New file.
51126
51127 2003-06-10  Bruno Haible  <bruno@clisp.org>
51128
51129         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
51130
51131 2003-06-07  Karl Berry  <karl@gnu.org>
51132
51133         * config/config.{guess,sub}: update from prep.
51134
51135 2003-06-07  Jim Meyering  <jim@meyering.net>
51136
51137         * modules/strtod: Use $(...) notation, not @...@ for
51138         AC_REPLACE'd variables.
51139         * modules/localcharset: Likewise.
51140
51141 2003-06-07  Jim Meyering  <jim@meyering.net>
51142
51143         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
51144         in place of my name in the copyright comment.
51145         Remove definition and uses of __P.
51146
51147         From coreutils.
51148         * lib/stat.c: Don't declare xmalloc explicitly.
51149         Instead, include "xalloc.h".
51150         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
51151         xrealloc, and xcalloc return values.
51152         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
51153         Improve comment.
51154         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
51155
51156 2003-06-07  Bruno Haible  <bruno@clisp.org>
51157
51158         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
51159         avoid AC_CONFIG_LINKS.
51160         * modules/fnmatch (Makefile.am): Use explicit creation rule for
51161         fnmatch.h, to avoid AC_CONFIG_LINKS.
51162         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
51163
51164 2003-06-07  Bruno Haible  <bruno@clisp.org>
51165
51166         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
51167         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
51168         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
51169         directory.
51170         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
51171         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
51172         directory.
51173
51174 2003-06-06  Jim Meyering  <jim@meyering.net>
51175
51176         Merge from coreutils.
51177         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
51178         Consolidate declarations and initializations of *_base* locals.
51179
51180         Merge from coreutils.
51181         This avoids a core dump on systems without GNU putenv,
51182         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
51183         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
51184         (unsetenv): New static function, from GNU libc.
51185         (rpl_putenv): Use it.
51186
51187         * lib/modechange.c: Remove trailing blanks.
51188
51189         Merge from coreutils.
51190         * lib/fsusage.c: Remove declaration of statfs.
51191         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
51192
51193         * lib/posixtm.c: Include <stdbool.h> unconditionally.
51194
51195 2003-06-06  Jim Meyering  <jim@meyering.net>
51196
51197         * lib/stdbool_.h: Renamed from stdbool.h.in.
51198
51199 2003-06-06  Jim Meyering  <jim@meyering.net>
51200             Bruno Haible  <bruno@clisp.org>
51201
51202         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
51203         Adjust Makefile.am snippet not to redirect directly to target.
51204         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
51205
51206 2003-06-05  Paul Eggert  <eggert@twinsun.com>
51207
51208         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
51209         mismatch, look in future quarters as well as past.  This fixes a
51210         bug when processing fall-backwards gaps immediately after a long
51211         period of daylight-saving time.
51212
51213         * lib/mktime.c: Assume freestanding C89 or better.
51214         (HAVE_LIMITS_H): Remove.  Assume it's 1.
51215         (__P): Remove; not used.
51216         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
51217         (mktime, not_equal_tm, print_tm, check_result,
51218         main): Use prototypes.  Use const * where appropriate.
51219         (main): Fix typo in testing code that uncovered by above changes.
51220         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
51221
51222 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51223
51224         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
51225         locale.h, localeconv.  This merges changes from coreutils.
51226
51227         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
51228         It can be removed after the next Autoconf is released.
51229         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
51230         needed.
51231
51232 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51233
51234         * lib/mktime.c: Fix Debian bug 177940
51235         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
51236         (localtime_offset): Now long int, not time_t, because we want it
51237         to be guaranteed to be signed.  All uses changed.
51238         (__mktime_internal): If overflow would occur when adding offset,
51239         don't add it.
51240
51241         Merge 'human' changes from coreutils.  Rewrite to support
51242         locale-specific notations like thousands separators.
51243         * lib/human.c: Simplify authorship notice.
51244         Include human.h immediately after config.h.
51245         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
51246         <limits.h>: Do not include, since human.h does.
51247         (SIZE_MAX, UINTMAX_MAX): New macros.
51248         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
51249         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
51250         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
51251         (power_letter): Renamed from suffixes.
51252         (generate_suffix_backwards): Remove.
51253         (adjust_value): Now takes int style (because of human.h changes)
51254         and long double value (for greater precision on some platforms).
51255         (group_number): New function.
51256         (human_readable): Use it.  Use integer options, not enum.
51257         Put the options before the sizes in the arg list.
51258         Support all the new options.
51259         The old human_readable function has been removed;
51260         use inttostr.h instead.
51261         (human_readable, default_block_size, humblock):
51262         Use uintmax_t, not int, for block sizes.
51263         (human_readable_inexact, block_size_types): Remove.
51264         (block_size_opts): New constant.
51265         (human_options): Renamed from human_block_size, with new signature
51266         that allows block sizes up to UINTMAX_MAX.  All callers changed.
51267         * lib/human.h: Add copyright and authorship notice.
51268         Include <limits.h> and <stdbool.h> unconditionally.
51269         (PARAMS): Remove.  All uses removed.
51270         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
51271         (enum human_inexact_style): Remove tag; now a nameless enum.
51272         (human_floor, human_ceiling, human_round_to_even): Now have
51273         values 2, 0, 1 rather than -1, 1, 0.
51274         (human_group_digits, human_suppress_point_zero, human_autoscale,
51275         human_base_1024, human_SI, human_B): New constants.
51276         (human_readable_inexact, human_block_size): Remove.
51277         (human_readable): Size args are now uintmax_t, not int.
51278         (human_options): New decl.
51279
51280         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
51281         unnecessary now that we assume C89 or better.  This change
51282         imported from coreutils.
51283
51284         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
51285         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
51286         in the 2003-05-30 sync from glibc.
51287
51288         .h files should stand alone, but we shouldn't include <sys/types.h>
51289         if we can get away with just <stddef.h>.
51290
51291         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
51292         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
51293         rather than <sys/types.h>, as we merely need size_t.
51294         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
51295         to get size_t.
51296         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
51297         Include <stdio.h>, to get FILE.
51298         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
51299         memcasecmp.h has included <stddef.h> and all we need is size_t.
51300         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
51301         our interface, instead of including <sys/types.h>
51302
51303 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51304
51305         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
51306         now, as glibc mktime is buggy on non-glibc systems.
51307
51308 2003-06-03  Karl Berry  <karl@gnu.org>
51309
51310         * config/config.sub: update from prep.
51311
51312 2003-06-02  Paul Eggert  <eggert@twinsun.com>
51313
51314         [from coreutils]
51315         Fix some minor time-related bugs with POSIX time arguments.
51316         Some valid time stamps were being rejected (notably -1, and
51317         time stamps before 1900 on 64-bit hosts).  And some invalid
51318         time stamps were being accepted, e.g. September 31.
51319
51320         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
51321         that we can return (time_t) -1 successfully.
51322         * lib/posixtm.c: Likewise.
51323         [HAVE_STDBOOL_H]: Include <stdbool.h>.
51324         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
51325         (t): Remove static var.
51326         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
51327         of static var.  All uses changed.
51328         (year): Do not reject years before 1900; they can occur with
51329         64-bit time_t.
51330         (posix_time_parse): Do not check for out-of-range components;
51331         that is now the caller's responsibility, since our checks were
51332         only approximations.
51333         (posixtime): Use mktime to check for out-of-range components,
51334         since it knows them exactly.
51335         If mktime returns (time_t) -1, check whether an error actually occurred
51336         by invoking localtime on -1.
51337         (main) [TEST_POSIXTIME]: Check for input data errors, and report
51338         posixtime failures better.
51339         Improve the test data (in comments only).
51340
51341 2003-06-02  Karl Berry  <karl@gnu.org>
51342
51343         * config/mkinstalldirs (version): new variable.
51344         (--version): new option.
51345         (usage): improve message.
51346
51347 2003-05-30  Karl Berry  <karl@gnu.org>
51348
51349         * lib/mktime.c: update from libc.
51350
51351 2003-05-30  Bruno Haible  <bruno@clisp.org>
51352
51353         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
51354         * config/config.rpath: Upgrade to gettext-0.12.1.
51355
51356 2003-05-30  Bruno Haible  <bruno@clisp.org>
51357
51358         * m4/gettext.m4: Upgrade to gettext-0.12.1.
51359         * m4/nls.m4: New file, from gettext-0.12.1.
51360         * m4/po.m4: New file, from gettext-0.12.1.
51361         * m4/progtest.m4: Upgrade to gettext-0.12.1.
51362
51363 2003-05-30  Bruno Haible  <bruno@clisp.org>
51364
51365         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
51366         * lib/localcharset.h: Likewise.
51367         * lib/localcharset.c: Likewise.
51368
51369 2003-05-29  Karl Berry  <karl@gnu.org>
51370
51371         * config/config.rpath: update from gettext.
51372
51373 2003-05-28  Paul Eggert  <eggert@twinsun.com>
51374
51375         Assume the headers required for C89 freestanding compilers.
51376         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
51377         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
51378         * m4/human.m4 (gl_HUMAN): Likewise.
51379         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
51380         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
51381         * m4/userspec.m4 (gl_USERSPEC): Likewise.
51382         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
51383         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51384         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
51385
51386 2003-05-28  Paul Eggert  <eggert@twinsun.com>
51387
51388         Assume the headers required for C89 freestanding compilers.
51389         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
51390         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
51391         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
51392         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
51393         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
51394         define, since <limits.h> is guaranteed to do that.
51395         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
51396         * lib/exclude.c: Include <stdbool.h> unconditionally.
51397         * lib/tempname.c: Include <stddef.h> unconditionally.
51398         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
51399         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
51400         <stddef.h> does that.
51401         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
51402         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
51403         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
51404         needed.
51405         * lib/xstrtol.c: Likewise.
51406         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
51407         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
51408
51409         * lib/addext.c (addext): Use assignment rather than cast, to avoid
51410         warnings on some platforms.
51411
51412         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
51413         arbitrarily.
51414
51415 2003-05-26  Jim Meyering  <jim@meyering.net>
51416
51417         Merge in a change from coreutils:
51418         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
51419         that is guaranteed to be `no'.  Use `no_such_member' to indicate
51420         that condition, rather than `-1' which is slightly misleading.
51421         Change the name of the cache variable to have the gl_ prefix.
51422         Prompted by a patch from Richard Dawe for DJGPP.
51423
51424 2003-05-24  Karl Berry  <karl@gnu.org>
51425
51426         * config/config.guess: update from prep.
51427
51428 2003-05-22  Karl Berry  <karl@gnu.org>
51429
51430         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
51431
51432 2003-05-20  Karl Berry  <karl@gnu.org>
51433
51434         * config/config.guess: update from prep.
51435
51436 2003-05-18  Karl Berry  <karl@gnu.org>
51437
51438         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
51439         might actually be set by the user.
51440
51441         * config/depcomp, install-sh, mdate-sh: update from automake.
51442
51443 2003-05-17  Bruno Haible  <bruno@clisp.org>
51444
51445         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
51446         invalid expansion for AC_EGREP_CPP.
51447         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
51448         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
51449         Suggested by Akim Demaille <akim@epita.fr> in
51450         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
51451
51452 2003-05-12  Jim Meyering  <jim@meyering.net>
51453
51454         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
51455         the space-padded-by-default conversion specifiers, %e, %k, %l.
51456
51457 2003-05-12  Bruno Haible  <bruno@clisp.org>
51458
51459         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
51460         the string is longer than 4 KB.
51461
51462 2003-05-11  Karl Berry  <karl@gnu.org>
51463
51464         * config/config.{guess,sub}: update from prep.
51465
51466 2003-05-09  Bruno Haible  <bruno@clisp.org>
51467
51468         * modules/error: Add m4/strerror_r.m4 to file list.
51469
51470 2003-05-03  Bruno Haible  <bruno@clisp.org>
51471
51472         Upgrade to Unicode-4.0.
51473         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
51474         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
51475         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
51476         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
51477         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
51478         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
51479         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
51480         Change width of U+E0100..U+E01EF from 1 to 0.
51481
51482 2003-04-25  Jim Meyering  <jim@meyering.net>
51483
51484         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
51485         of type size_t, not int.
51486
51487 2003-04-25  Bruno Haible  <bruno@clisp.org>
51488
51489         * lib/copy-file.c: Include <stddef.h>, for size_t.
51490
51491 2003-04-21  Paul Eggert  <eggert@twinsun.com>
51492
51493         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
51494         code which expansion is under static control.  Patch imported from
51495         Akim Demaille's patch to Bison; see
51496         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
51497
51498 2003-04-14  Bruno Haible  <bruno@clisp.org>
51499
51500         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
51501
51502 2003-04-11  Jim Meyering  <jim@meyering.net>
51503
51504         Merge changes from Coreutils.
51505
51506         2003-03-22  Jim Meyering  <jim@meyering.net>
51507
51508         * lib/strftime.c (widen): Cast alloca return value to proper type.
51509
51510         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
51511
51512         From GNU libc.
51513         * lib/strftime.c (my_strftime): Handle very large width
51514         specifications for numeric values correctly.  Improve checks for
51515         overflow.
51516
51517         2003-01-19  Jim Meyering  <jim@meyering.net>
51518
51519         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
51520         definitions.
51521         (nl_get_alt_digit) [! defined my_strftime]: Define.
51522         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
51523         _nl_get_alt_digit and _nl_get_walt_digit.
51524
51525         * lib/strftime.c (my_strftime): Merge in locale-related changes from
51526         libc. These changes have no effect outside of _LIBC.
51527
51528 2003-04-10  Bruno Haible  <bruno@clisp.org>
51529
51530         * modules/findprog: New file.
51531         * MODULES.html.sh (func_all_modules): Add it.
51532
51533 2003-04-10  Bruno Haible  <bruno@clisp.org>
51534
51535         * m4/findprog.m4: New file.
51536         * m4/eaccess.m4: New file.
51537
51538 2003-04-10  Bruno Haible  <bruno@clisp.org>
51539
51540         * lib/findprog.h: New file, from GNU gettext.
51541         * lib/findprog.c: New file, from GNU gettext.
51542
51543 2003-04-05  Jim Meyering  <jim@meyering.net>
51544
51545         Merge changes from Coreutils.
51546
51547         * lib/exclude.h (PARAMS): Remove definition and uses.
51548         * lib/exclude.c: Remove uses of `PARAMS'.
51549
51550         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
51551         Add test-cases for DOS filenames. Declare program_name.
51552         (main): Set up program_name.  Patch by Rich Dawe.
51553
51554         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
51555         error from mntctl.
51556         Use mntctl's return value to drive the entry-processing loop, since
51557         we can't rely on the value of the vmt_length member in the last
51558         entry.  On some systems doing so could result in exhausting
51559         virtual memory.  Based in part on a patch from Mike Jetzer.
51560
51561 2003-04-04  Bruno Haible  <bruno@clisp.org>
51562
51563         * modules/linebreak: New file.
51564         * MODULES.html.sh (func_all_modules): Add it.
51565
51566 2003-04-04  Bruno Haible  <bruno@clisp.org>
51567
51568         * m4/linebreak.m4: New file.
51569
51570 2003-04-04  Bruno Haible  <bruno@clisp.org>
51571
51572         * lib/linebreak.h: New file, from GNU gettext.
51573         * lib/linebreak.c: New file, from GNU gettext with slight
51574         modifications.
51575         * lib/lbrkprop.h: New file, from GNU gettext.
51576
51577 2003-04-03  Bruno Haible  <bruno@clisp.org>
51578
51579         * modules/utf8-ucs4: New file.
51580         * modules/utf16-ucs4: New file.
51581         * modules/ucs4-utf8: New file.
51582         * modules/ucs4-utf16: New file.
51583         * MODULES.html.sh (func_all_modules): Add them.
51584
51585 2003-04-03  Bruno Haible  <bruno@clisp.org>
51586
51587         * m4/utf-ucs4.m4: New file.
51588         * m4/ucs4-utf.m4: New file.
51589
51590 2003-04-03  Bruno Haible  <bruno@clisp.org>
51591
51592         * lib/utf8-ucs4.h: New file, from GNU gettext.
51593         * lib/utf16-ucs4.h: New file, from GNU gettext.
51594         * lib/ucs4-utf8.h: New file, from GNU gettext.
51595         * lib/ucs4-utf16.h: New file, from GNU gettext.
51596
51597 2003-04-02  Bruno Haible  <bruno@clisp.org>
51598
51599         * modules/binary-io: New file.
51600         * MODULES.html.sh (func_all_modules): Add it.
51601
51602 2003-04-02  Bruno Haible  <bruno@clisp.org>
51603
51604         * lib/binary-io.h: New file, from GNU gettext.
51605
51606 2003-04-01  Bruno Haible  <bruno@clisp.org>
51607
51608         * modules/pathname: New file.
51609         * MODULES.html.sh (func_all_modules): Add it.
51610
51611 2003-04-01  Bruno Haible  <bruno@clisp.org>
51612
51613         * lib/pathname.h: New file, from GNU gettext.
51614         * lib/concatpath.c: New file, from GNU gettext.
51615
51616 2003-03-30  Bruno Haible  <bruno@clisp.org>
51617
51618         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
51619
51620 2003-03-30  Bruno Haible  <bruno@clisp.org>
51621
51622         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
51623         function chown() doesn't exist.
51624
51625 2003-03-28  Bruno Haible  <bruno@clisp.org>
51626
51627         * modules/copy-file: New file.
51628         * MODULES.html.sh (func_all_modules): Add it.
51629
51630 2003-03-28  Bruno Haible  <bruno@clisp.org>
51631
51632         * m4/copy-file.m4: New file.
51633
51634 2003-03-28  Bruno Haible  <bruno@clisp.org>
51635
51636         * lib/copy-file.h: New file, from GNU gettext.
51637         * lib/copy-file.c: New file, from GNU gettext.
51638
51639 2003-03-18  Jim Meyering  <jim@meyering.net>
51640
51641         * lib/quote.c (quote_n): Fix typo in comment.
51642
51643 2003-03-18  Bruno Haible  <bruno@clisp.org>
51644
51645         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
51646         checking.
51647         * m4/onceonly_2_57.m4: Likewise.
51648
51649 2003-03-17  Bruno Haible  <bruno@clisp.org>
51650
51651         * m4/onceonly.m4: Require autoconf 2.54 or newer.
51652         (m4_quote): Remove macro.
51653         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
51654
51655 2003-03-14  Jim Meyering  <jim@meyering.net>
51656
51657         Merge changes from Coreutils.
51658         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
51659         to be const, in order to avoid warnings.
51660         (obstack_room): Likewise.
51661         (obstack_empty_p): Likewise.
51662
51663 2003-03-14  Bruno Haible  <bruno@clisp.org>
51664
51665         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
51666         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
51667
51668 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51669
51670         Merge changes from Bison.
51671         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
51672         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
51673         when compiling Bison 1.875's `bitset bset = obstack_alloc
51674         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
51675         * lib/hash.c: Include <stdbool.h> unconditionally.
51676
51677 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51678
51679         * m4/onceonly.m4 (m4_quote): New macro.
51680         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
51681         Quote AC_FOREACH variable-expansions properly.
51682
51683 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51684
51685         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
51686
51687 2003-03-09  Paul Eggert  <eggert@twinsun.com>
51688
51689         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
51690         Reported by Bruce Becker; see:
51691         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
51692
51693 2003-03-03  Paul Eggert  <eggert@twinsun.com>
51694             Bruno Haible  <bruno@clisp.org>
51695
51696         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
51697         Reported by John Hughes, see
51698         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
51699
51700 2003-02-20  Bruno Haible  <bruno@clisp.org>
51701
51702         * MODULES.html.sh (func_all_modules): Add poll.
51703
51704 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51705
51706         * modules/poll: New file.
51707
51708 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51709
51710         * lib/poll_.h: New file.
51711         * lib/poll.c: New file.
51712
51713 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51714
51715         * m4/poll.m4: New file.
51716
51717 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51718
51719         * modules/mathl: New file.
51720
51721 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51722
51723         * lib/mathl.h: New file.
51724         * lib/acosl.c: New file.
51725         * lib/asinl.c: New file.
51726         * lib/atanl.c: New file.
51727         * lib/ceill.c: New file.
51728         * lib/cosl.c: New file.
51729         * lib/expl.c: New file.
51730         * lib/floorl.c: New file.
51731         * lib/frexpl.c: New file.
51732         * lib/ldexpl.c: New file.
51733         * lib/logl.c: New file.
51734         * lib/sincosl.c: New file.
51735         * lib/sinl.c: New file.
51736         * lib/sqrtl.c: New file.
51737         * lib/tanl.c: New file.
51738         * lib/trigl.c: New file.
51739         * lib/trigl.h: New file.
51740
51741 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51742
51743         * m4/mathl.m4: New file.
51744
51745 2003-02-18  Bruno Haible  <bruno@clisp.org>
51746
51747         * MODULES.html.sh (func_all_modules): Add mathl.
51748
51749 2003-02-17  Bruno Haible  <bruno@clisp.org>
51750
51751         * modules/mkdtemp: New module.
51752         * MODULES.html.sh (func_all_modules): Add it.
51753
51754 2003-02-17  Bruno Haible  <bruno@clisp.org>
51755
51756         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
51757
51758 2003-02-17  Bruno Haible  <bruno@clisp.org>
51759
51760         * lib/mkdtemp.h: New file, from GNU gettext.
51761         * lib/mkdtemp.c: New file, from GNU gettext.
51762
51763 2003-02-02  Jim Meyering  <jim@meyering.net>
51764
51765         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
51766         e.g. glibc-2.2.93.
51767
51768 2003-01-31  Bruno Haible  <bruno@clisp.org>
51769
51770         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
51771         'rpl_rename'.
51772         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
51773         'rpl_strnlen'.
51774         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
51775         'rpl_strtod'.
51776         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
51777         'rpl_utime'.
51778
51779 2003-01-31  Bruno Haible  <bruno@clisp.org>
51780
51781         * lib/rename.c: #undef rename before defining rpl_rename.
51782         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
51783
51784 2003-01-30  Bruno Haible  <bruno@clisp.org>
51785
51786         * modules/vasnprintf, modules/vasprintf: New modules.
51787         * MODULES.html.sh (func_all_modules): Add them.
51788
51789 2003-01-30  Bruno Haible  <bruno@clisp.org>
51790
51791         * m4/signed.m4: New file, from GNU gettext.
51792         * m4/longdouble.m4: New file, from GNU gettext.
51793         * m4/wchar_t.m4: New file, from GNU gettext.
51794         * m4/wint_t.m4: New file, from GNU gettext.
51795         * m4/vasnprintf.m4: New file.
51796         * m4/vasprintf.m4: New file.
51797
51798 2003-01-30  Bruno Haible  <bruno@clisp.org>
51799
51800         * lib/printf-args.h: New file, from GNU gettext.
51801         * lib/printf-args.c: New file, from GNU gettext.
51802         * lib/printf-parse.h: New file, from GNU gettext.
51803         * lib/printf-parse.c: New file, from GNU gettext.
51804         * lib/vasnprintf.h: New file, from GNU gettext.
51805         * lib/vasnprintf.c: New file, from GNU gettext.
51806         * lib/asnprintf.c: New file, from GNU gettext.
51807         * lib/vasprintf.h: New file, from GNU gettext with modifications.
51808         * lib/vasprintf.c: New file, from GNU gettext.
51809         * lib/asprintf.c: New file, from GNU gettext.
51810
51811 2003-01-29  Bruno Haible  <bruno@clisp.org>
51812
51813         * modules/stpncpy: New module.
51814         * MODULES.html.sh (func_all_modules): Add it.
51815
51816 2003-01-29  Bruno Haible  <bruno@clisp.org>
51817
51818         * m4/stpncpy.m4: New file.
51819
51820 2003-01-29  Bruno Haible  <bruno@clisp.org>
51821
51822         * lib/stpncpy.h: New file, from GNU gettext with modifications.
51823         * lib/stpncpy.c: New file, from GNU gettext with modifications.
51824
51825 2003-01-28  Bruno Haible  <bruno@clisp.org>
51826
51827         * modules/c-ctype: New module.
51828         * MODULES.html.sh (func_all_modules): Add it.
51829
51830 2003-01-28  Bruno Haible  <bruno@clisp.org>
51831
51832         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
51833         Paul Eggert.
51834         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
51835         Paul Eggert.
51836
51837 2003-01-27  Bruno Haible  <bruno@clisp.org>
51838
51839         * modules/xsetenv: New module.
51840         * MODULES.html.sh (func_all_modules): Add it.
51841
51842 2003-01-27  Bruno Haible  <bruno@clisp.org>
51843
51844         * lib/xsetenv.h: New file, from GNU gettext.
51845         * lib/xsetenv.c: New file, from GNU gettext.
51846
51847 2003-01-23  Jim Meyering  <jim@meyering.net>
51848
51849         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
51850         from working on systems without dirfd (at least Irix and OSF1/Tru64).
51851
51852 2003-01-23  Bruno Haible  <bruno@clisp.org>
51853
51854         * modules/minmax: New module.
51855         * MODULES.html.sh (func_all_modules): Add it.
51856
51857 2003-01-23  Bruno Haible  <bruno@clisp.org>
51858
51859         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
51860         Eggert.
51861
51862 2003-01-22  Bruno Haible  <bruno@clisp.org>
51863
51864         * modules/exit: New module.
51865         * MODULES.html.sh (func_all_modules): Add it.
51866
51867 2003-01-22  Bruno Haible  <bruno@clisp.org>
51868
51869         * lib/exit.h: New file, from GNU gettext.
51870
51871 2003-01-19  Bruno Haible  <bruno@clisp.org>
51872
51873         * gnulib-tool: Recognize option --extract-maintainer.
51874         (func_get_maintainer): New function.
51875         * modules/*: Add Maintainer entry.
51876
51877 2003-01-16  Jim Meyering  <jim@meyering.net>
51878
51879         * m4/regex.m4: The `regex' struct is both input and output.
51880         Initialize it before each use.  Patch by Tim Waugh.
51881
51882 2003-01-16  Bruno Haible  <bruno@clisp.org>
51883
51884         * MODULES.html.sh: Add a table of contents. Add the module name as
51885         leftmost column. Add hyperlinks.
51886
51887 2003-01-15  Bruno Haible  <bruno@clisp.org>
51888
51889         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
51890
51891 2003-01-15  Bruno Haible  <bruno@clisp.org>
51892
51893         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
51894         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
51895         suffix.
51896
51897 2003-01-15  Bruno Haible  <bruno@clisp.org>
51898
51899         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
51900
51901 2003-01-15  Bruno Haible  <bruno@clisp.org>
51902
51903         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
51904         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
51905
51906 2003-01-14  Jim Meyering  <jim@meyering.net>
51907
51908         * lib/same.c (same_name): Tweak a comment.
51909
51910 2003-01-14  Bruno Haible  <bruno@clisp.org>
51911
51912         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
51913         when a string comparison is sufficient.
51914
51915 2003-01-14  Bruno Haible  <bruno@clisp.org>
51916
51917         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
51918         'unsigned int'.
51919
51920 2003-01-14  Bruno Haible  <bruno@clisp.org>
51921
51922         * lib/hash-pjw.c: Add comment about low quality of this function.
51923
51924 2003-01-13  Bruno Haible  <bruno@clisp.org>
51925
51926         * modules/stpcpy: Distribute lib/stpcpy.h.
51927         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
51928
51929 2003-01-13  Bruno Haible  <bruno@clisp.org>
51930
51931         * modules/*: Add a description.
51932         * modules/strpbrk: Fix Makefile.am snippet.
51933         * modules/strtoimax: Fix dependencies.
51934         * modules/strtoumax: Likewise.
51935
51936 2003-01-13  Bruno Haible  <bruno@clisp.org>
51937
51938         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
51939         * modules/alloca (Makefile.am): All object files depend on alloca.h.
51940         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
51941
51942 2003-01-13  Bruno Haible  <bruno@clisp.org>
51943
51944         * gnulib-tool (func_create_testdir): Store config/* files in the main
51945         directory.
51946         * config.rpath: Move to ...
51947         * config/config.rpath: ... here.
51948         * modules/gettext: Contains config/config.rpath, not config.rpath.
51949         * modules/iconv: Likewise.
51950
51951 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51952
51953         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51954         to avoid collisions with libcurses and libreadline.
51955
51956         * m4/getstr.m4: Remove.
51957         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
51958
51959 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51960
51961         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51962         to avoid collisions with libcurses and libreadline.
51963
51964         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
51965         * lib/getstr.h, getstr.c: Remove.
51966         * lib/getline.c: Include "getline.h", to check interface.
51967         Move body of old getstr.c here: this defines MIN_CHUNK and
51968         declares getdelim2, which is renamed from getstr.
51969         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
51970
51971         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
51972         All uses changed.
51973         * lib/linebuffer.h: Likewise.
51974         (readline): Remove backward-compatibility macro.
51975
51976 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51977
51978         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51979         to avoid collisions with libcurses and libreadline.
51980         * getstr: Remove.
51981         * MODULES.html.sh: Remove getstr.
51982         * modules/getline: Depend on unlocked-io, not getstr.
51983
51984 2003-01-12  Jim Meyering  <jim@meyering.net>
51985
51986         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
51987
51988 2003-01-10  Bruno Haible  <bruno@clisp.org>
51989
51990         * modules/alloca: Change Makefile.am requirements. Simplify Include
51991         requirements. Add lib/alloca_.h to file list.
51992
51993 2003-01-10  Bruno Haible  <bruno@clisp.org>
51994
51995         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
51996
51997 2003-01-10  Bruno Haible  <bruno@clisp.org>
51998
51999         * lib/alloca_.h: New file.
52000         * lib/getdate.y: Unconditionally include alloca.h.
52001         * lib/makepath.c: Likewise.
52002         * lib/setenv.c: Likewise.
52003         * lib/userspec.c: Likewise.
52004
52005 2003-01-09  Karl Berry  <karl@gnu.org>
52006
52007         * MODULES.html.sh: include `dirname $0` in PATH, to find
52008         gnulib-tool.
52009
52010 2003-01-09  Bruno Haible  <bruno@clisp.org>
52011
52012         * modules/stdbool: Change configure.ac, Makefile.am requirements.
52013         Simplify Include requirements. Add lib/stdbool.h.in to file list.
52014
52015 2003-01-09  Bruno Haible  <bruno@clisp.org>
52016
52017         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
52018
52019 2003-01-09  Bruno Haible  <bruno@clisp.org>
52020
52021         * lib/stdbool.h.in: New file.
52022
52023 2003-01-09  Bruno Haible  <bruno@clisp.org>
52024
52025         * gnulib-tool (func_all_modules): Ignore files ending in ~.
52026         * MODULES.html.sh: Likewise.
52027
52028 2003-01-08  Jim Meyering  <jim@meyering.net>
52029
52030         * lib/full-write.c: Undefine and define-away `const' after inclusion
52031         of errno.h, not before.  Suggestion from Bruno Haible.
52032
52033 2003-01-08  Bruno Haible  <bruno@clisp.org>
52034
52035         * modules/full-read: Depend on full-write.
52036
52037 2003-01-08  Bruno Haible  <bruno@clisp.org>
52038
52039         * lib/safe-read.c: Include specification header first, to ensure its
52040         selfcontainedness.
52041         * lib/full-write.c: Likewise.
52042
52043 2003-01-07  Jim Meyering  <jim@meyering.net>
52044
52045         * lib/full-write.c: Rework so that it may serve to define full_read,
52046         too.
52047         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
52048
52049 2003-01-07  Bruno Haible  <bruno@clisp.org>
52050
52051         * lib/strtoimax.c: Include <stdint.h> as an alternative to
52052         <inttypes.h>.
52053         * lib/xstrtol.h: Likewise.
52054         * lib/xstrtoimax.c: Likewise.
52055         * lib/xstrtoumax.c: Likewise.
52056         * lib/human.h: Likewise.
52057
52058         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
52059         on systems that have <inttypes.h> but not <stdint.h>.
52060
52061 2003-01-07  Bruno Haible  <bruno@clisp.org>
52062
52063         * MODULES.html.sh: Add copyright notice.
52064         (missed_files): Omit CVS directory entries.
52065         (func_module): Make it work with sed-3.02.
52066         * MODULES.txt: Remove file.
52067
52068 2003-01-06  Jim Meyering  <jim@meyering.net>
52069
52070         * lib/version-etc.c: Update year in translatable copyright string.
52071
52072 2003-01-03  Karl Berry  <karl@gnu.org>
52073
52074         * config/config.{guess,sub}: update from prep.
52075
52076 2003-01-02  Karl Berry  <karl@gnu.org>
52077
52078         * doc/COPYING.DOC: belatedly updated to 1.2.
52079
52080 2003-01-01  Karl Berry  <karl@gnu.org>
52081
52082         * gnulib-tool (func_verify_module): report module name $module in
52083         error message, not $1.
52084         * gnulib-tool (create-testdir): don't complain if destdir couldn't
52085         be created, only if it doesn't exist.
52086         * gnulib-tool (last_checkin_date): don't expand the $Date here.
52087
52088 2002-12-31  Paul Eggert  <eggert@twinsun.com>
52089
52090         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
52091
52092 2002-12-31  Paul Eggert  <eggert@twinsun.com>
52093
52094         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
52095         memcmp if strcoll doesn't work.
52096
52097 2002-12-31  Bruno Haible  <bruno@clisp.org>
52098
52099         * lib/utime.c (utime_null): No need to call ftruncate if the file was
52100         nonempty.
52101
52102 2002-12-31  Bruno Haible  <bruno@clisp.org>
52103
52104         * lib/memcoll.c (STRCOLL): New macro.
52105         (memcoll): Use it.
52106
52107 2002-12-31  Bruno Haible  <bruno@clisp.org>
52108
52109         * lib/localcharset.h: New file.
52110         * lib/localcharset.c: Include it.
52111         * lib/unicodeio.c: Likewise.
52112
52113 2002-12-31  Bruno Haible  <bruno@clisp.org>
52114
52115         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
52116         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
52117
52118 2002-12-31  Bruno Haible  <bruno@clisp.org>
52119
52120         * lib/getline.h: Include <stddef.h>, for size_t.
52121
52122         * lib/unicodeio.h: Include <stddef.h>, for size_t.
52123         * lib/unicodeio.c: Don't include <stddef.h>.
52124
52125 2002-12-31  Bruno Haible  <bruno@clisp.org>
52126
52127         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
52128         HAVE_TM_ZONE.
52129
52130 2002-12-24  Karl Berry  <karl@gnu.org>
52131
52132         * config/config.guess: update from prep.
52133
52134 2002-12-24  Bruno Haible  <bruno@clisp.org>
52135
52136         General infrasructure.
52137         * m4/README: Rewritten.
52138         * m4/onceonly.m4: New file.
52139         * m4/onceonly_2_57.m4: New file.
52140
52141         Module atexit.
52142         * m4/atexit.m4: New file.
52143
52144         Module strtod.
52145         * m4/strtod.m4: New file.
52146
52147         Module strtol.
52148         * m4/strtol.m4: New file.
52149
52150         Module strtoul.
52151         * m4/strtoul.m4: New file.
52152
52153         Module memchr.
52154         * m4/memchr.m4: New file.
52155
52156         Module memcmp.
52157         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
52158         (jm_FUNC_MEMCMP): Invoke it.
52159
52160         Module memcpy.
52161         * m4/memcpy.m4: New file.
52162
52163         Module memmove.
52164         * m4/memmove.m4: New file.
52165
52166         Module memset.
52167         * m4/memset.m4: New file.
52168
52169         Module strcspn.
52170         * m4/strcspn.m4: New file.
52171
52172         Module strpbrk.
52173         * m4/strpbrk.m4: New file.
52174
52175         Module strstr.
52176         * m4/strstr.m4: New file.
52177
52178         Module strerror.
52179         * m4/strerror.m4: New file.
52180
52181         Module mktime.
52182         * m4/mktime.m4: Renamed from jm-mktime.m4.
52183         (gl_PREREQ_MKTIME): New macro.
52184         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
52185
52186         Module malloc.
52187         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
52188         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
52189         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
52190
52191         Module realloc.
52192         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
52193         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
52194         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
52195
52196         Module strftime.
52197         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
52198         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
52199         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
52200         gl_TM_GMTOFF.
52201         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
52202
52203         Module xalloc.
52204         * m4/xalloc.m4: New file.
52205
52206         Module alloca.
52207         * m4/alloca.m4: New file.
52208
52209         Module putenv.
52210         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
52211         (jm_FUNC_PUTENV): Invoke it.
52212
52213         Module setenv.
52214         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
52215         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
52216         when invoked twice.
52217         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
52218         gt_FUNC_SETENV.
52219
52220         Module memrchr.
52221         * m4/memrchr.m4: New file.
52222
52223         Module stpcpy.
52224         * m4/stpcpy.m4: New file.
52225
52226         Module strcase.
52227         * m4/strcase.m4: New file.
52228
52229         Module strdup.
52230         * m4/strdup.m4: New file.
52231
52232         Module strnlen.
52233         * m4/strnlen.m4: New file.
52234
52235         Module strndup.
52236         * m4/strndup.m4: New file.
52237
52238         Module xstrtod.
52239         * m4/xstrtod.m4: New file.
52240
52241         Module xstrtol.
52242         * m4/xstrtol.m4: New file.
52243
52244         Module getdate.
52245         * m4/getdate.m4: New file.
52246
52247         Module unlocked-io.
52248         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
52249         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
52250         * m4/jm-glibc-io.m4n: Remove file.
52251
52252         Module long-options.
52253         * m4/long-options.m4: New file.
52254
52255         Module md5.
52256         * m4/md5.m4: New file.
52257
52258         Module sha.
52259         * m4/sha.m4: New file.
52260
52261         Module getstr.
52262         * m4/getstr.m4: New file.
52263
52264         Module getline.
52265         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
52266         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
52267         <sys/types.h>, for size_t. Use the function name gnu_getline, not
52268         simply getline. Infoke gl_PREREQ_GETLINE.
52269
52270         Module obstack.
52271         * m4/obstack.m4: New file.
52272
52273         Module hash.
52274         * m4/hash.m4: New file.
52275
52276         Module readtokens.
52277         * m4/readtokens.m4: New file.
52278
52279         Module strverscmp.
52280         * m4/strverscmp.m4: New file.
52281
52282         Module stdbool.
52283         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
52284         OSF/1.
52285
52286         Module strtoll.
52287         * m4/strtoll.m4: New file.
52288
52289         Module strtoull.
52290         * m4/strtoull.m4: New file.
52291
52292         Module strtoimax.
52293         * m4/strtoimax.m4: New file.
52294
52295         Module strtoumax.
52296         * m4/strtoumax.m4: New file.
52297
52298         Module xstrtoimax.
52299         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
52300         jm_AC_PREREQ_XSTRTOIMAX.
52301         Moved the strtol prerequisites to strtol.m4.
52302         Moved the strtoll prerequisites to strtoll.m4.
52303         Moved the strtoimax prerequisites to strtoimax.m4.
52304
52305         Module xstrtoumax.
52306         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
52307         jm_AC_PREREQ_XSTRTOUMAX.
52308         Moved the strtoul prerequisites to strtoul.m4.
52309         Moved the strtoull prerequisites to strtoull.m4.
52310         Moved the strtoumax prerequisites to strtoumax.m4.
52311
52312         Module chown.
52313         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
52314         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
52315
52316         Module dup2.
52317         * m4/dup2.m4: New file.
52318
52319         Module ftruncate.
52320         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
52321         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
52322
52323         Module getgroups.
52324         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
52325         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
52326
52327         Module gettimeofday.
52328         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
52329         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
52330         gl_PREREQ_GETTIMEOFDAY.
52331
52332         Module mkdir.
52333         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
52334         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
52335
52336         Module mkstemp.
52337         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
52338         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
52339         jm_AC_TYPE_UINTMAX_T.
52340         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
52341
52342         Module stat.
52343         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
52344         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
52345
52346         Module lstat.
52347         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
52348         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
52349
52350         Module timespec.
52351         * m4/timespec.m4 (gl_TIMESPEC): New macro.
52352         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
52353         * m4/st_mtim.m4: Indentation.
52354
52355         Module nanosleep.
52356         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
52357         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
52358         gl_PREREQ_NANOSLEEP.
52359
52360         Module regex.
52361         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
52362         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
52363         (gl_REGEX): New macro.
52364
52365         Module rename.
52366         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
52367         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
52368
52369         Module rmdir.
52370         * m4/rmdir.m4: New file.
52371
52372         Module utime.
52373         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
52374         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
52375         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
52376
52377         Module dirname.
52378         * m4/dirname.m4: New file.
52379
52380         Module getopt.
52381         * m4/getopt.m4: New file.
52382
52383         Module unistd-safer.
52384         * m4/unistd-safer.m4: New file.
52385
52386         Module fnmatch.
52387         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
52388         declaration.
52389         (gl_PREREQ_FNMATCH_EXTRA): New macro.
52390         (gl_FUNC_FNMATCH_POSIX): New macro.
52391         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
52392         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
52393         simply fnmatch.
52394
52395         Module exclude.
52396         * m4/exclude.m4: New file.
52397
52398         Module human.
52399         * m4/human.m4: New file.
52400
52401         Module acl.
52402         * m4/acl.m4: Nop.
52403
52404         Module backupfile.
52405         * m4/backupfile.m4: New file.
52406         * m4/d-ino.m4: Indentation.
52407
52408         Module fsusage.
52409         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
52410         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
52411         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
52412
52413         Module dirfd.
52414         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
52415         requirements.
52416
52417         Module euidaccess.
52418         * m4/euidaccess.m4: New file.
52419
52420         Module file-type.
52421         * m4/file-type.m4: New file.
52422
52423         Module fileblocks.
52424         * m4/fileblocks.m4: New file.
52425
52426         Module filemode.
52427         * m4/filemode.m4: New file.
52428
52429         Module isdir.
52430         * m4/isdir.m4: New file.
52431
52432         Module lchown.
52433         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
52434         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
52435
52436         Module makepath.
52437         * m4/makepath.m4: New file.
52438
52439         Module modechange.
52440         * m4/modechange.m4: New file.
52441
52442         Module mountlist.
52443         * m4/mountlist.m4: New file.
52444         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
52445         Indentation.
52446
52447         Module path-concat.
52448         * m4/path-concat.m4: New file.
52449
52450         Module pathmax.
52451         * m4/pathmax.m4: New file.
52452
52453         Module same.
52454         * m4/same.m4: New file.
52455
52456         Module save-cwd.
52457         * m4/save-cwd.m4: New file.
52458
52459         Module savedir.
52460         * m4/savedir.m4: New file.
52461
52462         Module xgetcwd.
52463         * m4/xgetcwd.m4: New file.
52464         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
52465
52466         Module xreadlink.
52467         * m4/xreadlink.m4: New file.
52468
52469         Module safe-read.
52470         * m4/safe-read.m4: New file.
52471
52472         Module safe-write.
52473         * m4/safe-write.m4: New file.
52474
52475         Module closeout.
52476         * m4/closeout.m4: New file.
52477
52478         Module stdio-safer.
52479         * m4/stdio-safer.m4: New file.
52480
52481         Module getpass.
52482         * m4/getpass.m4: New file.
52483
52484         Module getugroups.
52485         * m4/getugroups.m4: New file.
52486
52487         Module group-member.
52488         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
52489         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
52490
52491         Module idcache.
52492         * m4/idcache.m4: New file.
52493
52494         Module userspec.
52495         * m4/userspec.m4: New file.
52496
52497         Module gettime.
52498         * m4/clock_time.m4: New file.
52499         * m4/gettime.m4: New file.
52500
52501         Module settime.
52502         * m4/settime.m4: New file.
52503
52504         Module posixtm.
52505         * m4/posixtm.m4: New file.
52506
52507         Module gethostname.
52508         * m4/gethostname.m4: New file.
52509
52510         Module canon-host.
52511         * m4/canon-host.m4: New file.
52512
52513         Module gettext.
52514         * m4/codeset.m4: New file, from gettext-0.11.5.
52515         * m4/gettext.m4: New file, from gettext-0.11.5.
52516         * m4/glibc21.m4: New file, from gettext-0.11.5.
52517         * m4/iconv.m4: New file, from gettext-0.11.5.
52518         * m4/intdiv0.m4: New file, from gettext-0.11.5.
52519         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
52520         * m4/inttypes.m4: New file, from gettext-0.11.5.
52521         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
52522         * m4/isc-posix.m4: New file, from gettext-0.11.5.
52523         * m4/lcmessage.m4: New file, from gettext-0.11.5.
52524         * m4/lib-ld.m4: New file, from gettext-0.11.5.
52525         * m4/lib-link.m4: New file, from gettext-0.11.5.
52526         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
52527         * m4/progtest.m4: New file, from gettext-0.11.5.
52528         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
52529         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
52530         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
52531
52532         Module localcharset.
52533         * m4/localcharset.m4: New file.
52534
52535         Module hard-locale.
52536         * m4/hard-locale.m4: New file.
52537
52538         Module mbswidth.
52539         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
52540         onceonly macros.
52541         * m4/mbrtowc.m4: Add comment.
52542
52543         Module memcasecmp.
52544         * m4/memcasecmp.m4: New file.
52545
52546         Module memcoll.
52547         * m4/memcoll.m4: New file.
52548
52549         Module unicodeio.
52550         * m4/unicodeio.m4: New file.
52551
52552         Module rpmatch.
52553         * m4/rpmatch.m4: New file.
52554
52555         Module yesno.
52556         * m4/yesno.m4: New file.
52557
52558         Module exitfail.
52559         * m4/exitfail.m4: New file.
52560
52561         Module c-stack.
52562         * m4/c-stack.m4 (gl_C_STACK): New macro.
52563         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
52564
52565         Module error.
52566         * m4/error.m4 (gl_ERROR): New macro.
52567         (jm_PREREQ_ERROR): Use onceonly macros.
52568
52569         Module fatal.
52570         * m4/fatal.m4: New file.
52571
52572         Module getloadavg.
52573         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
52574         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
52575
52576         Module getpagesize.
52577         * m4/getpagesize.m4: New file.
52578
52579         Module getusershell.
52580         * m4/getusershell.m4: New file.
52581
52582         Module physmem.
52583         * m4/physmem.m4: New file.
52584
52585         Module posixver.
52586         * m4/posixver.m4: New file.
52587
52588         Module quotearg.
52589         * m4/quotearg.m4: New file.
52590
52591         Module quote.
52592         * m4/quote.m4: New file.
52593
52594         Module readutmp.
52595         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
52596
52597         Module sig2str.
52598         * m4/sig2str.m4: New file.
52599
52600         Other.
52601         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
52602         ulonglong.m4.
52603         * m4/intmax_t.m4: New file.
52604         * m4/d-type.m4: Indentation.
52605         * m4/jm-macros.m4: Update.
52606         * m4/prereq.m4 (jm_PREREQ): Update.
52607         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
52608         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
52609         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
52610         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
52611         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
52612         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
52613         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
52614         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
52615         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
52616         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
52617         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
52618         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
52619         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
52620         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
52621         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
52622         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
52623         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
52624         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
52625         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
52626
52627 2002-12-24  Bruno Haible  <bruno@clisp.org>
52628
52629         * MODULES.txt: Update according to m4/ changes.
52630
52631         Module gettext.
52632         * config.rpath: New file, from gettext-0.11.5.
52633
52634         * modules/*: New module descriptions.
52635         * gnulib-tool: New file.
52636         * MODULES.html.sh: New file.
52637
52638 2002-12-21  Karl Berry  <karl@gnu.org>
52639
52640         * doc/fdl.texi: update to version 1.2.
52641
52642 2002-12-19  Karl Berry  <karl@gnu.org>
52643
52644         * config/config.guess: update from prep.
52645
52646 2002-12-18  Bruno Haible  <bruno@clisp.org>
52647
52648         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
52649         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
52650
52651 2002-12-17  Bruno Haible  <bruno@clisp.org>
52652
52653         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
52654         stdlib.h, string.h.
52655
52656 2002-12-17  Bruno Haible  <bruno@clisp.org>
52657
52658         * lib/canon-host.c (strdup): Remove unused declaration.
52659
52660         * lib/fsusage.c: Include full_read.h.
52661         (get_fs_usage): Use full_read instead of safe_read.
52662
52663         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
52664
52665 2002-12-12  Karl Berry  <karl@gnu.org>
52666
52667         * config/config.guess: update from prep.
52668
52669 2002-12-11  Bruno Haible  <bruno@clisp.org>
52670
52671         * m4/setenv.m4: New file, from gettext-0.11.5.
52672
52673 2002-12-11  Bruno Haible  <bruno@clisp.org>
52674
52675         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
52676         not unsetenv().
52677         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
52678         modifications:
52679
52680         2002-12-11  Bruno Haible  <bruno@clisp.org>
52681
52682                 * setenv.c (alloca): Fall back to malloc.
52683                 (freea): New macro.
52684                 (setenv): Use freea() to free memory allocated with alloca().
52685
52686         2002-11-13  Bruno Haible  <bruno@clisp.org>
52687
52688                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
52689                 function declarations.
52690                 * unsetenv.c (unsetenv): Likewise.
52691
52692         2002-03-04  Bruno Haible  <bruno@clisp.org>
52693
52694                 Portability to AIX 4.3.3.
52695                 * unsetenv.c: New file, extracted from setenv.c.
52696                 * setenv.c: Move the unsetenv() function to unsetenv.c.
52697
52698         2001-12-20  Bruno Haible  <bruno@clisp.org>
52699
52700                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
52701                 use malloc instead. For SunOS 4.
52702
52703         2001-12-11  Bruno Haible  <bruno@clisp.org>
52704
52705                 * setenv.c: Declare alloca.
52706                 (compar_fn_t): New typedef.
52707                 (KNOWN_VALUE, STORE_VALUE): Use it.
52708
52709         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
52710         setenv.h.
52711
52712 2002-12-10  Paul Eggert  <eggert@twinsun.com>
52713
52714         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
52715         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
52716         Choose values that are less likely to collide with system fnmatch
52717         options.
52718         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
52719         defined (e.g., a pure POSIX system).
52720         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
52721         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
52722
52723 2002-12-06  Paul Eggert  <eggert@twinsun.com>
52724
52725         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
52726         a pain in practice to deal with generated m4 files.  This change
52727         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
52728
52729         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
52730         and jm-glibc-io.m4, as they are no longer a special case.
52731         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
52732         kludge and the auto-generation stuff.  Check only whether the
52733         functions are declared, not whether they exist, since older hosts
52734         that don't declare the functions can't use the optimization anyway.
52735
52736 2002-12-06  Jim Meyering  <jim@meyering.net>
52737
52738         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
52739
52740         Merge in changes from libc's misc/error.c, in preparation
52741         for the merge of gnulib's changes back into libc.
52742
52743         * lib/error.c (_): Define only if not already defined.
52744         Move definition to follow all #include directives.
52745         Include unlocked-io.h only if !_LIBC.
52746         [_LIBC]: Include <libio/libioP.h>.
52747         [USE_IN_LIBIO]: Include <libio/iolibio.h>
52748         (fflush): Tweak definition to use INTUSE.
52749         (putc): Define.
52750
52751 2002-12-05  Paul Eggert  <eggert@twinsun.com>
52752
52753         * lib/alloca.c [defined emacs]: Include "lisp.h".
52754         (xalloc_die) [defined emacs]: New macro.
52755         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
52756         [! defined emacs]: Include <xalloc.h>.
52757         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
52758         (pointer): Typedef to POINTER_TYPE *.
52759         (malloc): Remove decl; we now always use xmalloc.
52760         (alloca): Use old-style definition, since Emacs needs this.
52761         Check for arithmetic overflow when computing combined size.
52762
52763 2002-12-04  Paul Eggert  <eggert@twinsun.com>
52764
52765         Do not generate unlocked-io.h automatically, since it's easier to
52766         maintain it by hand.
52767
52768         * lib/unlocked-io.h: New file, from GNU diffutils,
52769         but with proper copyright notice and attribution.
52770         * lib/gen-uio: Remove.
52771         * lib/Makefile.am: Add copyright notice.
52772         (libfetish_a_SOURCES): Add unlocked-io.h.
52773         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
52774         (DISTCLEANFILES, io_functions): Remove macros.
52775         (EXTRA_DIST): Remove gen_uio.
52776         (unlocked-io.h): Remove rule.
52777
52778 2002-12-04  Jim Meyering  <jim@meyering.net>
52779
52780         Reflect the fact that stat.c and lstat.c are no longer generated.
52781         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
52782         (DISTCLEANFILES): Likewise.
52783         (EXTRA_DIST): Likewise.
52784         (all_local): Don't depend on stat.c or lstat.c.
52785         (stat.c, lstat.c): Remove rules.
52786         (EXTRA_DIST): Remove xstat.in.
52787
52788         * lib/xstat.in: Remove file.  Contents moved into stat.c.
52789         * lib/stat.c: New file.  Contents mostly from xstat.in.
52790         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
52791         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
52792
52793         * lib/safe-read.c: Rework so that it may serve to define safe_write,
52794         too.
52795         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
52796
52797 2002-12-03  Jim Meyering  <jim@meyering.net>
52798
52799         * lib/safe-read.c, safe-write.c: Change variable names and comments,
52800         but not semantics, to minimize the differences between these two files.
52801         (safe_read): Change comment to mention SAFE_READ_ERROR.
52802
52803         * lib/safe-read.c (IS_EINTR): Define.
52804         (safe_read): Use IS_EINTR in place of in-function cpp directives.
52805
52806 2002-12-02  Jim Meyering  <jim@meyering.net>
52807
52808         * lib/safe-read.c (EINTR): Define.
52809         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
52810         (INT_MAX): Provide fallback.
52811         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
52812
52813         * lib/safe-read.h (SAFE_READ_ERROR): Define.
52814
52815 2002-12-02  Bruno Haible  <bruno@clisp.org>
52816
52817         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
52818         Define, taken from safe-read.c.
52819         (INT_MAX): Provide fallback.
52820         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
52821         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
52822
52823         * lib/safe-read.c (EINTR): Remove definition.
52824         (safe_read): Don't use EINTR if it is absent.
52825
52826 2002-12-01  Jim Meyering  <jim@meyering.net>
52827
52828         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
52829         zero.
52830         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
52831
52832 2002-11-27  Paul Eggert  <eggert@twinsun.com>
52833
52834         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
52835         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
52836         with `if (! (value < limit)) abort ();', for readability.
52837
52838 2002-11-26  Karl Berry  <karl@gnu.org>
52839
52840         * lib/strdup.c: copy from libc again, with jim's ok.
52841         * lib/.cppi-disable: re-add strdup.c
52842
52843 2002-11-25  Karl Berry  <karl@gnu.org>
52844
52845         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
52846         instead of "strtol.c".
52847
52848 2002-11-25  Karl Berry  <karl@gnu.org>
52849
52850         * config/install-sh: update from automake for variable quoting, $0 in
52851         error msgs, etc.
52852
52853         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
52854         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
52855         entry.
52856
52857 2002-11-25  Jim Meyering  <jim@meyering.net>
52858
52859         * lib/mktime.c: Sync from libc, now that it has the latest fix.
52860
52861 2002-11-24  Karl Berry  <karl@gnu.org>
52862
52863         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
52864         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
52865
52866 2002-11-24  Jim Meyering  <jim@meyering.net>
52867
52868         Update from coreutils:
52869
52870         * lib/mktime.c: Merge in changes from libc.
52871
52872         Avoid a link-time failure on some Linux systems.
52873         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
52874         (otherwise).
52875         (__mon_yday): Declare with the STATIC attribute.
52876         (__mktime_internal): Likewise.
52877         Based on a report from Greg Schafer.
52878
52879 2002-11-23  Jim Meyering  <jim@meyering.net>
52880
52881         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
52882         Use `unsigned', not `int', as type of index.
52883
52884         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
52885
52886         * lib/fsusage.c: Remove unneeded parentheses around operands of
52887         `defined'.
52888
52889 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52890
52891         * lib/quotearg.h: Allow multiple inclusion by surrounding with
52892         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
52893         so that we can be included first.
52894         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
52895         * lib/quotearg.c: Include quotearg.h immediately after config.h.
52896         No need to include stddef.h or sys/types.h any more.
52897         Surround local include files with "", not "<>".
52898         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
52899         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
52900         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
52901         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
52902         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
52903         (ISPRINT): Remove; no longer needed now that we assume C89.
52904
52905         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
52906         Preserve errno.
52907
52908         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
52909         quotearg_char): Use SIZE_MAX rather than
52910         (size_t) -1 when we are talking about "infinity".
52911
52912         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
52913
52914 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52915
52916         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
52917         hint that one should use `if (! x) abort ();' rather than `assert
52918         (x);', and anyway it's one less thing to worry about configuring.
52919         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
52920         hash_rehash, hash_insert): Use abort rather than assert.
52921
52922 2002-11-22  Bruno Haible  <bruno@clisp.org>
52923
52924         * lib/safe-read.h: Assume C89. Add comments.
52925         (safe_read): Change return type to size_t.
52926         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
52927         byte counts > SSIZE_MAX correctly.
52928         * lib/safe-write.h: New file.
52929         * lib/safe-write.c: New file.
52930         * lib/full-read.h: New file.
52931         * lib/full-read.c: New file.
52932         * lib/full-write.h: Assume C89. Add comments.
52933         * lib/full-write.c: Include safe-write.h.
52934         (full_write): Rewritten to use safe_write.
52935         Suggested by Jim Meyering and Paul Eggert.
52936
52937 2002-11-21  Jim Meyering  <jim@meyering.net>
52938
52939         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
52940
52941         Merge in changes from the coreutils.
52942
52943         2002-09-25  Paul Eggert  <eggert@twinsun.com>
52944         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
52945         <stdint.h>.
52946         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
52947         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
52948         int.  Work more efficiently if X is the same width as uintmax_t.
52949         Do not compare X to -1, to avoid bogus compiler warning.
52950         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
52951         Don't assume that f_frsize and f_bsize are the same type.
52952
52953         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
52954         warning on FreeBSD.
52955
52956         * lib/makepath.c (make_path): Restore umask *before* creating the final
52957         component.
52958         (make_path): Minor reformatting.
52959
52960         * lib/xmalloc.c: Adjust to work with new autoconf macros,
52961         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
52962         HAVE_MALLOC/HAVE_REALLOC.
52963
52964         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
52965         dummy ones.  At least on GNU/Linux systems, `auto' means something
52966         else.
52967         From Michael Stone.
52968
52969 2002-11-21  Bruno Haible  <bruno@clisp.org>
52970
52971         Remove case insensitive option matching.
52972         * lib/argmatch.h (argcasematch): Remove declaration.
52973         (ARGCASEMATCH): Remove macro.
52974         (__xargmatch_internal): Remove case_sensitive argument.
52975         (XARGMATCH): Update.
52976         (XARGCASEMATCH): Remove macro.
52977         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
52978         case_sensitive argument.
52979         (argcasematch): Remove function.
52980         (__xargmatch_internal): Remove case_sensitive argument.
52981         (main): Use XARGMATCH instead of XARGCASEMATCH.
52982
52983         * lib/xmalloc.c: Change compile-time error message. Add comment about
52984         required autoconf version.
52985
52986 2002-11-20  Paul Eggert  <eggert@twinsun.com>
52987
52988         Merge argmatch cleanups from Bison.  Assume C89.
52989
52990         * lib/argmatch.c: Include config.h here, not in argmatch.h.
52991         Include stdlib.h, for EXIT_FAILURE.
52992         Always include <string.h>, since we assume C89.
52993         (EXIT_FAILURE): Remove pre-C89 bug workaround.
52994         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
52995         Include <stddef.h> instead, since it's all we need for size_t.
52996         (PARAMS): Remove.  All uses removed.
52997         (ARRAY_CARDINALITY): Do not bother to #undef.
52998         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
52999         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
53000         Remove unnecessary parentheses.
53001         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
53002         Insert necessary parentheses.
53003         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
53004         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
53005
53006 2002-11-19  Bruno Haible  <bruno@clisp.org>
53007
53008         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
53009         * lib/mbswidth.h: Include <stddef.h>, for size_t.
53010
53011         * lib/mbswidth.h (PARAMS): Remove macro.
53012         (mbswidth, mbsnwidth): Use ANSI C function declarations.
53013         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
53014
53015         * lib/gcd.h (PARAMS): Remove macro.
53016         (gcd): Use ANSI C function declarations.
53017         * lib/gcd.c (gcd): Likewise.
53018
53019 2002-11-15  Bruno Haible  <bruno@clisp.org>
53020
53021         * lib/strcspn.c: Include <stddef.h>.
53022         (strcspn): Use ANSI C function declaration. Change return type to
53023         size_t. Use NULL.
53024         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
53025         (strpbrk): Use NULL.
53026         * lib/strpbrk.h (PARAMS): Remove macro.
53027         (strpbrk): Use ANSI C function declaration.
53028         * lib/strstr.c: Don't include <sys/types.h>.
53029         * lib/strstr.h (PARAMS): Remove macro.
53030         (strstr): Use ANSI C function declarations.
53031
53032 2002-11-14  Karl Berry  <karl@gnu.org>
53033
53034         * config/mkinstalldirs: `do' on separate line, instead of
53035         `for var; do'.
53036
53037 2002-11-06  Bruno Haible  <bruno@clisp.org>
53038
53039         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
53040         * lib/gcd.c (gcd): Likewise.
53041
53042 2002-11-05  Bruno Haible  <bruno@clisp.org>
53043
53044         * lib/gcd.h: New file, from gettext-0.11.5.
53045         * lib/gcd.c: New file, from gettext-0.11.5.
53046
53047 2002-11-05  Bruno Haible  <bruno@clisp.org>
53048
53049         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53050         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53051         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53052         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53053
53054         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
53055         <libintl.h>.
53056         * lib/makepath.c: Include gettext.h instead of <locale.h> and
53057         <libintl.h>.
53058
53059         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
53060         * lib/human.c: Include gettext.h instead of <libintl.h>.
53061         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
53062         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
53063         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
53064         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
53065         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
53066         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
53067         (textdomain): Remove definition.
53068         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
53069
53070         * lib/long-options.c: Remove include of <libintl.h> and definition of
53071         _.
53072         * lib/same.c: Remove include of <libintl.h> and definition of _.
53073
53074 2002-11-04  Owen Taylor  <otaylor@redhat.com>
53075
53076         * lib/config.charset: A few additions for Solaris.
53077
53078 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
53079
53080         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
53081         * lib/localcharset.c (locale_charset): Declare as extern "C".
53082
53083 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
53084
53085         * lib/config.charset: msdos in uk_UA uses CP1125.
53086
53087 2002-11-04  Bruno Haible  <bruno@clisp.org>
53088
53089         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
53090         * lib/strcase.h: New file, from GNU gettext-0.11.5.
53091         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
53092         * lib/strstr.h: New file, from GNU gettext-0.11.5.
53093         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
53094
53095 2002-11-04  Bruno Haible  <bruno@clisp.org>
53096
53097         * lib/localcharset.c (locale_charset): Don't return an empty string.
53098
53099 2002-11-04  Bruno Haible  <bruno@clisp.org>
53100
53101         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
53102         aliases.
53103
53104 2002-11-04  Bruno Haible  <bruno@clisp.org>
53105
53106         * lib/config.charset: Update for newest glibc. Add canonical names
53107         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
53108
53109 2002-11-04  Bruno Haible  <bruno@clisp.org>
53110
53111         * lib/config.charset: Add support for NetBSD.
53112
53113 2002-11-04  Bruno Haible  <bruno@clisp.org>
53114
53115         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
53116
53117 2002-11-01  Bruno Haible  <bruno@clisp.org>
53118
53119         * configure.in: Add AC_CONFIG_AUX_DIR call.
53120         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
53121         test/Makefile.
53122         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
53123
53124 2002-09-28  Karl Berry  <karl@gnu.org>
53125
53126         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
53127         installed automake until the next release, since changes have been
53128         made.
53129
53130 2002-09-25  Karl Berry  <karl@gnu.org>
53131
53132         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
53133         * lib/getopt*: copy from libc/posix.
53134         * lib/gettext.h: copy from gettext.
53135         * lib/.cppi-disable: add strdup.c, gettext.h.
53136
53137 2002-09-25  Karl Berry  <karl@gnu.org>
53138
53139         * config/srclist.txt: enable gettext.h check.
53140         * config/config.{guess,sub}: update from prep.
53141         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
53142                 from automake 1.6.3.
53143         See srclist*.
53144
53145 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
53146
53147         * regex.c (PATFETCH): Remove the translating fetch.
53148         (PATFETCH_RAW): Rename to PATFETCH.
53149         (set_image_of_range): New fun.
53150         (SET_RANGE_TABLE_WORK_AREA): Use it.
53151         (regex_compile): Don't translate the pattern chars so eagerly.
53152         Only do it when inserting an `exactn' bytecode or when handling
53153         a char-range.
53154         (mutually_exclusive_p): Avoid empty statement.
53155
53156 2002-07-06  Jim Meyering  <meyering@lucent.com>
53157
53158         * m4/README: Don't mention Makefile.am.in.
53159         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
53160
53161 2002-07-01  Jim Meyering  <meyering@lucent.com>
53162
53163         * lib/c-stack.c: Include sys/time.h.
53164         From Volker Borchert.
53165
53166 2002-06-26  Paul Eggert  <eggert@twinsun.com>
53167
53168         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
53169
53170 2002-06-26  Paul Eggert  <eggert@twinsun.com>
53171
53172         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
53173         New macro.  Use it uniformly instead of
53174         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
53175         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
53176         reported by Vin Shelton.
53177
53178 2002-06-22  Paul Eggert  <eggert@twinsun.com>
53179
53180         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
53181         Do not assume SA_SIGINFO behavior.
53182         Bug reported by Jim Meyering on NetBSD 1.5.2.
53183
53184 2002-06-22  Jim Meyering  <meyering@lucent.com>
53185
53186         * m4/c-stack.m4: New file, from diffutils-2.8.2.
53187         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
53188
53189         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
53190         now that configure.ac uses AC_GNU_SOURCE.
53191         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
53192         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
53193
53194         Update to latest tools.  Suggestions from Paul Eggert.
53195         * m4/stdbool.m4: New file, from diffutils-2.8.2.
53196         * m4/gnu-source.m4: Update from diffutils-2.8.2.
53197         * m4/fnmatch.m4: Likewise.
53198         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
53199         to AC_HEADER_STDBOOL
53200
53201 2002-06-22  Jim Meyering  <meyering@lucent.com>
53202
53203         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
53204         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
53205
53206 2002-06-22  Jim Meyering  <meyering@lucent.com>
53207
53208         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
53209
53210         * lib/exitfail.c, exitfail.h: Likewise.
53211         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
53212
53213         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
53214         of fnmatch.h.
53215         (EXTRA_DIST): Add fnmatch_loop.c.
53216         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
53217
53218         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
53219         * lib/fnmatch.c: Update from diffutils-2.8.2.
53220         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
53221         * lib/fnmatch.h: Remove file.
53222
53223 2002-06-21  Jim Meyering  <meyering@lucent.com>
53224
53225         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
53226         * m4/mbrtowc.m4: Likewise.
53227
53228         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
53229         * m4/mbswidth.m4: Reflect name change:
53230         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
53231         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
53232
53233         * m4/lib-link.m4: Update from gettext-0.11.2.
53234         * m4/gettext.m4: Likewise.
53235
53236         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
53237         From Alfred M. Szmidt.
53238
53239 2002-06-18  Paul Eggert  <eggert@twinsun.com>
53240
53241         * lib/file-type.h: Report an error if neither S_ISREG nor
53242         S_IFREG is defined, instead of using a test specific to glibc
53243         2.2.  This should be safe, since POSIX requires S_ISREG and
53244         Unix Version 7 had S_IFREG.  We don't need to check for
53245         <sys/types.h> since we don't use any symbols that it defines.
53246
53247 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
53248
53249         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
53250         $@-t, so that each temporary file name is unique and valid in the first
53251         8 characters, for operation under DOS.
53252
53253 2002-06-15  Paul Eggert  <eggert@twinsun.com>
53254
53255         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
53256
53257 2002-06-15  Jim Meyering  <meyering@lucent.com>
53258
53259         Work even with DJGPP 2.03, which lacks support for symlinks.
53260         From Richard Dawe.
53261         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
53262         is defined.
53263         * lib/lchown.c (S_ISLNK): Likewise.
53264
53265 2002-06-15  Jim Meyering  <meyering@lucent.com>
53266
53267         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
53268         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
53269         have been included before this file.
53270
53271 2002-06-14  Jim Meyering  <meyering@lucent.com>
53272
53273         * lib/file-type.h: Use the version from diffutils-2.8.2.
53274         * lib/file-type.c: Likewise.
53275
53276 2002-06-07  Jim Meyering  <meyering@lucent.com>
53277
53278         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
53279         They're needed at least for NetBSD 1.5.2.
53280         ($statxfs_includes): Include those same headers.
53281         ($statxfs_includes): Include sys/vfs.h if available.
53282         ($statxfs_includes): Likewise for sys/statvfs.h.
53283         Check for the following members in both structs statfs and statvfs:
53284         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
53285
53286 2002-06-01  Jim Meyering  <meyering@lucent.com>
53287
53288         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
53289         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
53290
53291 2002-05-28  Jim Meyering  <meyering@lucent.com>
53292
53293         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
53294         Reported by Volker Borchert.
53295
53296 2002-05-27  Jim Meyering  <meyering@lucent.com>
53297
53298         Fix a problem seen only on nonconforming systems whereby ls.c's
53299         use of localtime, and then of gettimeofday would cause trouble:
53300         the localtime call used to initialize rpl_gettimeofday's save
53301         mechanism would clobber ls's current local time information so
53302         that in any long listing the first file would always be listed
53303         with date 1970-01-01.  Analysis by Volker Borchert.
53304
53305         * lib/gettimeofday.c (localtime): Undefine.
53306         (rpl_localtime): New function.
53307
53308 2002-05-27  Jim Meyering  <meyering@lucent.com>
53309
53310         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
53311         localtime.
53312
53313         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
53314         use the replacement function; it wouldn't resolve at link time.
53315         Reported by Volker Borchert.
53316
53317 2002-05-22  Jim Meyering  <meyering@lucent.com>
53318
53319         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
53320         file-type.h.
53321         * lib/file-type.h: New file.
53322         * lib/file-type.c (file_type): New file/function.  Extracted from
53323         diffutils.
53324
53325 2002-04-30  Jim Meyering  <meyering@lucent.com>
53326
53327         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
53328
53329 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53330
53331         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
53332
53333 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53334
53335         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
53336         Do not check for alloca.h (no longer used) or stdbool.h (was never
53337         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
53338
53339 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53340
53341         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
53342
53343 2002-04-29  Jim Meyering  <meyering@lucent.com>
53344
53345         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
53346         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
53347         Use AC_FUNC_STRNLEN here instead.
53348
53349         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
53350         With autoconf-2.53a, it's part of AC_PROG_CC.
53351
53352 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53353
53354         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
53355         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
53356
53357 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53358
53359         * lib/sig2str.h, lib/sig2str.c: New files.
53360         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
53361
53362 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53363
53364         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
53365         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
53366         of 127, since 64 is the largest conceivable number for ancient
53367         nonstandard hosts.
53368         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
53369
53370 2002-04-28  Jim Meyering  <meyering@lucent.com>
53371
53372         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
53373
53374 2002-04-24  Jim Meyering  <meyering@lucent.com>
53375
53376         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
53377         (jm_PREREQ): Use it.
53378
53379         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
53380         mach/mach.h fcntl.h.
53381         Check for this function: setlocale.
53382
53383 2002-04-24  Jim Meyering  <meyering@lucent.com>
53384
53385         * lib/gettext.h: New file, from Gettext.
53386         * lib/Makefile.am (INCLUDES): Remove -I../intl.
53387         (libfetish_a_SOURCES): Add gettext.h.
53388
53389 2002-04-16  Jim Meyering  <meyering@lucent.com>
53390
53391         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
53392         ut_pid, ut_id, ut_exit.
53393
53394 2002-04-16  Jim Meyering  <meyering@lucent.com>
53395
53396         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
53397         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
53398         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
53399
53400 2002-04-12  Jim Meyering  <meyering@lucent.com>
53401
53402         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
53403         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
53404         existence of the getmntinfo function.  Needed for Darwin 5.3.
53405
53406         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
53407         This is necessary at least on Darwin 5.3.
53408
53409         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
53410         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
53411         strnlen.o in the library, and that makes some versions of ranlib
53412         object.
53413
53414 2002-04-12  Jim Meyering  <meyering@lucent.com>
53415
53416         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
53417
53418 2002-04-09  Jim Meyering  <meyering@lucent.com>
53419
53420         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
53421         to be more precise.  Rather than saying we're checking whether the
53422         function `works', say what we're testing.
53423         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
53424         Reported by Bruno Haible.
53425
53426 2002-03-10  Jim Meyering  <meyering@lucent.com>
53427
53428         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
53429         Suggestion from Santiago Vila.
53430
53431 2002-03-08  Jim Meyering  <meyering@lucent.com>
53432
53433         * lib/rename.c: Mention that this wrapper is needed also on
53434         mips-dec-ultrix4.4 systems.
53435
53436 2002-03-02  Jim Meyering  <meyering@lucent.com>
53437
53438         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
53439         not HAVE_CLOCK_SETTIME.
53440
53441 2002-02-27  Paul Eggert  <eggert@twinsun.com>
53442
53443         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
53444         Check for clock_settime.
53445
53446 2002-02-27  Paul Eggert  <eggert@twinsun.com>
53447
53448         * lib/nanosleep.h: Rename to....
53449         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
53450
53451         * lib/gettime.c: New file.
53452         * lib/settime.c: New file.
53453         * lib/stime.c: Remove.
53454
53455         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
53456         timespec.h.  Remove nanosleep.h.
53457
53458 2002-02-25  Paul Eggert  <eggert@twinsun.com>
53459
53460         * m4/acl.m4: New file.
53461         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
53462         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
53463
53464 2002-02-25  Paul Eggert  <eggert@twinsun.com>
53465
53466         * lib/acl.c, lib/acl.h: New files.
53467         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
53468
53469 2002-02-24  Jim Meyering  <meyering@lucent.com>
53470
53471         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
53472         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
53473         cause trouble.  Reported by Nelson Beebe.
53474
53475 2002-02-23  Paul Eggert  <eggert@twinsun.com>
53476
53477         * lib/path-concat.c (xpath_concat): Reorder code to pacify
53478         compilers that don't know that xalloc_die never returns.
53479
53480 2002-02-20  Jim Meyering  <meyering@lucent.com>
53481
53482         * lib/getdate.c: Regenerate using bison-1.33.
53483
53484 2002-02-17  Jim Meyering  <meyering@lucent.com>
53485
53486         * config/config.guess (main): Don't use `head -1'; it's no longer
53487         portable. Use `sed 1q' instead.
53488
53489 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
53490
53491         * m4/codeset.m4: Upgrade to gettext-0.11.
53492         * m4/gettext.m4: Upgrade to gettext-0.11.
53493         * m4/glibc21.m4: Upgrade to gettext-0.11.
53494         * m4/iconv.m4: Upgrade to gettext-0.11.
53495         * m4/isc-posix.m4: Upgrade to gettext-0.11.
53496         * m4/lcmessage.m4: Upgrade to gettext-0.11.
53497         * m4/lib-ld.m4: New file, from gettext-0.11.
53498         * m4/lib-link.m4: New file, from gettext-0.11.
53499         * m4/lib-prefix.m4: New file, from gettext-0.11.
53500         * m4/progtest.m4: Upgrade to gettext-0.11.
53501
53502 2002-02-15  Paul Eggert  <eggert@twinsun.com>
53503
53504         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
53505         (jm_PREREQ): Use it.
53506
53507 2002-02-15  Paul Eggert  <eggert@twinsun.com>
53508
53509         * lib/posixver.c, lib/posixver.h: New files.
53510         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
53511
53512 2002-02-02  Paul Eggert  <eggert@twinsun.com>
53513             Bruno Haible  <bruno@clisp.org>
53514
53515         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
53516         (fwrite_success_callback): New declaration.
53517         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
53518         print_unicode_char. Call failure callback instead of error.
53519         (fwrite_success_callback): New function.
53520         (exit_failure_callback): New function.
53521         (fallback_failure_callback): New function.
53522         (print_unicode_char): Call unicode_to_mb.
53523
53524 2002-01-26  Jim Meyering  <meyering@lucent.com>
53525
53526         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
53527         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
53528
53529 2002-01-26  Jim Meyering  <meyering@lucent.com>
53530
53531         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
53532
53533 2002-01-22  Paul Eggert  <eggert@twinsun.com>
53534
53535         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
53536
53537 2002-01-22  Jim Meyering  <meyering@lucent.com>
53538
53539         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
53540         Otherwise, some versions of automake would omit the rule that makes
53541         Makefile from Makefile.in.
53542
53543 2002-01-21  Paul Eggert  <eggert@twinsun.com>
53544
53545         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
53546         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
53547         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
53548         (memcoll): Set errno to zero if there is no error.
53549
53550         * lib/quotearg.c (quotearg_buffer_restyled):
53551         Fix bug with quoting buffers containing NUL when backslashing escapes.
53552         This bug was exposed by the other changes in this patch.
53553         (quotearg_n_options): New arg ARGSIZE.
53554         All callers changed.
53555         (quoting_options_from_style): New function.
53556         (quotearg_n_style): Use it.
53557         (quotearg_n_style_mem): New function.
53558
53559         * lib/quotearg.h (quotearg_n_style_mem): New function.
53560
53561 2002-01-19  Jim Meyering  <meyering@lucent.com>
53562
53563         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
53564         Remove useless quotes: DF_PROG="df".
53565         * m4/strnlen.m4: New file.
53566
53567 2002-01-16  Paul Eggert  <eggert@twinsun.com>
53568
53569         * lib/backupfile.c (ISDIGIT): Comment fix.
53570         * lib/getdate.y (ISDIGIT): Likewise.
53571         * lib/posixtm.c (ISDIGIT, year): Likewise.
53572         * lib/strverscmp.c (ISDIGIT): Likewise.
53573         * lib/userspec.c (ISDIGIT): Likewise.
53574
53575 2002-01-16  Jim Meyering  <meyering@lucent.com>
53576
53577         * lib/getdate.y: Add three semicolons, each just before a closing
53578         brace. Bison (as of version 1.31) no longer papers over that mistake.
53579
53580 2002-01-05  Jim Meyering  <meyering@lucent.com>
53581
53582         * lib/version-etc.c (version_etc_copyright): Update copyright year.
53583
53584 2001-12-19  Paul Eggert  <eggert@twinsun.com>
53585
53586         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
53587         not silently exit merely because the output buffer happens to
53588         have nothing pending.
53589
53590 2001-12-18  Paul Eggert  <eggert@twinsun.com>
53591
53592         See the big note in ../ChangeLog.
53593         * lib/human.c (suffixes): Prefer K to k for 1024.
53594         (generate_suffix_backwards): New function.
53595         (human_readable_inexact): Use it.
53596         * lib/xstrtol.c (__xstrtol): If there is no number but there
53597         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
53598         Accept 'K' as well as 'k'.
53599
53600 2001-12-15  Jim Meyering  <meyering@lucent.com>
53601
53602         * lib/regex.h (__restrict_arr): Update from libc.
53603
53604         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
53605         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
53606         (STREQ): Define.
53607
53608 2001-12-14  Jim Meyering  <meyering@lucent.com>
53609
53610         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
53611         Suggestion from Bruno Haible.
53612
53613 2001-12-10  Jim Meyering  <meyering@lucent.com>
53614
53615         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
53616         xrealloc, Instead, include "xalloc.h".
53617         (initbuffer): Don't cast xmalloc return value to char*.
53618         (readline): Reword comment.
53619         Don't cast xrealloc return value to char*
53620         Return NULL, not 0.
53621
53622 2001-12-09  Jim Meyering  <meyering@lucent.com>
53623
53624         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
53625         about `signed and unsigned type in conditional expression'.
53626         * lib/posixtm.c (posix_time_parse): Likewise.
53627
53628         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
53629
53630         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
53631         to avoid a pedantic warning.
53632
53633         * lib/getstr.c: Don't include assert.h.
53634         (getstr): Remove warning-evoking assertions.
53635         Return -1 if offset parameter is out of bounds.
53636         Change the type of a local from int to size_t.
53637
53638         * lib/strftime.c (my_strftime_localtime_r): Include this function
53639         definition in the `#if ! HAVE_TM_GMTOFF' block.
53640
53641         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
53642         Include xalloc.h instead.
53643
53644 2001-12-02  Jim Meyering  <meyering@lucent.com>
53645
53646         * lib/tempname.c: Don't declare getenv, thus reverting the change of
53647         2001-11-18.  It's no longer necessary, now that stdlib.h is always
53648         included.
53649
53650         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
53651         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
53652
53653 2001-11-30  Akim Demaille  <akim@epita.fr>
53654
53655         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
53656         before being defined.
53657
53658 2001-11-27  Paul Eggert  <eggert@twinsun.com>
53659
53660         * lib/quotearg.h (quotearg_n, quotearg_n_style):
53661         First arg is int, not unsigned.
53662         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
53663         (SIZE_MAX, UINT_MAX): New macros.
53664         (quotearg_n_options): Abort if N is negative.
53665         Avoid overflow check on hosts where size_t is 64 bits and int
53666         is 32 bits, as overflow is impossible there.
53667         Fix off-by-one typo that caused unnecessary reallocation.
53668
53669 2001-11-27  Jim Meyering  <meyering@lucent.com>
53670
53671         * lib/tempname.c: Merge with version from libc.
53672         * lib/regex.c: Likewise.
53673
53674         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
53675         systems for which STDC_HEADERS is 0, it was not included, resulting in
53676         a warning about an integer-to-pointer conversion problem with getenv.
53677         Reported by Volker Borchert.
53678
53679 2001-11-26  Jim Meyering  <meyering@lucent.com>
53680
53681         * lib/gtod.h: Remove file.
53682         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
53683         * lib/gettimeofday.c: Don't include gtod.h.
53684         (GTOD_init): Remove function.
53685         (rpl_gettimeofday): Do its job here instead, rather than aborting.
53686         Suggestion from Volker Borchert.
53687
53688 2001-11-23  Jim Meyering  <meyering@lucent.com>
53689
53690         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
53691         it.
53692         * lib/hash.c (struct hash_table): Define it here instead.
53693
53694 2001-11-22  Jim Meyering  <meyering@lucent.com>
53695
53696         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
53697
53698 2001-11-20  Jim Meyering  <meyering@lucent.com>
53699
53700         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
53701         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
53702
53703 2001-11-19  Jim Meyering  <meyering@lucent.com>
53704
53705         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
53706         directory.  Use "conftestXXXXXX" as the template.
53707         Suggestion from Paul Eggert.
53708
53709         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
53710         immediately, so the test doesn't mistakenly hit the max-open-files
53711         limit.
53712
53713 2001-11-18  Paul Eggert  <eggert@twinsun.com>
53714
53715         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
53716         (TEMPORARIES): New macro.
53717         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
53718         removes an artificial limitation (e.g. HP-UX 10.20, where
53719         TMP_MAX is 17576).
53720
53721 2001-11-18  Jim Meyering  <meyering@lucent.com>
53722
53723         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
53724
53725 2001-11-18  Jim Meyering  <meyering@lucent.com>
53726
53727         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
53728         on SunOS 4.
53729
53730         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
53731         files will be created before anything else.
53732
53733 2001-11-17  Paul Eggert  <eggert@twinsun.com>
53734
53735         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
53736         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
53737
53738 2001-11-17  Jim Meyering  <meyering@lucent.com>
53739
53740         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
53741         Prompted by a report from Bob Proulx.
53742
53743         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
53744         Instead, require UTILS_FUNC_MKSTEMP.
53745
53746 2001-11-17  Jim Meyering  <meyering@lucent.com>
53747
53748         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
53749         Now, that's done as part of AC_FUNC_STRTOD.
53750
53751 2001-11-17  Jim Meyering  <meyering@lucent.com>
53752
53753         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
53754         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
53755         rather than group writable.  Patch by Juan F. Codagnone.
53756
53757         * lib/readtokens.c: Remove explicit declarations of xmalloc and
53758         xrealloc, Instead, include "xalloc.h".
53759
53760         * lib/mountlist.c: Include unlocked-io.h after all system headers.
53761         Remove explicit declarations of xmalloc, xrealloc,
53762         and xstrdup.  Instead, include "xalloc.h".
53763
53764         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
53765         unlocked-io.h.
53766         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
53767         Likewise.
53768         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
53769
53770         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
53771         Reported by Padraig Brady.
53772
53773         * lib/mkstemp.c: #undef mkstemp.
53774         Include config.h.
53775         (rpl_mkstemp): Rename from mkstemp.
53776         Protoize.
53777
53778 2001-11-16  Jim Meyering  <meyering@lucent.com>
53779
53780         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
53781         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
53782         determine the amount of total physical memory, use pstat_getstatic.
53783         HPUX-11 doesn't define _SC_PHYS_PAGES.
53784         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
53785         If sysconf couldn't be used to determine the amount of available
53786         physical memory, use both pstat_getstatic and pstat_getdynamic.
53787         Based on a patch from Bob Proulx.
53788
53789 2001-11-10  Jim Meyering  <meyering@lucent.com>
53790
53791         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
53792         (jm_PREREQ): Use it.
53793
53794 2001-11-09  Jim Meyering  <meyering@lucent.com>
53795
53796         * m4/jm-macros.m4: Require autoconf-2.52f.
53797         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
53798         Use these AC_-prefixed names, not the AM_-prefixed ones.
53799
53800         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
53801
53802 2001-11-05  Jim Meyering  <meyering@lucent.com>
53803
53804         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
53805
53806 2001-11-04  Jim Meyering  <meyering@lucent.com>
53807
53808         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
53809         $DEFS.
53810
53811 2001-11-03  Jim Meyering  <meyering@lucent.com>
53812
53813         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
53814         of AC_DEFUN.
53815
53816         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
53817         know the name of the variable in the macro definition.
53818
53819 2001-11-03  Jim Meyering  <meyering@lucent.com>
53820
53821         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
53822         in argmatch_to_argument call.
53823
53824         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
53825         argument.
53826
53827         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
53828         e.g., a fault due to an attempt to free a NULL pointer.
53829
53830 2001-11-01  Jim Meyering  <meyering@lucent.com>
53831
53832         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
53833         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
53834
53835 2001-11-01  Jim Meyering  <meyering@lucent.com>
53836
53837         * lib/dirfd.c, lib/dirfd.h: New files.
53838         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
53839
53840         * lib/hash.c (hash_print) [TESTING]: Clean up.
53841
53842 2001-10-22  Paul Eggert  <eggert@twinsun.com>
53843
53844         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
53845         to avoid a warning if -Wall.
53846
53847 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
53848
53849         * README: New file
53850         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
53851         (per RMS's instructions, this is now the canonical source)
53852         * lgpl/, gpl/: New directories.
53853
53854 2001-10-21  Paul Eggert  <eggert@twinsun.com>
53855
53856         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
53857
53858 2001-10-21  Jim Meyering  <meyering@lucent.com>
53859
53860         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
53861         this code would end up calling gettext even in packages built
53862         with --disable-nls.
53863         * lib/getopt.c (_): Likewise.
53864         * lib/regex.c (_): Likewise.
53865
53866 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53867
53868         * m4/error.m4 (jm_PREREQ_ERROR):
53869         Do not invoke AC_CHECK_FUNCS with strerror_r, as
53870         AC_FUNC_STRERROR_R does that.
53871         Check for strerror declaration.
53872
53873         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
53874         are supposed to have them these days.
53875         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
53876         Merge changes from latest Autoconf CVS.
53877         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
53878         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
53879         POSIX decided to standardize on the int flavor of strerror_r.
53880
53881 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53882
53883         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
53884         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
53885         Use strerror_r that is only a macro, even if it is not a function.
53886         (strerror): Check for HAVE_DECL_STRERROR before declaring.
53887         (private_strerror): Use prototypes, not old-style function definition.
53888         (print_errno_message): New function.
53889         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
53890         char*-flavored one.
53891         (error_tail, error, error_at_line): Use it.
53892
53893 2001-10-11  Jim Meyering  <meyering@lucent.com>
53894
53895         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
53896         and quote_n (1, ... to avoid clobbering a buffer.
53897
53898 2001-10-05  Jim Meyering  <meyering@lucent.com>
53899
53900         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
53901         hash-pjw.h.
53902         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
53903         * lib/hash-pjw.h: New file.
53904
53905 2001-09-30  Jim Meyering  <meyering@lucent.com>
53906
53907         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
53908         `struct fsstat' has the `f_fstypename' member.
53909         Use that to define FS_TYPE, which is now used to make
53910         the getfsstat link test tighter.
53911
53912 2001-09-30  Jim Meyering  <meyering@lucent.com>
53913
53914         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
53915         Include <sys/ucred.h>, for Apple Darwin.
53916         Include sys/mount.h and sys/fs_types.h only if available.
53917         (FS_TYPE): Define.
53918         (read_filesystem_list): Use FS_TYPE.
53919
53920 2001-09-29  Paul Eggert  <eggert@twinsun.com>
53921
53922         * lib/exclude.c (excluded_filename): 0 -> false, since it's
53923         a boolean context.
53924
53925 2001-09-29  Jim Meyering  <meyering@lucent.com>
53926
53927         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53928         [one-argument getmntent function]): Include stdio.h before mntent.h.
53929         SunOS 4.1.x needs it for the declaration of `FILE'.
53930         Patch by Volker Borchert.
53931
53932         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53933         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
53934         sys/fs_types.h, and make the link-test for getfsstat guard #include
53935         directives with appropriate #if HAVE_*_H tests so that we can
53936         detect getfsstat on Apple Darwin1.3.7 systems.
53937         Reported by Nelson Beebe.
53938         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
53939
53940 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53941
53942         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53943         #defines strtoimax.  Also treat the other strto* functions
53944         like strtoimax.
53945
53946         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
53947         Check for strtoul and strtoumax,
53948         as those declarations are made even in the signed case.
53949         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
53950         Likewise, for strtol and strtoimax.
53951
53952 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53953
53954         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53955         #defines strtoimax.  Also treat the other strto* functions
53956         like strtoimax.
53957
53958         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
53959         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
53960         (strtoimax, strtoumax): Do not declare if already defined as a macro.
53961
53962 2001-09-26  Jim Meyering  <meyering@lucent.com>
53963
53964         Most macros in unlocked-io.h had the wrong number of arguments.
53965         * lib/gen-uio: New script.
53966         (USE_UNLOCKED_IO): Define to 1 if not already defined.
53967         * lib/unlocked-io.hin: Remove file.
53968         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
53969         rather than trying to embed it here.
53970         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
53971         Reported by Padraig Brady.
53972
53973 2001-09-25  Volker Borchert  <bt@teknon.de>
53974
53975         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
53976         `result'.
53977
53978 2001-09-24  Jim Meyering  <meyering@lucent.com>
53979
53980         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
53981
53982 2001-09-23  Jim Meyering  <meyering@lucent.com>
53983
53984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
53985         instead of the mere test for existence of mntent.h.  The latter
53986         would get a false-positive on AIX 3.4 systems.
53987         In the outer getmntent if-block, don't die if neither of the getmntent
53988         tests succeeds.  Instead, just fall through and continue with the
53989         remaining tests.
53990
53991 2001-09-23  Jim Meyering  <meyering@lucent.com>
53992
53993         * lib/mountlist.c: Remove useless parentheses in #if directives.
53994         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
53995         the deprecated MOUNTED symbol is no longer defined in mntent.h.
53996
53997 2001-09-22  Jim Meyering  <meyering@lucent.com>
53998
53999         * m4/gettext.m4: New file.  From gettext.
54000         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
54001         * m4/progtest.m4: Likewise
54002         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
54003         * m4/glibc21.m4: Likewise.
54004
54005         * m4/libintl.m4: Remove.  No longer used.
54006
54007 2001-09-22  Jim Meyering  <meyering@lucent.com>
54008
54009         * lib/localcharset.c: Update from latest gettext.
54010         * lib/config.charset: Likewise.
54011
54012 2001-09-20  Jim Meyering  <meyering@lucent.com>
54013
54014         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
54015         strtoimax.
54016         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
54017         strtoumax.
54018
54019 2001-09-20  Jim Meyering  <meyering@lucent.com>
54020
54021         * lib/xstrtol.c (strtoimax): Guard declaration with
54022         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
54023         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
54024         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
54025         (strtoumax): Likewise, for completeness (it wasn't necessary).
54026
54027 2001-09-17  Paul Eggert  <eggert@twinsun.com>
54028
54029         * lib/strtoimax.c (HAVE_LONG_LONG):
54030         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
54031         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
54032         to work around bug in IBM C compiler.
54033
54034 2001-09-17  Jim Meyering  <meyering@lucent.com>
54035
54036         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
54037         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
54038         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
54039         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
54040         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
54041         whenever the right hand side need not be expanded by the shell.
54042
54043 2001-09-16  Paul Eggert  <eggert@twinsun.com>
54044
54045         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
54046         library.  It's not correct, as some older glibcs are buggy.
54047         fnmatch wasn't fixed until glibc 2.2.
54048
54049         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
54050         special shell magic here.
54051
54052 2001-09-16  Jim Meyering  <meyering@lucent.com>
54053
54054         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
54055         * m4/jm-macros.m4: Require it.
54056
54057 2001-09-16  Jim Meyering  <meyering@lucent.com>
54058
54059         * lib/mkdir.c: New file.
54060
54061 2001-09-15  Jim Meyering  <meyering@lucent.com>
54062
54063         * m4/jm-macros.m4: Check for help2man.
54064
54065 2001-09-11  Jim Meyering  <meyering@lucent.com>
54066
54067         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
54068         The body, by Paul Eggert, was moved here from configure.in.
54069         * m4/jm-macros.m4: Require UTILS_HOST_OS.
54070
54071 2001-09-04  Paul Eggert  <eggert@twinsun.com>
54072
54073         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
54074         (jm_PREREQ): Use it.
54075
54076 2001-09-04  Paul Eggert  <eggert@twinsun.com>
54077
54078         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
54079         Use ssize_t, not int, to store result of readlink.
54080         Check for ssize_t overflow as well as size_t overflow,
54081         as POSIX says the result of readlink is implementation-defined
54082         when ssize_t overflows.
54083         Remove unnecessary cast to char*.
54084         Use free+malloc instead of realloc, as the storage doesn't need
54085         to be preserved and it's clearer and can be more efficient that way.
54086         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
54087         * lib/xreadlink.h (xreadlink): Update prototype.
54088
54089 2001-09-04  Paul Eggert  <eggert@twinsun.com>
54090
54091         * lib/xgetcwd.c: Revert some of the previous change; intead,
54092         fix the HAVE_GETCWD_NULL code to behave more like the
54093         !HAVE_GETCWD_NULL code used to.
54094
54095         Include "xalloc.h".
54096         (xgetcwd): Do not return NULL when memory is exhausted; instead,
54097         invoke xalloc_die.
54098
54099 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54100
54101         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
54102         sys/param.h, as pathmax.h includes them.
54103
54104 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54105
54106         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
54107         (jm_PREREQ_XGETCWD): New macro.
54108
54109         * m4/getcwd.m4: New file.
54110
54111 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54112
54113         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
54114         like the HAVE_GETCWD_NULL code.
54115         Include pathmax.h if not HAVE_GETCWD.
54116         Do not include xalloc.h.
54117         (INITIAL_BUFFER_SIZE): New symbol.
54118         Do not use xmalloc / xrealloc, since the caller is responsible for
54119         handling errors.  Preserve errno around `free' during failure.
54120         Do not overrun buffer when using getwd.
54121
54122 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54123
54124         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
54125         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
54126         getcwd (NULL, 0).
54127
54128 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54129
54130         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
54131         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
54132         spotted by Jim Meyering.
54133
54134 2001-09-03  Jim Meyering  <meyering@lucent.com>
54135
54136         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
54137         failure.
54138
54139 2001-09-02  Jim Meyering  <meyering@lucent.com>
54140
54141         * lib/error.c: Update from GNU libc.
54142
54143 2001-09-01  Jim Meyering  <meyering@lucent.com>
54144
54145         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
54146         Used by df.
54147
54148 2001-09-01  Jim Meyering  <meyering@lucent.com>
54149
54150         * lib/xreadlink.c: New file.
54151         * lib/xreadlink.h: New file.
54152         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
54153         xreadlink.h.
54154
54155         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
54156         doesn't conflict with sparc Solaris 7's definition in
54157         /usr/include/sys/int_types.h.
54158
54159         * lib/exclude.c: Use `""', not `<>' to #include non-system header
54160         files.
54161         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
54162         and strncasecmp as r-values.  Unixware didn't have declarations.
54163
54164 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54165
54166         * lib/xstrtol.h: Add copyright notice.
54167         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
54168         LONGINT_INVALID_SUFFIX_CHAR.
54169
54170 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54171
54172         * lib/xstrtol.c (strtoimax): New decl.
54173
54174 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54175
54176         * lib/xgetcwd.c: Don't include pathmax.h.
54177         Include stdlib.h and unistd.h if available.
54178         Include xalloc.h.
54179         (xmalloc, xstrdup, free): Remove decls.
54180         (xgetcwd): Don't assume sizes fit in unsigned.
54181         Check for overflow when computing sizes.
54182         Simplify reallocation code.
54183
54184 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54185
54186         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
54187         a directory's st_size can have an arbitrary value, so the old
54188         usage could waste an arbitrary amount of memory.  All uses
54189         changed.
54190         * lib/savedir.h: Update prototype.
54191
54192 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54193
54194         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
54195
54196         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
54197         old strtoimax.c.
54198
54199         Also, make the following further changes to make this file's
54200         configuration more similar to that of strtol.c:
54201         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
54202         (strtoumax, uintmax_t, strtoull, strtol): Remove.
54203         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
54204         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
54205         changed to signed values.
54206
54207         And make the following changes as well:
54208         Fix copyright notice, as 1999 was missing.
54209         (verify): New macro.
54210         (strtoimax): Check sizes at compile-time, not run-time.
54211         Prefer strtol to strtoll if both work.
54212         (main): Remove; it was not that useful and was a pain to maintain.
54213
54214         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
54215
54216 2001-08-31  Jim Meyering  <meyering@lucent.com>
54217
54218         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
54219         Use an initial, malloc'd, buffer of length 128 rather than
54220         a statically allocated one of length 1024.
54221
54222 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54223
54224         Simplify code, partly by assuming autoconf 2.52 semantics.
54225
54226         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
54227
54228         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
54229         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
54230         All uses removed.
54231         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
54232         Move AC_REQUIRE to next-to-top level, to avoid confusion.
54233         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
54234         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
54235         jm_AC_HEADER_INTTYPES_H.
54236         * m4/jm-macros.m4 (jm_MACROS): Likewise.
54237
54238         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
54239
54240         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
54241         Quote first arg of AC_DEFUN.
54242         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
54243         since they are needed to parse the include file even if we need
54244         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
54245         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
54246         but with opposite signedness.
54247
54248 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54249
54250         Merge 'exclude' changes from tar 1.13.22.
54251         This fixes one or two unlikely storage allocation overflow bugs,
54252         but doesn't change user-visible behavior otherwise.
54253
54254 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54255
54256         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
54257         (jm_PREREQ_EXCLUDE): New macro.
54258
54259 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54260
54261         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
54262         tm to be declared.
54263
54264 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54265
54266         * lib/hash.c: Remove '2001' from copyright notice.
54267
54268 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54269
54270         * lib/full-write.h: New file.
54271         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
54272         * lib/full-write.c: Correct credits, as cccp.c no longer
54273         exists and anyway it was so heavily changed from the old cccp
54274         code as to be unrecognizable.  Include full-write.h.
54275         (full_write) Return size_t, with short writes meaning failure.
54276         All callers changed.  This fixes a bug with large buffers
54277         on 64-bit hosts.
54278         * lib/utime.c: Include full-write.h.
54279
54280 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54281
54282         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
54283         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
54284         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
54285         Include if available.
54286         (<xalloc.h>): Include
54287         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
54288         (verify): New macro.  Use it to verify that EXCLUDE macros do not
54289         collide with FNM macros.
54290         (struct patopts): New struct.
54291         (struct exclude): Use it, as exclude patterns now come with options.
54292         (new_exclude): Support above changes.
54293         (new_exclude, add_exclude_file):
54294         Initial size must now be a power of two to simplify overflow checking.
54295         (free_exclude, fnmatch_no_wildcards): New function.
54296         (excluded_filename): No longer requires options arg, as the options
54297         are determined by add_exclude.  Now returns bool, not int.
54298         (excluded_filename, add_exclude):
54299         Add support for the fancy new exclusion options.
54300         (add_exclude, add_exclude_file): Now takes int options arg.
54301         Check for arithmetic overflow when computing sizes.
54302         (add_exclude_file): xrealloc might modify errno, so don't
54303         realloc until after errno might be used.
54304
54305         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
54306         New macros.
54307         (free_exclude): New decl.
54308         (add_exclude, add_exclude_file): Now takes int options arg.
54309         (excluded_filename): No longer requires options arg, as the options
54310         are determined by add_exclude.  Now returns bool, not int.
54311
54312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54313
54314         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
54315
54316 2001-08-27  Jim Meyering  <meyering@lucent.com>
54317
54318         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
54319
54320         * lib/version-etc.c (N_): Remove definition.
54321         Revert most of last change.
54322         Instead, simply don't mark the `Copyright...' string for translation.
54323         Based on advice from Paul Eggert.
54324
54325         * lib/strtoxmax.c: Tweak comment.
54326
54327 2001-08-26  Jim Meyering  <meyering@lucent.com>
54328
54329         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
54330
54331         * m4/xstrtoimax.m4: New file.
54332         * m4/xstrtoumax.m4: Add comments explaining why we
54333         AC_REPLACE_FUNCS(strtol).
54334
54335 2001-08-26  Jim Meyering  <meyering@lucent.com>
54336
54337         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
54338         of copyright with `%s' so translators don't get an untranslated
54339         message in 2002.
54340         (COPYRIGHT_YEAR): Define.
54341         (version_etc): Use fprintf rather than fputs.
54342         Suggestion from Ulrich Drepper.
54343
54344         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
54345
54346         * lib/strtoll.c: New file, from GNU libc.
54347         * lib/xstrtoimax.c: New file.
54348
54349         * lib/xstrtol.h: Add xstrtoimax.
54350         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
54351         * lib/strtoimax.c: New file.  Likewise, but first define
54352         STRTOUXMAX_SIGNED.
54353
54354         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
54355         ...
54356         * lib/strtoxmax.c: ... then renamed to this.
54357
54358 2001-08-18  Paul Eggert  <eggert@twinsun.com>
54359
54360         * m4/inttypes.m4: Add AC_PREREQ(2.13).
54361         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
54362         (jm_AC_TYPE_INTMAX_T): New macro.
54363         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
54364
54365         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
54366
54367         * m4/longlong.m4: Renamed from ulonglong.m4.
54368         * m4/inttypes.m4: Renamed from inttypes_h.m4.
54369         * m4/uintmax_t.m4: Removed.
54370
54371 2001-08-13  Paul Eggert  <eggert@twinsun.com>
54372
54373         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
54374         Port to Solaris 8, where 'sed' requires a space after the 'r'
54375         command, and where sh dislikes "$/".  Clean up the spacing a bit.
54376         Redirect output to $tmp just once.
54377
54378 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
54379
54380         * lib/addext.c (<errno.h>): Include.
54381         (errno): Declare if not defined.
54382         (addext): Work correctly when pathconf returns -1 and leaves
54383         errno alone because there is no limit.  Also, work even if
54384         pathconf returns a value greater than SIZE_MAX.
54385
54386 2001-08-12  Jim Meyering  <meyering@lucent.com>
54387
54388         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
54389         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
54390         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
54391         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
54392         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
54393         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
54394         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
54395         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
54396         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
54397         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
54398         utime.m4, utimes.m4, xstrtoumax.m4:
54399         Quote the first argument in each use of AC_DEFUN.
54400
54401 2001-08-12  Jim Meyering  <meyering@lucent.com>
54402
54403         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
54404         Simply `return getcwd (NULL, 0);'.
54405         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
54406         Use 1300 as initial value for length, not PATH_MAX.
54407
54408         * lib/pathmax.h: Clean up cpp syntax.
54409
54410 2001-08-12  Jim Meyering  <meyering@lucent.com>
54411
54412         * lib/gettimeofday.c: New file.
54413         * lib/gtod.h: New file.
54414         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
54415
54416 2001-08-05  Jim Meyering  <meyering@lucent.com>
54417
54418         * m4/jm-macros.m4: Require autoconf-2.52.
54419
54420 2001-08-04  Jim Meyering  <meyering@lucent.com>
54421
54422         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
54423         stmt, to get in sync with glibc.
54424
54425 2001-08-03  Paul Eggert  <eggert@twinsun.com>
54426
54427         The following changes are from gettext 0.10.39 as maintained by
54428         Bruno Haible.
54429
54430         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
54431         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
54432         with inverted sense.  All uses changed.
54433
54434         * lib/mbswidth.c: Don't include <limits.h>.
54435         Include <stdlib.h> and <string.h> unconditionally.
54436         (iswcntrl, mbsinit, ISCNTRL): New macros.
54437         (mbsnwidth): Use K&R style function declarations.
54438         Don't bother checking for MB_LEN_MAX == 1, since the compiler
54439         can optimize it when MB_CUR_MAX == 1.
54440         The width of control characters is zero, not 1.
54441
54442 2001-08-03  Paul Eggert  <eggert@twinsun.com>
54443
54444         The following changes are from gettext 0.10.39 as maintained by
54445         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
54446
54447         * m4/codeset.m4: Upgrade to serial AM1.
54448         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
54449         all uses changed.  Quote first arg of AC_DEFUN.
54450         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
54451
54452         * m4/iconv.m4: Upgrade to serial AM2.
54453         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
54454         Add --with-libconv-prefix.
54455         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
54456         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
54457         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
54458         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
54459         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
54460
54461         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
54462         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
54463         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
54464         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
54465         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
54466         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
54467         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
54468         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
54469         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
54470
54471         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
54472         string.h any more.
54473
54474         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
54475         not the default value.
54476
54477         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
54478         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
54479         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
54480         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
54481         Also check for iswcntrl, used for wcwidth fallback.
54482         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
54483         to Autoconf 2.13.
54484
54485 2001-08-03  Jim Meyering  <meyering@lucent.com>
54486
54487         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
54488         as it was in the original.  Reported by Paul Eggert.
54489
54490 2001-07-16  Jim Meyering  <meyering@lucent.com>
54491
54492         * m4/gettimeofday.m4: New file.
54493         Prompted by a report from Bernhard Baehr.
54494
54495 2001-07-15  Jim Meyering  <meyering@lucent.com>
54496
54497         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
54498         stuff. Now it's in ../Makefile.cfg.
54499
54500 2001-07-15  Jim Meyering  <meyering@lucent.com>
54501
54502         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
54503         (BUILT_SOURCES): Add unlocked-io.h.
54504         (io_functions): Define.
54505         (unlocked-io.h): New rule.
54506         (DISTCLEANFILES): Add unlocked-io.h.
54507         (all-local): Depend on unlocked-io.h, to ensure it is created.
54508
54509         * lib/unlocked-io.hin: New file
54510
54511         * lib/regex.c: Update from glibc.
54512
54513 2001-07-05  Jim Meyering  <meyering@lucent.com>
54514
54515         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
54516         recommendation.
54517         (libfetish_a_SOURCES): Put all .h files here instead.
54518         Remove a thus-exposed (better checks in automake) duplicate and
54519         two unnecessary .h files.
54520
54521 2001-07-04  Jim Meyering  <meyering@lucent.com>
54522
54523         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
54524         that generates jm-glibc-io.m4 so that it doesn't trigger any make
54525         distcheck failure.
54526
54527 2001-07-02  Jim Meyering  <meyering@lucent.com>
54528
54529         The following changes were prompted by suggestions from Bruno Haible.
54530
54531         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
54532         is now generated.
54533         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
54534         definition of EXTRA_DIST.
54535         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
54536         ensure that the generated file is created/updated whenever the list
54537         of $(unlocked_functions) is changed.
54538         (jm-glibc-io.m4): New rule.
54539         (unlocked-io.h): New rule -- currently unused.
54540
54541 2001-06-24  Jim Meyering  <meyering@lucent.com>
54542
54543         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
54544         unmatched right bracket, rather than kludging it with an extra,
54545         falsely-matching quote in a comment.  Patch by Akim Demaille.
54546
54547 2001-06-11  Jim Meyering  <meyering@lucent.com>
54548
54549         * lib/regex.c: Update from GNU libc.
54550
54551 2001-05-27  Jim Meyering  <meyering@lucent.com>
54552
54553         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
54554         Check for ut_type in struct utmp.
54555
54556 2001-05-27  Jim Meyering  <meyering@lucent.com>
54557
54558         * lib/readutmp.h (UT_TYPE): Define.
54559
54560 2001-05-24  Jim Meyering  <meyering@lucent.com>
54561
54562         * lib/argmatch.c: Include "quote.h".
54563         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
54564         quote function.  Reported by Göran Uddeborg.
54565
54566 2001-05-22  Jim Meyering  <meyering@lucent.com>
54567
54568         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
54569         now that we use the package-supplied version unconditionally.
54570         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
54571
54572 2001-05-21  Jim Meyering  <meyering@lucent.com>
54573
54574         * m4/regex.m4: Change a couple backticks to single quotes to avoid
54575         shell syntax errors.
54576
54577 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54578
54579         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
54580
54581 2001-05-20  Paul Eggert  <eggert@twinsun.com>
54582
54583         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
54584         Don't bother to check library strftime, since
54585         we'll be using our own my_strftime function anyway.
54586         Define my_strftime instead of strftime.
54587
54588 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
54589
54590         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
54591         which is not yet declared.
54592
54593 2001-05-15  Jim Meyering  <meyering@lucent.com>
54594
54595         * m4/regex.m4: Use proper quoting so brackets appear in the test
54596         program.
54597         Reported by, and with help from, Bruno Haible.
54598
54599 2001-05-13  Jim Meyering  <meyering@lucent.com>
54600
54601         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
54602         undefined.
54603
54604 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54605
54606         dirname code cleanup.  base_name now behaves more compatibly
54607         with POSIX basename when given file names that have trailing
54608         slashes, and similarly for dir_name.  Add new primitives
54609         base_len and dir_len.  Put the directory-name-related decls
54610         into dirname.h.
54611
54612         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
54613         * lib/backupfile.c (base_name): Likewise.
54614         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
54615         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
54616         * lib/makepath.c (strip_trailing_slashes): Likewise.
54617         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
54618         ISSLASH): Likewise.
54619         * lib/rename.c (strip_trailing_slashes): Likewise.
54620         * lib/same.c (base_name): Likewise.
54621         * lib/stripslash.c (ISSLASH): Likewise.
54622
54623         * lib/addext.c: Include <dirname.h> after size_t is defined.
54624         * lib/backupfile.c: Likewise.
54625
54626         * lib/addext.c (addext): Use base_len to trim redundant
54627         trailing slashes instead of doing it ourselves.
54628         But do not trim the last slash if it is not redundant.
54629
54630         * lib/backupfile.c (find_backup_file_name,
54631         max_backup_version): Use base_len instead of rolling it ourselves.
54632         Handle the case of "" and (on DOS) "C:" correctly.
54633
54634         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
54635         needed. Include <string.h>, <dirname.h>.
54636         (base_name): Allow file names ending in slashes, other than names
54637         that are all slashes.  In this case, return the basename followed
54638         by the slashes.  This is more general, and can be used in places
54639         where the original base_name purposely had an assertion failure.
54640         (base_len): New function.
54641
54642         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
54643         Do not include <assert.h>; no longer needed.
54644         Include xalloc.h.
54645         (memrchr): Remove decl.
54646         (dir_name_r): Remove.
54647         (dir_len): Renamed from dirlen.  All callers changed.
54648         Rewrite in terms of base_name, for simplicity and consistency.
54649         (dir_name): Never return NULL.  All callers changed.
54650         Do not include <stdlib.h> in test program; no longer needed.
54651         return 0; is fine for test program.
54652
54653         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
54654         New macros.
54655         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
54656
54657         * lib/path-concat.c (path_concat): Use base_len to compute
54658         base length, not strlen; this means we cannot rely on memcpy
54659         to null-terminate.
54660
54661         * lib/same.c (STREQ): Remove.
54662         (same_name): Handle the case where the basename ends in trailing '/'.
54663
54664         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
54665         a slash was stripped.  Do not strip the last slash after a
54666         file system prefix.
54667
54668 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54669
54670         * lib/Makefile.am (libfetish_a_SOURCES):
54671         Add strftime.c, since we now compile it on all hosts.
54672
54673         * lib/strftime.c (my_strftime):
54674         Define to nstrftime if emacs, but only if my_strftime is not defined.
54675         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
54676         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
54677         Add one more extra argument: a nanoseconds value.
54678         All uses changed.
54679         (ns): New macro.
54680         (my_strftime function): Add %N format.
54681         (emacs_strftimeu): Renamed from emacs_strftime,
54682         with extra ut argument.
54683
54684 2001-05-09  Paul Eggert  <eggert@twinsun.com>
54685
54686         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
54687
54688 2001-04-21  Jim Meyering  <meyering@lucent.com>
54689
54690         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
54691         doesn't interfere.
54692
54693 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54694
54695         * m4/ftruncate.m4: Check for chsize.
54696         Link with ftruncate.o unconditionally if ftruncate is missing.
54697         This was required when cross-compiling to i586-mingw32msvc.
54698
54699 2001-04-08  Jim Meyering  <meyering@lucent.com>
54700
54701         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
54702         recomputed; that's necessary when the offset spans a DST transition.
54703         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
54704
54705 2001-04-02  Jim Meyering  <meyering@lucent.com>
54706
54707         * lib/regex.h, regex.c: Update from GNU libc.
54708
54709 2001-03-24  Jim Meyering  <meyering@lucent.com>
54710
54711         * m4/jm-macros.m4: Require autoconf-2.49d.
54712
54713 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
54714
54715         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
54716
54717 2001-03-19  Paul Eggert  <eggert@twinsun.com>
54718
54719         * lib/version-etc.c (version_etc_copyright): Update to 2001.
54720
54721 2001-03-17  Jim Meyering  <meyering@lucent.com>
54722
54723         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
54724         now that the version in autoconf is equivalent.
54725         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
54726
54727         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
54728         Suggestion from Akim Demaille.
54729
54730         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
54731         (jm_PREREQ_TEMPNAME): New function.
54732
54733 2001-03-16  Paul Eggert  <eggert@twinsun.com>
54734
54735         * lib/tempname.c (uint64_t): Define to uintmax_t if
54736         not defined, and if UINT64_MAX is not defined.
54737         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
54738         Reported by John David Anglin.
54739
54740 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
54741
54742         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
54743         resolve alias if codeset is empty.
54744         * lib/config.charset (BeOS): Use wildcard syntax.
54745
54746 2001-03-13  Jim Meyering  <meyering@lucent.com>
54747
54748         * lib/path-concat.c (path_concat)
54749         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
54750         concatenating e.g., `C:' and `foo'.
54751         From Bruno Haible.
54752
54753 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54754
54755         * lib/localcharset.c (locale_charset): Don't use
54756         setlocale(LC_CTYPE,NULL). Don't return NULL.
54757         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
54758
54759 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54760
54761         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
54762         support for DOS/DJGPP.
54763
54764 2001-03-01  Paul Eggert  <eggert@twinsun.com>
54765
54766         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
54767         lacks mkstemp.  Compile our own tempname.c if we compile our own
54768         mkstemp.c, as mkstemp relies on tempname.
54769
54770 2001-03-01  Jim Meyering  <meyering@lucent.com>
54771
54772         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
54773         AH_VERBATIM really does output its argument verbatim.
54774
54775 2001-02-28  Paul Eggert  <eggert@twinsun.com>
54776
54777         * lib/Makefile.am (libfetish_a_SOURCES):
54778         Add dup-safer.c, fopen-safer.c.
54779         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
54780
54781         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
54782         * lib/unistd-safer.h: New files.
54783
54784 2001-02-25  Paul Eggert  <eggert@twinsun.com>
54785
54786         The mkstemp replacement is taken from glibc 2.2.2, with some
54787         portability fixes for use outside glibc, as follows:
54788
54789         * lib/tempname.c (struct_stat64): New macro.
54790         (direxists, __gen_tempname): Use it.
54791         This avoids a portability problem with Solaris 8.
54792
54793         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
54794         (<stddef.h>, <stdint.h>, <string.h>):
54795         Include only if STDC_HEADERS || _LIBC.
54796         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
54797         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
54798         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
54799         (__set_errno): Define this macro if <errno.h> doesn't.
54800         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
54801         Define these macros if <stdio.h> doesn't.
54802         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
54803         Define these macros if <sys/stat.h>
54804         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
54805         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
54806         __xstat64): Define if not _LIBC.
54807         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
54808         (__gen_tempname): Invoke gettimeofday only if
54809         HAVE_GETTIMEOFDAY || _LIBC;
54810         otherwise, fall back on plain "time".
54811         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
54812
54813         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
54814
54815         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
54816
54817 2001-02-18  Paul Eggert  <eggert@twinsun.com>
54818
54819         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
54820
54821 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54822
54823         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
54824         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
54825         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
54826         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
54827
54828 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54829
54830         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
54831         Remove workaround macros for hosts that have mbrtowc but not
54832         mbstate_t, as we now insist on proper declarations for both
54833         before using mbrtowc.
54834
54835 2001-02-17  Jim Meyering  <meyering@lucent.com>
54836
54837         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
54838         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
54839         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
54840         UnixWare 7.1.1.
54841
54842         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
54843         rather than AC_CACHE_VAL.
54844
54845 2001-02-17  Jim Meyering  <meyering@lucent.com>
54846
54847         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
54848         around included file name.
54849
54850         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
54851
54852         * lib/strftime.c: Update from GNU libc (the only changes were to
54853         comments).
54854
54855 2001-02-17  Jim Meyering  <meyering@lucent.com>
54856
54857         * lib/regex.c: Update from libc.
54858
54859 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
54860
54861         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
54862         clash.
54863
54864 2001-02-16  Paul Eggert  <eggert@twinsun.com>
54865
54866         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
54867         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
54868         Reported by Mark Hounschell via Paul Eggert.
54869
54870 2001-02-07  Jim Meyering  <meyering@lucent.com>
54871
54872         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
54873
54874 2001-02-05  Jim Meyering  <meyering@lucent.com>
54875
54876         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
54877         it includes the patch required for `large file' support with at least
54878         HP-UX's 10.20 /bin/cc.
54879
54880 2001-02-03  Jim Meyering  <meyering@lucent.com>
54881
54882         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
54883         AS_IF, now that it works once again (mysteriously).
54884         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54885
54886 2001-01-30  Jim Meyering  <meyering@lucent.com>
54887
54888         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
54889         * m4/chown.m4: Rename conftestchown to conftest.chown.
54890         * m4/rename.m4: s/conftestdir/conftest.d1/ and
54891         s/conftestdir2/conftest.d2/.
54892         * m4/utimes.m4: s/conftestdata/conftest.data/
54893         Inspired by Pavel Roskin's change in autoconf.
54894
54895 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
54896
54897         * lib/config.charset: Update for FreeBSD 4.2.
54898
54899 2001-01-27  Jim Meyering  <meyering@lucent.com>
54900
54901         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
54902         a use of AS_IF.
54903         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54904
54905 2001-01-26  Jim Meyering  <meyering@lucent.com>
54906
54907         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
54908         quotearg.c includes it.
54909
54910 2001-01-26  Jim Meyering  <meyering@lucent.com>
54911
54912         * lib/quotearg.c: Include stddef.h.
54913         * lib/quote.c: Include stddef.h.
54914         Reported by Axel Kittenberger.
54915
54916         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
54917         line in double quotes so that it evokes a better diagnostic.
54918         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
54919         Reported by Axel Kittenberger.
54920
54921 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
54922
54923         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
54924         as if it was a `charset'.
54925
54926 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54927
54928         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
54929         has const.
54930
54931 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54932
54933         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
54934         to avoid a warning.  Add back 'const' to inptr.
54935
54936 2001-01-20  Jim Meyering  <meyering@lucent.com>
54937
54938         Be sure that headers are checked before used in code compiled
54939         for the type checks.
54940         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
54941         In place of that, invoke jm_CHECK_ALL_TYPES.
54942         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
54943         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
54944         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
54945         The check for ssize_t was mistakenly run before the test for unistd.h.
54946
54947         The configure-time check for stdbool.h was missing.
54948         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
54949         (jm_PREREQ_HASH): New function.
54950
54951 2001-01-17  Jim Meyering  <meyering@lucent.com>
54952
54953         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
54954         for autoconf-2.49c.
54955         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
54956
54957 2001-01-16  Jim Meyering  <meyering@lucent.com>
54958
54959         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
54960         From Bruno Haible.
54961
54962 2001-01-14  Jim Meyering  <meyering@lucent.com>
54963
54964         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
54965         foo and bar.  Create conftestdir/ in the script, not in the C code.
54966         Remove directories in the script, not in the C code.
54967         Remove conftestdir{,2} before trying to create the directory.
54968         Make the entire configure script fail if the mkdir fails.
54969
54970 2001-01-14  Jim Meyering  <meyering@lucent.com>
54971
54972         * lib/rename.c: New file.  From Volker Borchert.
54973         Include stdlib.h, string.h or strings.h, and xalloc.h.
54974         Use strip_trailing_slashes rather than open-coding it.
54975
54976 2001-01-03  Paul Eggert  <eggert@twinsun.com>
54977
54978         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
54979
54980 2001-01-03  Jim Meyering  <meyering@lucent.com>
54981
54982         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
54983         of local `inptr' to avoid warning with some system declarations of
54984         iconv.
54985
54986 2001-01-02  Volker Borchert  <bt@teknon.de>
54987
54988         * m4/rename.m4: New file.
54989         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
54990
54991 2001-01-01  Jim Meyering  <meyering@lucent.com>
54992
54993         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
54994         even on systems with utmpx.h.  It's necessary for the declaration of
54995         utmp's ut_user member.  Reported by Andreas Jaeger.
54996
54997         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
54998         available. They are required for the declarations of getgrgid and
54999         getpwuid resp.
55000         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
55001         Reported by Andreas Jaeger.
55002
55003 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
55004
55005         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
55006         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
55007         so `make install' also works in VPATH builds.
55008
55009 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
55010
55011         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
55012         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
55013         can be used in subdirectories.
55014
55015 2000-12-29  Paul Eggert  <eggert@twinsun.com>
55016
55017         * lib/modechange.c: Do not assume that mode_t uses the
55018         traditional octal encoding.  E.g. "chmod 1 FOO" should set
55019         the other-execute bit of FOO even if S_IXOTH != 1.
55020
55021         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
55022         WOTH, XOTH, ALLM): New macros.
55023         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
55024          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
55025         Use them.
55026         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
55027         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
55028         (mode_compile):
55029         No need to use uintmax_t; unsigned long is long enough.
55030         Don't bother to get suffix since we don't use it.
55031
55032 2000-12-26  Jim Meyering  <meyering@lucent.com>
55033
55034         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
55035         better with autoheader.
55036
55037 2000-12-24  Jim Meyering  <meyering@lucent.com>
55038
55039         * lib/hash.c (is_prime): Return explicit boolean values.
55040         (hash_get_first): Return NULL to appease Irix5.6's 89.
55041         Reported by Nelson Beebe.
55042
55043 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
55044
55045         * lib/localcharset.c (locale_charset): Add support for Win32.
55046
55047 2000-12-18  Paul Eggert  <eggert@twinsun.com>
55048
55049         * lib/physmem.h, lib/physmem.c: New files.
55050
55051         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
55052         (noinst_HEADERS): Add physmem.h.
55053
55054         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
55055         't' for compatibility with Solaris 8 sort.
55056
55057 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
55058
55059         * lib/config.charset: Add support for BeOS.
55060
55061 2000-12-17  Jim Meyering  <meyering@lucent.com>
55062
55063         * m4/dos.m4 (jm_AC_DOS): New file and macro.
55064         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
55065
55066 2000-12-16  Jim Meyering  <meyering@lucent.com>
55067
55068         This bug had a serious impact on chown: `chown N:M FILE' (for integer
55069         N and M) would have treated it like `chown N:N FILE'.
55070
55071         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
55072
55073 2000-12-16  Jim Meyering  <meyering@lucent.com>
55074
55075         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
55076         SHELLS_FILE to a file name that's useful on djgpp systems.
55077         Include stdlib.h.
55078         (ADDITIONAL_DEFAULT_SHELLS): Define.
55079         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
55080         Based mostly on a patch from Prashant TR.
55081
55082 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
55083
55084         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
55085         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
55086         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
55087
55088 2000-12-08  Andreas Schwab  <schwab@suse.de>
55089
55090         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
55091         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
55092
55093 2000-12-07  Jim Meyering  <meyering@lucent.com>
55094
55095         * lib/stripslash.c (ISSLASH): Define.
55096         (strip_trailing_slashes): Use ISSLASH rather than comparing against
55097         `/'.
55098         From Prashant TR.
55099
55100         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
55101         (dir_name_r): Declare this function as static.
55102         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
55103         manifest itself on a name containing a mix of slashes and
55104         backslashes.
55105         Make this function work with names starting with a DOS-style
55106         drive letter and colon prefix.
55107         (dir_name): Append `.' if necessary.
55108         Based mostly on patches from Prashant TR and Eli Zaretskii.
55109
55110         * lib/dirname.h (dir_name_r): Remove prototype.
55111
55112 2000-12-06  Paul Eggert  <eggert@twinsun.com>
55113
55114         * m4/off_t-format.m4: Remove this file.
55115         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
55116
55117 2000-12-06  Jim Meyering  <meyering@lucent.com>
55118
55119         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
55120         replacement strtoull, we may well need the replacement strtoul, too.
55121         Check for declarations of strtoul and strtoull.
55122         Check for strtol.  Mainly as a cue to cause automake to include
55123         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
55124         Check for limits.h -- strtol.c needs it.
55125
55126 2000-12-05  Jim Meyering  <meyering@lucent.com>
55127
55128         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
55129
55130 2000-12-04  Jim Meyering  <meyering@lucent.com>
55131
55132         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
55133         Also include memory.h, stdlib.h, unistd.h if appropriate.
55134         Reported by Andreas Jaeger (conflicting declaration of malloc).
55135
55136 2000-12-02  Jim Meyering  <meyering@lucent.com>
55137
55138         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
55139         * m4/jm-macros.m4 (jm_MACROS): require it.
55140
55141 2000-12-02  Jim Meyering  <meyering@lucent.com>
55142
55143         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
55144
55145 2000-12-01  Paul Eggert  <eggert@twinsun.com>
55146
55147         * lib/memrchr.c: Include <config.h> before any system include file.
55148
55149 2000-11-30  Jim Meyering  <meyering@lucent.com>
55150
55151         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
55152
55153 2000-11-30  Jim Meyering  <meyering@lucent.com>
55154
55155         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
55156
55157 2000-11-29  Paul Eggert  <eggert@twinsun.com>
55158
55159         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
55160
55161 2000-11-26  Jim Meyering  <meyering@lucent.com>
55162
55163         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
55164
55165 2000-11-22  Paul Eggert  <eggert@twinsun.com>
55166
55167         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
55168         size of (size_t) -1; it's not portable.
55169
55170 2000-11-17  Jim Meyering  <meyering@lucent.com>
55171
55172         * lib/strstr.c: Update from GNU libc.
55173
55174 2000-11-17  Akim Demaille  <akim@epita.fr>
55175
55176         * lib/obstack.h: Formatting changes.
55177         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
55178         prevent type checking.
55179         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
55180         cast the value to (void *): assigning a `foo *' to a `void *'
55181         variable is valid.
55182         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
55183
55184 2000-11-16  Jim Meyering  <meyering@lucent.com>
55185
55186         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
55187
55188 2000-11-11  Jim Meyering  <meyering@lucent.com>
55189
55190         * lib/error.c: Add a couple #includes, merging from GNU libc version.
55191
55192 2000-11-10  Jim Meyering  <meyering@lucent.com>
55193
55194         * lib/obstack.h: Update from GNU libc.
55195         * lib/obstack.c: Likewise.
55196
55197 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
55198
55199         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
55200
55201 2000-11-06  Paul Eggert  <eggert@twinsun.com>
55202
55203         * lib/getusershell.c (setusershell): Use rewind rather than
55204         fseek/fseeko, to avoid configuration hassles with fseeko.
55205         Don't bother opening SHELLS_FILE if shellstream is NULL;
55206         it's not necessary.
55207
55208 2000-11-05  Jim Meyering  <meyering@lucent.com>
55209
55210         * lib/makepath.h (make_dir): Declare.
55211         * lib/makepath.c (make_dir): Remove `static' attribute.
55212         Tweak a comment.
55213
55214 2000-11-04  Jim Meyering  <meyering@lucent.com>
55215
55216         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
55217
55218 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
55219
55220         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
55221         last one in a bucket, advance to the next bucket.
55222
55223 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
55224
55225         * lib/fnmatch.c: Do not comment out all the code if we are using
55226         the GNU C library, because in some cases we are replacing buggy
55227         code in the GNU C library itself.
55228
55229 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
55230
55231         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
55232         (regex_compile): Catch bogus \(\1\).
55233
55234 2000-10-30  Paul Eggert  <eggert@twinsun.com>
55235
55236         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
55237         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
55238         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
55239
55240 2000-10-30  Paul Eggert  <eggert@twinsun.com>
55241
55242         * lib/error.h, getline.h, modechange.h:
55243         Remove "2000" from Copyright line, as the file hasn't been
55244         changed this year other than in the copyright notice.
55245
55246         * lib/xalloc.h: Add "2000" to Copyright line, as this file
55247         was changed this year.
55248
55249 2000-10-29  Jim Meyering  <meyering@lucent.com>
55250
55251         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
55252         renaming.
55253         * m4/ls-mntd-fs.m4: Likewise
55254
55255 2000-10-29  Jim Meyering  <meyering@lucent.com>
55256
55257         * lib/xstat.in: Fix grammar in comment.
55258
55259 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
55260
55261         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
55262         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
55263         doesn't define __restrict_arr.
55264
55265 2000-10-28  Jim Meyering  <meyering@lucent.com>
55266
55267         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
55268         (jm_PREREQ_MEMCHR): New function.
55269
55270 2000-10-28  Jim Meyering  <meyering@lucent.com>
55271
55272         * lib/memchr.c: Update from libc.
55273         Adjust for portability:
55274         [HAVE_STDLIB_H]: Include stdlib.h.
55275         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
55276         Undef __memchr, too.
55277         [!weak_alias]: Define __memchr to memchr.
55278
55279         * lib/regex.c: Update from libc.
55280         * lib/regex.h: Likewise.
55281         * lib/getopt1.c: Likewise.
55282         * lib/memcmp.c: Likewise.
55283
55284         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
55285         Avoid using fseek, when possible -- it's broken by design.
55286         Patch by Ulrich Drepper.
55287
55288 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
55289
55290         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
55291         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
55292         Giving in to popular pressure to shut up the compiler with casts.
55293
55294 2000-10-26  Jim Meyering  <meyering@lucent.com>
55295
55296         * lib/strftime.c: Update from libc.
55297
55298 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
55299
55300         * regex.c: More `unsigned char' -> `re_char' changes.
55301         Also change several `int' into `re_wchar_t'.
55302         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
55303         (PUSH_FAILURE_POINTER): Don't cast any more.
55304         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
55305         We want GCC to complain, since this piece of code makes
55306         re_match non-reentrant, which *should* be fixed.
55307         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
55308         (EXTEND_BUFFER): Use RETALLOC.
55309         (SET_LIST_BIT): Don't cast.
55310         (re_wchar_t): New type.
55311         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
55312         that those two functions will always properly return.
55313         (IMMEDIATE_QUIT_CHECK): Cast to void.
55314         (analyse_first): Use recursion rather than an explicit stack.
55315         (re_compile_fastmap): Can't fail anymore.
55316         (re_search_2): Don't check re_compile_fastmap for failure.
55317         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
55318         Now also sets the new value (passed in a new argument).
55319         (re_match_2_internal): Use it.
55320         Also, use a new var `reg' of type size_t when looping through regs
55321         rather than reuse the inappropriate `mcnt'.
55322
55323 2000-10-25  Jim Meyering  <meyering@lucent.com>
55324
55325         * lib/obstack.c: Update from libc.
55326
55327 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
55328
55329         * regex.c (regex_compile): Change the way of handling a range from
55330         a char less than 256 to a char not less than 256.
55331
55332 2000-10-24  Andrew Innes  <andrewi@gnu.org>
55333
55334         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
55335         NT-Emacs only.
55336         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
55337         so that re_search functions only quit when callers expect them to.
55338
55339 2000-10-23  Jim Meyering  <meyering@lucent.com>
55340
55341         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
55342         wrong.  That set_locale call must not have any side effects.
55343         From Paul Eggert.
55344
55345 2000-10-22  Jim Meyering  <meyering@lucent.com>
55346
55347         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
55348         [CYCLIC]: Remove now-unused definition.
55349
55350         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
55351         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
55352         Suggestion from Ulrich Drepper.
55353
55354 2000-10-21  Jim Meyering  <meyering@lucent.com>
55355
55356         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
55357         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
55358         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
55359
55360 2000-10-21  Jim Meyering  <meyering@lucent.com>
55361
55362         * lib/dirname.c (memrchr): Declare if necessary.
55363         (dir_name): Remove the restriction that there be no
55364         trailing slashes.  Now, this code skips past them, effectively
55365         ignoring them.
55366         [TEST_DIRNAME] (main): New unit tests.
55367
55368         * lib/memrchr.c: New file from GNU libc.
55369         Undef __memrchr, too.
55370         [!weak_alias]: Define __memrchr to memrchr.
55371         Guard weak_alias use with `#ifdef weak_alias'.
55372
55373 2000-10-21  Jim Meyering  <meyering@lucent.com>
55374
55375         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
55376         (dir_name): Use dir_name_r.
55377         * lib/dirname.h (dir_name_r): Declare it.
55378
55379 2000-10-17  Jim Meyering  <meyering@lucent.com>
55380
55381         * lib/quote.h (PARAMS): Define and use.
55382         Reported by Akim Demaille.
55383
55384         * lib/getopt.c: Update from libc.
55385
55386 2000-10-16  Jim Meyering  <meyering@lucent.com>
55387
55388         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
55389         setlocale.
55390         From Jan Fedak.
55391
55392 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
55393
55394         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
55395
55396 2000-09-25  Jim Meyering  <meyering@lucent.com>
55397
55398         * lib/md5.h (rol): Define (from GnuPG).
55399
55400         * lib/sha.c: Give credit (GnuPG) where due.
55401         (M): Use rol rather than open-coding it.
55402         Add a FIXME comment.
55403
55404 2000-09-21  Jim Meyering  <meyering@lucent.com>
55405
55406         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
55407         Reported by Michael Stone.
55408
55409 2000-09-20  Jim Meyering  <meyering@lucent.com>
55410
55411         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
55412         (noinst_HEADERS): Add sha.h.
55413         Based on code from Scott G. Miller and from GnuPG.
55414
55415 2000-09-18  Jim Meyering  <meyering@lucent.com>
55416
55417         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
55418         LIBS. Otherwise, everyone ends up linking with -lelf for some
55419         configurations.
55420         Reported by Mike Stone.
55421
55422 2000-09-15  Jim Meyering  <meyering@lucent.com>
55423
55424         * lib/regex.c: Update from libc.
55425
55426 2000-09-10  Jim Meyering  <meyering@lucent.com>
55427
55428         * lib/getopt.c (_getopt_internal): Update from glibc.
55429
55430 2000-09-09  Jim Meyering  <meyering@lucent.com>
55431
55432         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
55433         think it should be used as a general replacement for isascii.
55434         * lib/fnmatch.c: Likewise.
55435         * lib/mbswidth.c: Likewise
55436         * lib/regex.c: Likewise.
55437
55438         Don't use atoi.
55439         * lib/userspec.c: Include sys/param.h and limits.h.
55440         Include xstrtol.h.
55441         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
55442         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
55443         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
55444         UID, GID.  Check range.
55445
55446 2000-09-06  Jim Meyering  <meyering@lucent.com>
55447
55448         * lib/getopt.c (_getopt_internal): Update from glibc.
55449
55450 2000-08-30  Jim Meyering  <meyering@lucent.com>
55451
55452         * lib/strftime.c: Merge in changes from GNU libc.
55453
55454 2000-08-26  Jim Meyering  <meyering@lucent.com>
55455
55456         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
55457         * m4/fpending.m4: New file.
55458
55459 2000-08-26  Jim Meyering  <meyering@lucent.com>
55460
55461         * lib/closeout.c: Include "__fpending.h".
55462         (close_stdout_status): Return right away if there's nothing to flush.
55463
55464         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
55465         * lib/__fpending.c: New file.
55466         * lib/__fpending.h: New file.
55467
55468 2000-08-20  Jim Meyering  <meyering@lucent.com>
55469
55470         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
55471         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
55472         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
55473
55474 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
55475
55476         Improve fileutils installation on systems where running
55477         programs (like install) can't be unlinked.
55478         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
55479         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
55480
55481 2000-08-07  Paul Eggert  <eggert@twinsun.com>
55482
55483         Standardize on "memory exhausted" instead of "Memory exhausted"
55484         or "virtual memory exhausted".
55485         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
55486         "virtual memory exhausted".
55487         * lib/same.c (same_name): Invoke xalloc_die instead of printing
55488         our own message.
55489         * lib/userspec.c (parse_user_spec): Likewise.
55490         * lib/bumpalloc.h: comment fix
55491         * lib/same.c, userspec.c: Include xalloc.h.
55492
55493         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
55494         not char *const and pointing to a constant array.
55495         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
55496         (xrealloc): Comment fix.
55497
55498         * lib/userspec.c (parse_user_spec):
55499         Don't translate a message until just before returning,
55500         to avoid unnecessary translation.
55501
55502 2000-08-07  Jim Meyering  <meyering@lucent.com>
55503
55504         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
55505         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
55506         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
55507         getgroups.c, gethostname.c, getopt.h, group-member.c,
55508         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
55509         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
55510         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
55511         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
55512         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
55513         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
55514         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
55515         yesno.c: Back out Copyright date changes for each file with no change
55516         this year.  This eases coordination with other programs using the same
55517         source code modules.  From Paul Eggert.
55518
55519 2000-08-06  Paul Eggert  <eggert@twinsun.com>
55520
55521         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
55522         not char, for compatibility with glibc 2.1.3 strftime.c.
55523
55524 2000-08-03  Greg McGary  <greg@mcgary.org>
55525
55526         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
55527         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
55528         (EXTEND_BUFFER): Use them.
55529
55530 2000-08-01  Jim Meyering  <meyering@lucent.com>
55531
55532         * lib/dirname.c (ISSLASH): Define.
55533         (BACKSLASH_IS_PATH_SEPARATOR): Define.
55534         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
55535         both `\' and `/' may be use as path separators.
55536         Based on a patch from Prashant TR.
55537
55538 2000-07-31  Paul Eggert  <eggert@twinsun.com>
55539
55540         * lib/quotearg.c (quotearg_n_options): Don't make the initial
55541         slot vector a constant, since it might get modified.
55542
55543 2000-07-31  Jim Meyering  <meyering@lucent.com>
55544
55545         * lib/xmalloc.c: Use `virtual memory exhausted', not
55546         `Memory exhausted'.
55547         * lib/obstack.c (print_and_abort): Likewise.
55548
55549 2000-07-30  Paul Eggert  <eggert@twinsun.com>
55550
55551         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
55552         buffer, so that the caller can always quote one small
55553         component of a "memory exhausted" message in slot 0.
55554         From a suggestion by Jim Meyering.
55555
55556 2000-07-30  Jim Meyering  <meyering@lucent.com>
55557
55558         * lib/makepath.c (make_path): Quote the other instance, too.
55559
55560         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
55561         (STATIC_BUF_SIZE): Define.
55562         (quotearg_n_options): Use only statically allocated storage when
55563         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
55564         than STATIC_BUF_SIZE.
55565
55566 2000-07-29  Jim Meyering  <meyering@lucent.com>
55567
55568         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
55569         * lib/dirname.c (dir_name): Likewise.
55570
55571         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
55572         `/'.
55573
55574         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
55575         (dir_name): Assert that there are no trailing slashes.
55576
55577 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
55578
55579         * lib/mbswidth.h (mbswidth): Add a flags argument.
55580         (mbswidth): New declaration.
55581         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
55582         * lib/mbswidth.c (mbswidth): Add a flags argument.
55583         (mbsnwidth): New function.
55584
55585 2000-07-24  Jim Meyering  <meyering@lucent.com>
55586
55587         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
55588
55589 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55590
55591         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
55592
55593 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55594
55595         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
55596         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
55597         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
55598         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
55599         invoke multibyte primitives.
55600
55601 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55602
55603         * lib/quotearg.c:
55604         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
55605         so that mbstate_t is always defined.
55606
55607         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
55608         be 1 in at least one GCC installation, and this configuration
55609         error is likely to be common.  Ignoring MB_LEN_MAX hurts
55610         performance on hosts that have mbrtowc but have only unibyte
55611         locales, but I assume these hosts are rare.
55612
55613 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55614
55615         * lib/mbswidth.c (_XOPEN_SOURCE):
55616         Don't define; this causes problems on Solaris 7.
55617         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
55618
55619 2000-07-23  Jim Meyering  <meyering@lucent.com>
55620
55621         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
55622         too: getgrgid, getpwuid, getuid.
55623
55624 2000-07-23  Jim Meyering  <meyering@lucent.com>
55625
55626         * lib/basename.c (base_name): Add an assertion.
55627
55628 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
55629
55630         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
55631         shadow its mbsinit function.
55632
55633 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55634
55635         * lib/mbswidth.h: New file.
55636         * lib/mbswidth.c: New file.
55637         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
55638         (noinst_HEADERS): Add mbswidth.h.
55639
55640 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55641
55642         * lib/config.charset: Add support for FreeBSD. Improve support for
55643         HP-UX and IRIX 6.
55644
55645 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
55646
55647         * m4/mbswidth.m4: New file.
55648         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
55649
55650 2000-07-15  Jim Meyering  <meyering@lucent.com>
55651
55652         * lib/makepath.c: Include quote.h.
55653         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
55654         corresponding argument in a `quote (...)' call.
55655         Give better diagnostics.
55656
55657         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
55658         (noinst_HEADERS): Add quote.h.
55659
55660         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
55661         from tar's src/misc.c.
55662         * lib/quote.h: New file.  Prototypes for same.
55663
55664 2000-07-14  Paul Eggert  <eggert@twinsun.com>
55665
55666         From a suggestion by Bruno Haible.
55667         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
55668         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
55669         to decide whether to define the BeOS workaround macro;
55670         this adjusts to the change to AC_MBSTATE_T.
55671
55672 2000-07-14  Jim Meyering  <meyering@lucent.com>
55673
55674         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
55675         jm_AC_TYPE_UINTMAX_T.
55676
55677 2000-07-13  Paul Eggert  <eggert@twinsun.com>
55678
55679         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
55680
55681         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
55682         quotearg_buffer_restyled): Add support for
55683         clocale_quoting_style.  Undo previous change to
55684         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
55685         and "{RIGHT QUOTATION MARK}" msgids.
55686
55687 2000-07-10  Paul Eggert  <eggert@twinsun.com>
55688
55689         From a suggestion by Bruno Haible.
55690         * m4/mbstate_t.m4 (AC_MBSTATE_T):
55691         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
55692         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
55693         and mbstate_t, to a single-part test that simply defines mbstate_t.
55694         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
55695         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
55696
55697 2000-07-10  Jim Meyering  <meyering@lucent.com>
55698
55699         * m4/strerror_r.m4: Mirror the correction made in autoconf.
55700
55701         * m4/gnu-source.m4: Output to confdefs.h directly.
55702         Suggestion from Akim Demaille.
55703
55704 2000-07-09  Paul Eggert  <eggert@twinsun.com>
55705
55706         The old behavior of quoting `like this' doesn't look good with
55707         newer, ISO-style fonts.  See:
55708         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
55709
55710         Instead, quote "like this" by default.  Let the translator
55711         tailor the locale-specific quoting behavior by providing
55712         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
55713
55714         * lib/quotearg.c (N_): New macro.
55715         (gettext_default): New function.
55716         (quotearg_buffer_restyled): Use
55717         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
55718         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
55719
55720 2000-07-09  Jim Meyering  <meyering@lucent.com>
55721
55722         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
55723         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
55724
55725         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
55726         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
55727
55728 2000-07-09  Jim Meyering  <meyering@lucent.com>
55729
55730         * lib/Most files: Update copyright dates to include 2000.
55731
55732 2000-07-08  Jim Meyering  <meyering@lucent.com>
55733
55734         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
55735         if not defined.
55736         (xgethostname): Remove now-unnecessary #ifdef.
55737         Move declaration of `err' into loop where it's used.
55738
55739 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55740         and Bruno Haible  <haible@clisp.cons.org>
55741
55742         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
55743         only if the test for an object-type mbstate_t fails.  This
55744         prevents us from mistakenly reporting that mbstate_t is a
55745         system object type after we "#define mbstate_t int" to work
55746         around its lack.
55747
55748 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55749         and Bruno Haible  <haible@clisp.cons.org>
55750
55751         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
55752
55753 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55754
55755         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
55756         to strerror_r.
55757         Include <ctype.h> for use of isalpha.
55758
55759 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55760
55761         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
55762         by allocating a larger buffer. Test the gethostname return value for
55763         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
55764         returns an error and ENAMETOOLONG isn't defined.
55765
55766 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55767
55768         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
55769         dimension.
55770
55771 2000-07-04  Jim Meyering  <meyering@lucent.com>
55772
55773         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
55774         of the deprecated AC_CHECKING.
55775
55776 2000-07-04  Jim Meyering  <meyering@lucent.com>
55777
55778         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
55779         Reported by Bruno Haible.
55780
55781 2000-07-04  Jim Meyering  <meyering@lucent.com>
55782
55783         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
55784         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
55785         lacks mbrtowc.
55786
55787 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55788
55789         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
55790         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
55791
55792 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55793         and Bruno Haible  <haible@clisp.cons.org>
55794
55795         * lib/quotearg.c (mbrtowc):
55796         Assign to *pwc, and return 1 only if result is nonzero.
55797         (iswprint): Use ISPRINT when substituting our own mbrtowc.
55798
55799 2000-07-03  Jim Meyering  <meyering@lucent.com>
55800
55801         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
55802
55803 2000-07-03  Jim Meyering  <meyering@lucent.com>
55804
55805         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
55806         This is necessary to get a definition of e.g., UTMP_FILE on
55807         HP-UX 10.20.
55808         From Bob Proulx.
55809
55810 2000-07-02  Jim Meyering  <meyering@lucent.com>
55811
55812         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
55813
55814         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
55815         AC_LIBOBJ(function_name).
55816         * m4/chown.m4: Likewise.
55817         * m4/fnmatch.m4: Likewise.
55818         * m4/ftruncate.m4: Likewise.
55819         * m4/getgroups.m4: Likewise.
55820         * m4/getline.m4: Likewise.
55821         * m4/group-member.m4: Likewise.
55822         * m4/jm-macros.m4: Likewise.
55823         * m4/lstat.m4: Likewise.
55824         * m4/malloc.m4: Likewise.
55825         * m4/memcmp.m4: Likewise.
55826         * m4/nanosleep.m4: Likewise.
55827         * m4/putenv.m4: Likewise.
55828         * m4/realloc.m4: Likewise.
55829         * m4/regex.m4: Likewise.
55830         * m4/stat.m4: Likewise.
55831         * m4/strftime.m4: Likewise.
55832
55833 2000-07-02  Jim Meyering  <meyering@lucent.com>
55834
55835         * lib/quotearg.c (mbstate_t): Don't define here.
55836
55837 2000-07-02  Jim Meyering  <meyering@lucent.com>
55838
55839         * lib/nanosleep.c (SIGCONT): Define if not already defined.
55840
55841 2000-07-01  Jim Meyering  <meyering@lucent.com>
55842
55843         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
55844
55845 2000-07-01  Jim Meyering  <meyering@lucent.com>
55846
55847         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
55848         problem.
55849
55850 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55851
55852         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
55853         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
55854
55855 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55856
55857         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
55858         per change in ../m4/ls-mntd-fs.m4.
55859         (read_filesystem_list): Ignore symbolic links.
55860
55861 2000-06-29  Jim Meyering  <meyering@lucent.com>
55862
55863         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
55864         for declaration of strcmp.
55865
55866         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
55867
55868         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
55869         Avoid warning by casting result to `char *' to remove `const'.
55870
55871 2000-06-28  Jim Meyering  <meyering@lucent.com>
55872
55873         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
55874         included by quotearg.c, for which we perform this test.  From
55875         Bruno Haible.
55876
55877 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55878
55879         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
55880         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
55881         <utmpx.h> exists, put readutmp.o into LIBOBJS.
55882
55883 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55884
55885         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
55886
55887 2000-06-26  Paul Eggert  <eggert@twinsun.com>
55888
55889         savedir now sets errno on failure and invokes xmalloc to get memory.
55890         Fix a couple of other minor bugs while we're at it.
55891
55892         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
55893         (NAMLEN): Remove macro.
55894         (malloc, realloc): Remove decls.
55895         (stpcpy): Likewise.
55896         ("xalloc.h"): Include.
55897         (NAME_SIZE_DEFAULT): New macro.
55898         (savedir): Use xmalloc / xrealloc to allocate memory.
55899         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
55900         Skip "" directory entries.
55901         Use strlen to calculate directory entry length, since the old method
55902         is rarely used these days and isn't worth supporting.
55903         Don't use a pointer after freeing it.
55904         Check for integer overflow when calculating allocation size.
55905         Use memcpy to copy entries, instead of stpcpy.
55906         Set errno properly when returning NULL.
55907         Check for readdir error.
55908
55909 2000-06-26  Jim Meyering  <meyering@lucent.com>
55910
55911         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
55912
55913 2000-06-25  Jim Meyering  <meyering@lucent.com>
55914
55915         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
55916         Linux header bug when _XOPEN_SOURCE is defined to 500.
55917
55918 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55919
55920         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
55921         deficiency.
55922
55923 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55924
55925         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
55926         Include xalloc.h.
55927         Don't include <stdlib.h>.  Don't declare malloc, realloc.
55928
55929 2000-06-24  Jim Meyering  <meyering@lucent.com>
55930
55931         * m4/strerror_r.m4: Revive this file -- to try out an experimental
55932         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
55933         for which strerror does return char*, but which lacks a conveniently
55934         accessible declaration of the function.  If the compile-test says
55935         strerror_r doesn't work, then resort to a `run'-test that works on
55936         BeOS and segfaults on DEC Unix.
55937
55938 2000-06-24  Jim Meyering  <meyering@lucent.com>
55939
55940         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
55941
55942 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55943
55944         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
55945         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
55946
55947 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55948
55949         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
55950         (mbrtowc, mbstate_t): Define substitutes if
55951         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
55952         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
55953         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
55954
55955 2000-06-23  Jim Meyering  <meyering@lucent.com>
55956
55957         * m4/afs.m4: Add missing AC_MSG_RESULT.
55958         Reported by Bruno Haible.
55959
55960         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
55961         Suggestion from Bruno Haible.
55962
55963 2000-06-23  Jim Meyering  <meyering@lucent.com>
55964
55965         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
55966
55967 2000-06-21  Jim Meyering  <meyering@lucent.com>
55968
55969         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
55970
55971 2000-06-21  Jim Meyering  <meyering@lucent.com>
55972
55973         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
55974         (noinst_HEADERS): Add getstr.h.
55975
55976         * lib/getline.c (getstr): Move into a separate file.
55977         * lib/getstr.c (getstr): New file, extracted from getline.c, with
55978         the following changes: new parameter, delim2; both delim[12]
55979         parameters have type `int', not `char'.  The latter would lose
55980         with 8-bit delimiters.
55981         * lib/getstr.h: New file.
55982
55983 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55984
55985         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
55986         than 1024, return a memory chunk of least possible size, instead
55987         of size PATH_MAX + 2. In the loop, increment the size proportionally.
55988         Use free/xmalloc instead of xrealloc to avoid copying for very long
55989         paths.
55990
55991 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55992
55993         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
55994         the empty string.
55995
55996 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55997
55998         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
55999         address, not strdup.  Include <stdlib.h> and don't declare free().
56000
56001 2000-06-19  Jim Meyering  <meyering@lucent.com>
56002
56003         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
56004
56005 2000-06-18  Jim Meyering  <meyering@lucent.com>
56006
56007         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
56008
56009         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
56010         `checking whether...' message to be consistent with that of the
56011         lstat test.
56012
56013 2000-06-18  Jim Meyering  <meyering@lucent.com>
56014
56015         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
56016         Besides, these days every porting target provides a mkdir function.
56017
56018         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
56019         needed. (this snippet comes from src/system.h).
56020
56021 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
56022
56023         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
56024
56025 2000-06-15  Paul Eggert  <eggert@twinsun.com>
56026
56027         * lib/human.c (adjust_value): New function.
56028         (human_readable_inexact): Apply rounding style even when
56029         printing approximate values.
56030
56031 2000-06-14  Paul Eggert  <eggert@twinsun.com>
56032
56033         * lib/human.c (human_readable_inexact): Allow an input block
56034         size that is not a multiple of the output block size, and vice versa.
56035         Reported by Piergiorgio Sartor.
56036
56037 2000-06-14  Paul Eggert  <eggert@twinsun.com>
56038
56039         * lib/getdate.y (get_date): Apply relative times after time
56040         zone indicator, not before.  Reported by Todd A. Jacobs.
56041
56042 2000-06-13  Jim Meyering  <meyering@lucent.com>
56043
56044         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
56045
56046         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
56047
56048 2000-06-12  Paul Eggert  <eggert@twinsun.com>
56049
56050         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
56051
56052 2000-06-12  Jim Meyering  <meyering@lucent.com>
56053
56054         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
56055         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
56056         optional argument.
56057         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
56058         the optional argument, `lib'.
56059
56060 2000-06-08  Jim Meyering  <meyering@lucent.com>
56061
56062         * m4/largefile.m4: Remove file (now that it's part of autoconf).
56063
56064 2000-06-04  Paul Eggert  <eggert@twinsun.com>
56065
56066         Rewrite largefile configuration so that we don't need to run
56067         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
56068         AC_CANONICAL_HOST in configure.in -- jmm]
56069
56070         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
56071         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
56072         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
56073         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
56074         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
56075         All uses changed.
56076         Instead of inspecting the output of getconf, try to compile the
56077         test program without and with the macro definition.
56078         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
56079         for getconf.  Instead, check for the needed flags by compiling
56080         test programs.
56081
56082 2000-06-04  Paul Eggert  <eggert@twinsun.com>
56083
56084         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
56085
56086 2000-06-04  Jim Meyering  <meyering@lucent.com>
56087
56088         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
56089         SunOS 4.1.4 for which gid_t is an unsigned type.
56090
56091 2000-06-03  Jim Meyering  <meyering@lucent.com>
56092
56093         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
56094         now that autoconf requires that.
56095
56096         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
56097         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
56098         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
56099
56100 2000-06-03  Jim Meyering  <meyering@lucent.com>
56101
56102         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
56103
56104 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
56105
56106         * m4/glibc21.m4: New file.
56107         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
56108
56109 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
56110
56111         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
56112         newer, don't install charset.alias.
56113         * lib/config.charset: Change the Linux/glibc rules so they become empty
56114         on glibc-2.1 or newer.
56115
56116 2000-06-02  Jim Meyering  <meyering@lucent.com>
56117
56118         * lib/mountlist.c: Back out last change.  Instead, do this...
56119         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
56120         me_dummy member using the same `ignore'-testing code.
56121         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
56122         fs_type strings.
56123         From Mark D. Roth.
56124
56125 2000-05-29  Jim Meyering  <meyering@lucent.com>
56126
56127         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
56128         mounts with the `ignore' attribute.  Based on a patch from
56129         Mark D. Roth.
56130
56131 2000-05-28  Jim Meyering  <meyering@lucent.com>
56132
56133         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
56134         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56135         * m4/stat.m4: Likewise.
56136         * m4/lstat.m4: Likewise.
56137         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
56138
56139         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
56140         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
56141
56142 2000-05-26  Jim Meyering  <meyering@lucent.com>
56143
56144         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
56145
56146 2000-05-24  Jim Meyering  <meyering@lucent.com>
56147
56148         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
56149         autoconf requires that.
56150         * m4/lib-check.m4: Likewise.
56151         * m4/jm-macros.m4: Likewise.
56152         * m4/strftime.m4: Likewise.
56153
56154         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
56155         AC_CHECK_DECLS, now that autoconf requires that.
56156
56157 2000-05-22  Jim Meyering  <meyering@lucent.com>
56158
56159         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56160         * m4/lstat.m4: Likewise.
56161
56162 2000-05-22  Jim Meyering  <meyering@lucent.com>
56163
56164         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
56165
56166 2000-05-20  Jim Meyering  <meyering@lucent.com>
56167
56168         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
56169         (jm_PREREQ): Use it.
56170
56171 2000-05-18  Jim Meyering  <meyering@lucent.com>
56172
56173         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
56174         back, too, since it may have been modified by allocate_entry.
56175         (hash_delete): Rewrite to use neither the assignment operator
56176         nor the comma operator in an if-expression.
56177
56178 2000-05-15  Paul Eggert  <eggert@twinsun.com>
56179
56180         * lib/closeout.c:
56181         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
56182         Remove; no longer needed.
56183         "quotearg.h": Add include.
56184         (file_name): Do not bother to explicitly initialize to NULL; it's less
56185         efficient on some hosts.
56186         (close_stdout_status): Remove test as to whether stdout was already
56187         closed; it breaks for the case "echo x | sort >&-".
56188         Quote file name colons.
56189         Do not assume that _("write error") lacks format strings.
56190
56191 2000-05-15  Jim Meyering  <meyering@lucent.com>
56192
56193         * lib/version-etc.c (version_etc_copyright): Update the copyright
56194         string used in all --version output.
56195
56196 2000-05-14  Jim Meyering  <meyering@lucent.com>
56197
56198         * lib/closeout.c (close_stdout_set_file_name): New function.
56199         (close_stdout_status): Use new file-scoped global.
56200         Return right away if fstat says the stdout file descriptor is invalid.
56201         * lib/closeout.h (close_stdout_set_file_name): Declare.
56202
56203 2000-05-10  Jim Meyering  <meyering@lucent.com>
56204
56205         * lib/closeout.c [default_exit_status]: New file-scoped variable.
56206         (close_stdout_set_status): New function.
56207         * lib/closeout.h (close_stdout_set_status): Declare.
56208
56209 2000-05-09  Jim Meyering  <meyering@lucent.com>
56210
56211         * m4/gettext.m4: Rename this...
56212         * m4/libintl.m4: ...to this.
56213
56214 2000-05-08  Jim Meyering  <meyering@lucent.com>
56215
56216         * lib/long-options.c: Don't include closeout.h.
56217         (parse_long_options): Don't call close_stdout for --version.
56218
56219 2000-05-06  Paul Eggert  <eggert@twinsun.com>
56220
56221         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
56222         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
56223         2.1.3 bug.  This avoids a clash when files like regex.c define
56224         _GNU_SOURCE.
56225
56226 2000-05-06  Jim Meyering  <meyering@lucent.com>
56227
56228         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
56229         (AC_REPLACE_FUNCS): Add strnlen.
56230
56231         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
56232         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
56233
56234         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
56235         AC_SEARCH_LIBS call for nanosleep.
56236         (LIB_NANOSLEEP): Set and AC_SUBST.
56237
56238 2000-05-06  Jim Meyering  <meyering@lucent.com>
56239
56240         * lib/strnlen.c: Undefine __strnlen and strnlen.
56241         [!weak_alias]: Define __strnlen to strnlen.
56242
56243         * lib/atexit.c: New file, from libiberty.
56244
56245 2000-05-06  Jim Meyering  <meyering@lucent.com>
56246
56247         * lib/closeout.c (close_stdout_status): Also check for errors on the
56248         stderr stream.
56249
56250 2000-05-05  Jim Meyering  <meyering@lucent.com>
56251
56252         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
56253         AC_SEARCH_LIBS call for clock_gettime.
56254         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
56255
56256         * m4/search-libs.m4: Update from autoconf.
56257
56258         su doesn't work on Solaris 2.6.
56259         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
56260         <shadow.h>.  Reported by Dragos Harabor.
56261
56262 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
56263
56264         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
56265         memcpy instead of xmalloc, xrealloc, path_concat.
56266         (locale_charset): Treat empty environment variables as absent.
56267         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
56268
56269 2000-05-04  Jim Meyering  <meyering@lucent.com>
56270
56271         * lib/getopt.c: Update from glibc.
56272         * lib/obstack.c: Likewise.
56273         * lib/obstack.h: Likewise.
56274         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
56275         file
56276
56277         * lib/regex.h: Likewise.
56278         * lib/strndup.c: Likewise.
56279         * lib/strnlen.c: New file, from glibc.
56280
56281 2000-05-03  Jim Meyering  <meyering@lucent.com>
56282
56283         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
56284
56285 2000-05-02  Paul Eggert  <eggert@twinsun.com>
56286
56287         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
56288         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
56289         compile-time test, rather than inspecting host and OS, to
56290         decide whether to define _LARGEFILE_SOURCE.
56291
56292 2000-05-01  Jim Meyering  <meyering@lucent.com>
56293
56294         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
56295
56296         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
56297         Based on a patch from Bruno Haible.
56298
56299 2000-05-01  Jim Meyering  <meyering@lucent.com>
56300
56301         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
56302
56303 2000-04-29  Jim Meyering  <meyering@lucent.com>
56304
56305         * lib/path-concat.c: Declare strdup only if it's not defined.
56306         * lib/canon-host.c: Likewise.
56307
56308 2000-04-28  Jim Meyering  <meyering@lucent.com>
56309
56310         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
56311         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
56312         is included first, then limits.h is included by locale.h by libintl.h.
56313         From John David Anglin.
56314
56315 2000-04-25  Jim Meyering  <meyering@lucent.com>
56316
56317         * lib/makepath.c (S_IRWXUGO): Define.
56318         (make_path): Always perform explicit chmod if MODE specifies any
56319         of the `special' permission bits.  Prompted by a bug report against
56320         install from Mate Wierdl and Joost van Baal.
56321
56322 2000-04-18  Jim Meyering  <meyering@lucent.com>
56323
56324         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
56325         (jm_PREREQ): Use it.
56326
56327 2000-04-18  Jim Meyering  <meyering@lucent.com>
56328
56329         * lib/README: New file.
56330
56331         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
56332         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
56333
56334 2000-04-17  Jim Meyering  <meyering@lucent.com>
56335
56336         Get it right :-)
56337         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
56338         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
56339         Suggestion from Akim Demaille.
56340
56341 2000-04-17  Jim Meyering  <meyering@lucent.com>
56342
56343         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
56344         the definition of it to rpl_strftime also defined-away the system's
56345         declaration.
56346
56347 2000-04-15  Jim Meyering  <meyering@lucent.com>
56348
56349         Use `C' to denote so-called `contiguous' files, the same way
56350         that tar does.
56351         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
56352         (ftypelet): Use S_ISCTG.
56353         From Michael Deutschmann.
56354
56355 2000-04-14  Jim Meyering  <meyering@lucent.com>
56356
56357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
56358         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
56359         clobbered.
56360
56361 2000-04-14  Jim Meyering  <meyering@lucent.com>
56362
56363         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
56364
56365 2000-04-13  Jim Meyering  <meyering@lucent.com>
56366
56367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
56368         AH_VERBATIM to insert required #ifndef into config.h.in.
56369         Suggestion from Akim Demaille.
56370
56371 2000-04-12  Jim Meyering  <meyering@lucent.com>
56372
56373         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
56374         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
56375         Christian Krackowizer.
56376
56377         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
56378         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
56379         (AC_SYS_LARGEFILE): Require.
56380         (AM_C_PROTOTYPES): Require.
56381
56382 2000-04-08  Jim Meyering  <meyering@lucent.com>
56383
56384         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
56385         names don't conflict.  Reported by Eli Zaretskii.
56386
56387 2000-04-07  Jim Meyering  <meyering@lucent.com>
56388
56389         * lib/putenv.c: Move inclusion of errno.h so it follows that of
56390         sys/types.h, to work around system header problems on AIX 3.2.5.
56391         From Bruno Haible.
56392
56393 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
56394
56395         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
56396         bug.  Deal with the different error behavior of Irix iconv.
56397
56398 2000-04-05  Paul Eggert  <eggert@twinsun.com>
56399
56400         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
56401         IRIX if the installer said otherwise.
56402
56403 2000-04-05  Jim Meyering  <meyering@lucent.com>
56404
56405         Portability tweaks required for ultrix4.3.
56406         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
56407         (jm_CHECK_DECLS): Add getutent to the list of functions.
56408         (_jm_DECL_HEADERS): Add utmpx.h.
56409         From John David Anglin.
56410
56411         * m4/strftime.m4: Back out the 2000-04-02 change.
56412         Instead of that change, simply undefine putenv in the test program.
56413
56414 2000-04-05  Jim Meyering  <meyering@lucent.com>
56415
56416         Portability tweaks required for ultrix4.3.
56417         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
56418         getutent.
56419         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
56420         * lib/canon-host.c: Declare strdup.
56421         * lib/path-concat.c: Likewise.
56422         From John David Anglin.
56423
56424 2000-04-04  Jim Meyering  <meyering@lucent.com>
56425
56426         Be more DOS 8.3-friendly.
56427         * lib/ref-add.sin: Renamed from ref-add.sed.in.
56428         * lib/ref-del.sin: Renamed from ref-del.sed.in.
56429         * lib/Makefile.am: Reflect renaming.
56430         Reported by Eli Zaretskii.
56431
56432         Use a temporary file name that won't clash with `charset.alias'
56433         in the DOS 8.3 name space.
56434         * lib/Makefile.am (charset_tmp): Define.
56435         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
56436         (uninstall-local): Likewise.
56437         Reported by Eli Zaretskii.
56438
56439 2000-04-03  Jim Meyering  <meyering@lucent.com>
56440
56441         * m4/gettext.m4: Fix typo in comment.
56442
56443         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
56444         textutils/configure.in).  Suggestion from Paul Eggert.
56445         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
56446
56447 2000-04-02  Paul Eggert  <eggert@twinsun.com>
56448
56449         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
56450         variable in the shell rather than using putenv, which isn't
56451         portable.  This avoids the configure-time inter-test dependency
56452         on the potentially-renamed putenv function.
56453
56454 2000-03-30  Paul Eggert  <eggert@twinsun.com>
56455
56456         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
56457         before checking struct stat.st_blksize, so that
56458         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
56459
56460 2000-03-29  Paul Eggert  <eggert@twinsun.com>
56461
56462         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
56463         since strftime.c uses HAVE_STRFTIME to decide whether to use
56464         the underlying strftime.
56465
56466 2000-03-29  Paul Eggert  <eggert@twinsun.com>
56467
56468         * lib/time/strftime.c (my_strftime): Make sure we call the system
56469         strftime, not ourselves, when invoking the underlying strftime.
56470
56471 2000-03-24  Jim Meyering  <meyering@lucent.com>
56472
56473         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
56474         (charset_alias): Define.
56475         (install-exec-local): Factor out common code.
56476         (uninstall-local): Split lines longer than 80.
56477         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
56478         (SUFFIXES): Define.
56479         (.sed.in.sed): New rule.  Don't redirect directly to $@.
56480         (CLEANFILES): Add ref-add.sed and ref-del.sed.
56481
56482 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
56483
56484         * lib/config.charset: Output a line containing "Packages using this
56485         file".
56486         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
56487         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
56488         ref-del.sed): New rules.
56489
56490 2000-03-17  Jim Meyering  <meyering@lucent.com>
56491
56492         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
56493         Otherwise, include <strings.h>
56494
56495 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
56496
56497         * lib/unicodeio.c (utf8_wctomb): New function.
56498         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
56499         format instead of in UCS-4 with platform dependent endianness.
56500
56501 2000-03-10  Jim Meyering  <meyering@lucent.com>
56502
56503         * m4/lib-check.m4: Look for getspnam in -lgen, too.
56504         From Marco Franzen.
56505
56506 2000-03-07  Paul Eggert  <eggert@twinsun.com>
56507
56508         * lib/savedir.c (savedir): Work even if directory size is
56509         negative; this can happen with some screwy NFS configurations.
56510
56511 2000-03-06  Jim Meyering  <meyering@lucent.com>
56512
56513         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
56514         if it's NULL (because we ran out of memory).  From Bruno Haible.
56515
56516 2000-03-05  Jim Meyering  <meyering@lucent.com>
56517
56518         * lib/localcharset.c ("path-concat.h"): Include.
56519         (get_charset_aliases): Use path_concat instead of ANSI string
56520         concatenation.
56521
56522         * lib/unicodeio.h (PARAMS): Define.
56523         Use it to guard prototype.
56524
56525 2000-03-04  Jim Meyering  <meyering@lucent.com>
56526
56527         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
56528         for lib/localcharset.c.
56529
56530 2000-03-04  Jim Meyering  <meyering@lucent.com>
56531
56532         * lib/Makefile.am (install-exec-local): Create $(libdir) before
56533         installing into it.
56534         (uninstall-local): Uncomment this rule so `make distcheck' works
56535         once again.
56536
56537         * lib/unicodeio.c (<errno.h>): Include it.
56538         (errno): Declare if not defined.
56539
56540         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
56541
56542         * lib/config.charset: New version, incorporating remarks from a linux
56543         i18n mailing list.  From Bruno Haible.
56544
56545 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
56546
56547         * m4/codeset.m4: New file.
56548         * m4/iconv.m4: New file.
56549         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
56550
56551 2000-03-03  Jim Meyering  <meyering@lucent.com>
56552
56553         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
56554
56555 2000-03-02  Jim Meyering  <meyering@lucent.com>
56556
56557         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
56558         the messages come out on separate lines.
56559
56560         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
56561         rather than jm_CHECK_DECLARATIONS.
56562         * m4/decl.m4: Remove now-unused file.
56563
56564         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
56565         geteuid.
56566
56567 2000-03-02  Jim Meyering  <meyering@lucent.com>
56568
56569         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
56570
56571 2000-03-01  Jim Meyering  <meyering@lucent.com>
56572
56573         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
56574         * lib/unicodeio.c: Likewise.
56575
56576 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
56577
56578         * lib/config.charset: New file.
56579         * lib/localcharset.c: New file.
56580         * lib/unicodeio.h, lib/unicodeio.c: New files.
56581         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
56582         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
56583         (noinst_HEADERS): Add unicodeio.h.
56584         (all-local, install-exec-local, charset.alias): New targets.
56585
56586 2000-02-28  Paul Eggert  <eggert@twinsun.com>
56587
56588         * lib/quotearg.c (ALERT_CHAR): New macro.
56589         (quotearg_buffer_restyled): Use it.
56590
56591 2000-02-27  Jim Meyering  <meyering@lucent.com>
56592
56593         * m4/check-decl.m4: Add getenv to the list.
56594
56595 2000-02-27  Jim Meyering  <meyering@lucent.com>
56596
56597         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
56598         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
56599
56600         * lib/backupfile.c: Guard inclusion of stdlib.h with
56601         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
56602         Declare malloc if needed.
56603
56604         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
56605         `#ifndef HAVE_DECL..'
56606         now that autoconf always defines the HAVE_DECL_ symbols.
56607         * lib/human.c: Likewise.
56608         * lib/same.c: Likewise.
56609         * lib/strtoumax.c: Likewise.
56610
56611         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
56612         declaration check was not run.
56613         * lib/hash.c: Likewise.
56614         * lib/human.c: Likewise.
56615         * lib/same.c: Likewise.
56616         * lib/strtoumax.c: Likewise.
56617
56618         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
56619         `.', then first look up the entire `.'-containing string as a login
56620         name.
56621
56622 2000-02-23  Jim Meyering  <meyering@lucent.com>
56623
56624         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
56625         in place of my hack.
56626
56627 2000-02-18  Paul Eggert  <eggert@twinsun.com>
56628
56629         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
56630         (textint): New typedef.
56631         (parser_control): Member year changed from int to textint.
56632         All uses changed.
56633         (YYSTYPE): Removed; replaced by %union with int and textint members.
56634         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
56635         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
56636         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
56637         (tSNUMBER, tUNUMBER): Now of type <textintval>.
56638         (date, number, to_year): Use width of number in digits, not its value,
56639         to determine whether it's a 2-digit year, or a 2-digit time.
56640         (yylex): Store number of digits of numeric tokens.
56641         Reported by John Kendall.
56642
56643         (parser_control): Changed from struct parser_control to typedef (for
56644         consistency).  All uses changed.
56645
56646         (tID): Removed; not used.
56647         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
56648
56649 2000-02-14  Paul Eggert  <eggert@twinsun.com>
56650
56651         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
56652         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
56653
56654 2000-02-12  Jim Meyering  <meyering@lucent.com>
56655
56656         * lib/userspec.c (ISDIGIT): Define it.
56657         (isdigit): Remove definition.
56658         (is_number): Use ISDIGIT, not isdigit.
56659         <libintl.h>: Include.
56660         (_ and N_): Define.
56661         (parse_user_spec): Mark translatable strings.
56662
56663 2000-02-10  Jim Meyering  <meyering@lucent.com>
56664
56665         With these changes, nanosleep.[ch] are finally enough like the other
56666         lib/* replacement files to compile on a few more losing systems.
56667
56668         * lib/nanosleep.h: Don't include config.h.
56669         Remove prototype from declaration of nanosleep.
56670         (PARAMS): Remove now-unneeded definition.
56671         * lib/nanosleep.c: #undef nanosleep.
56672         (rpl_nanosleep): Rename from nanosleep.
56673
56674 2000-02-10  Jim Meyering  <meyering@lucent.com>
56675
56676         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
56677         gnu_nanosleep to rpl_nanosleep.
56678
56679 2000-02-09  Jim Meyering  <meyering@lucent.com>
56680
56681         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
56682         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
56683
56684 2000-02-08  Akim Demaille  <akim@epita.fr>
56685
56686         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
56687         `[' and `]' and remove uses of `changequote'.
56688         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
56689         (AC_SYS_LARGEFILE): Likewise.
56690         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
56691         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
56692         of changequote.
56693         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
56694         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
56695         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
56696         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
56697
56698 2000-02-05  Jim Meyering  <meyering@lucent.com>
56699
56700         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
56701         Remove explicit use of AC_HEADER_TIME.  It is required by
56702         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
56703         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
56704         in autoconf whereby the expansion of the latter ended up preceding
56705         the expansion of its prerequisite, AC_HEADER_TIME.
56706         Reported by Volker Borchert.
56707
56708 2000-02-03  Jim Meyering  <meyering@lucent.com>
56709
56710         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
56711
56712 2000-02-03  Jim Meyering  <meyering@lucent.com>
56713
56714         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
56715         rather than with `#if HAVE_UTMPNAME'.
56716
56717 2000-02-02  Jim Meyering  <meyering@lucent.com>
56718
56719         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
56720         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
56721         Reported by Eli Zaretskii.
56722
56723 2000-02-01  Jim Meyering  <meyering@lucent.com>
56724
56725         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
56726
56727 2000-01-31  Jim Meyering  <meyering@lucent.com>
56728
56729         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
56730         functions.  Add the time.h and sys/time.h headers along with the
56731         AC_REQUIRE'ment of AC_HEADER_TIME.
56732
56733 2000-01-31  Jim Meyering  <meyering@lucent.com>
56734
56735         * lib/nanosleep.h (nanosleep): Guard declaration with
56736         `#if ! HAVE_DECL_NANOSLEEP'.
56737         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
56738         the declaration in that vendor's sys/timers.h.
56739         Reported by Christian Krackowizer.
56740
56741         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
56742         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
56743         (ISPRINT): Likewise.
56744         Reported by Tom Tromey.
56745
56746 2000-01-30  Jim Meyering  <meyering@lucent.com>
56747
56748         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
56749
56750         * m4/prereq.m4 (utmp_includes): Define.
56751         Check for ut_user and ut_name members in both struct utmpx
56752         and struct utmp.
56753
56754 2000-01-30  Jim Meyering  <meyering@lucent.com>
56755
56756         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
56757         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
56758         header files where only utmpx.ut_user is declared.
56759
56760         * lib/readutmp.h (UT_USER): Define.
56761
56762 2000-01-29  Jim Meyering  <meyering@lucent.com>
56763
56764         * m4/lib-check.m4: New file containing library-related checks from
56765         fileutils and sh-utils (textutils had none).
56766
56767 2000-01-28  Jim Meyering  <meyering@lucent.com>
56768
56769         * m4/perl.m4: Change format of warning message to look more like that
56770         from the missing script.  Suggestion from François Pinard.
56771
56772 2000-01-25  Jim Meyering  <meyering@lucent.com>
56773
56774         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
56775         well as time.h in the compile check.
56776         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
56777         Fix typo in cross-compiling case: s/yes/no/.
56778
56779 2000-01-23  Jim Meyering  <meyering@lucent.com>
56780
56781         * m4/jm-macros.m4: Move df-related tests here from
56782         fileutils/configure.in
56783
56784         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
56785         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
56786
56787         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
56788         s/space/ac_fsusage_space/.
56789         (jm_FILE_SYSTEM_USAGE): Take two parameters.
56790
56791         * m4/ftruncate.m4: New file (derived from part of
56792         fileutils/configure.in).
56793         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
56794         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
56795
56796         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
56797         AC_SUBST these here, rather than just in sh-util/configure.in, so
56798         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
56799         all the same.
56800         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
56801         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
56802         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
56803         (AC_SUBST(POW_LIBM)): Likewise.
56804         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
56805
56806 2000-01-23  Jim Meyering  <meyering@lucent.com>
56807
56808         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
56809         obstack.c.
56810
56811 2000-01-22  Jim Meyering  <meyering@lucent.com>
56812
56813         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
56814
56815         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
56816
56817         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
56818         configure.in
56819         (AC_CHECK_HEADERS): Likewise for sh-utils.
56820         (AC_CHECK_HEADERS): Likewise for textutils.
56821         Merge the three lists of headers.
56822
56823         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
56824         from fileutils' configure.in.
56825
56826         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
56827         code. Moved tests into their own function (_jm_DECL_HEADERS) in
56828         check-decl.m4.
56829
56830         * m4/check-decl.m4: Use #if rather than #ifdef.
56831         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
56832         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
56833         (_jm_DECL_HEADERS): Define new function.
56834         (jm_CHECK_DECLARATIONS): Require it.
56835
56836 2000-01-22  Jim Meyering  <meyering@lucent.com>
56837
56838         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
56839         [! HAVE_DECL_STRTOULL]: Declare strtoull.
56840         Required for some AIX systems.  Reported by Christian Krackowizer.
56841         [TESTING] (main): New function.
56842
56843         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
56844         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
56845         letters.
56846
56847         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
56848         iswprint.
56849
56850         * lib/strverscmp.c (ISDIGIT): Define.
56851         (strverscmp): Use ISDIGIT, not isdigit.
56852
56853 2000-01-19  Jim Meyering  <meyering@lucent.com>
56854
56855         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
56856         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
56857         defines `struct timespec' in <sys/time.h>
56858
56859         * m4/c-bs-a.m4: Remove uses of changequote altogether.
56860         Thanks to Akim for explaining.
56861
56862 2000-01-17  Paul Eggert  <eggert@twinsun.com>
56863
56864         * lib/nanosleep.c (nanosleep):
56865         Don't use SA_INTERRUPT to decide whether to call sigaction, as
56866         POSIX.1 doesn't require SA_INTERRUPT and some systems
56867         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
56868         it's been part of POSIX.1 since day 1 (in 1988).
56869
56870 2000-01-17  Jim Meyering  <meyering@lucent.com>
56871
56872         * lib/interlock: Remove unused file.  Reported by François Pinard.
56873
56874 2000-01-16  Paul Eggert  <eggert@twinsun.com>
56875
56876         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
56877         alert, backslash, formfeed, and vertical tab unnecessarily in
56878         shell quoting style.
56879
56880 2000-01-16  Jim Meyering  <meyering@lucent.com>
56881
56882         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
56883         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
56884         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
56885         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
56886
56887 2000-01-16  Jim Meyering  <meyering@lucent.com>
56888
56889         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
56890         because the latter didn't work.
56891
56892 2000-01-15  Jim Meyering  <meyering@lucent.com>
56893
56894         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
56895         (AC_REPLACE_FUNCS): Add memcpy and memset.
56896         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
56897         Add strpbrk.
56898         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
56899
56900 2000-01-12  Jim Meyering  <meyering@lucent.com>
56901
56902         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
56903         (jm_PREREQ): Use it.
56904         (jm_PREREQ_READUTMP): New macro.
56905         (jm_PREREQ): Use it.
56906
56907 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56908
56909         Quote multibyte characters correctly.
56910         * m4/c-bs-a.m4: New file.
56911         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
56912         (jm_PREREQ): Use it.
56913
56914 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56915
56916         * m4/uintmax_t.m4: Port to autoconf 2.13.
56917
56918 2000-01-08  Jim Meyering  <meyering@ascend.com>
56919
56920         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
56921         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
56922
56923 2000-01-04  Jim Meyering  <meyering@ascend.com>
56924
56925         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
56926         jm_STRUCT_DIRENT_D_TYPE.
56927         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
56928         jm_STRUCT_DIRENT_D_INO.
56929         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
56930         jm_STRUCT_UTIMBUF.
56931         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
56932         renamings.
56933         * m4/utime.m4: Likewise.
56934
56935         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
56936         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
56937
56938 2000-01-03  Paul Eggert  <eggert@twinsun.com>
56939
56940         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
56941         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
56942
56943 2000-01-02  Jim Meyering  <meyering@ascend.com>
56944
56945         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
56946         remember if this is necessary.
56947
56948 1999-12-26  Jim Meyering  <meyering@ascend.com>
56949
56950         * m4/jm-macros.m4: Use it here.
56951         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
56952
56953 1999-12-23  Jim Meyering  <meyering@ascend.com>
56954
56955         * m4/jm-macros.m4: Check for clock_gettime (moved from
56956         fileutils/configure.in)
56957         Check for gettimeofday.
56958
56959 1999-12-20  Jim Meyering  <meyering@ascend.com>
56960
56961         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
56962         autoconf-2.14a-1999-12-20.
56963
56964 1999-12-19  Jim Meyering  <meyering@ascend.com>
56965
56966         * m4/lstat-slash.m4: New file.
56967         * m4/jm-macros.m4: Use the new macro:
56968         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56969
56970 1999-12-07  Jim Meyering  <meyering@ascend.com>
56971
56972         * m4/perl.m4: Require that File::Compare be available, too.
56973         Too many systems seem to lack it.
56974
56975         * m4/strftime.m4: Add checks for most of the cpp macros tested in
56976         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
56977
56978 1999-11-18  Paul Eggert  <eggert@twinsun.com>
56979
56980         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
56981         problem with the QNX 4.25 shell, which doesn't propagate exit
56982         status of failed commands inside shell assignments.
56983
56984 1999-11-17  Jim Meyering  <meyering@ascend.com>
56985
56986         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
56987
56988 1999-11-07  Jim Meyering  <meyering@ascend.com>
56989
56990         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
56991
56992 1999-11-06  Jim Meyering  <meyering@ascend.com>
56993
56994         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
56995         * m4/jm-macros.m4 (jm_MACROS): Use it here.
56996
56997 1999-11-05  Jim Meyering  <meyering@ascend.com>
56998
56999         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
57000         configure.in of textutils, fileutils, and sh-utils into this one
57001         (shared between those packages) file.
57002         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
57003         AC_STRUCT_ST_BLKSIZE.
57004
57005 1999-11-03  Jim Meyering  <meyering@ascend.com>
57006
57007         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
57008         of AC_CHECK_TYPE checks includes unistd.h.
57009         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
57010         Suggestion from Akim Demaille.
57011
57012 1999-10-30  Jim Meyering  <meyering@ascend.com>
57013
57014         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
57015         m4-quoted string.
57016         * m4/ls-mntd-fs.m4: Likewise.
57017         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
57018         * m4/jm-winsz1.m4: Likewise.
57019
57020         * m4/const.m4: Remove file, since the fix made it into the experimental
57021         version of autoconf.
57022         * m4/mktime.m4: Likewise.
57023
57024         * m4/check-type.m4: Remove file, now that the latest version of
57025         AC_CHECK_TYPE takes a third arg to specify additional #includes.
57026
57027         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
57028         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
57029         AC_CHECK_TYPE.
57030
57031 1999-10-04  Jim Meyering  <meyering@ascend.com>
57032
57033         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
57034
57035 1999-09-22  Paul Eggert  <eggert@twinsun.com>
57036
57037         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
57038         2.95.1 bug with HP-UX 10.20.
57039
57040 1999-09-17  Jim Meyering  <meyering@ascend.com>
57041
57042         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
57043         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
57044         due to missing strdup (against sh-utils-2.0).
57045
57046 1999-08-29  Jim Meyering  <meyering@ascend.com>
57047
57048         * m4/jm-macros.m4: Require jm_BISON.
57049         * m4/bison.m4: New file.
57050
57051 1999-08-17  Paul Eggert  <eggert@twinsun.com>
57052
57053         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
57054         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
57055
57056 1999-08-05  Jim Meyering  <meyering@ascend.com>
57057
57058         * m4/getline.m4: Rename test file from conftestdata to conftest.data
57059         to avoid conflicts with `conftest' on 8+3 filesystems.
57060         Suggestion from Eli Zaretskii.
57061
57062 1999-08-04  Jim Meyering  <meyering@ascend.com>
57063
57064         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
57065         fileutils and sh-utils (textutils's getline test was inadequate).
57066         (AM_FUNC_GETLINE): Run this test.
57067         (AC_CHECK_FUNCS): Check for getdelim.
57068         Reported by Bob Proulx.
57069
57070 1999-08-02  Jim Meyering  <meyering@ascend.com>
57071
57072         * m4/jm-macros.m4: Add a comment.
57073
57074 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57075
57076         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
57077         <inttypes.h> defines strtoumax as a macro (and not as a
57078         function).
57079
57080 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57081
57082         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
57083         that we can shift, multiply and divide unsigned long long
57084         values; Ultrix cc can't do it.
57085
57086 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57087
57088         * m4/mktime.m4: New file, which is a preview of what should appear
57089         in the next public autoconf release.
57090
57091 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57092
57093         * m4/lfs.m4: Remove this file.
57094         * m4/largefile.m4: New file.  It contains the old contents of
57095         lfs.m4, except that all names with prefix AC_LFS have been
57096         changed to use the prefix AC_SYS_LARGEFILE instead, to be
57097         compatible with future autoconf versions.  Also, some minor m4
57098         quoting problems have been fixed.
57099
57100 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57101
57102         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
57103         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
57104         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
57105         and simplify the shell code.
57106
57107 1999-08-01  Jim Meyering  <meyering@ascend.com>
57108
57109         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
57110         m4.
57111
57112 1999-07-20  Jim Meyering  <meyering@ascend.com>
57113
57114         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
57115
57116 1999-07-15  Jim Meyering  <meyering@ascend.com>
57117
57118         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
57119
57120 1999-05-22  Jim Meyering  <meyering@ascend.com>
57121
57122         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
57123
57124 1999-05-20  Jim Meyering  <meyering@ascend.com>
57125
57126         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
57127         Add a colon after each `then' in case $4 is empty.
57128
57129 1999-05-16  Jim Meyering  <meyering@ascend.com>
57130
57131         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
57132
57133 1999-05-10  Jim Meyering  <meyering@ascend.com>
57134
57135         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
57136
57137         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
57138         AC_FUNC_MKTIME.
57139
57140 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
57141
57142         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
57143
57144 1999-05-04  Paul Eggert  <eggert@twinsun.com>
57145
57146         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
57147         not CPPFLAGS, so that linking works correctly in IRIX.
57148
57149 1999-04-30  Paul Eggert  <eggert@twinsun.com>
57150
57151         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
57152
57153 1999-04-20  Paul Eggert  <eggert@twinsun.com>
57154
57155         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
57156         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
57157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
57158         jm_AC_TYPE_UNSIGNED_LONG_LONG.
57159         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
57160
57161         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
57162
57163 1999-04-20  Jim Meyering  <meyering@ascend.com>
57164
57165         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
57166         AC_REPLACE xstroull if necessary.  From Paul Eggert.
57167         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
57168
57169 1999-04-18  Jim Meyering  <meyering@ascend.com>
57170
57171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
57172         * m4/jm-macros.m4: Use it.
57173
57174 1999-04-06  Jim Meyering  <meyering@ascend.com>
57175
57176         * m4/strftime.m4: Remove test for %f.
57177
57178 1999-03-29  Jim Meyering  <meyering@ascend.com>
57179
57180         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
57181         superset of the AC_TYPE_* checks in the textutils, fileutils,
57182         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
57183         AC_TYPE_PID_T.
57184
57185 1999-03-28  Jim Meyering  <meyering@ascend.com>
57186
57187         * m4/jm-macros.m4: Define GNU_PACKAGE here.
57188         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
57189         replaced e.g., in the *.sh files of the sh-utils.
57190
57191 1999-03-20  Jim Meyering  <meyering@ascend.com>
57192
57193         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
57194         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
57195         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
57196
57197 1999-03-19  Jim Meyering  <meyering@ascend.com>
57198
57199         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
57200
57201 1999-03-12  Jim Meyering  <meyering@ascend.com>
57202
57203         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
57204
57205 1999-03-07  Jim Meyering  <meyering@ascend.com>
57206
57207         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
57208         declared.
57209
57210 1999-02-17  Jim Meyering  <meyering@ascend.com>
57211
57212         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
57213         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
57214
57215 1999-02-07  Jim Meyering  <meyering@ascend.com>
57216
57217         * m4/group-member.m4: New file -- extracted from sh-utils'
57218         configure.in.
57219
57220         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
57221         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
57222
57223 1999-02-06  Jim Meyering  <meyering@ascend.com>
57224
57225         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
57226         * m4/fnmatch.m4: Likewise.
57227         * m4/getgroups.m4: Likewise.
57228         * m4/lstat.m4: Likewise.
57229         * m4/malloc.m4: Likewise.
57230         * m4/putenv.m4: Likewise.
57231         * m4/realloc.m4: Likewise.
57232         * m4/regex.m4: Likewise.
57233         * m4/stat.m4: Likewise.
57234         * m4/strftime.m4: Likewise.
57235         Suggestion from Alain Magloire.
57236
57237         * m4/chown.m4: Use `.$ac_objext', not `.o'.
57238         * m4/fnmatch.m4: Likewise.
57239         * m4/getgroups.m4: Likewise.
57240         * m4/getline.m4: Likewise.
57241         * m4/lstat.m4: Likewise.
57242         * m4/malloc.m4: Likewise.
57243         * m4/memcmp.m4: Likewise.
57244         * m4/putenv.m4: Likewise.
57245         * m4/realloc.m4: Likewise.
57246         * m4/regex.m4: Likewise.
57247         * m4/stat.m4: Likewise.
57248         * m4/strftime.m4: Likewise.
57249         Suggestion from Alain Magloire.
57250
57251         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
57252         an argument.
57253
57254         * m4/regex.m4: Add a run-time Test for proper operation of
57255         re_compile_pattern.
57256
57257 1999-01-31  Jim Meyering  <meyering@ascend.com>
57258
57259         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
57260
57261 1999-01-30  Jim Meyering  <meyering@ascend.com>
57262
57263         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
57264
57265         * m4/jm-mktime.m4: Make this a wrapper around the official
57266         AM_FUNC_MKTIME rather than my private copy, now that the official one
57267         is up to date.
57268         * m4/mktime.m4: Remove file.
57269
57270         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
57271         * m4/uptime.m4: Likewise.
57272         * m4/uintmax_t.m4: Likewise.
57273
57274 1999-01-28  Jim Meyering  <meyering@ascend.com>
57275
57276         * m4/jm-macros.m4: Use jm_AFS.
57277         * m4/afs.m4: New file (from fileutils' configure.in).
57278
57279         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
57280         * m4/chown.m4: Likewise.
57281         * m4/d-ino.m4: Likewise.
57282         * m4/d-type.m4: Likewise.
57283         * m4/fnmatch.m4: Likewise.
57284         * m4/getgroups.m4: Likewise.
57285         * m4/gettext.m4: Likewise.
57286         * m4/jm-mktime.m4: Likewise.
57287         * m4/jm-winsz2.m4: Likewise.
57288         * m4/lcmessage.m4: Likewise.
57289         * m4/ls-mntd-fs.m4: Likewise.
57290         * m4/malloc.m4: Likewise.
57291         * m4/memcmp.m4: Likewise.
57292         * m4/putenv.m4: Likewise.
57293         * m4/realloc.m4: Likewise.
57294         * m4/st_mtim.m4: Likewise.
57295         * m4/strftime.m4: Likewise.
57296
57297 1999-01-16  Jim Meyering  <meyering@ascend.com>
57298
57299         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
57300         (ARGMATCH_DIE_DECL): Define.
57301
57302 1999-01-12  Jim Meyering  <meyering@ascend.com>
57303
57304         * m4/Makefile.am.in: Rewrite to avoid using fmt.
57305         Reported by Lars Hecking.
57306
57307 1999-01-10  Jim Meyering  <meyering@ascend.com>
57308
57309         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
57310         gross kludge.
57311         * m4/inttypes_h.m4: Likewise.
57312         * m4/lstat.m4: Likewise.
57313         * m4/malloc.m4: Likewise.
57314         * m4/readdir.m4: Likewise.
57315         * m4/realloc.m4: Likewise.
57316         * m4/st_dm_mode.m4: Likewise.
57317         * m4/stat.m4: Likewise.
57318         * m4/utimbuf.m4: Likewise.
57319         * m4/utimes.m4: Likewise.
57320
57321         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
57322         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
57323         comments in config.h.in are meaningful.
57324
57325         * m4/jm-macros.m4: Require autoconf-2.13 here.
57326
57327         * m4/regex.m4: By default, don't use the included regex.c on systems
57328         with glibc 2.  Suggestion from Uli Drepper.
57329
57330 1999-01-02  Jim Meyering  <meyering@ascend.com>
57331
57332         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
57333
57334 1998-12-18  Jim Meyering  <meyering@ascend.com>
57335
57336         * m4/Makefile.am.in (Makefile.am): Simplify rule.
57337         Based on a suggestion from Lars Hecking.
57338
57339 1998-11-16  Paul Eggert  <eggert@twinsun.com>
57340
57341         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
57342
57343 1998-11-16  Jim Meyering  <meyering@ascend.com>
57344
57345         * m4/lfs.m4: Double-quote the `uname...` expression.
57346
57347 1998-11-14  Jim Meyering  <meyering@ascend.com>
57348
57349         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
57350         * m4/stat.m4: Likewise.
57351
57352 1998-11-03  Jim Meyering  <meyering@ascend.com>
57353
57354         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
57355         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
57356
57357 1998-10-18  Jim Meyering  <meyering@ascend.com>
57358
57359         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
57360
57361 1998-10-17  Jim Meyering  <meyering@ascend.com>
57362
57363         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
57364         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
57365         calls for those previously hard-coded headers.  Instead, take a new
57366         parameter.
57367         (jm_CHECK_DECLARATIONS): Reflect interface change.
57368         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
57369         (jm_CHECK_DECL_LOCALTIME_R): New macro.
57370
57371         * m4/mktime.m4: Test for spring-forward gap before long-running test.
57372
57373 1998-10-14  Jim Meyering  <meyering@ascend.com>
57374
57375         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
57376         instead of "TZ=America/Vancouver".  From Paul Eggert.
57377
57378 1998-10-11  Jim Meyering  <meyering@ascend.com>
57379
57380         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
57381         This adds a test for a recently added compatibility fix for mktime.c.
57382         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
57383
57384 1998-09-27  Jim Meyering  <meyering@ascend.com>
57385
57386         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
57387
57388         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
57389         ../configure.in, including a change from Gordon Matzigkeit to allow
57390         cross-compiling for the Hurd.
57391
57392         * m4/glibc.m4: New file/macro to test for the GNU C Library
57393         versions 1 and 2.  From Gordon Matzigkeit.
57394         Indent.
57395
57396 1998-09-21  Jim Meyering  <meyering@ascend.com>
57397
57398         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
57399
57400 1998-08-18  Paul Eggert  <eggert@twinsun.com>
57401
57402         Port nanosecond-resolution times to UnixWare 2.1.2 and
57403         pedantic Solaris 2.6.
57404
57405         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
57406         AC_STRUCT_ST_MTIM.
57407         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
57408         Generate name of ns member, instead of just 1 or undef.
57409         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
57410
57411 1998-08-15  Jim Meyering  <meyering@ascend.com>
57412
57413         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
57414         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
57415         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
57416         instead of jm_TYPE_SSIZE_T.
57417
57418 1998-08-12  Jim Meyering  <meyering@ascend.com>
57419
57420         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
57421
57422 1998-08-02  Jim Meyering  <meyering@ascend.com>
57423
57424         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
57425         in acconfig.h manually.
57426
57427 1998-07-31  Paul Eggert  <eggert@twinsun.com>
57428
57429         * m4/st_mtim.m4: New file.
57430
57431 1998-07-28  Jim Meyering  <meyering@ascend.com>
57432
57433         * m4/utimes.m4: Undef stat.
57434
57435 1998-07-25  Jim Meyering  <meyering@ascend.com>
57436
57437         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
57438         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
57439
57440 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
57441
57442         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
57443         uid and gid actually remain unchanged.
57444
57445 1998-07-07  Jim Meyering  <meyering@ascend.com>
57446
57447         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
57448
57449 1998-07-04  Jim Meyering  <meyering@ascend.com>
57450
57451         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
57452         to prove that this macro can be used in packages without regex.c.
57453
57454 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
57455
57456         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
57457         is to be used.
57458
57459 1998-07-03  Jim Meyering  <meyering@ascend.com>
57460
57461         * m4/gettext.m4: Add -lintl if it's found to be necessary.
57462
57463         * m4/gettext.m4: New file -- from gettext-0.10.35.
57464         * m4/lcmessage.m4: Likewise.
57465         * m4/progtest.m4: Likewise.
57466
57467         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
57468         * m4/jm-macros.m4: Require the new macro.
57469
57470 1998-06-29  Jim Meyering  <meyering@ascend.com>
57471
57472         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
57473         for the definition of NGROUPS (used in a system header included
57474         by sys/mount.h).
57475
57476 1998-06-28  Jim Meyering  <meyering@ascend.com>
57477
57478         * m4/ls-mntd-fs.m4: New file.
57479         * m4/fstypename.m4: New file.
57480
57481         * m4/jm-macros.m4: Require the new macro.
57482         * m4/jm-glibc-io.m4: New file.
57483
57484 1998-05-19  Jim Meyering  <meyering@ascend.com>
57485
57486         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
57487         * m4/lchown.m4: New file.
57488
57489         * m4/Makefile.am.in: New file.
57490         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
57491
57492 1998-05-14  Jim Meyering  <meyering@ascend.com>
57493
57494         * m4/Makefile.am (EXTRA_DIST): Add them.
57495         * m4/jm-macros.m4: New file.
57496         * m4/utimbuf.m4: New file.
57497
57498 1998-05-12  Jim Meyering  <meyering@ascend.com>
57499
57500         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
57501
57502 1998-05-11  Jim Meyering  <meyering@ascend.com>
57503
57504         * m4/isc-posix.m4: New file.
57505
57506 1998-05-10  Jim Meyering  <meyering@ascend.com>
57507
57508         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
57509
57510 1998-05-09  Jim Meyering  <meyering@ascend.com>
57511
57512         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
57513         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
57514         with automake.
57515
57516         * m4/ssize_t.m4: New file.
57517         * m4/mktime.m4: Remove file -- the new automake has this now.
57518
57519 1998-04-26  Jim Meyering  <meyering@ascend.com>
57520
57521         * m4/assert.m4: New file.
57522         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
57523
57524 1998-04-05  Jim Meyering  <meyering@ascend.com>
57525
57526         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
57527         (jm_PREREQ): Use it here.
57528
57529 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
57530
57531         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
57532         in acconfig.h.
57533
57534 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
57535
57536         * m4/prereq.m4: New file.
57537         * m4/error.m4: New file.
57538         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
57539
57540 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
57541
57542         * m4/getline.m4: Don't set am_cv_func_working_getline before the
57543         cache-check for the same variable -- that defeated the purpose of
57544         the test; the test program was never run.  This was a problem only
57545         on systems with losing getline functions -- HP-UX 10.20 is one.
57546         Reported by Bjorn Helgaas.
57547
57548 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
57549
57550         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
57551
57552 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
57553
57554         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
57555
57556         * m4/const.m4: New file.  Use an initializer in this declaration
57557         typedef int charset[2]; const charset x;
57558         Reported by Bob Glickstein.
57559
57560 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
57561
57562         * m4/chown.m4: Fix reversed types on -1 args to chown.
57563         From Kaveh Ghazi.
57564
57565 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
57566
57567         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
57568         Add lseek and memchr.
57569
57570         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
57571         T.E.Dickey <dickey@clark.net> said that some older preprocessors
57572         have a 20-character limit on names.
57573
57574 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
57575
57576         * m4/inttypes_h.m4: New file.
57577         * m4/uintmax_t.m4: New file.
57578         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
57579
57580
57581         -----
57582
57583         Local Variables:
57584         coding: utf-8
57585         End:
57586
57587         Copyright (C) 1997-2009 Free Software Foundation, Inc.
57588
57589         Copying and distribution of this file, with or without
57590         modification, are permitted provided the copyright notice
57591         and this notice are preserved.